W skład instrukcji warunkowych wchodzi między innymi instrukcja if. Służy ona do porównywania wartości i wykonywania działań w zależności od wyniku tego porównania.
if X = 45 then
X := 0;
Konstrukcja jest prosta. Na samym początku słowo if, później warunek, czyli w tym wypadku porównanie wartości. Jeżeli zmienna X ma wartość 45 to wykonywana zostaje operacja po słowie then. Oczywiście możesz to łączyć za pomocą operatorów:
if (X = 45) and (Y = 145) then
{ instrukcje do wykonania }
W tym wypadku instrukcje coś tam, coś tam :) zostaną wykonane jeżeli dwa parametry X i Y mają takie wartości jak powyżej. W takim wypadku należy dwa warunki wziąść w nawias.
Możliwe jest także powiązanie tych operatorów:
if (X = 45) and not (Y = 145) then
{ instrukcje do wykonania }
W tym wypadku natomiast jeżeli zmienna X będzie miała wartość 45, a zmienna Y NIE BĘDZIE miała wartości 145 to wykonane zostaną instrukcje.
Możliwe jest dodanie słowa else co oznacza instrukcje, które będą wykonywane jeżeli warunek nie zostanie spełniony.
procedure TForm1.Button1Click(Sender: TObject);
var
X, Y : Integer;
begin
Randomize;
X := Random(255);
Y := Random(255);
if (X = 45) and not (Y = 145) then ShowMessage('Trafiłeś')
else ShowMessage('Nie trafiles');
end;
W przykładzie powyżej dwóm zmiennom zostaną przypisane losowo wybrane liczby. Następnie porówanie tych liczb. Jeżeli zmienna X będzie miała wartość 45, a Y nie będzie miał wartości 145 to zostanie wyświetlony komunikat. Taka sytuacja praktycznie się nie zdarzy bo wtedy nalezy mieć naprawdę dużo szczęścia :)
No, ale jeżeli taka sytuacja sie nie zdarzy to zostanie wyświetlony inny komunikat.
Budowe instrukcji if można by było zilustrować tak:
if < instrukcje początkowe - warunek> then
< instrukcje do wykonania w przypadku spełnienia warunku >
else < instrukcje "w przeciwnym wypadku" >
UWAGA! Jak dotąt prezentowałem przykłady gdzie pomiędzy blokiem then, a else następowała tylko jedna instrukcja. Gdyby było ich więcej należałoby wziąść te instrukcje w słowa begin..end.
if X <> 45 then
begin
ShowMessage('Trafiłeś');
Y := X;
end
else ShowMessage('Nie trafiles');
W takim wypadku po instrukcji if następowały dwa polecenia. To znaczy, że trzeba już ten blok wziąść w słowa begin..end.
Niekiedy instrukcja if może się wydać mało wystarczająca. Jeżeli chcemy porównać wiele wyników przychodzi z pomocą instrukcja case.
procedure TForm1.Button1Click(Sender: TObject);
var
X : Integer;
begin
Randomize; // losowanie
X := Random(5);
case X of
0: ShowMessage('Wylosowałeś 0!!');
1: ShowMessage('Wylosowałeś 1!!');
else ShowMessage('NIC');
end;
end;
W tym wypadku następuje losowanie spośród 5 cyfr.W przypadku wylosowania cyfry 0 zostanie generowany odpowiedni komunikat, jeżeli 1 inny komunikat. Natomiast jeżeli wylosowana liczba jest nieobsługiwana przez naszą instrukcje, to generowany jest komunikat z napisem "NIC".
Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie.
Tylko zarejestrowani użytkownicy mogą pisać komentarze.