infanek

  1. Algorytm – skończony i uporządkowany ciąg jasno określonych czynności koniecznych do rozwiązania zadania.

Schemat blokowy – graficzna prezentacja czynności wykonywanych w poszczególnych krokach algorytmu, ich wzajemnego powiązania oraz kolejności wykonywania.

Program - algorytm zapisany w języku programowania w postaci ciągu instrukcji.

SPOSOBY ZAPISU ALGORYTMU:

- język naturalny (opis wykonywanych czynności)

- schemat blokowy

- język programowania (program)

  1. Translator – program tłumaczący algorytm napisany w jednym języku na inny język.

Kompilator – program tłumaczący program źródłowy na język wyższego rzędu np.: assemblera lub bezpośrednio do kodu źródłowego (C, Delphi)

Interpreter – program który analizuje poszczególne fragmenty kodu źródłowego, tłumaczy je na odpowiednie fragmenty kodu maszynowego i wykonuje je. Po wykonaniu jednego fragmentu występuje tłumaczenie i wykonanie kolejnego... i tak do usranej śmierci. Program wynikowy interpretera znajduje się w całości w pamięci operacyjnej (JavaScript, HTML).

  1. Oprogramowanie komputera:

- podział oprogramowania komputera:

  1. Współczesne języki programowania (Pascal. C, Java, HTML, PHP, JavaScript. itp.)

- klasyfikacja:

- podobieństwa i różnice:

Aplikacja – samodzielny program, posiada pełny dostęp do zasobów udostępnionych przez system,

Aplet – program działający pod kontrolą innego programu, ma dostęp do zasobów które ten program mu udostępni.

  1. Struktura programu w języku Object Pascal.

  1. Struktura modułu w języku Object Pascal.

begin

{instrukcje}

end;

  1. Moduł – wydzielony fragment kodu umożliwiający grupowanie definicji, klas, obiektów, typów.

Moduły standardowe:

- Messages – typy dla wszystkich standardowych komunikatorów Windowsa.

- Windows – funkcje związane z systemem operacyjnym np.: kopiowanie plików.

- SysUtils – deklaracja klas, wyjątków oraz procedur operujących.

- Classes – przechowuje deklaracje podstawowych klas obiektów.

- Graphic – implementacja systemowego modułu GPI.

- Controls – deklaracja klas od których pochodzą podstawowe kontrolki np.: TButton.

- Dialogs – pozwala na używanie standardowych okienek Windowsa (wczytaj, zapisz, czcionki itp.)

- Math – dodatkowe funkcje matematyczne.

Moduły niestandardowe:

??

  1. Elementy języka Object Pascal:

  1. Słowa kluczowe – zastrzeżone słowa języka, nie mogą być definiowane przez programistę:

and | array | as | asm | begin | case | class | const | constructor | destructor | dispinterface |div | do | downto | else | end | except | exports | file | finalization | finally | for | function | goto | if | implementation | in | inherited | initialization | inline | interface | label | library | mod | nil | not | object | of | or | out | packed | procedure | program | property | raise | record | repeat | resourcestring | set | shl | shr | string | then | threadvar | to | try | type | unit | until | uses | var | while | with | xor

  1. Zmienne – elementy które przetrzymują wykorzystywaną wartość podczas działania programu. Zmienna musi być najpierw zadeklarowana (określenie typu zmiennej i przydzielenie jej pamięci), oraz zainicjowana (nadanie zmiennej wartości). Zmienne można podzielić na globalne(wykorzystywane w całym programie) i lokalne (wykorzystywane tylko w części programu np.: procedurze),

  2. Identyfikatory - to ciąg liter lub cyfr zaczynający się od litery,

  3. Operatory:

  1. Komentarze:

{komentarz}

(*komentarz*)

//komentarz

  1. Deklaracje:

  1. Typy danych w języku Object Pascal

  1. Zmienne liczbowe:

  1. Zmienne tekstowe:

  1. zmienna logiczna:


10.Tablice jednowymiarowe i dwuwymiarowe. Cechy tablic. Przykłady deklaracji tablic.

a) Deklaracja tablicy jednowymiarowej w Pascalu.

var tablica : array[1..20] of integer;


ZAPIS W TABLICY: tablica[1]:=123; 

ODCZYT Z TABLICY: write(tablica[1]); 

b) Deklaracja tablicy dwuwymiarowej.

var tablica : array [1..20,1..20] of integer;

Wypełnianie tablicy dwuwymiarowej losowymi liczbami.

randomize;
for i:=1 to 20 do
for j:=1 to 20 do
begin
tablica[i][j]:=random(20);
writeln(tablica[i][j]);
end;

[1...20][1…20] <- dwuwymiarowa , 400 elementowa

11.Pliki dyskowe. Tworzenie, czytanie, modyfikacja.

W bloku VAR piszemy identyfikator, a po dwukropku FILE OF i typ danych, które będziemy przechowywać w tym pliku. Jeśli będzie to plik z liczbami typu integer, to napiszemy
plik:FILE OF INTEGER;

aby korzystać z pliku na dysku, to należy wpierw go otworzyć. Ale aby otworzyć plik, to najpierw zmiennej plikowej należy przyporządkować nazwę pliku na dysku. Służy do tego procedura Assign. Jako jeden argument tej procedury podajemy zmienną plikową, a jako drugi, ścieżkę dostępu do pliku. Skoro przyprządkowaliśmy już zmiennej plikowej nazwę pliku to możemy ten plik otworzyć. Służą do tego procedury Reset, Rewrite i Append. Nie jest bez różnicy, której z nich użyjemy. Reset otworzy plik , ale jeśli plik nie istnieje na dysku, to wystąpi błąd wykonania, który spowoduje zakończenie działania programu. Rewrite utworzy nowy plik, ale gdy plik istniał na dysku, to procedura Rewrite nada mu zerową długość, co uniemożliwi odczytanie jego wcześniejszej zawartości. Append otworzy istniejący plik do zapisu (ustawiając wskaźnik plikowy, czyli takie coś, co wskazuje na aktualną pozycję w pliku, na końcu). Tej ostatniej procedury możemy użyć jedynie w przypadku plików tekstowych 

Mając otwarty plik, możemy zapisywać do niego różne dane i odczytywać je. Służyć nam do tego będą procedury read i write. W tym wypadku dla tych procedur będziemy podawali dwa argumenty. Pierwszym z nich będzie identyfikator zmiennej plikowej, a drugim to, co chcemy wpisać, lub odczytać z pliku. Należy zwracać uwagę, na to, aby drugi argument miał typ taki, jaki jest typ danych przechowywanych przez plik. w innym wypadku wystąpi błąd. Gdy już zapiszemy coś do pliku i wiemy, że dalsze korzystanie z niego nie będzie w programie potrzebne, to trzeba go zamknąć, aby zachować wprowadzone informacje. Służy do tego procedura Close, dla której argumentem jest identyfikator zmiennej plikowej. Należy pamiętać, że nie można zapisywać do zamkniętego pliku, aby to zrobić, trzeba plik utworzyć ponownie.

PROGRAM Plik;
 VAR
  f:FILE OF STRING;     {zmienna plikowa}
  napis:STRING;
 BEGIN
  assign(f,'c:\pliktest.txt');     {przyporządkujemy plikowi nazwę}
  rewrite(f);     {otwieramy (nadpisujemy) plik}
  ReadLN(napis);
  WHILE (napis<>'') DO
   BEGIN
    WRITE(f,napis);     {zapisujemy do pliku}
    ReadLN(napis);
   END;
  Close(f);     {Zamykamy plik}
  writeln('Teraz ja!!!:');
  reset(f);
  WHILE NOT (
Eof(F)) DO
   BEGIN
    Read(f,napis);
    WriteLN(napis);
   END;
  close(f);
 END.

12. Operatory:

- arytmetyczne (+ , - , * , / , div , mod),

- logiczne (AND, NOT, OR, XOR),

- relacyjne (= , <> , < , <= itp.).

MOD - operator dzielenia modulo. Wynik użycia operatora jest liczba całkowita będąca resztą z ilorazu argumentów np.

1 begin
2 WriteLn(5 mod 2); //Wypisze 1
3 end.

DIV - operator dzielenia całkowitego. Wynik użycia operatora zwraca część całkowitą ilorazu argumentów np.

1 begin
2 WriteLn(5 div 2); //Wypisze 2
3 end.

13. Instrukcja złożona:

Składnia instrukcji złożonej:

begin

instrukcja_1;

instrukcja_2;

{ ...}

end;

14. Instrukcja warunkowa IF

if(warunek)

{

instrukcja1; // Wykonana gdy warunek jest spełniony

}

else

{

instrukcja2; // Wykonana gdy warunek okazał się być nieprawdą

}

15. Instrukcja CASE:

VAR

liczba:byte;

BEGIN

clrscr;

writeln(' Wprowadź liczbę od 1 do 20');

read(liczba);

CASE liczba OF

1 : writeln('Liczba ta dzieli się przez 1');

2 : writeln('Liczba ta dzieli się przez 2 i 1');

3 : writeln('Liczba ta dzieli się przez 1 i 3');

4 : writeln('Liczba ta dzieli się przez 1,2 i 4');

5 : writeln('Liczba ta dzieli się przez 1 i 5');

6 : writeln('Liczba ta dzieli się przez 1,2,3 i 6');

7 : writeln('Liczba ta dzieli się przez 1 i 7');

8 : writeln('Liczba ta dzieli się przez 1,2,4 i 8');

9 : writeln('Liczba ta dzieli się przez 1,3 i 9');

10 : writeln('Liczba ta dzieli się przez 1,2,5 i 10');

11 : writeln('Liczba ta dzieli się przez 1 i 11');

12 : writeln('Liczba ta dzieli się przez 1,2,4,6 i 12');

13 : writeln('Liczba ta dzieli się przez 1 i 13');

14 : writeln('Liczba ta dzieli się przez 1,2,7 i 14');

15 : writeln('Liczba ta dzieli się przez 1,3,5 i 15');

16 : writeln('Liczba ta dzieli się przez 1,2,4,8 i 16');

17 : writeln('Liczba ta dzieli się przez 1 i 17');

18 : writeln('Liczba ta dzieli się przez 1,2,6,9 i 18');

19 : writeln('Liczba ta dzieli się przez 1 i 19');

20 : writeln('Liczba ta dzieli się przez 1,2,4,5,10 i 20');

readln;

END.

VAR

liczba:byte;

BEGIN

clrscr;

writeln(' Wprowadź liczbę od 1 do 20');

read(liczba);

IF liczba=1 THEN writeln('Liczba ta dzieli się przez 1');

IF liczba=2 THEN writeln('Liczba ta dzieli się przez 2 i 1');

IF liczba=3 THEN writeln('Liczba ta dzieli się przez 1 i 3');

IF liczba=4 THEN writeln('Liczba ta dzieli się przez 1,2 i 4');

IF liczba=5 THEN writeln('Liczba ta dzieli się przez 1 i 5');

IF liczba=6 THEN writeln('Liczba ta dzieli się przez 1,2,3 i 6');

IF liczba=7 THEN writeln('Liczba ta dzieli się przez 1 i 7');

IF liczba=8 THEN writeln('Liczba ta dzieli się przez 1,2,4 i 8');

IF liczba=9 THEN writeln('Liczba ta dzieli się przez 1,3 i 9');

IF liczba=10 THEN writeln('Liczba ta dzieli się przez 1,2,5 i 10');

IF liczba=11 THEN writeln('Liczba ta dzieli się przez 1 i 11');

IF liczba=12 THEN writeln('Liczba ta dzieli się przez 1,2,4,6 i 12');

IF liczba=13 THEN writeln('Liczba ta dzieli się przez 1 i 13');

IF liczba=14 THEN writeln('Liczba ta dzieli się przez 1,2,7 i 14');

IF liczba=15 THEN writeln('Liczba ta dzieli się przez 1,3,5 i 15');

IF liczba=16 THEN writeln('Liczba ta dzieli się przez 1,2,4,8 i 16');

IF liczba=17 THEN writeln('Liczba ta dzieli się przez 1 i 17');

IF liczba=18 THEN writeln('Liczba ta dzieli się przez 1,2,6,9 i 18');

IF liczba=19 THEN writeln('Liczba ta dzieli się przez 1 i 19');

IF liczba=20 THEN writeln('Liczba ta dzieli się przez 1,2,4,5,10 i 20');

readln;

END

16. Rodzaje pętli. Jak działają i czym się różnią.

Pętla jest to instrukcja lub zestaw instrukcji do wykonania przez program pod określonym warunkiem. Jak sama nazwa wskazuje powtarza pewną czynność określoną ilość razy, działa dopóki warunek nie zostanie spełniony, bądź działa dopóki warunek jest. spełniany. Używamy jej przy czynnościach, które wymagają wielokrotnego powtarzania do określonego warunkiem momentu.

Pętla While różni się od pętli Repeat tym że sprawdza warunek kontynuacji w innym miejscu.

W Pascalu są trzy rodzaje pętli:

17.Przykłady stosowania pętli. Ciągi liczbowe.

18.Algorytmy sortowania:

- sortowanie bąbelkowe – porównuje wartości elementów leżących obok siebie i zmienia ich kolejność

- przez wstawianie

- sortowanie kubełkowe

- przez zliczanie

19.

Procedura – jeśli musimy w programie wykorzystać kilka razy ten sam kawałek kodu, możemy ‘wrzucić’ ten kod w procedure a potem w programie wywoływać tą procedure (a kod w niej zawarty zostanie wykonany przez program). Dzięki temu nie musimy kilka razy pisać tego samego kodu w programie.

Procedure deklarujemy poza blokiem Begin.. End!

Aby skorzystać z procedury, musimy ją wywołać w programie: wystarczy wpisać nazwę tej procedury;

przykład deklaracji i wywołania:

Funkcja – to samo co procedura tylko zwraca jakąś wartość;

Deklaracja i wywołanie - tak samo jak dla procedury.

Funkcje są w swoim działaniu bardzo podobne do procedur. Właściwie w innych językach programowania, takich jak C++ czy Java, procedury w ogóle nie istnieją ? dostępne są jedynie funkcje. Podstawowa różnica pomiędzy procedurami a funkcjami polega na tym, że te drugie zwracają jakąś wartość.

Deklaracja funkcji następuje poprzez użycie słowa kluczowego Function. Oprócz tego funkcja, jak już mówiłem, musi zwracać jakąś wartość: po znaku dwukropka należy wpisać typ zwracanej wartości:

przykład deklaracji:

PRZYKŁADY FUNKCJI I PROCEDUR: http://4programmers.net/Delphi/Procedury_i_funkcje

Zmienna lokalna: Zmienne lokalne to zmienne deklarowanie w ciele procedury lub funkcji. Zmienne lub stałe deklarowane w ciele procedury nie są dostępne poza ową procedurą.

Zmienna globalna: zmienne deklarowane w programie, dostępne dla całego programu, a także funkcji i procedur umieszczonych w aplikacji. Pamięć dla zmiennych globalnych przydzielana jest w momencie uruchamiania aplikacji.

20.

Klasa - można powiedzieć, że klasa jest rodzajem zbioru, pewnym elementem programu, który wykonuje jakieś zadania. Klasa zawiera metody (procedury i funkcje), współdziałające ze sobą w celu wykonania jakiegoś zadania.

Załóżmy, że napisano klasę do obsługi poczty (wysyłanie i odbieranie). Klasa może zawierać procedury Connect (połącz), SendMail (wyślij e-mail), k(rozłącz). Z kolei procedura Connect może wywoływać inną, np. Error (która też jest procedurą znajdującą się w klasie), wyświetlającą komunikat o błędzie w razie niepowodzenia i zapisującą odpowiednią informację w dzienniku programu (czyli, inaczej mówiąc, w logach; plikach z rozszerzeniem *.log). Teraz taką klasę można wykorzystać w wielu swoich aplikacjach: wystarczy skopiować fragment kodu i już gotowa jest obsługa błędów, łączenie itp. Taką klasę można udostępnić innym użytkownikom lub swoim współpracownikom.

przykłady klas:

//DOPISAC

WIĘCEJ O KLASACH: http://4programmers.net/Delphi/OOP#id-Klasy

Obiekt -

http://pl.wikipedia.org/wiki/Obiekt_(programowanie_obiektowe)

http://4programmers.net/Delphi/NET/Elementy_języka_Delphi#id-Obiekty-w-Delphi

Komponenty Delphi: komponenty są obiektami, za pomocą których można bardzo szybko tworzyć programy. Można je porównać do klocków, z których układa się program. Przy tworzeniu programu wszystkie komponenty są widoczne dla programisty. Komponentem jest formularz, komponentem jest przycisk, pole wprowadzania tekstu, przełączniki, menu programu i tak dalej;

np.: komponent Label (czyli Etykieta) odpowiada w systemie Windows za wyświetlenie statycznego tekstu.

Dzielą się na:

21.

Cechy programowania obiektowego:

Cechy programowania obiektowego:

- hermetyzacja

- dziedziczenie

- polimorfizm

22.

Z jakich plików składa się standardowa aplikacja Delphi:

- Project1.dpr – DPR – program główny

- Unit1.pas – PAS – plik modułu

- Unit1.dfm – DFM – plik formularza

23.

Standardowe własności komponentów Delphi:

Align - służy do wyśrodkowania komponentu, dostępnych jest sześć możliwości:

Caption i Text

jeżeli kontrolka posiada możliwość wyświetlania tekstu to tu deklarujemy jego treść

Color

tutaj definiujemy kolor komponentu; w liście dostępnej w Object Inspectorze znajdują się podstawowe barwy, większą ich ilość uzyskamy poprzez dwukrotne kliknięcie w polu wyboru

Enabled

podajemy informację o tym, czy komponent jest dostępny (TRUE- tak, FALSE- nie); jeżeli mamy np. Button na formie to gdy ustawimy właściwość na FALSE to nie będzie reagować na kliknięcie

Font

jeżeli komponent posiada możliwość wyświetlania tekstu to tu możemy ustalić jego czcionkę; więcej możliwości uzyskuje się poprzez dwukrotne kliknięcie w polu wyboru

Height

definiujemy wysokość komponentu

Left

położenie komponentu względem osi X

Name

nazwa komponentu, każdy komponent musi mieć inną nazwę, jeżeli położysz na formie dwa Labele to zauważysz, że nazywają się Label1 i Label2; nazw używamy, gdy odwołujemy się do komponentu z innego miejsca (np. Label1.Caption:='OK')

Top

położenie komponentu względem osi Y

Visible

deklarujemy czy komponent ma być widoczny, czy też nie

Width

szerokość komponentu

24.

Standardowe zdarzenia komponentów Delphi:

Click(Sender: TObject);

zwykłe kliknięcie na komponencie; (np. wstawiamy na formę Button i w zdarzeniu OnClick piszemy Form1.Caption:='Click';)

DblClick(Sender: TObject);

to samo co wyżej, lecz akcja zachodzi dopiero po dwukrotnym kliknięciu

KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

jeżeli klawisz został wciśnięty

KeyPress(Sender: TObject; var Key: Char);

to co wyżej

KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

jeżeli klawisz został zwolniony

MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

jeżeli trzymamy wciścnięty klawisz myszy

MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

jeżeli poruszamy myszką

MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

jeżeli klawisz myszki został zwolniony

25.

Konwersja typów:

Konwersja typów służy do przekształcania jednego typu na inny - w zależności od potrzeb.

przykłady:

FloatToStr Konwertuje liczbę zmiennoprzecinkową do formatu String

FloatToStrF Konwertuje liczbę zmiennoprzecinkową do formatu String z zachowaniem formatowania

IntToStr Konwertuje liczbę Integer do postaci łańcucha String

StrToFloat Konwertuje łańcuch do liczby zmiennoprzecinkowej

StrToInt Konwertuje łańcuch do liczby Integer


Wyszukiwarka