Rygiel Paweł, ZSEiO

INSTRUKCJE

(mini kurs Pascala)


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.

IF THEN

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.

CASE OF

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.