Polecenia Basic’a cz. 1

CLOSE – Zamknij zbiór logiczny.

close
Instrukcja ta zamyka zbiory użyte przez instrukcję OPEN. Liczba lub zmienna występująca po słowie CLOSE oznaczają numer zbioru, który ma być zamknięty. PRZYKŁAD:

Przykład:
close 2 – zbiór o numerze logicznym 2 zostaje zamknięty.

CLR – Wyczyść zmienne programowe.

clr
Instrukcja ta przywraca początkowy stan kanałom I/O (wejścia/wyjścia), opróżnia (ale nie zamyka) kanały I/O, zeruje wskaźnik instrukcji DATA oraz wskaźniki zmiennych, ale pozostawia program nietknięty. Polecenie to jest wykonywane automatycznie po użyciu RUN i NEW.

CMD – Wybiera nowe urządzenie dla dotychczasowego wyjścia ekranowego.

cmd
Polecenie to powoduje skierowanie danych wysyłanych normalnie na ekran (poleceniem PRINT, LIST itp. ale nie POKE) do wybranego urządzenia takiego jak drukarka lub zbiór dyskowy. Urządzenie lub zbiór musi najpierw zostać otwarte przy pomocy OPEN. Po literach CMD musi znajdować się liczba lub zmienna liczbowa odnosząca się do zbioru. Lista może być dowolnym ciągiem znaków alfanumerycznych lub zmienną łańcuchową; jest ona przesyłana do wybranego urządzenia. Polecenie to jest użyteczne np. do drukowania nagłówków nad listingami programów.

Przykład:
open 1,4 – otwiera urządzenie #4, czyli drukarkę
cmd 1 – całe normalne wyjście z komputera zostaje skierowane na drukarkę
list – listing programu zostaje przesłany na drukarkę, a nie na ekran – także słowo READY.
close 1 – zamyka zbiór.

CMD – Wybiera nowe urządzenie dla dotychczasowego wyjścia ekranowego.

cmd
Polecenie to powoduje skierowanie danych wysyłanych normalnie na ekran (poleceniem PRINT, LIST itp. ale nie POKE) do wybranego urządzenia takiego jak drukarka lub zbiór dyskowy. Urządzenie lub zbiór musi najpierw zostać otwarte przy pomocy OPEN. Po literach CMD musi znajdować się liczba lub zmienna liczbowa odnosząca się do zbioru. Lista może być dowolnym ciągiem znaków alfanumerycznych lub zmienną łańcuchową; jest ona przesyłana do wybranego urządzenia.
Polecenie to jest użyteczne np. do drukowania nagłówków nad listingami programów.

Przykład:
open 1,4 – otwiera urządzenie #4, czyli drukarkę
cmd 1 – całe normalne wyjście z komputera zostaje skierowane na drukarkę
list – listing programu zostaje przesłany na drukarkę, a nie na ekran – także słowo READY.
close 1 – zamyka zbiór.

DATA – Deklaruje wartości danych używanych przez program.

data
Instrukcja ta zawiera listę danych, które zostaną wprowadzone do pamięci komputera przy pomocy instrukcji READ. Składniki listy mogą być wartościami liczbowymi lub wyrażeniami tekstowymi i muszą być oddzielone przecinkami. Dane tekstowe nie muszą być umieszczane w cudzysłowiu, chyba że zawierają jeden z następujących znaków: spację, średnik lub przecinek. Jeśli pomiędzy dwoma przecinkami nie ma nic, to komputer przyjmuje w to miejsce wartość numeryczną zero lub ciąg pusty. Zobacz też definicję instrukcji RESTORE, która pozwala komputerowi na powtórne czytanie danych.

DATA 100,200,ALA,”HALLO, MAMO”,3,14,ABC123

DEF FN – Określa funkcję zdefiniowaną przez użytkownika.

def fn (zmienna) = wyrażenie
Instrukcja ta pozwala użytkownikowi na zdefiniowanie pewnej operacji arytmetycznej jako funkcji. W przypadku długich formuł, używanych często w programie użycie funkcji może oszczędzić naprawdę dużo cennego miejsca w pamięci. Nazwa nadawana funkcji rozpoczyna się od liter FN, po których znajduje się nazwa alfanumeryczna zaczynająca się od litery. Najpierw definiujemy funkcję używając instrukcji DEF z podaną nazwą funkcji. Po nazwie umieszczona jest para nawiasów () zawierająca dowolnie dobraną nazwę zmiennej (nazwa ta nie koliduje z nazwami nazw zmiennych używanych w programie). W poniższym przykładzie jest to X. Następnie umieszczony jest znak równości a za nim formuła podlegająca definiowaniu. Funkcja może być obliczona po zastąpieniu X-a dowolną wartością, korzystając z formatu podanego w linii 20 przykładu:

10 DEF FNA(X)=12*(34.75-X/.3)+X
20 PRINT FNA(7)

Liczba 7 zostanie wstawiona w każde miejsce, w którym definicji funkcji DEF występuje X. W tym przypadku rezultat brzmi: 144.

DIM – Deklaruje liczbę elementów w tablicy (wymiar tablicy).

dim (indeksy) <,zmienna (indeksy)>…
Przed pierwszym użyciem tablic zmiennych program musi zadeklarować ich rozmiary przy użyciu DIM (DIMension oznacza wymiar), chyba że używane tablice mają mieć wymiar mniejszy niż 11. Po instrukcji DIM podaje się nazwę tablicy będącą dowolną dopuszczalną nazwą zmiennej. Następnie podaje się w nawiasie liczbę elementów tablicy w każdym z jej wymiarów, ale należy mieć na względzie ilość pamięci zajmowanej przez tablice. Przy dużych tablicach może łatwo zabraknąć pamięci. A oto jak można obliczyć ilość pamięci niezbędną do przechowania tablicy:

5 bajtów na nazwę tablicy
2 bajty na każdy z wymiarów
2 bajty / element tablicy liczb całkowitych
5 bajtów / element tablicy liczb rzeczywistych
3 bajty / element dla zmiennych tekstowych
1 bajt dla każdego znaku w elemencie tekstowym tablicy

Tablice całkowite potrzebują 2/5 miejsca zajmowanego przez tablice zmiennoprzecinkowe (na przykład: DIM A% (100) wymaga 209 bajtów, a DIM A (100) wymaga już 512 bajtów). W instrukcji DIM można zdefiniować wymiary wielu tablic, oddzielając ich nazwy przecinkami. Jeśli program trafi na powtórną deklarację tablicy, to wyświetli komunikat „Re’dimed array error” (powtórna deklaracja tablicy). Do praktycznych zasad należy umieszczanie deklaracji na początku programu.

PRZYKŁAD:
10 DIM A$ (40), B7 (15), CC% (4,4,4)

Powoduje zdeklarowanie trzech tablic A$, B7 i CC%, które mają odpowiednio 41, 16 i 125 elementów.

END – Określa koniec programu.

end
Kiedy program natrafi na instrukcję END zatrzymuje wykonywanie PROGRAMU. Instrukcja CONT może być użyta w celu ponownego uruchomienia programu od instrukcji znajdującej się po END (jeśli taka istnieje). END nie jest instrukcją niezbędną do zatrzymania programu.

FOR/TO/STEP/NEXT – Określa strukturę pętli w programie.

for = ; TO ; NEXT
Instrukcja FOR…NEXT powoduje, że fragment programu zawarty pomiędzy tymi instrukcjami powtarzany jest wielokrotnie. Jest to użyteczne jeśli musimy coś zliczać, lub jakaś czynność musi być wykonana wielokrotnie (na przykład drukowanie). Instrukcja ta powoduje powtarzalne wykonywanie rozkazów zawartych pomiędzy FOR i NEXT w zależności od wartości początkowej i końcowej. Wartość początkowa i końcowa są to skrajne wartości zmiennej indeksowej pętli. Zmienna indeksowa jest zmniejszana lub zwiększana w trakcie kolejnych cykli pętli. Logiczne działanie pętli FOR/NEXT przedstawia się następująco. Najpierw zmienna indeksowa otrzymuje wartość początkową. Kiedy program osiąga linię programu zawierającą instrukcję NEXT, to dodaje on do zmiennej indeksowej wartość kroku (STEP, zwykle wynosi on 1), a następnie sprawdza, czy wartość zmiennej indeksowej nie jest większa od wartości końcowej. Jeśli zmienna indeksowa jest mniejsza bądź równa wartości końcowej, to program przeskakuje do instrukcji znajdującej się bezpośrednio po instrukcji FOR. Jeśli wartość indeksu jest większa nit wartość końcowa, to program przystępuje do wykonywania instrukcji znajdującej się bezpośrednio po poleceniu NEXT. Przeciwnie do powyższego dzieje się, jeśli krok pętli jest ujemny.

PRZYKŁAD:
10 FOR L=1 TO 10
20 PRINT L
30 N EXT L
40 PRINT „ZROBIONE! L = „L

Program ten wypisze liczby od 1 do 10, a za nimi komunikat ZROBIONE! L=11. Po wartości końcowej pętli w instrukcji moce się takie znajdować słowo STEP i dodatkowa wartość liczbowa. W tym przypadku, w chwili napotkania NEXT, do zmiennej indeksowej dodawana jest (zamiast jedynki) liczba znajdująca się po słowie STEP. Pozwala to na zliczanie ułamkami i przyrostami innymi niż jeden. Użytkownik moce zagnieżdżać pętle, tzn. umieszczać jedne w drugich. Należy pamiętać o tym, że pętla, która rozpoczyna się jako pierwsza musi kończyć się jako ostatnia. Polecenie NEXT bez podanej zmiennej oznacza koniec ostatnio otwartej pętli.

PRZYKŁAD:
10 FOR L=1 TO 100
20 FOR A=5 TO 11 STEP .5
30 NEXT A
40 NEXT L

Pętla FOR…NEXT w liniach 20 i 30 jest pętlą zagnieżdżoną wewnątrz pętli 10-40. Użycie kroku STEP równego 0.5 pokazuje, te indeksy zmiennoprzecinkowe są w pętli dopuszczalne. GET – Odczytaj jeden znak z klawiatury, nie czekając na wciśnięcie klawisza. GET lista zmiennych Instrukcja GET służy do pobierania pojedynczych znaków z klawiatury. W chwili napotkania GET, do pamięci przesyłany zostaje jeden wpisany na klawiaturze znak. Jeśli nie był wpisany żaden znak, to zwrócony zostanie łańcuch pusty, a program wykonywać się będzie dalej bez oczekiwania na wciskanie klawisza. Nie ma w tym przypadku potrzeby wciskania klawisza RETURN. Po słowie GET podana jest lista zmiennych numerycznych lub tekstowych. Jeśli instrukcja GET ma wczytać wartość liczbową, a zostanie wciśnięty klawisz inny nit liczbowy, to program zatrzyma się i pojawi się komunikat o błędzie. Instrukcja GET może być także umieszczona w pętli sprawdzającej zerowy rezultat jej wołania. Instrukcja GET moce być wykonywana tylko w programie, w przeciwnym razie pojawi się błąd ILLEGAL DIRECT ERROR (nielegalne użycie bezpośrednie).

PRZYKŁAD:
10 GETA$:IF A$< >”A” THEN 10 (Linia ta powoduje oczekiwanie na wciśnięcie A)
20 GET B,C,D (Pobiera zmienne liczbowe B,C,D nie czekając na przyciśnięcie klawiszy)

GET# – Pobierz dane wejściowe z urządzenia wejściowego.

get# ,
Instrukcja ta wprowadza po jednym znaku z uprzednio otwartego zbioru. W przypadku klawiatury działa ona tak samo jak GET. Instrukcja GET# mole być używana tylko w programie.

PRZYKŁAD:
10 GET#1,A$

W przykładzie tym pobrany zostaje jeden znak ze zbioru 1 i przypisany zmiennej A$. Zakładamy, te zbiór 1 został uprzednio otwarty. Zobacz instrukcję OPEN.

GOSUB – Zawołaj podprogram rozpoczynający się w podanej linii.

GOSUB
Instrukcja ta jest podobna do instrukcji GOTO, ponieważ nakazuje komputerowi skok do wybranej linii programu.

Polecenie GOSUB musi jednak natrafić w końcu na polecenie RETURN. Kiedy program trafi na RETURN, to skacze z powrotem do instrukcji znajdującej się bezpośrednio po instrukcji GOSUB. Miejsce docelowe skoku GOSUB nazywa się podprogramem. Podprogramy są bardzo użyteczne, jeśli jakieś zadanie powinno być powtórzone wielokrotnie w programie. Zamiast kopiowania fragmentów programu możemy wtedy napisać procedurę i użyć polecenia GOSUB we właściwych miejscach programu. Porównaj opis polecenia RETURN.

PRZYKŁAD:
20 GOSUB 800


800 PRINT”JESTEM TU”:RETURN

Przykład ten wywołuje podprogram zaczynający się w linii 800 i wykonuje go. Wszystkie podprogramy muszą kończyć się instrukcją RETURN.

GOTO – Przekazuje wykonywanie programu do wybranej linii programu.

GOTO
Po instrukcji GOTO napotkanej w programie komputer wykonuje instrukcję określoną przez numer linii w instrukcji GOTO. Użyta w trybie bezpośrednim powoduje uruchomienie programu począwszy od podanej linii programu, nie kasując jednak zmiennych kanałów dyskowych itp.

PRZYKŁAD:
10 PRlNT”COMMODORE”
20 GOTO 10

GOTO w linii 20 nakazuje komputerowi nieskończone powtarzanie linii 10, aż do naciśnięcia RUN/STOP.

GOTO 100 – Rozpoczyna program od linii o numerze 100, nie kasując obszaru pamięci zmiennych.

IF/THEN – Oblicza wyrażenie warunkowe i wykonuje dalszy program w zależności od uzyskanego rezultatu.

IF THEN
Instrukcja IF…THEN (JEŚLI…TO) wylicza wyrażenie w BASICu i podejmuje jedno z dwóch możliwych działań w zależności od wyniku wartości wyrażenia. Jeśli wyrażenie jest prawdziwe, to wykonywane jest zadanie umieszczone po słowie THEN. Jeśli wyrażenie jest fałszywe, to program podejmuje działanie od linii następującej bezpośrednio po linii zawierającej IF. Cała linia IF…THEN musi zawierać się w 80 znakach (dwie linie ekranowe). Instrukcja IF…THEN może przyjmować dwie dodatkowe formy:

IF THEN
lub:
IF GOTO

Obie te formy przekazują wykonywanie programu do wyszczególnionej linii programu, jeśli wyrażenie jest prawdziwe. W przeciwnym razie kontrola programu przekazywana jest do linii znajdującej się zaraz za instrukcją IF. Rozważ poniższy przykład:

50 IF X > 10 THEN PRINT „OK”

Linia ta sprawdza najpierw wartość X. Jeśli X jest większe od 10, to wykonywana jest instrukcja po THEN (PRINT „OK”), jeśli X jest mniejsze lub równe 10, to program wykona następną linię programu.

PRZYKŁAD:
10 IFX=10 THEN 100
20 PRINT „X NIE ROWNE 10”
99 STOP
100 PRINT „X ROWNE 10”

Program ten oblicza wartość X. Jeśli X jest równe. 10, to program skacze do linii 100 i drukuje informację X RÓWNE 10. Jeśli X jest różne od 10 to wykonuje linię 20 i pisze: X NIE RÓWNE 10. Następnie program staje.

INPUT – Pobiera ciąg znaków lub liczbę z klawiatury i oczekuje przyciśnięcia RETURN.

INPUT <„znaki zachęty”>,
Instrukcja INPUT (WPROWADŹ) prosi użytkownika o wprowadzenie danych do aktywnego programu i przypisuje wprowadzane dane zmiennym z listy. Po napotkaniu INPUT program zatrzymuje się, drukuje znak zapytania (?) na ekranie i oczekuje aż użytkownik wprowadzi dane i naciśnie RETURN. Po słowie INPUT następuje ciąg znaków zachęty oraz zmienna lub lista zmiennych oddzielonych przecinkami. Informacja umieszczona w zachęcie informuje użytkownika o informacjach jakie powinien wprowadzić. Jeśli zachęta jest podana w instrukcji, to musi być oddzielona średnikiem od listy zmiennych. Jeśli wprowadza się więcej niż jedną daną, to należy oddzielać je przecinkami. Jeśli wprowadzonych zostanie zbyt mało danych, to komputer prosi o resztę wyświetlając dwa znaki zapytania(??). Jeśli zamiast wprowadzania danych naciśnięty zostanie klawisz RETURN, to poprzednia wartość zmiennej nie ulegnie zmianie. Instrukcja INPUT może być używana tylko w programie.

PRZYKŁAD:
10 INPUT”WPISZ LICZBE”;A
20 INPUT „ORAZ SWOJE IMIE”;A$
30 INPUT A$ „,TY NAPISALES LICZBE”;A

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *