Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język PASCAL – podstawy Turbo Pascal: 1) środowisko, struktura programu, stałe, zmienne, typy danych 2) Wyrażenia, instrukcje, deklaracje modułów, 3) instrukcje.

Podobne prezentacje


Prezentacja na temat: "Język PASCAL – podstawy Turbo Pascal: 1) środowisko, struktura programu, stałe, zmienne, typy danych 2) Wyrażenia, instrukcje, deklaracje modułów, 3) instrukcje."— Zapis prezentacji:

1 Język PASCAL – podstawy Turbo Pascal: 1) środowisko, struktura programu, stałe, zmienne, typy danych 2) Wyrażenia, instrukcje, deklaracje modułów, 3) instrukcje warunkowe, instrukcja wyboru, instrukcje iteracyjne Cele nauczania: Podstawowe zasady programowania. Osiągnięcia: Praktyczna znajomość elementów programowania w języku Pascal

2 Spis treści Krótka historia języka programowania Pascal Środowisko Turbo PascalaKrótka historia języka programowania PascalŚrodowisko Turbo Pascala Uruchomienie systemu Turbo Pascal Ekran TurboPascalaUruchomienie systemu Turbo PascalEkran TurboPascala Wydawanie poleceń, skróty klawiszowe Podstawowe informacje o języku PascalWydawanie poleceń, skróty klawiszowePodstawowe informacje o języku Pascal Objaśnienie Pojęć Najmniejszy program w PascaluObjaśnienie PojęćNajmniejszy program w Pascalu Budowa programu Uruchomienie programu Struktura programuBudowa programuUruchomienie programuStruktura programu Przykład prostego programu na obliczenie pola koła Zasady podstawowe programowania Stałe, zmienneZasady podstawowe programowaniaStałe, zmienne Definicja Stałych. Deklaracja zmiennych. Przykłady Biblioteki, procedura, funkcjaDefinicja Stałych. Deklaracja zmiennych. PrzykładyBiblioteki, procedura, funkcja Program składa się z następujących sekcji : Typy danych – proste Typy strukturalneProgram składa się z następujących sekcji :Typy danych – prosteTypy strukturalne Typy całkowite czyli zbiory, których elementami są wyłącz...Typy całkowite czyli zbiory, których elementami są wyłącz... Typy rzeczywiste Typy BOOLEAN, CHAR, STRINGTypy rzeczywisteTypy BOOLEAN, CHAR, STRING Wyrażenia Instrukcja przypisania Instrukcje wejścia/wyjściaWyrażeniaInstrukcja przypisaniaInstrukcje wejścia/wyjścia Przykład programu z instrukcjami we/wy Program na pole i obwód kołaPrzykład programu z instrukcjami we/wyProgram na pole i obwód koła Instrukcja złożona – grupująca Instrukcja grupująca – przykładInstrukcja złożona – grupującaInstrukcja grupująca – przykład Funkcje i procedury standardowe – deklaracja modułów Podejmowanie decyzji w programie Operatory relacyjnePodejmowanie decyzji w programieOperatory relacyjne Instrukcja warunkowa IF... THEN... [ELSE...] Operatory logiczne: and, or, notInstrukcja warunkowa IF... THEN... [ELSE...] Operatory logiczne: and, or, not Przykład - rozwiązanie równania kwadratowego CASE - instrukcja wyboruPrzykład - rozwiązanie równania kwadratowego CASE - instrukcja wyboru Instrukcje iteracyjne Organizacja obliczeń cyklicznych Instrukcja while Instrukcja repeatInstrukcje iteracyjne Organizacja obliczeń cyklicznychInstrukcja whileInstrukcja repeat Instrukcja for Programy z FORInstrukcja forProgramy z FOR

3 Krótka historia języka programowania Pascal Język programowania Pascal powstał w 1971 r. Jego autorem jest Niklaus Wirth. Popularność Pascal zaczął zdobywać po 1974 r. po opublikowaniu książki na ten temat. Miał służyć do nauki programowania strukturalnego. Jest doskonałym narzędziem do nauki programowania. Niejako kontynuacją rozwoju jest język Delphi - 32-bitowe, obiektowe zintegrowane środowisko RAD (Rapid Application Development) do tworzenia aplikacji w systemie Windows.

4 Środowisko Turbo Pascala Turbo Pascal jest zintegrowanym pakietem składającym się z następujących części: – edytora - służy on do pisania i poprawiania programów; – kompilatora - zamienia on plik źródłowy na instrukcje wykonywane przez komputer; – debuggera - umiejscawia i usuwa on usterki w programie oraz pozwala śledzić wykonywanie programu krok po kroku.

5 Uruchomienie systemu Turbo Pascal Turbo Pascal uruchamia się przez – przejście do katalogu, który go zawiera (np. c:\tp\bin ) i wydanie polecenia turbo – lub uruchomienie komendy turbo, jeśli ustawiona jest ścieżka dostępu do katalogu z programem turbo.exe – lub uruchomienie odpowiedniego programu batchowego (np. tp.bat). Po uruchomieniu programu ekran zostanie podzielony na następujące części: – głównego menu - górna linijka ekranu; – okna edytowania (Edit) - zajmuje większość ekranu; – paska z klawiszami - dolna linijka ekranu.

6 Ekran TurboPascala

7 Wydawanie poleceń, skróty klawiszowe myszą - poprzez kliknięcie na odpowiednim wyrazie menu, a następnie na odpowiedniej komendzie; klawiaturą - wciskamy kombinację Alt i pierwszą literę wyrazu w menu, następnie wciskamy wyróżnioną literę komendy. Np. – Alt F – menu File – Plik – Alt E – menu Edit – edycja – Alt R – menu Run – Uruchom – Alt C – menu Compile – Kompilacja – Alt O – menu Options – Opcje – Alt D – menu Debug – debugowanie – Alt T – menu Tools - Narzedzia klawiszem skrótowym - wciskamy klawisz lub kombinację klawiszy, która znajduje się obok komendy lub w pasku z klawiszami.

8 Niektóre skróty klawiszowe F2 - zapamiętanie edytowanego programu (z rozszerzeniem.pas) F3 - ściągnięcie programu Alt-F9 - kompilacja programu F9 – make – tworzy program wykonywalny, kompiluje program do pliku.EXE kompilując tylko zmienione pliki Ctrl-F9 - uruchomienie skompilowanego programu: (z ewentualną kompilacją) Alt-F5 - przełącza na wirtualny ekran użytkownika Esc lub F10 - wyjście Alt-X - wyjście z systemu Pascal F4 - Go to cursor - wykonuje program aż do linijki zawierającej kursor, p o czym zatrzymuje się i czeka na dalsze polecenia; F7 - Trace Into - wykonuje bieżącą instrukcję programu, jeśli jest to wywołanie procedury, to przechodzi do pierwszego wiersza tej procedury; F8 - Step Over - wykonuje bieżącą instrukcję programu, jeśli jest to wywołanie procedury, to wykonuje ją w całości;

9 Podstawowe informacje o języku Pascal Język programowania – zapis algorytmu w postaci zrozumiałej dla człowieka. Program źródłowy – tekst: zbiór słów, cyfr, znaków. Słowa zastrzeżone - kluczowe, m.in. program, begin, end, const, var, repeat, until, array, and, procedure, function Łańcuchy znaków muszą być ograniczone przy pomocy apostrofów, np. Ala ma kota, Podaj nazwisko:. Mogą zawierać spacje. Liczby dziesiętne mogą zawierać kropkę a nie przecinek, np Mogą być zapisane w postaci wykładniczej, z literą E, np. 2.83E+3 (czyli 2.83*10^3) Każde polecenie programu musi kończyć się średnikiem. W j ednej linii może być kilka poleceń ale to nie jest zalecane Polecenia można pisać DUŻYMI i małymi literami Komentarze tworzymy przy pomocy znaków { } lub (* *) np. {To jest komentarz 1 (* to komentarz 2 w komentarzu1 *) }

10 Objaśnienie Pojęć Słowo Kluczowe – zastrzeżone samo w sobie nie robi nic, ale w połączeniu z innymi pozwala nam na grupowanie procedur i funkcji w jedną całość, używanie pętli... Stała - jest to pewna wartość przypisana znakowi/wyrazowi której nie można zmienić np: stałej PI jest przyporządkowana liczba Zmienna - Jak sama nazwa wskazuje zmienna jest to wyraz, któremu jest przypisana pewna wartość, którą w czasie działania programu możemy swobodnie zmieniać w zakresie danego typu.

11 Najmniejszy program w Pascalu Podstawowy, a zarazem najmniejszy program w Pascalu wygląda tak: begin {1} end. {2} Przedstawione tutaj dwie linijki całkowicie nic nie robią, informują one jedynie kompilator gdzie zaczyna się nasz główny program {1} i gdzie kończy {2}. Pomiędzy tymi liniami będzie w przyszłości znajdował się właściwy program. Po "END" jest postawiona kropka, ponieważ END. oznacza koniec programu, a END; koniec fragmentu programu.

12 Program kolejny, prościutki: program Pierwszy_Program; begin; write ('Hello World'); end. Jeżeli chodzi o średniki, to są pewne wyjątki. Średniki nie muszą one występować po słowach kluczowych (z wyjątkiem end) oraz na końcu wiersza, który stoi bezpośrednio przed słówkiem end. Program powyższy może wyglądać tak: program Pierwszy_Program; begin {brak średnika - słowo kluczowe} write ('Hello World') {a tu też gdyż następnym poleceniem jest end, ale może być} end. W nawiasach klamrowych to komentarz. Wszystko co znajduje się między takimi nawiasami kompilator po prostu zignoruje. Zalecane stosowanie w programach, podobnie jak wcięcia. Poprawia to znacznie czytelność kodu i ułatwia pracę. Aby zapobiec szybkiego zamknięcia programu dopisujemy na końcu programu wywołanie procedury readln, która wywołana bez parametrów czeka na naciśnięcie klawisza enter.

13 Budowa programu OpisElementy programu NAGŁÓWEKPROGRAM nazwa CZĘŚĆ DEKLARACYJNACONST Definicje stałych VAR Deklaracje zmiennych Deklaracje procedur i funkcji GŁÓWNA CZĘŚĆ PROGRAMUBEGIN Instrukcje END. Przykład: PROGRAM jestem_pierwszy; BEGIN WRITELN(Witaj z nami programistami!); END. By uruchomić program nacisnąć Ctrl F9 By zobaczyć wyniki nacisnąć Alt F5 Dowolny klawisz - powrót

14 Uruchomienie programu Uruchomienie programu: Ctrl F9 ALT F5 – ekran roboczy programu By wydruk wyników nie znikał można zastosować polecenia READLN; (usuń komentarz z programu wokół READLN i sprawdź) lub REPEAT UNTIL KEYPRESSED, ale w tym przypadku na początku musi być polecenie USES CRT; {program drugi wersja 1} PROGRAM jestem_drugi; USES CRT; BEGIN WRITELN(Witaj. Nacisnij cos); REPEAT UNTIL KEYPRESSED; END. {program drugi wersja 2} PROGRAM jestem_drugi; USES CRT; BEGIN WRITELN(Witaj, nacisnij Enter); READLN END.

15 Struktura programu Program powinien składać się z danych, instrukcji i komentarzy. Dane to obiekty na których program przeprowadza operacje (np. liczby, teksty). Instrukcje to kolejne operacje, które program ma wykonać na danych. Komentarze nie wpływają na przebieg działania programu, służą jedynie poprawieniu czytelności kodu. { } lub (* *) Ogólna struktura programu w języku Pascal: program nazwa; deklaracje begin instrukcje end.

16 Przykład prostego programu na obliczenie pola koła Zad. Obliczyć pole koła o promieniu 5. Algorytm: Pole koła wyraża się S =Pi*r^2 1) Wersja najprostsza Begin write(Pi*5*5); end. 2) Wersja poprawiona program Pole_kola; { Program oblicza pole koła o promieniu 5 } Uses crt; begin clrscr; writeln('Pi=',Pi); write('Pole kola o promieniu 5 = : ',Pi*5*5:10:3); {oblicz i wypisz pole koła} readln; (* czeka na nacisniecie klawisza *) end.

17 Pole koła – wprowadzenie r i formatowanie wydruku 3 wersja programu program Pole_kola; {Nazwa programu} { Program oblicza pole koła o promieniu podanym } { Promień wprowadzany jest z klawiatury } var { deklaracja zmiennych } r : real; { promień koła - zmienna rzeczywista } begin writeln('Program oblicza pole kola'); write('Podaj promien kola: '); readln(r);{ odczytaj zmienną r z klawiatury } write('Pole = '; Pi*r*r:8:3);{ oblicz i wypisz pole koła } readln;(* czeka na naciśniecie klawisza*) end. {Koniec programu – po end jest kropka}

18 Zapamiętaj - 1 Program pascalowy składa się z ciągu rozdzielonych średnikami instrukcji położonych pomiędzy słowami kluczowymi begin i end. Instrukcje mogą zawierać wyrażenia oraz wywołania funkcji i procedur. Wyrażenia składają się ze stałych, operatorów i identyfikatorów. Identyfikatory są nazwami obiektów składających się na program. Mogą one zawierać litery, cyfry i znaki podkreślenia, nie mogą jednak zaczynać się od cyfr. Aby skompilować program, musisz użyć polecenia Make (F9). Ewentualne błędy kompilacji są odpowiednio sygnalizowane. Chcąc uruchomić program, musisz wydać polecenie Run (Ctrl-F9). Do obejrzenia wyników działania programu może okazać się niezbędne polecenie User Screen (Alt-F5). Aby zapisać program, użyj polecenia Save (F2). Do odczytania zapisanego programu z dysku służy polecenie Open (F3).

19 Zasady podstawowe programowania Nazwa programu jest dowolną nazwą do zidentyfikowania programu (bez spacji) Deklaracje służą do określenia struktury danych programu. Instrukcje programu oddzielamy za pomocą średnika (przed instrukcją end nie jest średnik konieczny). Po ostatnim END musi być kropka Program powinien być zapisywany z wykorzystaniem wcięć. Podstawowymi obiektami programu są stałe i zmienne.

20 Stałe, zmienne Stała to jakaś konkretna, niezmienna wartość, którą posługujemy się używając konkretnej nazwy symbolicznej, np. Stala_Pi. Każde wystąpienie nazwy-stałej w programie zostanie podczas kompilacji zastąpione wartością. Stałe definiuje się za pomocą słowa kluczowego const Przykład: CONST dolny_zakres=-1000; komunikat=Nacisnij klawisz; stala1 : string ='stala wartosc1'; Zmienna jest wielkością, która może się zmieniać. Posługujemy się nią korzystając z nazwy symbolicznej zwanej też identyfikatorem. Zmienne deklaruje się przy pomocy słowa kluczowego var. Przykład: var i, j: integer; mnoznik, mnozna: byte; odpow1, odp2: char;

21 Definicja Stałych. Deklaracja zmiennych. Przykłady Program stale_zmienne; Const abc=500; i3='tu jest tekst'; sprawdz=TRUE; Var abc1:byte; l3a, linia, t: string; {1} sprawdz1: boolean; Begin End. Możliwe jest definiowanie wielu zmiennych tego samego typu w jednej linii, wystarczy je wtedy rozdzielić przecinkami {1}. KAŻDA ZMIENNA PRZED UŻYCIEM W PROGRAMIE MUSI BYĆ WCZEŚNIEJ ZADEKLAROWANA.

22 Biblioteki, procedura, funkcja Biblioteki (moduły) - zapisane są w nich różne funkcje i procedury do użycia w programie. Procedura - jest to w skrócie pewien wyraz, który po wstawieniu do programu, coś nam wykona np. wyczyści ekran, narysuje linię (sformatuje dysk :) itd. Funkcja - jest to podobnie jak procedura, pewien wyraz, który nie dość że coś wykona to również zwróci nam rezultat tego co zrobił, przykładowymi funkcjami są: pierwiastkowanie, sinus, cosinus. Zwracaną wartością niekoniecznie musi być liczba może to być również inny rodzaj zmiennych.

23 Program składa się z następujących sekcji : program nazwa_programu; uses modul_1, modul_2,... ; Jest to instrukcja dołączająca zewnętrzne biblioteki zawierające dodatkowe procedury i funkcje, których można będzie użyć we własnym programie. np.: uses crt,graph,dos; dołącza biblioteki zawierające kolejno funkcje tekstowe, graficzne i systemowe. type nazwa_nowego_typu = definicja_nowego_typu; Przy pomocy tego słowa kluczowego możemy utworzyć nowe typy danych na podstawie tych już istniejących (najczęściej są one bardziej skomplikowane). np.: type calkowita=integer; przyporządkuje typowi calkowita standardowy typ integer. const nazwa_stalej : typ_stalej = wartosc; Deklaracje stałych np. const MAX=1000; {definiuje ciąg MAX jako zamiennik dla wartości 1000 w kodzie źródłowym.} var nazwa_zmiennej : typ; Deklaracja zmiennych globalnych użytych w programie. Będą one widoczne (można się do nich odwoływać) w każdym miejscu programu. procedure nazwa_podprogramu[(parametr1; parametr2;...)]; function nazwa_funkcji[(parametr1;parametr2;...)]:typ_zwracany; W tym miejscu należy umieścić definicje własnych funkcji i procedur użytych w programie. begin {początek programu głównego} Blok programu głównego. end. {koniec programu. - zapisywany słowem kluczowym end. z kropką na końcu}

24 Typy danych - proste Porządkowe: Całkowite : integer, shortint, longint, byte, word, np. Const liczba1: integer=13; var nr1, nr2: shortint; Znakowy : char do przechowywania znaków; np. const sign: char=+; var pierwszy, ostatni: char; Logiczny : boolean do przechowywania wartości logicznych true (prawda) lub false (fałsz), np. const Fem: boolean=true; Wyliczeniowe, np. type dzien=(Pon, Wt, Sr, Czw, Pt, Sb, Nd); type figury=(kwadrat, prostokat, trojkat, okrag); karty=(trefl, karo, kier, piko); Okrojone, np. type LitMale=a..z; const litera:LitMale=j; dzienroku=1..355; type oceny=(ndst, dop, dst, db, bdb, cel); Rzeczywiste real, single, double, extended, comp do przechowywania liczb rzeczywistych; np. var zm1: real; Łańcuchowe: string dla łańcuchów znaków (napisów) o podanej długości; np. const nazwisko: string[20]=Jan Kowalski; var linia: string; Wskazujące. Zmienna tego typu "wskazuje" na inną zmienną, przechowuje tylko jej adres w pamięci (przez co zajmuje 4 bajty). np. type RGB={Red, Green, Blue}; RGBWsk=^RGB;

25 Typy strukturalne Tablicowe. Tablica zawiera uporządkowany zbiór obiektów tego samego typu. Tablice mogą być jednowymiarowe lub wielowymiarowe. Jednowymiarowe to odpowiedniki wektorów, wielowymiarowe to odpowiedniki macierzy. np. var wymiary=array[1..100] of real; var tabl2=array[1..2, 1..4] of string; type kolor=(czerw, ziel, nieb); wektor=array[kolor] of byte; var matryca: array[-3..3] of wektor; type oceny=(ndst, dop, dst, db, bdb, cel); zakres=1..40; zestw_ocen=array[1..16] of oceny; symbole=array[zakres] of char; Rekordowe. Rekord to typ złożony z ustalonej liczby pól, na ogół różnych typów type tom=record autor: string[30]; tytul: string[40]; nr_kat: ; end; var ksiazka: tom; data_ur: data; type data_rm = record mc: 1..12; rok: ; end; Plikowe. Ten typ jest przydatny przy jakichkolwiek operacjach na plikach var nazwapliku: file of typ_elementów_pliku; np. type plik = file of integer ; var f,g,h: plik; var nazwaplilu: file; var nazwapliku: text; np. VAR f : TEXT; {zmienna pikowa} Zbiorowe. Zbiór w Pascalu to grupa elementów tego samego typu. Przykłady : type strony_swiata=(pln, pld, wsch, zach); liczby_20=set of 1..20; litery_aj=set of a..j; kier=set of strony_swiata

26 Typy całkowite czyli zbiory, których elementami są wyłącznie liczby całkowite. Nazwa typuZakresIlość bajtów Byte ShortInt Word Integer LongInt

27 Nazwa typuZakresZnaczące cyfry - liczba cyfr Format - rozmiar Real2.9 x 10^ x 10^38 Czyli 2.9E E bit owy 6 Bajty Single1.5 x 10^ x 10*38 1.5E-45…4E bitowy 4 B Double5.0E E bitowy 8 B Extended1.9E E bitowy 10 B Comp0..9.2E bitowy 8 B Typy rzeczywiste

28 Do typów prostych należą także standardowe typy rzeczywiste, które jednak nie są typami porządkowymi. Każdy z dostępnych typów rzeczywistych jest dyskretnym i skończonym podzbiorem zbioru liczb rzeczywistych. Dostępnych jest pięć standardowych typów rzeczywistych o następujących predefiniowanych identyfikatorach: – Real, elementy zajmują po 6 bajtów pamięci – Single, typ o pojedynczej długości - 4 bajty pamięci – Double, typ o podwójnej długości - 8 bajtów pamięci – Extended, typ o rozszerzonej długości - 10 bajtów pamięci – Comp: -2.63× ×10-1, cyfr znaczących - 8 bajtów pamięci

29 Typy BOOLEAN, CHAR, STRING TYP LOGICZNY - BOOLEAN - typ ten może przyjmować jedynie dwie wartości: TRUE (prawda) - 1 lub FALSE (fałsz) - 0 dzięki temu zajmuje on jedynie 1/8 bajta TYP ZNAKOWY - CHAR - typ ten przyjmuje dowolny pojedynczy znak o kodach ASCII (0..255) np. znak A czy ! TYP ŁAŃCUCHOWY - STRING - jest to ciąg znaków o długości znaków, przykładowym łańcuchem jest:To jest tekst', - użyte apostrofy! Jeżeli jakiekolwiek znaki umieścimy pomiędzy apostrofami będzie to uznawane wtedy za tekst nawet jeżeli znajdować się tam będą w środku liczby.

30 NazwaZnaczenieZakres wartościPrzykład integerliczba całkowita ze znakiem-3276S realliczba rzeczywista2.9*10" * el7 charznakznaki o kodach 0.255'a' stringnapis (łańcuch, ciąg znaków)ciąg do 255 znaków'Napis' booleanwartość logicznaprawda (pue) lub fałsz (false)false recordsłowo bytebajt shortint krótka liczba całkowita ze znakiem longintdługa liczba całkowita ze znakiem S singlekrótka liczba rzeczywista1.5*10~ * e01 doubledługa liczba rzeczywista5.0* * e+234 extendedbardzo długa liczba rzeczywista3.4* * e2345 compbardzo długa liczba całkowita-9.2* *10186el2 pointerwskaźnik0000h:0000h..FFFFh:FFFFh$1234:ABCD Najważniejsze typy dostępne w Turbo Pascalu

31 Wyrażenia Wyrażenia są zapisami operacji, jakie mają być wykonane. Wyrażenie składa się ze stałych, zmiennych i operatorów. Kolejność wykonywania działań określają nawiasy i priorytet operatorów. Najważniejsze operatory: OperatorDziałaniePrzykładWynik * Mnożeniea:=2*5; {10} / dzieleniea:=a/10.0;{1.0} + dodawaniea:=a+14;{15} - Odejmowaniea:=a-5;{10} div dzielenie całkowiteb:=10 div 3; {wynik } mod reszta z dzieleniac:=10 mod 3; {wynik = 1}

32 Instrukcja przypisania Instrukcja przypisania - służy do przypisania zmiennym wartości. Jest postaci: zmienna:=wyrażenie; Przykład: Program przypis1; var a, b, c: real; napis : string; {deklaracja zmiennej 'napis' typu string} begin a:=5; b:=2.15; c:=a+b; napis:='Hello World'; {przypisanie zmiennej wartosci 'Hello World'} writeln (napis); Writeln(a, b,c); End.

33 Instrukcje wejścia/wyjścia Do wczytywania danych stosuje się instrukcje read oraz readln. read (lista_argummentów); Np. read(a,b); W readln po wprowadzeniu danych następuje przesuniecie wskaźnika w pliku wejściowym do następnego wiersza. Readln bez argumentów służy do zatrzymania pracy programu do naciśniecia Enter. Do wyprowadzania danych stosuje się instrukcję np. write(lista_arg) lub writeln(lista_arg); Writeln('a=',a:3,' b=',b:3);

34 Przykład programu z instrukcjami we/wy Program wczytuj; uses crt; var a, b, c: integer; Begin clrscr; Writeln( 'Podaj wartości 3 zmiennych całkowitych oddzielone spacja: '); Read(a,b,c); Writeln('a=',a:3, ' b=',b:3, ' c=',c:3); readln; End.

35 Program na pole i obwód koła program kolo; { Program oblicza obwod i pole koła o promieniu podanym } uses crt; const lpi=3.1415; var { deklaracja zmiennych } r, o, p : real; { promień koła, obwod, pole} begin clrscr; writeln('Program oblicza obwod i pole kola'); write('Podaj promien kola: '); readln(r);{ odczytaj zmienną z klawiatury } writeln; o:=2*lpi*r; p:=lpi*r*r; writeln('Obwod kola o promieniu ', r:8:3, ' wynosi ',o:8:3); writeln('Pole tego kola = ', p:8:3); {wypisz pole koła } repeat until keypressed;(* czeka na naciśniecie klawisza*) end. {Koniec programu – po end jest kropka}

36 Instrukcja złożona - grupująca Instrukcję złożoną można porównać z nawi a sami w arytmetyce. Umożliwia zgrupowanie wielu instrukcji i traktowanie jako jednej. Czasem jest niezbędna przy korzystaniu z rozkazów strukturalnych takich jak: IF…THEN…ELSE czy DO…WHILE Ma postać: begin {ciąg_instru kc ji_oddzielonych_średnikami} end; Np. begin a:=3; b:=10; writeln(a+b); end; Trzy powyższe instrukcje są traktowane jako jedna.

37 Instrukcja grupująca - przykład Instrukcję grupującą rozpoczyna słowo kluczowe BEGIN, a kończy ją END Wszystkie instrukcje umieszczone pomiędzy tymi słowami będą traktowane jako jedna. Jest to przydatne np. przy instrukcji warunkowej IF THEN ELSE Przykład: Program InstrGrup1; Uses CRT; Var strona:byte; Begin Write('1-strona tytulowa 0-koniec : '); ReadLn(strona); IF strona=1 THEN Begin {poczatek instrukcji grupujacej} ClrScr; WriteLn('Program przykładowy w języku Turbo Pascal'); WriteLn('Autor: XXXX)'); WriteLn('Napisany Dnia: ') End; {koniec instrukcji grupującej} End.

38 Funkcje i procedury standardowe – deklaracja modułów W Turbo Pascalu istnieje duża biblioteka funkcji i procedur standardowych, czyli dostępnych bezpośrednio w systemie. Zawarte są w tzw. modułach. Moduł System jest dołączany automatycznie do każdego programu, inne moduły należy dołączyć przez instrukcję uses. Procedura standardowa Exit powoduje wyjście z bieżącego podprogramu, Halt zatrzymuje pracę programu. Procedura ClrScr zawarta w module Crt umożliwia wyczyszczenie ekranu. Wymaga dołączenia modułu Crt. Inne moduły to DOS, Graph, Overlay. Przykład: program Czysc_ekran; uses Crt, DOS ; Begin Clrscr; End.

39 Podejmowanie decyzji w programie W Pascalu są 2 stałe logiczne: true i false. Na nich wykonuje się operacje logiczne: Operacje logiczne : not – zaprzeczenie nie and – logiczne i or – logiczne lub W wyrażeniach logicznych stosuje się też operatory relacji: =; <>; ; =

40 Operatory relacyjne Do ustalania warunków przydają się także inne operatory, tzw. Operatory relacyjne = równy większy = większy lub równy in jest elementem

41 Instrukcja warunkowa IF... THEN... [ELSE...] Pozwala na wykonanie lub zaniechanie wykonania pewnych czynności, w zależności od konkretnego warunku logicznego. Instrukcja ma następującą składnię: If warunek Then instrukcja If warunek Then instrukcja_1 else instrukcja_2 Instrukcja ta sprawdza czy jest spełniony warunek postawiony po "IF", jeżeli tak to wykonywana jest instrukcja po słowie "THEN". Można jeszcze po THEN " użyć słowa ELSE oznaczającego "w przeciwnym wypadku",

42 Przykłady programów z IF Program If1; {prog 1} Var a: integer; Begin write(Podaj liczbe calkowita ; ReadLn(A); IF A<0 Then Halt End. Program if2; {prog 2} Var x: real; Begin readln(x); IF x< 0 then writeln('x ujemne') ELSE writeln('x nie jest ujemne'); End. Program Znak_liczby; {prog 3} var x:REAL; Begin Write ('Podaj liczbę do przebadania: x='); Readln (x); IF x>0 THEN Writeln ('Podana liczba jest większa od zera') ELSE IF x<0 THEN Writeln (Podana liczba jest mniejsza od zera') {nie ma ;} ELSE Writeln (Podana liczba jest równa zero'); End.

43 Program z IF ELSE Najpierw sprawdza czy warunek jest spełniony (ma wartość true) i jeśli tak, to wykonywana jest dana instrukcja. Gdy warunek nie jest spełniony to albo nic się nie dzieje (przypadek pierwszy), albo wykonywana jest instrukcja umiejscowiona za słowem kluczowym else (tak jak w drugim przypadku). program dzien; var a: integer; begin write ('Ile miałeś dzisiaj lekcji?'); readln (a); if a>6 then write ('Miałeś ciężki dzień.') { nie ma średnika!} else write ('To nie dużo.'); readln end.

44 Operatory logiczne: and, or, not Mogą one przyjmować wartości true lub false Za ich pomocą możemy skonkretyzować nasz warunek. Np. if warunek1 and warunek2 then instrukcja; Operator and (koniunkcja) sprawia, że instrukcja zostanie wykonana tylko w przypadku gdy spełnione są oba warunki. Gdybyśmy zastąpili go operatorem or (alternatywa), to wystarczyłby tylko jeden spełniony. Drugi przypadek if not warunek then instrukcja; W tym przypadku instrukcja będzie wykonana jeśli warunek nie jest spełniony (ma wartość false). Do tego właśnie służy operator not (czyli negacja).

45 Przykład - rozwiązanie równania kwadratowego program rown_kwadr; uses crt; var a,b,c :real; {wspolcz} delta :real; {delta} begin clrscr; {procedura czyszczaca ekran} writeln ('Program oblicza pierwiastki rownania kwadratowego.'); writeln ('Podaj wspolczynniki:'); write ('a= '); readln (a); write ('b= '); readln (b); write ('c= '); readln (c); delta:=b*b-4*a*c; if a<>0 then begin if delta 0 then begin writeln ('x1= ',(-b+sqrt(delta))/(2*a):4:2); write ('x2= ',(-b-sqrt(delta))/(2*a):4:2) end; end; if (a=0) and (b=0) then write ('Rownanie ma nieskonczenie wiele rozwiazan.'); if (a=0) and (b<>0) then begin writeln ('R˘wnanie o podaneych wspolczynnikach jest liniowe.'); write ('jego pierwiastek jest rowny: ',-c/b:4:2) end; readln end.

46 CASE - instrukcja wyboru Instrukcja CASE jest wykorzystywana kiedy zachodzi konieczność podjęcia kilku decyzji, gdy wykonanie różnych części programu jest uzależnione od stanu pewnej zmiennej. Podstawą podjęcia decyzji jest wyrażenie typu całkowitego, znakowego lub logicznego Instrukcja CASE ma postać: case wyrażenie of wartosc_1: Instrukcja_1; wartosc_n: Instrukcja_n; else Instarukcja_awaryjna; end;

47 CASE – przykład programu Program Miesiac; var miesiac:INTEGER; {numer miesiąca w roku} Begin Write ('Podaj numer miesiąca w roku: '); Readln (miesiac); CASE miesiac OF 1: Writeln ('Styczeń'); 2: Writeln ('Luty'); 3: Writeln ('Marzec'); 4: Writeln ('Kwiecień'); 5: Writeln ('Maj'); 6: Writeln ('Czerwiec'); 7: Writeln ('Lipiec'); 8: Writeln ('Sierpień'); 9: Writeln ('Wrzesień'); 10: Writeln ('Październik'); 11: Writeln ('Listopad'); 12: Writeln ('Grudzień') ELSE Writeln ('Numer nie poprawny') End; {case} End. {programu}

48 Instrukcje iteracyjne Organizacja obliczeń cyklicznych Instrukcje iteracyjne służą do wielokrotnego wykonywania pewnych sekwencji instrukcji i zazwyczaj są one nazywane po prostu pętlami. Pętla while Pętla repeat... until Pętla for

49 Instrukcja while Instrukcja ma postać: while warunek do instrukcja; Powoduje wykonywanie instrukcji tak długo, dopóki spełniony jest warunek Warunek jest najczęściej dowolnym wyrażeniem porównania, które powinno w wyniku dać wartość logiczną (true lub false). Można posłużyć się tutaj operatorami relacyjnymi: =, <>,, =, in Instrukcja wykonywana jest tak długo, dopóki warunek ma wartość true.

50 Przykład programu z WHILE Program Suma6; {Oblicza sumę 6 podanych liczb} var I: Integer; Suma: Real; X: Real; Begin I:=1; {Nadanie wartości początkowej I - licznik} Suma:=0; {Nadanie wartości początkowej Suma} WHILE I<=6 DO Begin {while} Write ('Podaj liczbę X='); Readln(x); Suma:=Suma+X; Writeln ('aktualna suma=',Suma:6:2); I:=I+1; end; {while} Writeln ('Suma koncowa suma=',Suma:6:2); End. {program}

51 Instrukcja repeat repeat instr_1; {....} instr_n; until warunek; Wykonywane są wszystkie instrukcje między instrukcjami while i repeat. Ciąg instrukcji wykonywany jest co najmniej 1 raz, instrukcje nie muszą być zgrupowane przy pomocy begin end. W instrukcji while jeśli warunek jest true to wykonywanie instrukcji jest kontynuowane, a dla repeat przeciwnie - wykonywanie się kończy gdy warunek jest true.

52 Funkcja keypressed Warto zwrócić uwagę na funkcję keypressed, która zwraca wartość true kiedy wciśniemy dowolny klawisz... until keypressed;... Ta pętla zakończy się po wciśnięciu dowolnego klawisza, natomiast jeśli chcemy aby pętla wykonywała się w nieskończoność, wystarczy wpisać: until false.

53 Program z UNTIL Program ilosc; {wyznacza długość ciągu liczb zakończonych 0} uses CRT; var dlug, liczba: integer; begin writeln('Podaj liczby'); dlug:=0; repeat readln(liczba); dlug:=dlug+1; until liczba=0; writeln('Dlug. ciagu wynosi ', dlug:5); readln; end.

54 Instrukcja for Instrukcja jest wygodna, gdy z góry można określić liczbę powtórzeń. Postać instrukcji: for zmienna:=wart_pocz to wart_konc do instrukcja; lub for zmienna:=wart_pocz downto wart_konc do instrukcja; Zmienna nazywana jest zmienną sterującą instrukcji for. Musi być typu całkowitego, znakowego lub logicznego. Instrukcja po słowie kluczowym do wykonywana jest tyle razy ile wartości znajduje się w zakresie wart_pocz.. wart_konc. W instrukcji for.. downto zmienna sterująca zmniejsza się kolejno o 1, zamiast zwiększać jak w instrukcji for.. to

55 Programy z FOR Program wydr_5liczb_rosn; {Program 1- drukuje 5 liczb od 1 do 5} var i: integer; begin for i:=1 to 5 do writeln(i); end. Program wydr_5liczb_malej; {Program 2 - drukuje 5 liczb od 5 do 1} var i: integer; begin for i:=5 downto 1 do writeln(i); end.


Pobierz ppt "Język PASCAL – podstawy Turbo Pascal: 1) środowisko, struktura programu, stałe, zmienne, typy danych 2) Wyrażenia, instrukcje, deklaracje modułów, 3) instrukcje."

Podobne prezentacje


Reklamy Google