Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Tłumaczenie: mgr Jerzy Wałaszek

©2023 mgr Jerzy Wałaszek
I LO w Tarnowie

Rozdział 3

Decyzje

IF, STOP,
=, <, >, <=, >=, <>

SPIS TREŚCI

Rozdział 3: Decyzje

Podsumowanie

IF, STOP
=
, <, >, <=, >=, <>


Wszystkie widziane przez nas dotąd programy były dosyć przewidywalne - przechodziły prosto przez kolejne instrukcje, a następnie wracały z powrotem na początek. Nie jest to specjalnie użyteczne. W praktyce oczekujemy od komputera podejmowania decyzji i postępowania zgodnie z nimi. Używana do tego instrukcja ma postać ... IF (jeśli) coś jest prawdziwe THEN (to wtedy) zrób coś.

Dla przykładu, użyj NEW do usunięcia poprzedniego programu z komputera i wpisz oraz uruchom ten program. (Oczywiście przeznaczony jest on dla dwóch ludzi, którzy będą przy jego pomocy prowadzili rozgrywkę!)

10 REM Odgadywanie liczb
20 INPUT a: CLS
30 INPUT "Odgadnij numer",b
40 IF b=a THEN PRINT "Dobrze!": STOP
50 IF b<a THEN PRINT "Za nisko, zgadnij ponownie"
60 IF b>a THEN PRINT "Za wysoko, zgadnij ponownie"
70 GO TO 30

Możesz się przekonać, że rozkaz IF i przyjmuje postać

IF warunek THEN ...

gdzie '...' oznacza ciąg rozkazów rozdzielonych w zwykły sposób dwukropkami. Warunek jest czymś, co ma dać wynik prawda lub fałsz: jeśli okaże się, że daje wynik prawda, to zostaną wykonane wszystkie polecenia w drugiej części wiersza po słowie THEN, lecz w przypadku przeciwnym zostaną one pominięte i program będzie kontynuował wykonanie od następnej instrukcji.

Najprostsze warunki porównują dwie liczby lub dwa łańcuchy znaków: mogą one sprawdzać, czy dwie liczby są równe lub czy jedna z nich jest większa od drugiej; również mogą sprawdzać, czy dwa łańcuchy tekstu są identyczne lub jeden z nich poprzedza drugi w kolejności alfabetycznej. Używają porównań =, <, >, <=, >= oraz <>.

= znaczy "równy". Chociaż jest to taki sam symbol jak = w rozkazie LET, używany tutaj jest w zupełnie innym sensie.

< (SYMBOL SHIFT z R) oznacza "mniejszy niż", zatem wszystkie warunki

1<2
-2<-1
-3<1

są prawdziwe, lecz

1<0
0<-2

są fałszywe.

Wiersz 40 porównuje a i b. Jeśli są równe, to program zostaje zatrzymany za pomocą rozkazu STOP. Komunikat u dołu ekranu o treści:

9 STOP statement, 30:3

pokazuje, że trzecie polecenie lub rozkaz w wierszu 30 spowodowało zatrzymanie programu, u nas jest to STOP.

Wiersz 50 sprawdza, czy b jest mniejsze od a, a wiersz 60, czy b jest większe od a. Jeśli jeden z tych warunków jest prawdziwy, to zostanie wydrukowany odpowiedni komentarz, a program przejdzie do wiersza 70, który każe komputerowi wrócić z powrotem do wiersza 30 i rozpocząć od nowa.

Rozkaz CLS (clear screen - czyść ekran) w wierszu 20 ma na celu uniemożliwienie drugiej osobie podglądu tego, co wprowadziłeś.

Zatem > (SYMBOL SHIFT z T) oznacza "większy niż" i jest podobny do <, lecz w drugą stronę. Możesz je łatwo zapamiętać, ponieważ czubek znaku porównania zawsze skierowany jest ku liczbie, która ma być mniejsza.

<= (SYMBOL SHIFT z Q - nie wpisuj go jako < i =) oznacza "mniejszy lub równy, zatem jest on taki sam jak < z tym wyjątkiem, iż dodatkowo daje prawdę, gdy obie liczby są sobie równe: stąd 2<=2 jest prawdziwe, lecz 2<2 jest fałszywe.

>= (SYMBOL SHIFT z E) oznacza "większy lub równy" i jest podobny do >.

<> (SYMBOL SHIFT z W) oznacza "różny od" i ma znaczenie przeciwne do =.

Matematycy zwykle zapisują <=, >= i <> jako ≤, ≥ i ≠. Piszą również rzeczy w stylu "2<3<4" w znaczeniu "2<3" i "3<4", lecz to nie jest możliwe w jezyku BASIC.

Uwaga: w niektórych dialektach języka BASIC - lecz nie w ZX SPECTRUM - polecenie IF może posiadać postać

IF warunek THEN numer wiersza

Oznacza to to samo co

IF warunek THEN GO TO numer wiersza

Ćwiczenia

  1. Wypróbuj ten program:

    10 PRINT "x": STOP: PRINT "y"

    Gdy go uruchomisz, wyświetli x i zatrzyma się z komunikatem 9 STOP statement, 10:2.
    Teraz wpisz

    CONTINUE

    Można by oczekiwać, że skok zostanie wykonany z powrotem do rozkazu STOP - CONTINUE zwykle powtarza rozkaz, do którego odnosił się komunikat. Jednakże tutaj nie byłoby to specjalnie użyteczne, ponieważ komputer znów by się zatrzymał bez wyświetlenia y. Dlatego pomyślano to, tak aby po komunikacie 9 rozkaz CONTINUE wykonywał skok do polecenia za rozkazem STOP - zatem w naszym przykładzie po wprowadzeniu CONTINUE komputer wyświetla y i osiąga koniec programu.
Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2023 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.