Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor: Steven Vickers
Tłumaczył: mgr Jerzy Wałaszek

©2026 mgr Jerzy Wałaszek

ROZDZIAŁ 6 – Zmienne

Rozkazy: LET, CLEAR
Proste zmienne numeryczne

SPIS TREŚCI
ROZDZIAŁ 1 Przygotowanie
ROZDZIAŁ 2 Wydawanie poleceń
ROZDZIAŁ 3 Lekcja historii
ROZDZIAŁ 4 Kalkulator
ROZDZIAŁ 5 Funkcje
ROZDZIAŁ 6 Zmienne
ROZDZIAŁ 7 Teksty
ROZDZIAŁ 8 Programowanie I
ROZDZIAŁ 9 Programowanie II
ROZDZIAŁ 10 Jeśli ...
ROZDZIAŁ 11 Znaki
ROZDZIAŁ 12 Pętle
ROZDZIAŁ 13 Wolno i Szybko
ROZDZIAŁ 14 Podprogramy
ROZDZIAŁ 15 Programy
ROZDZIAŁ 16 Pamięć taśmowa
ROZDZIAŁ 17 Wyświetlanie
ROZDZIAŁ 18 Grafika
ROZDZIAŁ 19 Czas i ruch
ROZDZIAŁ 20 Drukarka
ROZDZIAŁ 21 Podłańcuchy
ROZDZIAŁ 22 Tablice
ROZDZIAŁ 23 Pamięć
ROZDZIAŁ 24 Liczenie
ROZDZIAŁ 25 Praca komputera
ROZDZIAŁ 26 Kod maszynowy
ROZDZIAŁ 27 Organizacja pamięci
ROZDZIAŁ 28 Zmienne systemowe

A Zestaw znaków
B Numery komunikatów
C ZX81 dla znających BASIC

ROZDZIAŁ 6 – Zmienne

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.

Podsumowanie

Zmienne

Polecenia LET, CLEAR

Ćwiczenia

  1. Dlaczego nazwy zmiennych muszą rozpoczynać się od litery?

  2. Jeśli nie znasz operacji podnoszenia do potęgi (** - HSHIFT), to wykonaj to ćwiczenie.

    Na najbardziej podstawowym poziomie "A**B" oznacza "A pomnożone przez siebie B razy", lecz oczywiście ma to sens tylko dla dodatnich liczb całkowitych. W celu znalezienia definicji pasującej również do innych wartości B rozważmy wzór:

    A**(B+C) = A**B * A**C

    Nie potrzeba specjalnie przekonywać, iż jest on słuszny dla dodatnich liczb całkowitych B i C, lecz jeśli zdecydujemy, iż chcemy, aby był również słuszny dla liczb niecałkowitych, to zmuszeni jesteśmy przyjąć, że:

    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
  3. Wpisz

    LET E=EXP 1

    Teraz E posiada wartość 2.7182818..., równą podstawie logarytmów naturalnych. Dla różnych liczb sprawdź regułę:

    EXP liczba = E**liczba

do podrozdziału  do strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2026 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.