Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor artykułu: mgr Jerzy Wałaszek

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

SPIS TREŚCI

ROZDZIAŁ 5 Proste programowanie

Do tego momentu rozkazywaliśmy bezpośrednio z klawiatury komputerowi to, co miał wykonać. Chociaż można ze sobą łączyć polecenia, to za pomocą tej metody wykonalne są jedynie ograniczone aplikacje.

Wspaniałą rzeczą w komputerach jest to, że można je programować. Oznacza to, iż możemy im podać ciąg instrukcji, które każą im wykonywać kolejno różne rzeczy.

Każdy komputer posiada swój własny język, który umożliwia nam porozumiewanie się z nim. Niektóre języki są bardzo proste - aby komputer mógł je rozumieć z łatwością. Na nieszczęście języki łatwe dla komputera są trudne dla ludzi. W pewnym sensie sytuacja odwrotna również jest prawdziwa - języki dosyć łatwe do zrozumienia dla nas są względnie trudne dla komputera - a nawet muszą być tłumaczone lub interpretowane.

ZX Spectrum używa języka wysokiego poziomu o nazwie BASIC.

BASIC pochodzi od Beginners All-purpose Symbolic Instruction Code (Symboliczny Kod Ogólnego Zastosowania dla Początkujących), a język ten został zaprojektowany w koledżu Dartmouth w New Hampshire w USA w roku 1964. Jest on szeroko stosowany na komputerach osobistych (pamiętajmy, instrukcja ta opisuje stan w roku 1984, przyp. tłum.), lecz chociaż jest na nich dosyć podobny, istnieją subtelne różnice. Dlatego ta instrukcja została napisana specjalnie dla ZX Spectrum. Lecz BASIC w ZX Spectrum nie jest zbyt odległy od (nieistniejącego) konsensusu języka BASIC, zatem nie powinieneś mieć zbyt wielu kłopotów w adaptacji dowolnego programu w języku BASIC do pracy na ZX Spectrum. W przeciwieństwie do innych języków BASIC, na ZX Spectrum nie można opuszczać rozkazu LET, gdy wartości są przypisywane zmiennym.

Istnieje ograniczenie liczby instrukcji, które można wprowadzić do komputera. ZX Spectrum informuje o osiągnięciu tej granicy przez buczenie.

Podczas programowania w języku BASIC konieczne jest poinformowanie komputera o kolejności wykonywania poszczególnych instrukcji. Stąd każdy wiersz tego ciągu instrukcji posiada numer na swoim początku. Zwykle numerację rozpoczyna się od 10 i prowadzi z odstępem 10 dla każdego nowego wiersza. Pozwala to wprowadzać nowe wiersze pomiędzy inne wiersze w programie, jeśli zostały ominięte lub program musiał być zmodyfikowany.

Spójrzmy na prosty program. Rozważmy ciąg rozkazów na końcu poprzedniego rozdziału. Gdybyśmy chcieli powtórzyć ten ciąg rozkazów, konieczne byłoby każdorazowe wpisanie go. Program  usuwa tę niedogodność.

Wpisz co następuje, naciskając ENTER na końcu każdego wiersza.

10 LET b$="Ile masz lat? "
20 LET a$="Twoj wiek to "
30 INPUT (b$);wiek
40 PRINT a$;wiek

Zwróć uwagę, że nie musisz wpisywać żadnych spacji, tylko wewnątrz cudzysłowów.

Właściwie nic się nie będzie działo, aż każemy komputerowi pracować wg tego programu. Robi się to, używając RUN (słowo kluczowe na klawiszu R).

Wprowadź ten rozkaz i patrz, co się będzie działo.

obrazek

Mogłeś również zauważyć strzałkę w prawo, która pojawia się na wydruku programu, gdy zostanie wprowadzony każdy wiersz. Wskazuje ona ostatnio wprowadzony wiersz. Jeśli chcesz ponownie zobaczyć program, wciśnij ENTER (lub LIST). Możesz użyć RUN do uruchamiania programu tyle razy, ile chcesz. Gdy już nie będzie ci potrzebny, możesz go usunąć za pomocą rozkazu NEW. Usuwa on program zapisany w pamięci i daje ci czysty komputer, gotowy na przyjęcie kolejnego programu.

obrazek

Do zapamiętania:

Rozważmy następny prosty program. Będzie on bardziej matematyczny i wypisze kwadraty liczb od 1 do 10 (kwadrat liczby jest po prostu tą liczbą pomnożoną przez siebie).

Generowanie liczb od 1 do 10 wprowadza kolejne pojęcie w programowaniu w języku BASIC. Jest to metoda, za pomocą której każemy komputerowi zliczać. Wcześniej widzieliśmy, że liczby mogą być zachowane w pamięci komputera przez dołączenie do nich 'nazwy' - lub technicznie, przypisanie wartości zmiennej. Niech zmienna x wystartuje z wartością 1 i zwiększa się z krokiem 1 do 10. Robi się to przez użycie rozkazu FOR... TO... STEP.

Zatem, aby wprowadzić ten program, wpisz NEW w celu pozbycia się poprzedniego programu i wpisz co następuje:

10 FOR x=1 TO 10 STEP 1

(Zwykle fragment STEP 1 – KROK 1 może być pominięty, jeśli zliczanie idzie w górę w krokach co jeden).

Następny wiersz musi teraz powiedzieć komputerowi, co zrobić z x, bez względu na to, jaką ma wartość, więc wpisz:

20 PRINT x,x*x

Na koniec potrzebujemy wiersza, który każe komputerowi przejść do następnej wartości x, dlatego wpisz

30 NEXT x

Po osiągnięciu tej instrukcji komputer wraca z powrotem do wiersza 10 i powtarza ten ciąg. Gdy x przekracza 10, komputer przechodzi do następnego wiersza w programie, tj. wiersza 40.

Program powinien wyglądać na ekranie następująco:

10 FOR x=1 TO 10 STEP 1
20 PRINT x,x*x
30 NEXT x

Aby program był kompletny, naprawdę powinniśmy posiadać jeszcze jeden wiersz mówiący komputerowi, że program się zakończył, gdy x=10, więc wpisz

40 STOP

Jeśli teraz uruchomisz program za pomocą rozkazu RUN, powinny pojawić się dwie kolumny, pierwsza z wartościami x, druga z wartościami x*x lub x do kwadratu. Można opisać te kolumny, dodając kolejny wiersz, taki jak ten

5 PRINT "x","x*x"

Zauważ, że pomimo iż został on wprowadzony po  wszystkich innych wierszach, to ponieważ posiada najmniejszy numer wiersza, komputer automatycznie umieści go we właściwym miejscu. Po uruchomieniu programu rozkazem RUN na ekranie zobaczysz poniższy widok:

obrazek

Spróbuj napisać programy, wykorzystując inne funkcje matematyczne. Jeśli masz jakieś wątpliwości co do ich użycia, przeczytaj odpowiednie strony w instrukcji programowania w języku BASIC.


Na początek:  podrozdziału   strony 

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: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.