Rozdział 6


READ, DATA, RESTORE

 

Podsumowanie

 

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   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

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

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