pascal teoria.doc

(36 KB) Pobierz
Instrukcja Warunkowa IF

Instrukcja Warunkowa IF ... THEN ... [ELSE ...]

Instrukcja ta sprawdza czy jest spełniony warunek postawiony po "IF", jeżeli tak to wykonywana jest instrukcja po słowie "THEN". Można jeszcze po THEN użyć słowa ELSE oznaczającego "w przeciwnym wypadku", umieszczona po ELSE instrukcja zostanie wykonana dopiero wtedy, gry warunek postawiony po "IF" NIE ZOSTAŁ SPEŁNIONY np:

Var

x:Byte;

 

Begin

  Write('Podaj liczbę z zakresu 0..255 : ');

  ReadLn(x);

 

IF x>100 THEN WriteLn('Podałeś liczbę większą niż 100') ELSE WriteLn('Podałeś liczbę równą lub mniejszą od 100');  

End.

 

 

Instrukcja IF sprawdza czy wpisana liczba jest większa od 100 jeżeli tak to wykonuje instrukcję po THEN i wypisuje tekst, jeżeli nie znaczy to, że liczba jest mniejsza lub RÓWNA 100! i wtedy pomija instrukcję po THEN ale widzi że jest jeszcze instrukcja ELSE i wykonuje wtedy to, co po niej się znajduje.

Gdyby liczba była większa niż 100, nie wykonałby nic co znajdowałoby się po instrukcji ELSE !

 

Pętla REPEAT ... UNTIL ...

w pewnym sensie instrukcja grupująca i jest traktowana jak jedna instrukcja (podobnie jak Begin...End). Pętla zaczyna się słowem kluczowym REPEAT dalej znajdują się linie do wykonania a zakończona jest słowem UNTIL i warunkiem, który jeżeli zostanie spełniony przerywa pętlę i kontynuuje program, jeżeli nie, powraca na początek (po REPEAT) i wykonuje instrukcje pomiędzy nimi po raz kolejny i znowu dochodzi do UNTIL, znowu sprawdza warunek itd. jest to pętla która zostanie CO NAJMNIEJ RAZ WYKONANA, gdyż warunek znajduje się dopiero na końcu

Przykład:

Uses CRT;

 

Var

licz:byte;

 

Begin

ClrScr;

REPEAT

   Write('Wpisz jakąś liczbę (0-wyjscie) : ');

   ReadLn(licz);

   WriteLn('Potega liczby ',licz,' to ',licz*licz);

   WriteLn;

UNTIL licz=0;

End.


 


 

 


Pętla FOR...TO...DO...

Składnia: FOR zmienna:= liczba1 TO liczba2 DO ...

Jest to taka pętelka która wykonuje się określoną ilość razy np.

Var

t:word;

 

BEGIN

  FOR t:=1 TO 15 DO WriteLn('petelka :)');

END.

Chodzi o to by program wyświetlił 15 razy tekst 'petelka :)' a kolejne kawałki to :

FOR                     - Licz

t:=                     - używając zmiennej t

1                       - od 1

TO                      - do

15                      - 15

DO                      - wykonując

WriteLn('petelka :)');  - wyświetl tekst

Komputer napotykając na takie coś przy kolejnych przejściach robi:
1. Jeżeli to 1 przejście to do zmiennej "t" wstawia liczbę 1, jeżeli kolejne to zwiększa zmienną "t" o 1
2. Wyświetla tekst
3. Sprawdza czy "t=15" jeżeli tak to przerywa pętle, jak nie wraca do 1.

 

DOWNTO

Licz od 23 W DÓŁ do 6 i wyświetlaj zawartość zmiennej

 

Var

t:word;

 

BEGIN

  FOR t:=23 DOWNTO 6 DO WriteLn( t );

END.

 

CASE

Case – pod warunkiem

Np.

 

case Znak of 

'a' : Procedural; 

'b' : Procedura2 

else 

Procedura3 

end;

 

Znak- a lub b

 

 

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