PP W7, Podstawy programowania


7. INSTRUKCJE WARUNKOWE

7.1 Wyrażenia relacyjne i logiczne

Przykłady wyrażeń relacyjnych:

A+1>B {Aktualna wartość A+1 jest od akt. wartości B.}

X=0 {Aktualna wartość X=0.}

X mod 2 = 0 {Reszta z dzielenia X przez 2 jest zerowa.}

K in [1..6] { K jest elementem zbioru liczb [1 .. 6].}

Uwaga:

Wyrażenia relacyjne można łączyć za pomocą operatorów logicznych:

(A>B)and(A>C)

przyjmie wartość True wtedy i tylko wtedy, gdy obie relacje składowe, połączone operatorem and, są prawdziwe. Natomiast wyrażenie:

(A<=B)or(A<=C)

przyjmie wartość True wtedy, gdy chociaż jedna z dwu relacji łączonych operatorem or jest prawdziwa, a False wtedy i tylko wtedy, gdy obie są nieprawdziwe.

Definicje operacji logicznych na zmiennych: var A, B: Boolean;

Kombinacje wartości

argumentów

Wyniki operacji logicznych

A

B

not A

not B

A and B

A or B

A xor B

FALSE

FALSE

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

TRUE

FALSE

7.2. Instrukcja warunkowa if-then

Instrukcja if-then (po polsku: jeżeli-to) ma następującą składnię:

if wyrażenie_relacyjne then begin

instrukcja_1;

instrukcja_2;

{-----------}

instrukcja_n;

end;

Działanie instrukcji if-then:

0x08 graphic

Przykład: Program zmieniający znak liczby ujemnej

program Ex7_1;

uses Crt;

var X:Integer;

begin

Clrscr;

Write('Podaj liczbe typu Integer: ');

Readln(X);

Writeln('Czytana wartosc X: ',X:6);

if X<0 then X:=-X; {instr.warunkowa}

Writeln('Koncowa wartosc X: ',X:6);

Readln;

end.

7.3. Instrukcja warunkowa if-then-else

Ta postać instrukcji warunkowej ma następującą składnię:

if wyrażenie_relacyjne then begin

instrukcja_1;

instrukcja_2;

{-----------}

instrukcja_n;

end

else begin

instrukcja_1;

instrukcja_2;

{-----------}

instrukcja_n;

end;

0x08 graphic

Działanie instrukcji if-then-else

Przykład: Program do znajdowania rozwiązań równania kwadratowego

a*x*x + b*x + c = 0

program Ex7_2;

uses Crt;

var A,B,C,Delta,X1,X2:Real;

begin

Write('Podaj A,B,C: ');

Readln(A,B,C);

Delta:=B*B-4*A*C;

if Delta>=0 then begin

X1:=(-B+Sqrt(Delta))/(2*A);

X2:=(-B-Sqrt(Delta))/(2*A);

Writeln('X1=',X1);

Writeln('X2=',X2);

end

else Write('Nie ma pierwiastka rzeczywistego.');

Readln;

end.

7.4. Instrukcje warunkowe zagnieżdżone

Po słowie then lub else może wystapić kolejna instrukcja warunkowa. Mówimy wtedy o instrukcjach warunkowych zagnieżdżonych.

Przykład: Ulepszony program określania wieku osoby

program Witaj_mod;

uses Crt;

var R,W:Integer;

begin

Write('Witaj! Podaj rok urodzenia: ');

Readln(R);

W:=2011-R;

Write('W tym roku konczysz ',W);

if W=1 then Write(' rok.')

else if (W>10)and(W<22) then Write(' lat.')

else if (W mod 10<5)and(W mod 10>1)

then Write(' lata.')

else Write(' lat.');

Readln;

end.

31

wyrażenie

relacyjne

FALSE

instrukcja 1

instrukcja 2

.

.

.

end

begin

TRUE

wyrażenie

relacyjne

FALSE

instrukcja 1-1

instrukcja 2-2

.

.

.

end

begin

TRUE

instrukcja 1-2

instrukcja 2-2

.

.

.

end

begin



Wyszukiwarka

Podobne podstrony:
PP temat6, Podstawy programowania
PP 11, Podstawy programowania
PP W6, Podstawy programowania
PP temat3, Podstawy programowania
PP W1, Podstawy programowania
PP W4, Podstawy programowania
PP 10, Podstawy programowania
PP W5, Podstawy programowania
PP W8, Podstawy programowania
PP temat2, Podstawy programowania
PP W9, Podstawy programowania
PP temat4, Podstawy programowania
PP temat5, Podstawy programowania
PP W2, Podstawy programowania
PP W10, Podstawy programowania
PP temat6, Podstawy programowania
zasady zaliczeń PP IG, Politechnika Białostocka, ZiIP (PB), Semestr 1, Podstawy programowania, Progr
pp projekty2004, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania

więcej podobnych podstron