petle.doc

(32 KB) Pobierz
Pamięć cache (pamięć podręczna procesora, systemu, innych urządzeń) to rodzaj pamięci tymczasowej pośredniczącej w operacjach pomiędzy innymi, zazwyczaj wolniejszymi urządzeniami lub rodzajami pamięci przyspieszająca dostęp wolniejszej pamięci lub innego

Pętle, pętle wielokrotne

 

W Pascalu mamy kilka rodzajów pętli. Zacznijmy alfabetycznie.

Pętla FOR

 

Są dwie odmiany pętla idąca w górę i w dół.

Składnie odpowiednio wyglądają:

 

FOR licznik:=wartosc1 TO wartosc2 DO instrukcje;

{ dla wartosc1 < wartosc2, pętla rosnąca }

FOR licznik:=wartosc1 DOWNTO wartosc2 DO instrukcje;

{ dla wartosc1 > wartosc2, pętla malejąca }

 

Uwagi: licznik jest typu całkowitego, zmienna licznik zmienia się o 1, nie można wykonywać skoków.

 

I przykład:

 

program trojkat;

var a,b: integer;

begin

   for b:= 1 to 5

      do

      begin {zaczyna rysowac trojkat}

          write('*':15-b);

          for a:=1 to 2*b-2

          do

          write('*');

          writeln;

      end;

readln; {czeka na nacisniecie klawisza enter, pozniej konczy program}

end.

Pętla REPEAT UNTIL

 

Pętla jest tak długo wykonywana dopóki warunek wyjścia nie jest prawdziwy.

 

REPEAT

        wypisz(tekst,ile);

UNTILL keypressed;

 

Jeśli ktoś naciśnie klawisz, warunek będzie prawdziwy i iteracja zostanie przerwana.

Pętla WHILE

 

While różni się tylko tym od Repeat, że fałsz jest warunkiem wyjścia z pętli. Składnia wygląda tak:

 

WHILE warunek DO instrukcje;

 

Przykłady użycia while:

 

PROGRAM Suma;

CONST   N = 1000 ;

VAR     K,SUM,X : Integer ;

BEGIN

Writeln('Wykonanie programu kończy się po wprowadzeniu');

Writeln('1000 liczb. To nie jest zabawa ani gra.') ;

K   := 1 ;

SUM := 0 ;

WHILE K <= N

DO BEGIN  {Początek treści pętli}

Write('Wprowadź liczbę typu Integer:') ;

Read(X)        ;

Writeln        ;

SUM := SUM + X ;

Writeln('Suma częściowa;',SUM:6) ;

K   := K + 1

END ;  {Koniec treści pętli}

Writeln ;

Writeln('Suma N=',N,' liczb wynosi:',SUM:6);

END.

Pętle wielokrotne (zagnieżdżone)

 

Pierwszy programik spowoduje wyświetlenie trzykrotnie ciągu liter od 'a' do 'z', każdy ciąg w nowej linii.

 

uses crt;

 

var k: integer;

    litera: char;

 

begin

clrscr;

for k := 1 to 3 do { petla zewnetrzna }

        begin   

                for litera := 'a' to 'z' { petla wewnetrzna }

                        do  write(litera:2);

        writeln;

end;

readln;

end.

 

Przykład pętli wielokrotnej umieściłem także przy okazji omawiania pętli FOR - program rysujący piramidę (trójkąt).

...
Zgłoś jeśli naruszono regulamin