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: LET, CLEAR
Proste zmienne numeryczne
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 |
Powiesz: "Mój kalkulator kieszonkowy może zapamiętać jakąś liczbę i użyć jej później. Czy ZX81 potrafi to samo?"
Tak. W rzeczywistości jest on w stanie zapamiętać dosłownie setki liczb przy pomocy polecenia LET. Załóżmy, iż jaja kosztują 58p (pensów) za tuzin i chcesz to zapamiętać. Wpisz:
LET JAJA=58 (i oczywiście NEWLINE)
Teraz po pierwsze komputer zarezerwował miejsce wewnątrz siebie, gdzie można przechować liczbę, po drugie nadał temu miejscu nazwę "JAJA", abyś mógł się do niego odwołać później. Taka kombinacja miejsca w pamięci i nazwy zwana jest zmienną. Po trzecie w zarezerwowanym miejscu umieścił liczbę 58; mówimy, iż przypisał wartość 58 do zmiennej (o nazwie) JAJA. Zmienna JAJA jest zmienną liczbową, ponieważ jej wartością jest liczba.
Czy chcesz się dowiedzieć, ile kosztują jaja? Wpisz
PRINT JAJA
Jeśli chcesz znać cenę pół tuzina jaj, to wpisz:
PRINT JAJA/2
W zasadzie gdybyś zechciał poznać wartość kwadratu kosinusa ceny jednego jaja, mógłbyś wpisać:
PRINT COS (JAJA/12)**2
"Jak naprawdę łatwo" musisz pomyśleć sobie i będziesz zastanawiał się, co z tym możesz zrobić w dalszej kolejności, gdy wbiegnie twój gospodarz krzycząc "O Boże, jaja właśnie podskoczyły do 61p za tuzin".
Więc nie ma czasu do stracenia. Wpisz
LET JAJA=61
Nie zarezerwuje to żadnego dodatkowego miejsca, lecz zastąpi starą wartość 58 nową 61. Teraz możesz wpisać:
PRINT JAJA
oczekując z wiarą, iż otrzymasz najbardziej aktualną cenę z możliwych.
Teraz wpisz:
PRINT MLEKO
Dostaniesz komunikat 2/0 i wyszukując go w dodatku B zobaczysz, iż mówi on - "zmienna nie odnaleziona" - komputer nie ma zielonego pojęcia, ile kosztuje mleko, ponieważ mu o tym nie powiedziałeś. Wpisz:
LET MLEKO=18.5
a wszystko będzie w porządku. Wpisz ponownie:
PRINT MLEKO
Zmienna nie musi się nazywać zgodnie z produktami spożywczymi - możesz użyć dowolnych liter i cyfr pod warunkiem, iż pierwsza będzie litera. Możesz również wstawiać spacje w celu zwiększenia czytelności nazwy, lecz nie będą one się do niej zaliczać. Na przykład poniższe nazwy są dozwolone jako nazwy zmiennych:
DWA FUNTY JABLEK ALE NIE TYCH ZLOTYCH PYSZNYCH
RADIO 3
RADIO 33
X
K9P
ale te już nie:
3 MISIE (rozpoczyna się od cyfry)
TALBOT?
(? nie jest ani literą, ani cyfrą)
CZARNE NA BIALYM (znaki w negatywie są
niedozwolone)
FOTHERINGTON-THOMAS
(- nie jest ani literą, ani cyfrą)
Teraz wpisz:
CLEAR
a następnie:
PRINT JAJA
Znów dostaniesz komunikat 2 (zmienna nie odnaleziona). Wynikiem CLEAR jest zwolnienie całej pamięci zarezerwowanej dla zmiennych - wtedy każda zmienna jest jakby nigdy nie zdefiniowana. Wyłączenie i włączenie komputera również to robi - lecz wtedy nie pamięta on zupełnie nic z poprzedniej sesji.
Wyrażenia mogą zawierać nazwy zmiennych wszędzie tam, gdzie można umieścić liczbę.
Uwaga: w niektórych wersjach języka BASIC wolno opuścić słowo LET i po prostu wpisać (powiedzmy):
JAJA=58
Na ZX81 jest to niedozwolone. Z drugiej strony trudno byłoby ci to wpisać.
Również w niektórych wersjach sprawdzane są tylko dwa pierwsze znaki nazwy, tak że RADIO 3 i RADIO 33 jest traktowane jak odwołanie do tej samej zmiennej, a w innych wersjach nazwa zmiennej musi się składać z litery i następującej za nią cyfry. Oba te ograniczenia nie dotyczą ZX81.
W jeszcze innych wersjach języka BASIC istnieje reguła, iż jeśli zmienna nie pojawiła się dotychczas po lewej stronie polecenia LET, to ma przypisaną wartość 0. Jak zauważyłeś powyżej przy poleceniu PRINT MLEKO, nie obowiązuje to na ZX81.
Zmienne
Polecenia LET, CLEAR
A**0 | = 1 |
A**(-B) | = 1/A**B |
A**(1/B) | = pierwiastek B-tego stopnia z A |
oraz
A**(B*C) | = (A**B)**C |
Jeśli żadnego z tych wzorów wcześniej nie widziałeś, nie staraj się ich od razu zapamiętywać, po prostu zapamiętaj, że:
A**-1 | = 1/A |
A**(1/2) | = pierwiastek kwadratowy z A |
a być może gdy się z tym oswoisz, to reszta zacznie mieć dla ciebie sens.
Eksperymentuj z tym rozkazując komputerowi wyświetlanie różnych wyrażeń zawierających **, np.:
PRINT 3**(2+0),3**2*3**0
PRINT 4**-1,1/4
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.