Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor: Steven Vickers |
©2024 mgr Jerzy Wałaszek |
Rozkazy: GOTO, CONT, INPUT,
NEW, REM, PRINT
STOP w danych INPUT
BREAK
SPIS TREŚCI |
ROZDZIAŁ 1 Przygotowanie ZX81
ROZDZIAŁ 2 Wydawanie komputerowi poleceń ROZDZIAŁ 3 Lekcja historii ROZDZIAŁ 4 Sinclair ZX81 jako kalkulator kieszonkowy ROZDZIAŁ 5 Funkcje ROZDZIAŁ 6 Zmienne ROZDZIAŁ 7 Łańcuchy tekstowe ROZDZIAŁ 8 Programowanie komputera ROZDZIAŁ 9 Dalsze programowanie komputera ROZDZIAŁ 10 Jeśli ... ROZDZIAŁ 11 Zestaw znaków ROZDZIAŁ 12 Pętle ROZDZIAŁ 13 Wolno i Szybko ROZDZIAŁ 14 Podprogramy ROZDZIAŁ 15 Uruchamianie programów ROZDZIAŁ 16 Pamięć taśmowa ROZDZIAŁ 17 Wyświetlanie z bajerami ROZDZIAŁ 18 Grafika ROZDZIAŁ 19 Czas i ruch ROZDZIAŁ 20 Drukarka dla ZX81 ROZDZIAŁ 21 Podłańcuchy ROZDZIAŁ 22 Tablice ROZDZIAŁ 23 Gdy zaczyna brakować pamięci ROZDZIAŁ 24 Liczenie na palcach ROZDZIAŁ 25 Jak pracuje komputer ROZDZIAŁ 26 Stosowanie kodu maszynowego ROZDZIAŁ 27 Organizacja pamięci ROZDZIAŁ 28 Zmienne systemowe DODATKI A Zestaw znaków B Numery komunikatów C ZX81 dla znających język BASIC |
Wpisz:
NEW
Wymaże to każdy stary program i zmienne w ZX81 (podobne działanie ma CLEAR, lecz CLEAR wymazuje tylko zmienne). Teraz dokładnie wpisz poniższy program:
10 REM TEN PROGRAM OBLICZA PIERWIASTKI KWADRATOWE
20 INPUT A
30
PRINT A,SQR A
40 GOTO 20
(w wierszu 10 sam będziesz musiał wpisać większość spacji).
Teraz uruchom go. Ekran robi się biały i nic się nie dzieje, lecz spójrz na kursor w lewym dolnym rogu ekranu: tak, gdzie można się było spodziewać K , teraz jest L - maszyna przeszła w tryb wprowadzania danych. Stało się to w wyniku polecenia INPUT w wierszu 20. Maszyna czeka na ciebie, aż wpiszesz jakąś liczbę (albo nawet jakieś wyrażenie) i nie pójdzie dalej, dopóki tego nie zrobisz. Gdy dane zostaną dostarczone, będzie to miało taki sam efekt jak:
20 LET A=... cokolwiek wpisałeś
Zaczekaj chwilę, a co stało się z wierszem 10? Wygląda, jakby komputer go zupełnie zignorował. Właściwie to tak zrobił. REM w wierszu 10 oznacza komentarz, którego jedyną funkcją jest przypominanie ci, do czego służy ten program. Polecenie REM składa się ze słowa kluczowego REM, za którym można wpisać cokolwiek się chce, a komputer i tak to zignoruje.
Dobrze, jesteśmy zatem w trybie odczytu dla wiersza 20. Wpisz jakąś liczbę, powiedzmy 4 i wciśnij następnie NEWLINE. Na ekranie pojawi się liczba 4 oraz jej pierwiastek kwadratowy i mogłeś pomyśleć, że to już wszystko. Ale nie - wydaje się, że komputer chce następną liczbę. Spowodowane to jest wierszem 40 z poleceniem GOTO 20, które oznacza: IDŹ DO wiersza 20. Zamiast przelecenia przez wiersze programu i zatrzymania się komputer skacze wstecz do wiersza 20 i rozpoczyna od początku. Zatem wpisz następną liczbę (powiedzmy 2 - w każdym razie niech lepiej będzie nieujemna).
Po kilku następnych liczbach możesz się zastanawiać, czy maszynie kiedykolwiek się znudzi taka zabawa; nie znudzi się. Gdy ponownie zapyta o liczbę, wpisz zamiast niej STOP (A z SHIFT); zrozumie aluzję. Komputer zgłosi komunikat D/20 - wyszukaj go na liście komunikatów (w dodatku B). 20 oznacza numer wiersza, w którym czekał na dane, gdy program został zatrzymany przez ciebie.
Nagle przypomniałeś sobie jednak, że potrzebujesz obliczyć pierwiastki kilku innych liczb? Zatem wpisz:
CONT
(skrót dla CONTINUE - KONTYNUUJ) a komputer wyczyści ekran i poprosi cię o kolejną liczbę.
Dla operacji CONT komputer zapamiętuje numer wiersza w ostatnim
komunikacie, który ci wyświetlił i który posiadał kod różny od 0 - i do
zapamiętanego wiersza wykonywany jest skok. Ponieważ ostatnim komunikatem było
D/20 (a D nie jest równe 0), to w naszym przypadku
CONT działa identycznie jak
Teraz wpisuj liczby aż ekran się cały zapełni. Gdy to się stanie, komputer zatrzyma wykonywanie programu z komunikatem 5/30. Kod 5 oznacza "pełny ekran" a 30 jest numerem wiersza polecenia PRINT starającego się wykonać, gdy odkryło, iż brak dla niego miejsca na ekranie. Znów:
CONT
wyczyści ekran i program będzie kontynuowany - tym razem CONT oznacza GOTO 30.
Zauważ, iż ekran jest wymazywany nie z powodu tego, że jest to polecenie CONT, lecz ponieważ jest ono rozkazem. Wszystkie rozkazy (z wyjątkiem COPY, który pojawia się w rozdziale 20) czyszczą najpierw ekran.
Gdy się znudzisz, zatrzymaj program wykorzystując STOP i przywołaj listing naciskając NEWLINE.
Spójrz na polecenie PRINT w wierszu 30. Przy każdym wydruku para liczb A i SQR A pojawia się w nowym wierszu, a dzieje się tak dlatego, iż polecenie PRINT nie kończy się przecinkiem ani średnikiem. Zawsze w takim przypadku następne polecenie PRINT rozpoczyna wydruk od nowego wiersza (zatem w celu wstawienia pustego wiersza użyj polecenia PRINT, w którym nie ma nic do wydrukowania - po prostu samo PRINT).
Jednakże polecenie PRINT może kończyć się przecinkiem lub średnikiem, a wtedy następne polecenie PRINT będzie wykonywało wydruk tak, jakby te dwa polecenia były jednym długim poleceniem.
Dla przykładu z przecinkami zastąp wiersz 30 przez:
30 PRINT A,
i uruchom program, aby zobaczyć jak kolejne polecenia PRINT mogą tworzyć wydruk w tym samym wierszu, lecz rozdzielony na dwie kolumny.
Z drugiej strony średniki:
30 PRINT A;
upchają wszystko razem.
Wypróbuj również:
30 PRINT A
Teraz wpisz poniższe dodatkowe wiersze:
100 REM TEN PROGRAM MIERZY LANCUCHY TEKSTOWE
110 INPUT A$
120
PRINT A$,LEN A$
130 GOTO 110
Jest to oddzielny program w stosunku do poprzedniego, lecz możesz je mieć w komputerze oba naraz w tym samym czasie. Aby uruchomić ten nowy, wpisz:
RUN 100
Ten program wczytuje łańcuch tekstowy zamiast liczby, wyświetla go oraz jego długość. Wpisz:
KOT (i jak zwykle NEWLINE)
Ponieważ komputer oczekuje łańcucha, wyświetla dwa cudzysłowy - w celu przypomnienia ci o tym, co również zaoszczędza ci nieco wpisywania. Lecz nie musisz się ograniczać do stałych łańcuchowych (łańcuchów z otwierającym i zamykającym cudzysłowem, które obejmują znaki wewnątrz stałej); komputer wyliczy dowolne wyrażenie łańcuchowe, również takie, które zawiera zmienne łańcuchowe. W takim przypadku musisz wymazać cudzysłowy, które wyświetlił komputer. Wypróbuj tego. Wymaż je (klawisz a następnie RUBOUT dwa razy) i wpisz:
A$
Ponieważ A$ wciąż zawiera wartość "KOT", to odpowiedzią znów będzie KOT 3.
Teraz wprowadź ponownie
A$
lecz tym razem nie usuwaj cudzysłowów. Zmienna A$ ma wartość "A$", a odpowiedź brzmi 2.
Jeśli zechcesz zastosować STOP przy wprowadzaniu łańcuchów, to najpierw musisz przesunąć kursor w tył na początek wiersza za pomocą .
Teraz popatrz wstecz na RUN 100, które użyliśmy wcześniej. Skacze ono do wiersza 100, zatem nie moglibyśmy zamiast tego zastosować GOTO 100? W tym akurat przypadku odpowiedź brzmi - tak, lecz istnieje różnica. RUN 100 najpierw wymazuje zmienne (jak CLEAR w rozdziale 6), a po tym działa jak GOTO 100. Samo GOTO 100 nie wyczyściłoby niczego. Mogą zaistnieć okoliczności, w których chcesz uruchomić program bez usuwania zmiennych. Wtedy GOTO jest niezbędne a RUN mogłoby spowodować katastrofę, jednakże najlepiej wyrobić sobie nawyk uruchamiania programów poleceniem RUN.
Następną różnicą jest to, iż RUN nie musi posiadać numeru wiersza - wtedy program startuje od pierwszego wiersza. GOTO zawsze musi towarzyszyć numer wiersza.
Oba te programy zatrzymały się, ponieważ wpisałeś STOP w wierszu INPUT, lecz czasami - pomyłkowo - piszesz program, którego nie możesz w ten sposób zatrzymać, a on sam z siebie nie zatrzymuje się. Wpisz:
200 GOTO 200
RUN 200
Wygląda to tak, jakby miało się wykonywać wiecznie, chyba że wyciągniesz wtyczkę zasilania; lecz istnieje mniej drastyczne lekarstwo. Naciśnij klawisz SPACE, który ma u góry napis "BREAK" (PRZERWA). Program się zatrzyma z komunikatem D/200.
Na końcu każdego wiersza programu komputer sprawdza, czy nie jest wciśnięty ten klawisz, a jeśli jest, to zatrzymuje wykonanie. Klawisz BREAK może być również wykorzystywany w trakcie pracy z magnetofonem lub z drukarką.
Dotychczas zapoznałeś się z poleceniami PRINT, LET, INPUT, RUN, LIST, GOTO, CONT, CLEAR, NEW i REM, a większość z nich można użyć albo jako rozkazów, albo jako wierszy programu - obowiązuje to prawie dla wszystkich poleceń w języku BASIC. Jedynym rzeczywistym wyjątkiem jest INPUT, którego nie można użyć w charakterze rozkazu (jeśli spróbujesz, otrzymasz komunikat 8; powodem jest to, iż wewnątrz komputera ten sam obszar jest wykorzystywany na zarówno dla wprowadzanych danych jak i dla rozkazów, co dla rozkazu INPUT wprowadziłoby niezły bałagan). RUN, LIST, CONT, CLEAR i NEW w programach mają raczej zwykle mizerne zastosowanie, co nie oznacza, iż nie można ich tam używać.
Polecenia: GOTO, CONT, INPUT, NEW, REM, PRINT
STOP w danych wejściowych
BREAK
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.