Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
SPIS TREŚCI |
|
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 na 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.
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.