IF THEN ELSE |

|
Główna instrukcja strukturalna wyboru
PRZYKŁAD: |

IF x THEN a ELSE
b |
PROGRAM
wartosc_bezwzgledna; |
VAR a, b: INTEGER;
|
BEGIN |
WRITELN(‘ Podaj liczbę ‘);
READLN(a); |
IF
a >= 0 THEN b:=
a |
ELSE b:=-a;
|
WRITELN(‘Wartość bezwzględna
wynosi:‘,b); |
READLN;
|
END. |
|
Uzupełniająca instrukcja strukturalna. Jest ona
szczególnym przypadkiem instrukcji IF THEN ELSE. Gdy
warunek X zachodzi wykonana jest akcja A, natomiast, gdy nie
zachodzi, następuje zakończenie działania instrukcji bez
jakiejkolwiek akcji.
Porządkowanie zmiennej jej wartości
bezwzględnej:
IF A<0 THEN
A:=-A; |
IF x THEN
a |
|
WHILE DO |

|
Główna instrukcja strukturalna pętli
PRZYKŁAD: |
WHILE x DO
a |
PROGRAM suma_kolejnych_liczb; |
VAR n: INTEGER; |
suma: INTEGER; |
BEGIN |
WRITE('Podaj liczbę:
'); READLN(n); |
suma:=0; |
WHILE n>0 DO |
BEGIN |
suma:=suma + n; |
n:=n-2 |
END; |
WRITELN('Suma =
',suma); |
END. |
|
Uzupełniająca instrukcja wyboru. Jest ona
rozszerzeniem tego wyboru na większą liczbę akcji.
PRZYKŁAD: |
|
PROGRAM
rodzaj_liczby; |
VAR liczba:INTEGER; |
BEGIN |
WRITE('Podaj
liczbę: '); READLN(liczba); |
CASE
liczba OF |
0..9
:WRITELN('Jednocyfrowa'); |
10..99
:WRITELN('Dwucyfrowa'); |
250..300 :WRITELN('Spoza
wybranego przedziału'); |
END; |
END. |
|
REPEAT
UNTIL
|

|
Uzupełniająca strukturalna instrukcja pętli.
Jest podobna do instrukcji WHILE DO ale tu sprawdzenie
warunku następuje nie przed lecz po akcji (akcja A musi być
wykonana co najmniej raz).
PRZYKŁAD: |
REPEAT a UNTIL
x |
PROGRAM
_repeat; |
VAR liczba:
INTEGER; |
BEGIN |
REPEAT |
|
WRITELN('Podaj 0 by
skończyć'); |
|
WRITE('Podaj liczbę: ');
READLN(liczba); |
|
WRITELN('Odczytano liczbę:
',liczba); |
UNTIL liczba =
0 |
END. |
|
FOR DO |

|
Uzupełniająca strukturalna instrukcja pętli.
Instrukcję tę stosuje się wtedy, gdy z góry wiadomo, ile razy
ma wykonać się pętla. Zmiany te mogą odbywać się w
następującym kierunku: |

|
NARASTAJĄCYM
FOR I:=I_min TO I_max
DO |
MALEJĄCYM
FOR I:=I_max
DOWNTO I_min DO |
PRZYKŁAD: |
PROGRAM for_do; |
VAR i: INTEGER; |
BEGIN |
FOR i:=1
TO 3 DO |
WRITELN('********'); |
END. |
|
|