Rozdział 3


Numery, litery oraz komputer jako kalkulator

Zobaczyliśmy już, jak kazać komputerowi wypisywać na ekranie litery i grafikę za pomocą polecenia PRINT. Zobaczyliśmy również, że należało użyć ENTER, aby polecić komputerowi wykonać dopiero co wprowadzony rozkaz. Od tej chwili nie będziemy w tej instrukcji przypominać o naciskaniu klawisza ENTER po każdym użytym rozkazie, lecz założymy, że będziesz go automatycznie wciskał na końcu wiersza.

Komputery łatwiej posługują się liczbami niż znakami. W poprzednim rozdziale wskazaliśmy na tę ich własność, wyjaśniając, że komputer oczekuje liczby po PRINT, jeśli nie zostaną użyte cudzysłowy.

Zatem, gdy wpiszemy

 

PRINT 2

 

na ekranie pojawi się liczba 2.

Można mieszać litery i liczby:

 

PRINT 2,"ABC"

 

Zauważ, że pomiędzy 2 a ABC pojawił się odstęp.

Teraz wpisz

 

PRINT 2;"ABC"

 

a dalej

 

PRINT 2 "ABC"

 

Użycie przecinka pomiędzy elementami z PRINT odsuwa je od siebie o 16 kolumn, użycie średnika nie tworzy odstępu, a użycie spacji daje błąd.

PRINT może być również używane z funkcjami matematycznymi z klawiatury. Właściwie ZX Spectrum może być używany jako kalkulator elektroniczny.

 

Na przykład:

 

PRINT 2+2

 

Odpowiedź pojawia się u góry ekranu. Porównaj ją z:

 

PRINT "2+2"

 

Można to połączyć ze sobą, aby otrzymać coś bardziej użytecznego. Wypróbuj

 

PRINT "2+2=";2+2

 

Wypróbuj również inne rodzaje działań arytmetycznych:

 

PRINT 3-2
PRINT 4/5
PRINT 12*2

 

Znak * jest stosowany jako znak mnożenia zamiast X, aby uniknąć pomylenia go z literą x; a / jest używane jako znak dzielenia, który jest bardziej czytelny od standardowego dwukropka.

Eksperymentuj z mnóstwem innych obliczeń. Jeśli sobie życzysz, możesz używać liczb ujemnych oraz liczb ułamkowych - jako przecinka stosuj jednak kropkę, gdyż tak oznacza się ułamki dziesiętne w systemie anglosaskim.

Jeśli wykonasz dość obliczeń, aby zużyć 22 górne wiersze ekranu, to zauważysz, że dzieje się coś raczej interesującego; cała treść ekranu zostanie przesunięta o jeden wiersz w górę, a zawartość szczytowego wiersza zostanie stracona. Ekran automatycznie przesuwa w górę swoją treść, aby zrobić miejsce na nowe dane. Po angielsku operacja ta nazywana jest scrollingiem.

Obliczenia nie zawsze wykonywane są w oczekiwanej przez ciebie kolejności. Jako przykład, spróbuj

 

PRINT 2+3*5

 

Mógłbyś spodziewać się, że najpierw do dwóch zostanie dodane 3, dając 5, a następnie pomnożone przez 5, dając wynik 25; jednakże tak się to nie dzieje. Mnożenia - jak również dzielenia - są wykonywane przed dodawaniami i odejmowaniami, zatem wyrażenie '2+3+5' oznacza 'weź 3 i pomnóż je przez 5, otrzymując 15; następnie dodaj to do 2, otrzymując 17'. Zatem na ekranie powinna pojawić się odpowiedź 17, a nie 25.

Ponieważ mnożenie i dzielenie jest wykonywane najpierw, mówimy, że posiadają one wyższy priorytet od dodawania i odejmowania. Wobec siebie mnożenie i dzielenie posiadają ten sam priorytet, co oznacza, że mnożenia i dzielenia wykonywane są w kierunku z lewa na prawo. Gdy zostaną wykonane, w wyrażeniu pozostaną dodawania i odejmowania - one znów posiadają ten sam priorytet względem siebie, zatem są wykonywane w kolejności od lewej do prawej.

 

Zobaczmy, jak komputer wyliczyłby:

 

PRINT 20-2*9+4/2*3

 

i 20-2*9+4/2*3   Najpierw wykonane zostaną
mnożenia i dzielenia od strony
lewej do prawej
ii 20-18+4/2*3
iii 20-18+2*3
iv 20-18+6
v 2+6   Następnie dodawania i odejmowania
również od strony lewej do prawej
vi 8

 

Chociaż wystarczy, jak będziesz wiedział, która z operacji ma wyższy lub niższy priorytet od innej, to komputer rozpoznaje go przez przydzielenie każdej operacji liczby od 1 do 16, aby reprezentowała jej priorytet: * i / mają priorytet 8, natomiast + i - mają priorytet 6.

Ta kolejność obliczeń jest absolutnie sztywna, lecz możesz ją zmienić przez zastosowanie nawiasów; cokolwiek w nawiasach jest obliczane najpierw, a następnie traktowane jak pojedyncza liczba, zatem

 

PRINT 3*2+2

 

daje odpowiedź 6+2=8, lecz

 

PRINT 3*(2+2)

 

daje odpowiedź 3*4=12.

 

Czasami jest użyteczne podawanie komputerowi wyrażeń takich jak te, ponieważ zawsze, gdy komputer oczekuje od ciebie liczby, możesz mu zamiast niej podać wyrażenie, a on obliczy odpowiedź. Wyjątki od tej reguły są tak nieliczne, że zostaną jawnie podane w każdym przypadku.

Możesz pisać liczby z przecinkiem dziesiętnym (używaj kropki, jak w kalkulatorze), możesz również stosować zapis naukowy - co jest dosyć popularne w kalkulatorach kieszonkowych. W zapisie tym po zwykłej liczbie (z lub bez części ułamkowej) zapisuje się wykładnik, który rozpoczyna się literą e, następnie może być - oraz na końcu sama liczba. Wykładnik przesuwa przecinek dziesiętny (pamiętaj, że w ZX Spectrum jest to kropka) wzdłuż liczby w prawo, gdy jest dodatni, lub w lewo, gdy jest ujemny, zatem mnoży lub dzieli pierwotną liczbę kilka razy przez 10. Na przykład,

 

2.34e0=2.34
2.34e3=2340
2.34e-2=0.0234  itd.

 

(Spróbuj wydrukować te liczby ba komputerze.) Tu jest jeden z niewielu przypadków, gdzie nie możesz zastąpić liczby wyrażeniem; na przykład, nie wolno ci zapisać

 

(1.34+1)e(6/2).

 

Możesz również posiadać wyrażenia, których wartościami nie są liczby, lecz łańcuchy znaków. Ich najprostszą postać widziałeś wiele razy - łańcuchy znaków zapisane w cudzysłowach. Jest to analogiczne do najprostszej postaci wyrażenia liczbowego, które składa się po prostu z samej liczby. Nie widziałeś jeszcze użycia + na łańcuchach (lecz nie -, * lub /, zatem nie ma tu problemów z priorytetami). Dodawanie łańcuchów polega na łączeniu ich ze sobą, jeden po drugim: więc spróbuj

 

PRINT "Czeko"+"lada Milka"

 

W pojedynczym wyrażeniu możesz dodawać ze sobą dowolnie wiele łańcuchów, a jeśli chcesz, możesz nawet używać nawiasów.

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.