Pętle.



Pętle służą do organizowania cykli programowych, tj. wielokrotnego wykonywania pewnych sekwencji instrukcji.

W Pascalu istnieją trzy rodzaje pętli :



Pętlę FOR stosujemy gdy z góry znamy liczbę powtórzeń w cyklu, jest ona kontrolowana tzw. licznikiem. Jej postacie to :
FOR Zmienna:=Wartość_początkowa TO Wartość_końcowa DO Intrukcja
lub
FOR Zmienna:=Wartość_początkowa DOWNTO Wartość_końcowa DO Intrukcja
Wartość początkowa i wartość końcowa mogą być dowlnymi wyurażeniami typu porządkowego. W zależności od wymaganego kroku w instrukcji pętli stosuje się słowo kluczowe TO (pętla "w górę", krok 1) lub DOWNTO (pętla "w dół", krok -1).

Przykład :


PROGRAM Petla1;

USES Crt;

VAR i, n : Integer;
    Zn   : Char;
	
BEGIN
  ClrScr;
  Write('Podaj liczbe powtorzen petli : ');
  ReadLn(n);
  Write('Petla "w gore" :');
  FOR i:=1 TO n DO Write(i:3);
  WriteLn;
  Write('Petla "w dol"  :');
  FOR i:=n DOWNTO 1 DO Write(i:3);
  Zn:=ReadKey;
END.




PętlaWHILE jest pętlą warunkową ze sprawdzeniem warunku na początku i ma postać :
WHILE Warunek DO Intrukcja
Spełnienie warunku powoduje wykonanie pętli.

Przykład :


PROGRAM Petla2;

USES Crt;

VAR i, x, y, Nwp : Integer;
    Zn           : Char;

BEGIN
  ClrScr;
  Write('Podaj 1-sza liczbe : '); 
  ReadLn(x);
  Write('Podaj 2-ga liczbe  : '); 
  ReadLn(y);
  i:=1;
  WHILE (x>i) Or (y>i) DO
    Begin
      If (x Mod i=0) And (y Mod i=0) Then Nwp:=i;
      i:=i+1;
    End;
  Write('Najwiekszy wspolny podzielnik = ', Nwp);
  Zn:=ReadKey;
END.




PętlaREPEAT jest także pętlą warunkową jednak sprawdzenie warunku odbywa się na końcu :
REPEAT
   Instrukcja
UNTIL Warunek
Spełnienie warunku powoduje przerwanie pętli.

Przykład :


PROGRAM Petla3;

USES Crt;

VAR n, x : Integer;
    y    : Real;
    Zn   : Char;

BEGIN
  ClrScr;
  Write('Podaj X : ');
  ReadLn(x);
  y:=1;
  n:=1;
  REPEAT
    Write('N = ', n:3);
    y:=x/n;
    WriteLn('  X/N = ', y:7:5);
    n:=n+1;
  UNTIL y<0.2;
  Zn:=ReadKey;
END.