Kurs QBasic - część 4

Instrukcje warunkowe - IF, THEN

Instrukcje warunkowe umożliwiają większą kontrolę nad programem. Dzięki nim możemy zaplanować co dany program ma zrobić gdy zostanie spełniony określony warunek. Unaoczni nam to poniższy przykład:

10 REM Prg4.1 - Instrukcje warunkowe IF,THEN (1)
20 CLS
30 INPUT " Wpisz cyfre 5:"; a
40 IF a = 5 THEN PRINT " Podales poprawna cyfre": END
50 PRINT " Podales cyfre inna niz 5"

W powyższym programie w linii 30 komputer prosi użytkownika o podanie cyfry 5. To, co użytkownik wpisze zależy tylko i wyłącznie od jego woli. Wybór użytkownika zostanie zapisany do zmiennej "a". W linii 40 za pomocą instrukcji warunkowej IF...THEN następuje sprawdzenie warunku - czy użytkownik podał prawidłową cyfrę. W zależności od sytuacji, program wyświetli odpowiedni komunikat. Jak widać, składnia instrukcji warunkowej, którą użyliśmy w przykładzie jest bardzo prosta: IF zmienna = wartość THEN polecenie. Należy nadmienić, że w miejsce znaku równości "=" można wstawić następujące znaki, oraz ich kombinacje:

  • < znak mniejszości, gdy pierwszy człon jest mniejszy od drugiego;
  • > znak większości, gdy pierwszy człon jest większy od drugiego;
  • <= gdy pierwszy człon jest nie większy od drugiego (może być mniejszy, lub równy);
  • => gdy pierwszy człon jest nie mniejszy od drugiego (może być większy, lub równy).
10 REM Prg4.2 - Instrukcje warunkowe IF,THEN (2)
20 CLS
30 INPUT " Wpisz cyfre 5:"; a
40 IF a = 5 THEN PRINT " Podales poprawna cyfre": END
50 IF a < 5 THEN PRINT " Podana cyfra jest za mala": END
60 IF a > 5 THEN PRINT " Podana cyfra jest za duza": END

Kilka linijek wcześniej wspominałem o członach. W powyższym przykładzie (w każdej z trzech instrukcji warunkowych) pierwszym członem jest zmienna a, natomiast drugim wartość 5. Warto pamiętać, iż członem nie musi koniecznie być jakaś stała wartość. Możemy jako obu członów użyć dwóch różnych zmiennych. Przedstawia to poniższy przykład:

10 REM Prg4.3 - Instrukcje warunkowe IF,THEN (3)
20 CLS
30 INPUT " Wpisz pierwsza liczbe"; a
40 INPUT " Wpisz druga liczbe"; b
50 IF a = b THEN PRINT " Obie liczby sa identyczne": END
60 IF a < b THEN PRINT " Liczba pierwsza jest mniejsza od drugiej": END
70 IF a > b THEN PRINT " Liczba druga jest mniejsza od pierwszej": END

Czasami wymagane jest spełnienie kilku warunków jednocześnie. W takiej sytuacji bardzo pomocne stają się łączniki AND ("i"), oraz OR ("lub"). Pierwszego używamy gdy oba warunki muszą zostać spełnione, aby polecenie zostało wykonane. W przypadku drugiego łącznika spełnienie jednego z dwóch wymaganych warunków spowoduje wykonanie polecenia. Prezentuje to poniższy przykład:

10 REM Prg4.4 - Instrukcje warunkowe IF,THEN (4)
20 CLS
30 INPUT " Wpisz pierwsza liczbe"; a
40 INPUT " Wpisz druga liczbe, wieksza od pierwszej"; b
50 INPUT " Wpisz trzecia liczbe, wieksza od drugiej"; c
60 IF a < b AND b < c THEN PRINT " Podales poprawne liczby": END
70 PRINT" Podane liczby nie spelniaja warunkow"

Oczywiście członów może być dużo więcej - wszystko zależy od wymagań stawianych programowi. Jak zapewne zauważyłeś, po THEN następuje polecenie, które program ma wykonać gdy zostanie spełniony warunek. Co jednak należy zrobić, gdy poleceń do zrealizowania jest więcej ? Można np: użyć polecenia GOTO, lub GOSUB. W przypadku polecenia GOTO sytuacja staje się łatwiejsza, bowiem polecenie THEN samo w sobie działa tak samo jak GOTO i co za tym idzie wystarczy jedynie wpisać numer linii, do której program na skoczyć. Prezentuje to kolejny przykład:

10 REM Prg4.5 - Instrukcje warunkowe IF,THEN (5)
20 CLS
30 INPUT " Wpisz pierwsza liczbe"; a
40 INPUT " Wpisz druga liczbe, wieksza od pierwszej"; b
50 INPUT " Wpisz trzecia liczbe, wieksza od drugiej"; c
60 IF a < b AND b < c THEN 80
70 PRINT" Podane liczby nie spelniaja warunkow": END
80 PRINT" Podane liczby spelniaja warunki"

Należy natomiast pamiętać iż polecenie THEN nie działa jak GOSUB. Aby użyć GOSUB, należy wpisać THEN GOSUB x (x - numer linii). Na tym kończę swój wykład na temat instrukcji warunkowych.

 

Język

Polska wersja językowa    English language version

Poleć stronę

Aby polecić aktualnie oglądaną stronę kliknij:

Licznik wizyt

Liczniki

Kontakt

Wiadomości

03.12.2013

Dodano opis gry Stellar System.

16.06.2013

Dodano opis programu "System Sprzedaży", oraz poprawiono treści na stronie.

10.05.2012

Strona została całkowicie przebudowana. Zmieniono layout, poprawiono teksty, oraz dodano angielską wersję strony.