ciągu łańcuch. I takiego typu zmienną zwraca nam funkcja Copy. W podrozdziale 4.1 dowiesz się, jak taki jednoznakowy łańcuch przekształcić na znak.
Po drugie: co oznacza ten złożony warunek w instrukcji warunkowej? Zakładamy, że użytkownik może wpisać swoje imię małymi albo wielkimi literami. Musimy więc sprawdzić, czy imię nie kończy się literą „a”, jak i „A”. Sprawdzamy więc dwa warunki, łącząc je operatorem or (czyli lub). Warunek A or B jest spełniony, jeżeli spełniony jest którykolwiek z warunków A i B. Inne operatory, których możesz użyć, to:
□ and warunek A and B jest spełniony, gdy spełnione są oba warunki: A i B.
□ not warunek not A jest spełniony, jeżeli nie jest spełniony warunek A (a jeżeli ten jest spełniony, cały warunek nie jest spełniony).
□ xor warunek A xor B jest spełniony tylko wtedy, gdy spełniony jest dokładnie jeden z warunków A i B.
Instrukcja warunkowa może służyć także do kontroli poprawności wprowadzonych danych. Wyobraźmy sobie, że piszemy program rozwiązujący równanie liniowe: Ax+B = 0. Rozwiązanie jest proste: x = -B/A, o ile nie została podana dana a = 0; w przeciwnym razie mamy kłopot — dzielenie przez zero.
ĆWICZENIE
3.28
program cw3_28;
{ Program podaje rozwiązanie równania Ax+B-0, sprawdzając }
{ czy A nie jest zerowe. }
{ Katalog r3_07 : 3_28.pas }
var
A, B : Real;
begin
Writeln ('Podaj współczynniki.');
Write ('Podaj A: '); Readln (A);
Write ('Podaj B: '); Readln (B); if (A - 0) then
Writeln ('Blad: dzielenie przez zero') else
Writeln ('Rozwiązanie: ', -B/A:10:5);
Readln; end.
Zamiast komunikatu Turbo Pascala (Error 200: Division by 0) prezentujemy użytkownikowi własny. Ma to nie tylko tę zaletę, że jest on podany w języku polskim, ale także, że oprócz albo zamiast wypisywania tego komunikatu możemy podjąć inne działanie (na przykład poprosić o wpisanie danych ponownie, albo sprawdzić wartość zmiennej B i wypisać tekst „równanie jest sprzeczne” albo „równanie ma nieskończenie wiele rozwiązań”). Turbo Pascal takich możliwości nie daje, po wypisaniu komunikatu o błędzie program zakończy działanie.