Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 2: Wstęp do programowania w Pascalu © Jan Kaczmarek
Proces tworzenia programu składa się z kilku etapów. 1. Planowanie – tworzenie algorytmu rozwiązywania zadania 2. Kodowanie – zapis algorytmu w języku programowania, powstaje program w tzw. języku źródłowym 3. Kompilacja – przetłumaczenie programu zapisanego w języku źródłowym na rozkazy w języku maszynowym, kompilacji dokonuje komputer (kompilator) 4. Konsolidacja (łączenie) – połączenie wszystkich części programu w jeden ciąg rozkazów dla procesora (w tym dołączenie wykorzystywanych w programie procedur i funkcji standardowych). Proces konsolidacji jest często połączony z kompilacją 5. Testowanie – uruchamianie skompilowanego programu dla wybranych zestawów danych i sprawdzanie poprawności działania programu 6. Optymalizacja – doskonalenie działań programu zmierzające np. do szybszego wykonywania obliczeń lub efektywniejszego wykorzystania pamięci komputera Uwaga! Na każdym etapie mogą wystąpić błędy lub niepoprawne działanie programu, należy wtedy wrócić do etapów wcześniejszych.
PASCAL Niklaus WIRTH opisał ten język w artykule The programming language Pascal w czasopiśmie Acta Informatica nr 1 w 1971 roku. Najważniejsze cechy tego języka to: - język wysokiego poziomu, imperatywny - następca języka programowania ALGOL 60 - posiada zalety dydaktyczne (wymusza programowanie systematyczne i strukturalne metodą zstępującą od ogółu do szczegółu ) - dobrze udokumentowany opis w notacji BNF - szeroka dziedzina stosowalności - język publikacji algorytmów w pracach naukowych - dziś ma elementy obiektowości Dwie, najbardziej znane wersje Pascala to: - Turbo Pascal (1983, Borland International) - szybki kompilator dla rodziny komputerów zgodnych z IBM PC - Object Pascal osadzony w Delphi (Borland International) – obecnie najpopularniejsza wersja obiektowa języka.
Zapisując algorytm w języku programowania (także w języku PASCAL) trzeba przestrzegać wielu zasad, które określają budowę i znaczenie poszczególnych konstrukcji programu. Program w Pascalu ma następującą strukturę: program nazwa-programu (parametry); {definicje i deklaracje} begin {instrukcje} end. Definicje i deklaracje opisują używane w programie obiekty. Instrukcje opisują działania (czynności) wykonywane na obiektach, które mają prowadzić do uzyskania dla podanych danych stosownych wyników. Zestaw elementów postaci: {definicje i deklaracje} begin {instrukcje} end nazywa się niekiedy blokiem. nie zapominać!
Program w Object Pascalu (w Delphi) może występować w dwóch wariantach jako: - program tekstowy, dla którego w środowisku Windows otwierane jest tekstowe okno DOSa. Programy te są obsługiwane przez bibliotekę modułów standardowych RTL (Run-Time Library) zawierającą moduły System, SysUtils, Math, Windows. Struktura tego programu (generowana automatycznie po wybraniu z menu File/New/Other/Console Application) ma postać: program nazwa-programu (parametry); {$APPTYPE CONSOLE} uses SysUtils; {dalsze definicje i deklaracje} begin {instrukcje} end. - program okienkowy (graficzny), przeznaczony dla środowiska Windows i obsługiwany przez bibliotekę VCL (Visual Component Library).
program trojmian_kwadratowy; {$APPTYPE CONSOLE} uses SysUtils; var delta, x1, x2 : real; var a, b, c : real; begin writeln ('Podaj wspolczynniki a, b, c trojmianu kwadratowego: '); readln (a, b, c); delta := b*b-4*a*c; if delta 0 then begin x1 := (-b-sqrt(delta))/(2*a); x2 := (-b+sqrt(delta))/(2*a); writeln ('X1 = ', x1); writeln ('X2 = ', x2); end else begin x1 := -b/(2*a); writeln ('X1 = ', x1); end; end.
Zapisując programy w Pascalu możemy stosować tylko symbole z alfabetu tego języka. Alfabet (symbole podstawowe) tworzą: Litery: duże i małe litery alfabetu łacińskiego oraz A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z (poza łańcuchami duże i małe litery nie są rozróżniane) Znak podkreślenia _ (zaliczany do liter) Cyfry : 10 cyfr arabskich: Znaki specjalne: 23 znaki specjalne: + - * / = ^ ( ) [ ] { }., : ; # $ Odstęp – znak niewidoczny Znaki sterujące: 32 znaki sterujące o kodach ASCII od 0 do 31 Operator przypisania: := Operatory relacji:<> = Operator zakresu:.. Nawiasy kwadratowe:(..) (zamiennie zamiast [ ]) Nawiasy klamrowe:(* *) (zamiennie zamiast { })
Słowa kluczowe W skład alfabetu wchodzą także wybrane słowa języka angielskiego. Są integralną częścią języka i nie mogą być definiowane przez programistę (są zastrzeżone). Najczęściej stosowane słowa kluczowe: andarraybegincaseconst divdodowntoelseend fileforfunctiongotoif inlabelmodnilnot oforprocedureprogramrecord repeatsetstringthento typeunituntilusesvar whilewithxor
Algorytm obliczania pola działki w postaci programu START czytaj dł, szer pole := dł * szer pisz pole STOP program dzialka; {$APPTYPE CONSOLE} uses SysUtils; var dl, szer, pole : integer; begin write (podaj dlugosc: ); readln (dl); write (podaj szerokosc: ); readln (szer); pole := dl*szer; write (pole wynosi:, pole); readln; end.
Algorytm znajdowania większej z dwóch podanych liczb START czytaj a, b max := b pisz max STOP a > b max := a TAK NIE
Program znajdowania większej z dwóch podanych liczb program wieksza; {$APPTYPE CONSOLE} uses SysUtils; var a, b, max : integer; begin write (podaj a: ); readln (a); write (podaj b: ); readln (b); if a>b then max := a else max := b; write (wieksza z liczb to:, max); readln; end.
Algorytm znajdowania iloczynu il = 1*2*3*…*n dla danego n START czytaj n il := il * i pisz il STOP i n TAK NIE il := 1; i := 1 i := i + 1
Program znajdowania iloczynu il = 1*2*3*…*n dla danego n program iloczyn; {$APPTYPE CONSOLE} uses SysUtils; var n, i, il : integer; begin write (podaj n: ); readln (n); il := 1; for i:=1 to n do il := il*i; write (iloczyn =, il); readln; end.