środa, 27 marca 2019
Reprezentacja danych numerycznych i algorytmy numeryczne
Liczby całkowite zapisuje się w postaci binarnej, używając kodu uzupełnionego do dwóch.
Liczbę rzeczywistą można zapisać w systemie pozycyjnym o dowolnej podstawie wykorzystując reprezentacje stałopozycyjną lub reprezentacyjną zmiennopozycyjną. Ponieważ niektóre liczby wymagają dużej ilości bitów do zapisuj stałopozycyjnego, większość komputerów wykorzystuje zmiennoprzecinkowe.
Wybrane algorytmy
Wieża Hanoi:
Przy tworzeniu algorytmów często korzystamy z zasady "dziel i zwyciężaj". Zasada ta została zastosowana miedzy innymi w algorytmach sortowania przez scalenie, szybkiego sortowania i wyszukiwania binarnego.
Sito Eratostenesa:
Algorytm sita Eratostenesa polega na usuwaniu z zadanego przedział wszystkich liczb złożonych, czyli eliminowaniu z niego liczb będących wielokrotnościami kolejnych liczb pierwszych - inaczej szukanie liczb pierwszych.
Tworzenie własnych modułów
W PASCAL:
Interfejs - opisuje stałe, zmienne, typy danych, procedury i funkcje. Jest ona publiczna.
interface { część modułu określająca interfejs }
implementacja - opisuje działanie procedur i funkcji. Są one prywatne dla modułu.
implementation { część implementacyjna modułu }
W C++:
plik nagłówkowy - odpowiednik interfejsu, zawiera deklaracje (h)
plik zawierający właściwy kod - odpowiedniki implementacji. (.cpp)
sobota, 23 marca 2019
Programowanie modularne i obiektowe
Moduł to zbiór stałych, zmiennych, typów danych, procedur i funkcji, który oznaczony jest unikatową nazwą.
W języku C++ dyrektywa preprocesora #include określa, jakie pliki nagłówkowe mają zostać dołączone do kodu programu.
#include <iostream> - standar. biblioteka C++
#include <stdio.h> - standar. biblioteka C
<cmath> - funkcje matematyczne
<cstdio> - operacje wejścia/wyjścia
<cstdlib> - funkcje narzędziowe
<ctstring> - opreacje na łańcuchach znakowych
<ctime> - funkcja czasu/daty
wtorek, 19 marca 2019
Dynamiczne struktury danych
Zmienna, która nie przechowuje wartości, tylko adres, pod którym znajduje się inna zmienna, nazywana jest zmienna wskaźnikową.
Zmienne dynamiczne to zmienne , dla których pamięć jest przydzielana i zwalnia w trakcie trwania programu.
Drzewo binarne jest nieliniową strukturą danych, która składa się z wyróżnionego wierzchołka, zwanego korzeniem i dwóch poddrzew binarnych.
Wyróżnia się lewego i prawego syna wierzchołka.
czwartek, 14 marca 2019
Przetwarzanie danych typu struktualnego
Aby w programach można było przetwarzać dane różnego rodzaju, w języki C++ wprowadzono typ strukturalny.
Do tworzeniach takich struktur służy: struct.
Aby odwołać się do pojedynczego pola, podajemy nazwę zmiennej typu rekordowego i nazwę pola rekordu, oddzielone od siebie kropką.
sobota, 9 marca 2019
Losowanie danych i sprawdzanie ich poprawności
(szyfrowanie, gry komputerowe, rzuty sześcienną kostką, grafika komputerowa) - przypadkowość
Symulacja rzutów sześcienną kostką do gry
#include <iostream>
#include <cstdlib>
using namepsace std;
int i;
int main ()
{
for(i=0; i<10; i++)
cout << "Wypadło: " << rand()%6+1 << endl;
return 0;
}
Pisząc programy, należy zapewnić sprawdzenie poprawności wprowadzanych funkcji rand() i srand() - C++ - umożliwia to losowanie danych liczbowych przez komputer.
Dobry program powinien być odporny na błędy użytkownika. W momencie wprowadzenia przez niego bezsensownych danych, działanie programu nie powinno zostać w żaden sposób przerwane.
środa, 6 marca 2019
Operacje na stosie
stack - ang. stos
Potrzebny do wywoływania procedur i funkcji aktualnie wywoływanej instrukcji, kładziony na wierzch stosu. Zakończenie procedury lub funkcji ze stosu powoduje zdjęcie adresu i procesora wykonującego skok pod ten adres.
#include
using namespace std;
int Stack[100];
int SP;
void Init()
{
SP=-1;
}
void Push(int x)
{
Stack[++SP]=x;
}
int Pop()
{
return Stack[SP--];
}
Odwrotna notacja polska - nie potrzebuje ona nawiasów, stosuje się argumenty i symbole operacji.
2 + 3 -> 2 3 +
4 * (2 + 3) -> 4 2 3 + *
wtorek, 5 marca 2019
Własne typy danych i stałe
W języku C++ do deklaracji własnych typów danych służy słowo kluczowe typedef, po którym podajemy definicję typu, a następnie jego własną nazwę.
typedef char *TSlowo;
typedef TSlowo *TTablicaSlow;
typedef int TCalkowity;
TTablicaSlow Tab1, Tab2, Tab3;
TCalkowity N;
Korzystanie z własnych typów jest niekiedy wręcz wymagane!
Określenie z góry wszystkich typów danych wykorzystywanych w programie to element dobrego stylu programowania.
Typ okrojony - korzystamy wtedy, gdy z góry wiemy, że pewna dana w naszym programie powinna przyjmować wartości z określonego zakresu.
Typ wliczeniowy - korzystamy wtedy, gdy chcemy używać wartości mających znaczenie wyłącznie symboliczne.
Stałe:
w języku C++ kluczowe słowo to: const służy do deklarowania zmiennych, których wartość nie ulega zmianie. Wartości porządkowe można przypisać zmiennym w momencie ich deklarowania.
piątek, 1 marca 2019
Wprowadzanie danych i wyprowadzenie wyników
Zmienne typu:
a) float a; rzeczywiste
b) int x[50]; całkowite
c) char c[21]; znakowe
d) chard d; znakowe
e) unsigned short k; całkowite
Typ danych określa zbiór wartości, które mogą przyjmować zmienna, wyrażenia lub stała, a format danych określa sposób prezentacji danych określonego typu na urządzeniach wejścia/wyjścia.
Formatowanie danych:
setprecision(dokładność)
setiosflags(atrybut)
setw(szerokość)
setfill(znak-wypełnienia)
printf(format, dana1, dana2..)
sobota, 19 stycznia 2019
Projekt grupowy - Hurtownia Kosmetyczna
1. Zadania i analiza systemu informatycznego.
2. Opracowanie założeń systemu informatycznego.
3. Przygotowanie projektu technicznego:
Tabele: Firmy, Dostawcy, Kosmetyki, Zlecenia
Formularze: - | | -
4. Tworzenie oprogramowania: (relacje między tabelami)
5. Testowanie systemu informatycznego: (wprowadzanie danych)
6. Wdrożenie systemu informatycznego.
wtorek, 1 stycznia 2019
sobota, 15 grudnia 2018
Systemy informatyczne
System informatyczny to urządzenia i programy komputerowe, które służą do gromadzenia i przetwarzania, a także przechowywania danych.
ETAPY POSTĘPOWANIA PRZY PROJEKCIE SYSTEMU INFORMATYCZNEGO:
0 - prace przedprojektowe; sformułowanie zadań i analiza systemu informatycznego.
I - projekt ogólny; opracowanie systemu informatycznego.
II - przygotowanie projektu technicznego.
III - tworzenie oprogramowania.
IV - testowanie utworzonego oprogramowania; usuwanie ewentualnych błędów.
V - wdrożenie systemu informatycznego.
Do tworzenia systemów informatycznych służą wyspecjalizowane narzędzia, systemy (IDE - zintegrowane) oraz inne. W czasie pracy mogą być nam potrzebne: komputer (z siecią), drukarka, urządzenia do przesyłu danych, wyspecjalizowane terminale.
Dodawanie i usuwanie rekordów
1) Aby dodać nowe rekordy do tabeli bazy danych dodajemy je przy pomocy "INSERT":
"INSERT INTO Tabela1 (Pole1, Pole2) VALUES ('Wartosc1', 'Wartosc2');
po nazwie tabeli wpisujemy listę pól, umieszczamy słowo kluczowe "VALUES" a w nawiasach okrągłych musimy podać wartość. Naliście tych pól nie musimy wpisywać wszystkich nazw kolumn z tabeli.
2) Usuwanie rekordów pozwala na usuwanie niepotrzebnych danych z tabeli baz danych. Używamy wtedy polecenia:
"DELETE FROM Tabela1 WHERE Id=1;"
Zastosowanie tej instrukcji jest ograniczone przy więzach integralności. Jeśli dane zapisane są już w innych tabelach, wpierw będziemy musieć je usunąć, a dopiero wtedy możemy użyć powyższej instrukcji.
wtorek, 11 grudnia 2018
Tworzenie kwerend z wykorzystanie języka SQL
Czym jest SQL?
SQL (ang. Structured Query Language)
to złożony język, którym umożliwia operacje na bazie danych, pozwala na zapisywanie, zarządzanie, ale również pobieranie informacji. Został opracowany w latach 70. XX wieku przez jedną z najstarszych wytwórni informatycznych na świecie IBM (tutaj więcej).
1) Instrukcja SELECT
Umożliwia pobieranie danych z bazy: "SELECT Pole1, Pole2 FROM Tabela1, Tabela2;"
(select - wybierz, insert - wstaw, update - zaktualizuj)
2) Klauzule instrukcji SELECT
"SELECT DISTINCT Pole1 FROM Tabela1;"
(nie będą zwracane rekordy o tych samych danych. otrzymamy zatem jeden rekord w każdej kombinacji wartości pól wymienionych w klauzuli SELECT)
3) Klauzula ORDER BY
"SELECT * FROM Tabela1 ORDER BY Pole1;"
(pozwala na sortowanie zbioru rekordów, możemy podać listę kolumn, według których ma się odbyć sortowanie oraz dla każdej z nich określić porządek sortowania)
4) Klauzula INNER JOIN
"SELECT * FROM Tabela1 INNER JOIN Tabela2 ON Tabela1,Id=Tabela2.Id;"
(dokonanie wewnętrznego złączenia tabel)
5) Klauzula LEFT JOIN
"SELECT * FROM Tabela1 LEFT JOIN Tabela2 ON Tabela1,Id=Tabela2.Id;"
(lewostronne połączenie tabel)
6) Klauzula GROUP BY
"SELECT Pole1, <funkcja agregująca> FROM Tabela1 GROUP BY Pole1;"
(stosowana w celu zgrupowania rekordów posiadająych identyczne wartości w wymienionych polach)
7) Funkcja COUNT - zwraca liczbę rekordów w każdej grupie
8) SUM(Liczba1) - zwraca sumę wartości w kolumnie Liczba1 w każdej grupie
9) AVG(Liczba2) - zwraca średnią wartość w kolumnie Liczba2 w każdej grupie
10) MAX(Liczba3) - zwraca maksymalną wartość zapisaną w kolumnie Liczba3 w każdej grupie
11) MIN(Liczba4) - zwraca minimalną wartość zapisaną w koumnie Liczba4
Operatory w kryteriach wyszukań
Stosowane w wyrażeniach programu Access operatory, funkcje i stałe można odszukać w oknie pod nazwą Konstruktor wyrażeń.
- arytmetyczne (* / + -),
- porównania (<= = <> > < <= >= BETWEEN),
- logiczne (AND OR NOT),
- LIKE ,
- LCase (zmiana wielkości liter na małe),
- UCase (zmiana wielkości liter na duże),
- Right (zwracanie żądanej liczby liter od prawej strony),
- Left (zwracanie określonej liczby znaków po lewej stronie),
- Len (zwrot długości słowa - ile liter).
niedziela, 9 grudnia 2018
Dodatkowe (+) możliwości stosowania kwerend
Przykłady funkcji operujących na datach i czasie:
Date() - zwracanie aktualnej daty (np. dziś 06.12.2018; program zwróci datę 06.12.2018 do odpowiedniego pola, w którym zastosowania jest ta funkcja).
Day(data) - zwraca numer dnia miesiąca dla podanej wcześniej daty, np. Day('06-12-2018')
zwraca 11 funkcja przyjmuje wartość równą od 1 do 31.
Month(data) - zwraca numer miesiąca dla podanej daty, np. Month('06-12-2018') zwraca 10, ponieważ funkcja przyjmuje wartości od 1 do 12.
Year(data) - zwraca rok dla podanej wcześniej daty, np. Year('06-12-2018') zwraca 2018, ponieważ to jest wartość tej funkcji.
Time() - zwraca aktualną godzinę, np. Time(23.55) to zwraca liczbę w nawiasie.
czwartek, 6 grudnia 2018
Przyciski poleceń w Access
Przyciski poleceń można używać do uruchamiania makr i modułów języka VisualBasic. Przyciski te można umieszczać na formularzach, mogą być one wykorzystane do wykonywanych operacji na rekordach.
Przybornik → Kreator przycisków poleceń → Nawigowanie między rekordami → Znajdź rekord → Szukaj → ..
Wstawianie przycisków ma za zadanie ułatwić i usprawnić nam wyszukanie wybranego klienta.
piątek, 30 listopada 2018
Zaawansowane metody tworzenia formularzy - bieżąca data
- Otwieranie formularza zwrotu filmu w Widoku projektu formularza.
- Właściwości pola DataZwrotu wybieramy zakładkę Zdarzenia. Ustalamy w jaki sposób ma zostać wywołane zdarzenie - przy kliknięciu.
- Wybieranie konstruktora → Konstruktor kodu.
- Procedura Visual Basic Me!DataZwrotu = Date
Private Sub - rozpoczyna definicję procedury
Click() - przy kliknięciu
Click() - przy kliknięciu
Me!DataZwrotu - odwołanie do wartości, na którym jest kursor myszy
Date - aktualna data
EndSub - kończy definicję procedury
Zaawansowane metody tworzenia formularzy - formularz zwrotu
W jednej bazie danych może się znajdować kilka różnych formularzy przygotowanych na podstawie tej samej tabeli (tabel).
Jeśli podformularz jest łączony z formularzem głównym, to należy upewnić się, że źródła ich rekordów są powiązane relacjami.
Formularz zwrotu filmu:
- Powinny być widoczne podstawowe dane klienta oraz informacje o filmach, w związku z tym przygotowujemy formularz z podformularzem.
- Użytkownik nie powinien mieć możliwości zmiany danych w tym formularzu, więc taka możliwość musimy zablokować.
- Aby przyspieszyć i usprawnić wyszukiwanie danych klienta, umieścimy odpowiedni przycisk polecenia i utworzymy kwerendę, która posortuje informacje o klientach według nazwiska i imienia.
- Oddane filmy nie powinny być widoczne na liście filmów wypożyczonych przez danego klienta.
Subskrybuj:
Posty (Atom)




