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.
|