pascal RODZ 7-9.doc

(227 KB) Pobierz
podstawowe elementy języka i struktura programu

7.      PODSTAWOWE ELEMENTY PROGRAMOWANIA W TURBO PASCALU

 

7.1. Typy, stałe i zmienne

 

Stałe i zmienne służą w programie do reprezentowania danych.

 

Stała (literał) jest nazwą pewnej wartości, która w całym programie nie ulega zmianie. Definicja stałej występuje w początkowej części bloku, zwanej częścią opisową. np. zapis: const a=10; oznacza, że zdefiniowano stałą a, która w całym programie ma wartość 10.

 

Zmienna może reprezentować różne wartości. Zbiór wartości, jakie może przyjąć dana zmienna nazywa się jej typem. W języku Turbo Pascal istnieje wiele typów predefiniowanych, tj. typów zdefiniowanych
w tym języku, których użycie wymaga jedynie podanie odpowiedniego identyfikatora. Np. identyfikator Integer określa typ całkowity, reprezentujący wartości całkowite.

 

Nazwa każdej zmiennej występującej w programie powinna być zadeklarowana w części opisowej bloku, np. zapis:

var x: Integer;

deklaruje zmienną x jako zmienną typu Integer. Zmiennej nie jest nadawana żadna wartość, a jedynie zapis ten określa, że zmienna x może przyjmować pewne wartości całkowite.

 

7.2. Instrukcje

 

W części wykonawczej bloku, którą ograniczają słowa begin i end, znajdują się instrukcje, które opisują czynności wykonywane w pro­gramie. Czynności te dotyczą zwykle danych opisanych w części opisowej bloku, choć mo­gą też wystąpić czynności nie związane z żadnymi danymi (np. pewne czynności organizacyjne). Poszczególne instrukcje programu oddziela się średnikami.

 

Jedną z podstawowych instrukcji języka Turbo Pascal jest instrukcja przypisania, która nadaje zmiennej określoną wartość. Na przykład zapis:             

x:=10;

powoduje, że zmiennej x zostanie przypisana (nadana) wartość 10. Znak := jest symbolem przypisania.
Z postaci samej instrukcji przypisania nie zawsze można wywnioskować, jaka wartość zostaje nadana określonej zmiennej. Na przykład z samej instrukcji

x:=a;

nie możemy wnioskować o wartości zmiennej x - konieczne są dodatkowe informacje o identyfikatorze a.

 

W instrukcjach przypisania i innych instrukcjach programu mogą występować wyraże­nia. Mówiąc ogólnie, wyrażenie jest to sensowna kombinacja operatorów i operandów (argumentów). Przykładami operatorów są: + (operator dodawania), - (operator odejmowania), * (operator mnożenia), / (opera­tor dzielenia), <, > i = (operatory porównań). Operandami wyrażeń mogą być m. in. liczby, stałe i zmienne.

 

Na przykład po prawej instrukcji przypisania

x:=a+10;

występuje wyrażenie, które dodaje liczbę 10 do stałej a (zakładamy tu, że identyfikator a jest stałą). Jeśli a oznacza stałą równą 10, to w wyniku wykonania powyższej instrukcji zmiennej x zostanie przypisana wartość 20.

 

W programie mogą też wystąpić instrukcje, które uzależniają wykonanie pewnych czyn­ności od spełnienia określonego warunku. Tego typu instrukcje nazywamy instrukcjami warunkowymi. Przykładem może być instrukcja

If x<2

  then z:=x+a-10;

która uzależnia nadanie zmiennej z wartości wyrażenia występującego z prawej strony symbolu przypisania od spełnienia przez zmienną x warunku, że jej aktualna wartość jest mniejsza od
2 (zakładamy tu, że identyfikator x oznacza zmienną).

 

Jeśli w zależności od spełnienia pewnego warunku należy wykonać kilka instrukcji, to instrukcje te można połączyć w jedną instrukcję za pomocą tzw. instrukcji złożonej. In­strukcja złożona rozpoczyna się od słowa begin, po którym występuje ciąg instrukcji i koń­czy słowem end;. Na przykład zamiast pisać

if x<2

  then z:=x+a-10;

if x<2

  then y:=3*x;

if x<2

  then x:=3*x+2;

 

można po słowie then użyć instrukcji złożonej, w której będą występować trzy instrukcje:

 

If x<2

then begin

z:=x+a-10;

y:=3*x;

x:=3*x+2; {tu można opuścić średnik bo następnym słowem}

                      {jest end, które kończy instrukcję złożoną}

                                                   end;

 

 

7.3. Procedury, funkcje i moduły

 

Procedury i funkcje umożliwiają podzielenie części wykonawczej programu na fragmenty zapisane
w wyodrębniony sposób w części opisowej bloku. Odwołanie do nich następuje przez podanie nazw
z ewentualnymi listami argumentów, które określają wielkości, dla których procedury i funkcje mają być wyko­nane, a w przypadku procedury przekazują także wyniki.

Różnica pomiędzy procedurą i funkcją polega na tym, że zadaniem procedury jest zwykle obliczenie jednej lub kilku wartości, które są przypisywane odpowiednim zmiennym znajdującym się na liście argumentów. Zadaniem funkcji jest obliczenie jednej wartości, która podstawiana jest pod jej nazwę. Spowodowanie wykonania procedury lub funkcji w części wykonawczej bloku na­stępuje za pomocą wywołania (odwołania). Wywołanie funkcji występuje w wyrażeniu, podczas gdy procedurę wywołuje się za pomocą oddzielnej instrukcji, zwanej instrukcją wywołania procedury.

 

Opis (definicja) procedury lub funkcji, który podaje się w części opisowej, rozpoczy­na się od nagłówka, po którym występuje blok zakończony średnikiem. Nagłówek proce­dury różni się od nagłówka funkcji. W pierwszym przypadku rozpoczyna się on od słowa procedure, a w drugim - od słowa function. Ponadto w nagłówku funkcji określa się jej typ (dokładniej: typ wartości funkcji).

 

Przykładem definicji procedury może być następujący tekst:

 

procedure obliczenia (a, b : Real;

                  var s, r, i : Real);

begin

   s:=a+b;

   r:=a-b;

   i:=a*b

end.

 

Nazwą tej procedury jest obliczenia. Wielkościami, które reprezentują dane wejściowe są a i b, opisane jako wielkości typu Real. Wynikiem wykonania procedury są trzy wielkości: suma a+b, różnica a—b
i iloczyn a*b, które przekazuje się na zewnątrz procedury po­przez trzy zmienne s, r oraz i. Wielkości wejściowe (w przypadku naszej procedury: a i b) oraz wyjściowe (s, r, i) nazywa się parametrami (parametrami formalnymi) procedury.

 

Przypuśćmy, że w programie pod zmiennymi x i y są pamiętane dwie wartości rzeczy­wiste. Jeśli w części opisowej bloku programu podano definicję procedury obliczenia, to w celu obliczenia sumy, różnicy
i iloczynu tych wartości wystarczy wywołać wspomnianą procedurę dla odpowiednich argumentów (parametrów aktualnych). W wywołaniu procedu­ry w miejscu parametru a powinien wystąpić argument x, w miejscu parametru b - argu­ment y, a w miejscu parametrów s, r oraz i - zmienne, pod którymi chcielibyśmy pamiętać wyniki, np. suma, roznica i iloczyn. Użyte przez nas argumenty (zmienne) powinny być opisane w części opisowej bloku za pomocą konstrukcji:

var x, y, suma, roznica, iloczyn : Real;

Wywołanie procedury dla podanych argumentów będzie miało postać:

obliczenia (x, y, suma, roznica, iloczyn);

Jest to oddzielna instrukcja programu - instrukcja wywołania procedury.

 

 

Jak już wspomnieliśmy, funkcja służy do obliczenia jednej wartości. Zamiast podanej wyżej procedury obliczenia moglibyśmy zdefiniować trzy funkcje:

 

function suma (a, b : Real) ...

Zgłoś jeśli naruszono regulamin