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));