1 / 55

Cele nauczania : Podstawowe zasady programowania .

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 .

cael
Download Presentation

Cele nauczania : Podstawowe zasady programowania .

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Język PASCAL – podstawyTurbo Pascal:1) środowisko, struktura programu, stałe, zmienne, typy danych2) 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 Pascala • Uruchomienie systemu Turbo PascalEkran TurboPascala • Wydawanie poleceń, skróty klawiszowePodstawowe informacje o języku Pascal • Objaśnienie PojęćNajmniejszy program w Pascalu • Budowa programuUruchomienie programuStruktura programu • Przykład prostego programu na obliczenie pola koła • Zasady podstawowe programowaniaStałe, zmienne • Definicja Stałych. Deklaracja zmiennych. PrzykładyBiblioteki, procedura, funkcja • Program składa się z następujących sekcji :Typy danych – prosteTypy strukturalne • Typy całkowite czyli zbiory, których elementami są wyłącz... • Typy rzeczywisteTypy BOOLEAN, CHAR, STRING • WyrażeniaInstrukcja przypisaniaInstrukcje wejścia/wyjścia • Przykład programu z instrukcjami we/wyProgram na pole i obwód koła • Instrukcja złożona – grupującaInstrukcja grupująca – przykład • Funkcje i procedury standardowe – deklaracja modułów • Podejmowanie decyzji w programieOperatory relacyjne • Instrukcja warunkowa IF ... THEN ... [ELSE ...]Operatory  logiczne: and, or,  not • Przykład - rozwiązanie równania kwadratowego CASE - instrukcja wyboru • Instrukcje iteracyjne Organizacja obliczeń cyklicznychInstrukcja whileInstrukcja repeat • Instrukcja forProgramy z FOR

  3. Krótka historia języka programowania Pascal • Język programowaniaPascal powstał w 1971 r. Jego autorem jest NiklausWirth. 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 (RapidApplication 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 poleceniaturbo • 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 wyraziemenu, 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, po 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. 15.67Mogą 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 jednej 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żonesamo 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 3.1415... • 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 postawionakropka, 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 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 2} PROGRAM jestem_drugi; USES CRT; BEGIN WRITELN(‘Witaj, nacisnij Enter’); READLN END. {program drugi wersja 1} PROGRAM jestem_drugi; USES CRT; BEGIN WRITELN(‘Witaj. Nacisnij cos’); REPEAT UNTIL KEYPRESSED; 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) • Deklaracjesł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łedefiniuje 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. • Zmiennedeklaruje 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; Constabc=500; i3='tu jest tekst';sprawdz=TRUE; Varabc1: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); • Rzeczywistereal, 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. varwymiary=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ówtypetom=record autor: string[30]; tytul: string[40]; nr_kat: 1..5000; end;varksiazka: tom; data_ur: data; typedata_rm = record mc: 1..12; rok: 1900..2020; end; • Plikowe.Ten typ jest przydatny przy jakichkolwiek operacjach na plikachvar nazwapliku: file of typ_elementów_pliku; np. type plik = file of integer ; varf,g,h: plik; var nazwaplilu: file; var nazwapliku: text; np.VARf : TEXT; {zmienna pikowa} Zbiorowe. Zbiór w Pascalu to grupa elementów tego samego typu. Przykłady: typestrony_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łkowiteczyli zbiory, których elementami są wyłącznie liczby całkowite.

  27. Typy rzeczywiste

  28. Typy rzeczywiste • 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..2.63×10-1, 19-20 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 0-255 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. 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ą nawiasyi priorytet operatorów. • Najważniejsze operatory: Operator Działanie Przykład Wynik * Mnożenie a:=2*5; {10} / dzielenie a:=a/10.0; {1.0} + dodawanie a:=a+14; {15} - Odejmowanie a:=a-5; {10} div dzielenie całkowite b:=10 div 3; {wynik 3.3333} mod reszta z dzielenia c:=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ę instrukcjereadoraz 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. Readlnbez 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; usescrt; 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; 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 nawiasami 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_instrukcji_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;Varstrona:byte;Begin Write('1-strona tytulowa 0-koniec : '); ReadLn(strona); IF strona=1 THENBegin {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 procedurystandardowe – 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, Haltzatrzymuje pracę programu. Procedura ClrScr zawarta w module Crt umożliwia wyczyszczenie ekranu. Wymaga dołączenia modułuCrt.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<        mniejszy>        większy<=     mniejszy lub równy   >=    większy lub równyin        jest elementem

  41. Instrukcja warunkowaIF ... THEN ... [ELSE ...] • Pozwala nawykonanie lub zaniechanie wykonania pewnych czynności, w zależności od konkretnego warunku logicznego. • Instrukcja ma następującą składnię: If warunek Then instrukcjaIf 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;beginwrite ('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.'); readlnend.

  44. Operatory  logiczne: and, or,  not • Mogą one przyjmować wartościtrue lub falseZa 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 przypadekif 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 write ('Delta ujemna - brak rozwiazan.');    if delta=0 then write ('x= ',(-b+sqrt(delta))/(2*a):4:2);    { sqrt(x) - pierwiastek kwadratowy z liczby x}    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;  readlnend.

  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 • Warunekjest 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 operatoramirelacyjnymi: =, <>, <, >, <=, >=, in • Instrukcjawykonywana 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}

More Related