![]() |
Wyjście Spis treści Poprzedni Następny
Tłumaczył z angielskiego: mgr Jerzy Wałaszek, wersja 1.0 |
©2012 mgr Jerzy Wałaszek
|
W niektórych z poprzednich programów widzieliśmy, że informację lub dane można było wprowadzać bezpośrednio do komputera przy pomocy polecenia INPUT. Czasami może to być bardzo uciążliwe, szczególnie gdy mnóstwo danych jest powtarzane przy każdym uruchomieniu programu. Możesz zaoszczędzić wiele czasu przez użycie rozkazów READ, DATA i RESTORE. Na przykład:
10 READ a,b,c
20 PRINT a,b,c
30 DATA 10,20,30
40 STOP
Rozkaz READ składa się ze słowa READ
(czytaj), za którym umieszczona jest lista nazw zmiennych
rozdzielonych przecinkami. Działa to jak polecenie INPUT z tym
wyjątkiem, iż zamiast wymagania podania danych przez ciebie, komputer
wyszukuje wartości w poleceniu DATA.
Każde polecenie DATA jest listą wyrażeń - liczbowych lub łańcuchowych - rozdzielonych przecinkami. Możesz umieścić je gdziekolwiek w programie, ponieważ komputer ignoruje je za wyjątkiem wykonywania rozkazu READ. Musisz wyobrazić sobie, że wszystkie wyrażenia ze wszystkich poleceń DATA w programie są składane razem i tworzą jedną długą listę wyrażeń, listę DATA. Gdy komputer wykonuje pierwsze polecenie READ w celu odczytu wartości, to pobiera pierwsze wyrażenie z listy DATA; dalej drugie, trzecie, itd. w miarę napotykania kolejnych poleceń READ przechodzi przez listę DATA. (Jeśli spróbuje wyjść poza tę listę, to powstanie błąd.)
Zauważ, że zmarnujesz swój czas, umieszczając polecenia DATA w bezpośrednim rozkazie, ponieważ READ nie odnajdzie ich. Polecenia DATA muszą być umieszczone w programie.
Zobaczmy, jak to pasuje do programu, który właśnie wpisałeś. Wiersz 10 mówi komputerowi, że ma odczytać trzy kawałki danych i umieścić je w zmiennych a, b i c. Wiersz 20 każe te zmienne wypisać na ekranie poleceniem PRINT. Polecenie DATA w wierszu 30 daje wartości dla a, b i c. Wiersz 40 zatrzymuje program. Aby zobaczyć porządek, w jakim to działa, zmień wiersz 20 na:
20 PRINT b,c,a
Informacja w DATA może być częścią pętli FOR...NEXT.
Wpisz:
10 FOR n=1 TO 6
20 READ d
30 DATA 2,4,6,8,10,12
40 PRINT d
50 NEXT n
60 STOP
Gdy uruchomisz ten program rozkazem RUN, to będziesz mógł
zobaczyć, jak polecenie READ przemieszcza się po liście DATA.
Polecenia DATA mogą również zawierać dane łańcuchowe. Na
przykład:
10 READ d$
20 PRINT "Data: ";d$
30 DATA "1 czerwca, 2012 roku"
40 STOP
Prosty sposób pobierania wyrażeń z listy DATA jest następujący:
rozpocznij od początku i przechodź przez listę, aż osiągniesz jej
koniec. Jednakże można zmusić komputer do innego przemieszczania się po
liście DATA za pomocą polecenia RESTORE. Składa się ono ze
słowa RESTORE (odtwórz), za którym
umieszcza się numer wiersza. Powoduje ono, że kolejne polecenia READ
będą pobierały swoje dane z pierwszego polecenia DATA, które
znajduje się pod podanym numerem lub za nim. (Możesz
pominąć numer wiersza, co będzie oznaczało to samo, jakbyś wpisał numer
pierwszego wiersza w programie.)
Wypróbuj ten program:
10 READ a,b
20 PRINT a,b
30 RESTORE 10
40 READ x,y,z
50 PRINT x,y,z
60 DATA 1,2,3
70 STOP
W tym programie dane wymagane w wierszu 10 sprawiły, że a=1 i b=2. Instrukcja RESTORE 10 powoduje cofnięcie się do początku listy danych i rozkaz READ z wiersza 40 odczyta do zmiennych x, y i z dane z początku listy DATA, czyli 1,2 i 3. Uruchom ten program jeszcze raz bez wiersza 30 i zobacz, co się stanie.
![]() | I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe