admin
|
|
« : Grudzień 05, 2011, 09:07:01 » |
|
Czasami okazuje się,że w programie trzeba sprawdzić kilka warunków i w zależności od nich podjąć odpowiednią akcję np.
If warunek_1 then działanie_1 else If warunek_2 then działanie_2 else If warunek _3 then działanie _3
Takie działanie jest nieporęczne, dlatego w wprowadzono instrukcję wyboru case-else.
Case przełącznik of Wartość_1: akcja_1; Wartość_2:akcja_2; ............................ Wartość_n: akcja_n; Else działanie zastępcze {gdy nie spełnione pozostałe} End;
Przykład 1.
Program kalkulator; uses crt,dos; Var Liczba1,liczba2,wynik:real; Działanie:char;
Begin Write(‘Podaj pierwszą liczbę ‘); readln(Liczba1); Write(‘Podaj drugą liczbę ‘); readln(Liczba2); Write(‘rodzaj działania(+ - * /) ’); Readln(dzialanie);
Case dzialanie of ‘+’:wynik:=Liczba1+liczba2; ‘*’:wynik:=Liczba1*liczba2; ‘-’:wynik:=Liczba1-liczba2; ‘/’:if liczba2<>0 then wynik:=Liczba1/liczba2 Else write('zly znak'); End;
readkey; End.
Przykład 1A. Zmodyfikowany poprzedni program, wyświetlający wyniki działania
program bimbacz; uses crt,dos; var liczba1, liczba2,wynik:real; znak: char; begin clrscr; write('Podaj pierwsza liczbe: ');readln(liczba1); write('Podaj druga liczbe: ');readln(liczba2); write('Podaj znak dzialania: ');readln(znak);
case znak of '+':begin write(liczba1:0:2,'+ ',liczba2:0:2,' = ',liczba1+liczba2:0:2);end; '-':begin write(liczba1:0:2,'- ',liczba2:0:2,' = ',liczba1-liczba2:0:2);end; '*':begin write(liczba1:0:2,'* ',liczba2:0:2,' = ',liczba1*liczba2:0:2);end; '/':if liczba2<>0 then begin write(liczba1:0:2,'+/',liczba2:0:2,' = ',liczba1/liczba2:0:2);end else write('Blad'); end; readln; end.
|