Programowanie w Turbo Pascal
Transkrypt
Programowanie w Turbo Pascal
Programowanie w Turbo Pascal Skróty: ALT + F9 – Kompilacja CTRL + F9 – Uruchomienie Struktura programu: Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) Begin - blok instrukcji (tu wykonujemy wszelkie działania) End. Nazwa – nie może zawierad cyfr na początku, polskich znaków a także musi byd inna od nazwy zmiennych użytych w programie jak i od słów kluczowych programu. Zmienna: Zmienna w programie nazywamy obiekt, którego wartości w trakcie działania programu mogą ulec zmianie. Zmienna posiada nazwę i typ wartości (Integer – liczby całkowite, Real –liczby rzeczywiste, String – ciąg znaków). Nazwa zmiennej może byd słowem, literą… (x, imie, z..) Deklaracja zmiennych: Deklaracja zwykle występuje po słowie VAR, deklarowad możemy jedna lub wiele typów danego typu. Np.: VAR X, b, k : integer; Stała: Stała w programie to obiekt który od samego początku program jest znany I nie ulega zmianie. Stałą zwykle deklarujemy za pomocą słowa CONST następie piszemy nazwę zmiennej i przypisujemy jej wartośd. Np.: CONST X:=7,45; Instrukcja przypisania: Instrukcja przypisania umożliwia nam w trakcie działania programu pewnej zmiennej przypisad jej wartośd. Symbolem przypisania jest := (dwukropek równa się), przypisania używamy po słowie Begin. Np.: x:= 7; Zatrzymanie okienka: Aby zatrzymad okienko po wykonaniu programu możemy użyd polecenia READKEY, które wstrzymuje program czekając na naciśnięcie dowolnego klawisza. Aby użyd tego polecenia po Program.. musimy wpisad USES CRT; Np.: Program nazwa; USES Crt; Begin READKEY; End. Wyprowadzanie danych i komunikatów Do wyprowadzania komunikatów i danych na ekran służy polecenie WRITE () lub WRITELN(). Polecenie WRITE ( ‘ dom ’ ) – wyświetla na ekranie ciąg znaków zawarty między apostrofami. Polecenie WRITELN ( ‘ dom ’ ) – wyświetla na ekranie ciąg znaków zawarty między apostrofami, następnie przenosi kursor do kolejnej linii Polecenie WRITE ( x ) – gdy nie ma apostrofów polecenie to wyświetla wartośd ukrytą pod zmienną znajdującą się w nawiasie. Wczytywanie danych Polecenie to służy do wczytywania pod konkretne zmienne, wartości podanych z klawiatury. READ podobnie jak procedura wprowadzania też posiada dwie wersje: READ i READL zachowujące się dokładnie jak WRITEL iI WRITE Polecenie READ (a) – wczyta z klawiatury określone wartości i przechowa je w zmiennej a Instrukcja warunkowa IF Budowa instrukcji: IF warunek THEN akcja; Działanie funkcji: Jeśli spełniony jest warunek wtedy wykonuje akcję (akcja może byd pojedynczą instrukcją lub instrukcją złożoną). Np.: IF x>0 THEN writeln (‘zmienna x jest większa od 0’); Instrukcja warunkowa IF z alternatywą Budowa instrukcji: IF warunek THEN akcja1 ELSE akcja2; Działanie funkcji: Jeśli spełniony jest warunek wtedy wykonuje akcję (akcja może byd pojedynczą instrukcją lub instrukcją złożoną) jeśli warunek zaś nie jest prawdziwy wtedy wykona się akcja2 Np.: IF x>0 THEN writeln (‘zmienna x jest większa od 0’) ELSE writeln (‘ x jest mniejsza od 0’); Uwaga: Nie ma średnika przed ELSE!!! Instrukcja złożona: Instrukcja złożona wykorzystuje kilka akcji na raz, przez co wymaga użycia Begin end; Np.: Begin IF liczba <>0 THEN Begin X:=2/liczba; Writeln(x); Writeln(liczba); End; <- end z średnikiem Generator liczb pseudolosowych: Generator liczb pseudolosowych działa podobnie do maszyny totolotka, a mianowicie losuje on liczę z zakresu wybranego przez nas, następnie zwraca ją do puli liczb z których losował, co w praktyce oznacza że za drugim razem mogę wylosowad tą samą liczbę. Aby użyd generatora pseudolosowego należy po słowie Begin wpisad słowo kluczowe Randomize, natomiast by przypisad zmiennej liczbę wylosowaną przez komputer należy użyd random(zakres). Np.: x:=random(10); Pętla iteracyjna REPEAT: Budowa funkcji: REPEAT akcja UNTIL warunek; Działanie funkcji: Instrukcje zawarte między słowami REPEAT a UNTIL są wykonywane jeśli warunek jest fałszywy w przeciwnym wypadku wykonywanie instrukcji jest kooczone. +Instrukcja wykona się zawsze raz! + warunek jest na koocu (pętla najpierw się wykona potem sprawdzi czy może się wykonywad) +warunek musi byd FAŁSZYWY by pętla działała Np.: i:=1; REPEAT writeln (‘helooo’); i:=i+1; UNTIL i>10; Pętla iteracyjna WHILE: Budowa funkcji: WHILE warunek DO akcja; Działanie funkcji: Dopóki wartośd warunku jest prawdą wykonywane są instrukcje opisane w akcji. Akcja może byd instrukcją prostą lub złożoną. +Instrukcja może nigdy się nie wykonad! + warunek jest na początku (pętla najpierw sprawdza czy może się wykonad, potem się wykona) +warunek musi byd PRAWDZIWY by pętla działała Np.: i:=1; WHILE i<10 DO begin Writeln (‘helooo’); i:=i+1; end; Pętla iteracyjna FOR: Budowa funkcji: FOR zm:=wartość_początkowa TO wartość_kooczowa DO akcja; Działanie funkcji: Po słowie kluczowym for występuje wartośd początkowa która musi byd tego samego typu co wartośd koocowa. Akcja umieszczona po słowie DO wykona się tyle razy ile liczb znajduje się pomiędzy wartością koocową a początkową. Np.: FOR i:=1 TO 10 DO writeln (i); DOWNTO – odliczanie zmiennej odbywa się w dół. Np.: FOR i:=1 DOWNTO 10 DO writeln (i); Pętla iteracyjna CASE: Budowa funkcji: FOR zm:=wartość_początkowa TO wartość_kooczowa DO akcja; Działanie funkcji: Po słowie kluczowym for występuje wartośd początkowa która musi byd tego samego typu co wartośd koocowa. Akcja umieszczona po słowie DO wykona się tyle razy ile liczb znajduje się pomiędzy wartością koocową a początkową. Np.: FOR i:=1 TO 10 DO writeln (i); DOWNTO – odliczanie zmiennej odbywa się w dół. Np.: FOR i:=1 DOWNTO 10 DO writeln (i); PROCEDURY I FUNKCJE Procedury i funkcje to pewnego rodzaju podprogramy wyodrębnione z fragmentu programu zapisane pod pewną nazwą. Różnica między procedurą a funkcją polega na sposobie przekazywania wartości. Procedura – ma za zadanie wykonad pewną sekwencję czynności np. sprawdzenie, porównanie pewnych wartości. Funkcja – ma za zadanie obliczanie wartości określonego typu. Zalety stosowania procedur i funkcji: 1. Podział problemu na prostsze zadania, z których każde rozwiązywane jest przed osobną procedurę lub funkcję, dzięki czemu każda częśd zadania może byd testowana oddzielnie. 2. Zwiększenie czytelności programu 3. Ułatwienie modyfikacji procedur i funkcji 4. Zmniejszenie ilości błędów 5. Unikanie powtórzeo 6. Możliwośd wprowadzenie zmiennych globalnych i lokalnych Uwaga: 1. Procedurę i funkcję zawsze definiujemy przy deklaracji zmiennych (tzn. po VAR a przed BEGIN w programie głównym). 2. Wywołujemy funkcję i procedurę tylko w programie głównym. 3. Procedurę wywołujemy poprzez jej nazwę. Funkcję zaś wywołujemy poprzez wyświetlenie jej nazwy za pomocą writeln(…). 4. Wynik działania funkcji musi byd przypisany do jej nazwy (tzn. nazwa_funkcji := wynik;) Budowa Procedury: Procedure nazwa (lista_parametrów); { deklaracja zmiennych lokalnych } begin {treśd procedury – ciało } end; Budowa Funkcje: Function nazwa (lista_parametrów:typ_parametrów):typ_wyniku; { deklaracja zmiennych lokalnych } begin {treśd funkcji – ciało } end; Porównanie procedury i funkcji: Procedura Funkcja Budowa Procedure suma (a,b:integer); begin writeln(‘suma liczb’, a+b); end; Function suma (a,b:integer):integer; begin suma := a+b; end; Wywołanie suma(a,b); Writeln(suma(a,b));