Podstawowe wiadomoś ci o języku programowania Pascal. Na
Transkrypt
Podstawowe wiadomoś ci o języku programowania Pascal. Na
Podstawowe wiadomoś ci o języku programowania Pascal. Na początku lat siedemdziesiątych Niklaus Wirth opublikował pierwszy opis języka Pascal (był on wzorowany na języku Algol 60). Ze względu na swoje zalety język Pascal bardzo dobrze nadaje się do nauki programowania. Przejrzysty i czytelny kod ź ródłowy sprawia, ż e edycja treś ci programu, jego analiza czy póź niejsza modyfikacja jest łatwiejsza niż w wielu innych językach programowania. Język algorytmiczny - język opisu algorytmów i komunikacji między uż ytkownikami komputerów. Większoś ć ze stosowanych języków programowania spełnia wymagania języków algorytmicznych. Język strukturalny - umoż liwia budowanie programów podzielonych na bloki, częś ci – procedury bądź funkcje. Programowanie strukturalne ułatwia projektowanie, testowanie a takż e „utrzymanie” kodu programu. Program ź ródłowy składa się z jednostek leksykalnych oraz separatorów (spacja, tabulacja, ś rednik, przecinek, kropka, znak zmiany wiersza i komentarz). Treś ć programu ź ródłowego wpisuje się do pliku tekstowego (najczęś ciej o rozszerzeniu 'PAS'). Uwaga: W jednym pliku moż e być umieszczony tylko jeden program ź ródłowy. Jednostki leksykalne to: a) Słowa kluczowe - są to spójne ciągi liter, które tworzą zarezerwowane słowa angielskie o ustalonym znaczeniu. absolute and array asm assembler begin case const constructor destructor div do downto else end external far file for forward function goto if implementation in inherited inline interface interrupt label mod near nil not object of or packed private procedure program public record repeat set shl shr string then to type unit until uses var virtual while with xor b) Identyfikatory - są to spójne ciągi liter i cyfr rozpoczynające się od litery, nie będące słowem kluczowym. - nie są rozróż niane duż e i małe litery. - znak podkreś lenia _ uznawany jest za literę; Identyfikatory służ ą do oznaczania: programów, stałych, typów, zmiennych, pól w rekordach, procedur, funkcji, parametrów formalnych. Uwaga: słowa kluczowe nie mogą być uż ywane jako identyfikatory. c) Liczby – całkowite, rzeczywiste. d) Napisy (literały łańcuchowe, łańcuchy) - ciągi znaków między apostrofami (np. ’to jest napis ’). e) Literały logiczne - mają postać napisu 'true' lub 'false'. f) Komentarze - nie wpływają na wykonywanie programu i wykorzystywane są do zwiększenia czytelnoś ci programu i zrozumienia jego treś ci. Są to napisy umieszczone w klamrach (* ... *) lub { ... } . Struktura programu: 1. Nagłówek programu 2. Deklaracja modułów 3. Blok definicji i deklaracji 4. Blok podprogramów 5. Blok główny W każ dym programie muszą wystąpić zawsze dwa bloki 1 i 5. Istotna jest kolejnoś ć umieszczania bloków w programie (blok 1 zawsze na początku, blok 5 na końcu). Nagłówek programu składa się ze słowa kluczowego „PROGRAM”, po którym umieszcza się nazwę programu (identyfikator) oraz ewentualnie ujętą w nawiasy okrągłe listę parametrów (kolejne elementy tej listy oddzielamy przecinkami). Lista parametrów moż e być pomijana. Nagłówek programu zakończony jest ś rednikiem. JPK - Pascal cz.1 1/3 Blok główny programu rozpoczyna się od słowa „begin” a zakończeniem bloku (programu) jest słowo „end.” (obowiązkowo z kropką). Pomiędzy słowami „begin” a „end” wpisuje się instrukcje programu oraz wywołania podprogramów (procedur, funkcji). Instrukcje umieszczone w programie oddzielane są od siebie ś rednikami. Program Nazwa_Programu ; begin Instrukcja_1 ; Instrukcja_2 ; ... Instrukcja_N end. Operatory: § arytmetyczne: § relacyjne: § logiczne: + = and < or { nagłó wek programu } { początek bloku głó wnego } { koniec bloku głó wnego } * > not / <> div <= mod >= Przykłady: a+1 suma / ( ( 3 + 2 * licznik ) - 31.567 ) liczb_1 <= liczba_2 ‘A’+ ‘z’ { ź le ‘A’+ 1 } NOT ( x = 0 ) ( x = 3 ) OR ( x MOD 5 = 0) ( x = 5 ) OR ( y = 4 ) OR ( z = ‘T’) ( x = 1 ) AND ( ( x = y ) OR ( x = z) ) ( x = 1 ) AND NOT ( ( x = y ) OR ( x = z) ) Instrukcja przypisania to symbol dwuznakowy „ := ” i służ y do przypisania zmiennej wartoś ci i ma następującą postać : zmienna := stała lub wyraż enie Przykłady: x := 1 ; wynik := suma / populacja ; a := 127 ; a := a + 1; a := a + c * 12 ; znak := ‘A’; napis := 'Egzamin JPK ' ; zmienna_logiczna := true ; debet := stan_konta < 0 ; { ź le 1 := x } { ź le a + 1 := x } { ź le a := x*2 + ‘A’} { ź le znak := ‘A’+’z’, jeż eli zmienna znak moż e "przechowywać " tylko jeden znak } napis := napis + '2004'; { ź le napis := napis + 2004 ; } { ź le zmienna_logiczna := 'false' } udzielic_kredyt := (K1 and K2) or K3; Uwaga: Każ da zmienna uż yta w programie musi być w nim zadeklarowana. Blok deklaracji zmiennych - rozpoczyna się od słowa kluczowego VAR, po którym następuje wykaz deklaracji zmiennych. var lista_identyfikatorow_1 : nazwa_typu ; ... lista_identyfikatorow_N : nazwa_typu ; Lista identyfikatorów to oddzielona przecinkami lista nazw zmiennych, a nazwa typu zawiera okreś lenie typu zmiennej. Typy danych (wybrane) : § zbiór liczb całkowitych: - Byte 0 ... 255 - Word 0 ... 65 535 - ShortInt -128 ... +127 - Integer -32 768 ... +32 767 - LongInt -2 147 483 648 ... +2 147 483 647 § zbiór liczb rzeczywistych: - Real 2.9e-39 ... 1.7e38 § zbiór znaków - Char znak ASCII np. ‘A’, 'z', ‘5’, ‘$’, ‘@’, '+' § zbiór wartoś ci logicznych: - Boolean wartoś ci logiczne: true, false JPK - Pascal cz.1 (rozmiar zajmowanej pamięci) (1 bajt) (2 bajty) (1 bajt) (2 bajty) (4 bajty) (6 bajtów) (1 bajt) (1 bajt) 2/3 Przykłady deklaracji zmiennych: Dobrze: a : byte ; L1, L2, L3, L4 : word ; suma : integer ; srednia : real ; liczba_glosow : longint ; ź le: błędna deklaracja : liczba ; 5 : byte ; 2004rok : word ; %procent : real ; Instrukcja WRITE Składnia: write ( lista_parametró w ) lub writeln ( lista_parametró w ) Interpretacja: Wyś wietlenie informacji na ekranie monitora (np. tekstu, wartoś ci zmiennej, stałej, wyraż enia, funkcji). Przykłady: write ( 2004 ) ; write ( zmienna ) ; write ( ‘napis’) ; writeln ( ‘suma=‘, s ) ; writeln ( ‘napis1‘, zm1, ... , ‘napisN‘, zmN ) ; writeln ( ‘wynik obliczeń = ‘, suma / ( n + 2 ) ) ; Instrukcja READ Składnia: read ( lista_parametró w ) lub readln ( lista_parametró w ) Interpretacja : Wprowadzenie do komputera wartoś ci z klawiatury i podstawienie wczytanej wartoś ci pod zmienną (zmienne) - parametr instrukcji. Przykłady: dobrze: read ( x ) ; readln ( suma ) ; read ( liczba1 , liczba2 ) ; readln ( zm1 , zm2 , ... zmN ) ; ź le: readln ( 255 ) ; read ( ‘A‘) ; readln ( ‘napis ‘, zm ) ; readln ( zm + 1 ) ; read ( false ) ; Przykład programu obliczającego sumę i ś rednią dwóch liczb, których wartoś ć jest wprowadzana z klawiatury (dwie wersje). { przypadek gdy: liczba1 >= 0 i liczba2 >=0 } (* przypadek gdy wartoś ci liczb mogą być ujemne *) (*** nagłówek programu ***) program Srednia_liczb_wersja_1; program Srednia_liczb_wersja_2; var liczba1, liczba2 : integer ; { dane } suma : longint ; { wynik } srednia : real ; { wynik } begin write (‘wprowadź pierwszą liczbę: ‘) ; readln ( liczba1 ) ; write (‘wprowadź drugą liczbę: ‘) ; readln ( liczba2 ) ; (*** deklaracje zmiennych ***) var liczba1 : byte ; { dane we } liczba2 : byte ; { dane we } suma : word ; { dane wy } (*** blok główny ***) begin {--- 1. Wprowadzanie danych ---} write (‘wprowadź pierwszą liczbę: ‘) ; read ( liczba1 ) ; write (‘wprowadź drugą liczbę: ‘) ; read ( liczba2 ) ; {--- 2. Obliczenia ---} suma := liczba1 + liczba2 ; {--- 3. Wyprowadzenie wyników ---} writeln ( ‘Wyniki: ‘) ; writeln ( ‘suma=‘, suma ) ; writeln ( ‘ś rednia=‘, suma / 2) end. JPK - Pascal cz.1 suma := liczba1 + liczba2 ; srednia := suma / 2 ; writeln ( ‘Wyniki : ‘) ; writeln ( ‘suma =‘, suma, ‘ oraz ‘, ‘ś rednia=‘, srednia ) end. 3/3