|
-forma OPENIN (nume fisier)
|
səhifə | 10/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| -forma OPENIN (nume fisier)
-exemplu 10 OPENIN FISIER 1:READ a
20 FOR x=1 to 1000
30 PRINT a:PRINT CHR$(a);
40 NEXT x
-expresii asociate;
CLOSEIN,EOF
OPENOUT -comanda
-Deschide pe discheta un fisier de iesire (trimite un
mesaj spre fax,E-mail,sau spre imprimanta sau alt periferic)
-forma OPENOUT(nume fisier)
-exemplu 10 OPENOUT FISIER 1
20 READ b
30 FOR x=1 TO 1000
40 OUT &FF,b
50 NEXT x
60 CLOSEOUT FISIER 1
-expresii asociate;
CLOSEOUT
OR -operator
-Executa operatii echivalente cu SI si respectiv atribuie
valoarea 1 variabilelor care corespund expresiei numerice
pe care o defineste.Daca oricare din argumentele sale are
valoarea 0 atunci functia SI (OR) nu se opereaza.
-forma (argument)OR(argument)
-exemple 10 FOR x=1 TO 10
20 FOR y=20 TO 30
30 IF x=7 OR y=27 THEN PRINT x,y
40 NEXT x
50 NEXT y
sau 10 IF "ciine"="pisica" OR 5=7 THEN PRINT "adevarat"
ELSE PRINT "fals"
ORIGIN -comanda
-Stabileste punctul de origine al cursorului grafic prin
coordonatele x,y .Urmatorii parametri sint facultativi si
definesc dimensiunile unei ferestre grafice.Daca dimensiunile
definite depasesc ecranul se va considera ca limita laterala
marginea ecranului(in alte programe ferestrele pot avea dimen-
siuni nelimitate iar ecranul gliseaza pina la marginea
definita).
-forma ORIGIN(x),(y),[stinga,dreapta,sus,jos)
-exemplu 10 MODE 1:BORDER 13:TAG
20 ORIGIN 0,0,100,540,300,100
30 GRAPHICS PAPER 3:CLG
40 FOR x=550 TO -340 STEP -10:MOVE x,206
50 PRINT "Iata o fereastra grafica";:FRAME:NEXT x:GOTO 40
-68-
expresii asociate;
CLG
OUT -comanda
-Trimite valoarea (numarul intreg intre 0 si 255) spre iesirea
specificata prin (numar de port).Astfel in cod numeric al
caracterelor ASCII se poate transmite orice text sau reprezentare
grafica (asa numita transmisiune pe port serial fata de cele pe
port paralel in care se trimit concomitent semnale pe 16 sau 32
de porturi simultan).
-forma OUT(numar de port),(numar intreg)
-exemplu OUT 8,255
sau OUT &F8F4,&FF (daca se transmite hexazecimal)
-expresii asociate;
INP,WAIT
PAPER -comanda
-Stabileste culoarea fondului ecranului pentru caractere.Daca nu
se specifica (numarul de canal) se considera implicit 0.Numarul
de culori (cerneala) depinde de modul de lucru ales (0,1,2)
-forma PAPER #(numar de canal),(cerneala)
-exemplu 10 MODE 0:PEN 0:INK 0,13
20 FOR p=1 TO 15
30 PAPER p:CLS
40 LOCATE 7,12:PRINT "PAPER";p
50 FOR t=1 TO 500:NEXT t,p
-expresii asociate;
INK,GRAPHICS PAPER,PEN
PEEK -functie
-Citeste continutul locatiei de memorie Z80 a carei adresa este
indicata intre paranteze.Aceasta adresa trebuie sa fie cuprinsa
intre &0000 si &FFFF(respectiv 0 si 65535).PEEK nu opereaza decit
pe memoria executabila (RAM-random acces memory) si nu opereaza
pe memoria inoperanta (ROM-read only memory) si furnizeaza valori
cuprinse intre &00 si &FF(respectiv 0 la 255) echivalente cu
codul numeric al caracterelor ASCII.
-forma PEEK (adresa)
-exemplu Atentie deoarece citeste toata memoria!
Daca modificati riscati sa deteriorati programul!
10 MODE 1:ZONE 7
20 WINDOW 1,40,1,2:WINDOW#1,1,40,3,25
30 PRINT "Adresa memorie"
40 LOCATE 20,1:PRINT "Continut memorie"
50 FOR n=0 TO 65535
60 LET p=PEEK(n)
70 PRINT#1,n,"(&";HEX$(n);")";
80 PRINT#1,TAB(20);p,"(&";HEX$(p);")"
90 NEXT n
sau 10 LET x=PEEK(&0007)
20 PRINT x (daca dorim sa citim o singura adresa)
-expresii asociate;
POKE
-69-
PEN -comanda
-Selectioneaza culoarea(cerneala) utilizata pentru a scrie pe
ecran,sau pe canalul indicat (imprimanta).Pentru selectie se
foloseste un numar cuprins intre 1 si 15.Numarul de canal este
facultativ (daca lipseste se considera implicit 0).Ultimul
parametru (felul fondului) se precizeaza prin 1=transparent
sau 0=opac.
-forma PEN#(numar de canal),(cerneala),(felul fondului)
-exemplu 10 MODE 0:PAPER 0:INK 0,13
20 FOR p=1 TO 15
30 PEN p:PRINT SPACE$(47);"PEN";p
40 FOR t=1 TO 500:NEXT t,p:GOTO 20
-expresii asociate; PAPER
PI -functie
-Furnizeaza valoarea numarului PI(3.14159265etc.) respectiv
raportul dintre circumferinta si diametrul unui cerc.
-forma PI
-exemple PRINT PI
sau 10 FOR x=1 TO 10
20 PRINT PI*x^2/2
30 NEXT x
-expresii asociate;
DEG,RAD
PLOT -comanda
-Afiseaza grafic punctul definit prin coordonatele x si y ,
reprezentat cu culoarea (cerneala=nr, de la o la 15) si cu
modul de interactiune cu caracterele preexistente (tip cerneala
0=normal,1=XOR,2=AND si 3=OR.
Ultimi doi parametri sint facultativi (daca lipsesc se considera
implicit ca au valoarea 0)
-forma PLOT(coordonata x),(coordonata y),(cerneala),(tip de
5 CLS cerneala)
-exemple 10 FOR x=1 TO 200
20 FOR y=200 TO 1 STEP -1
30 PLOT x,x
40 PLOT y,y
50 PLOT x,y
60 PLOT y,x
70 NEXT y
80 NEXT x
10 MODE 1:BORDER 0:PAPER 0:PEN 1
20 INK 0,0:INK 1,26:INK 2,13,26:DEG
30 FOR x=1 TO 360:ORIGIN 320,200
40 DRAW 50*COS(x),50*SIN(x),1
50 PLOT 100*COS(x),25*SIN(x):NEXT x
60 ORIGIN 0,0:LET t=TIME+700:WHILE TIME
70 PLOT RND*640,RND*400:WEND
80 PLOT RND*640,RND*400,2
90 GOTO 90
-expresii asociate;
GRAPHICS PEN,PLOTR
-70-
PLOTR -comanda
-Afiseaza un punct situat la x,y de pozitia actuala a cursorului
In rest este identica cu PLOT.Culoarea se selecteaza prin 0-15,
iar tipul de interactiune prin 0-3.
-forma PLOTR(deplasare x),(deplasare y),(culoare),(tip de
interactiune)
-exemple 10 PRINT "Grafice de functii"
20 BORDER 0:GRAPHICS PEN 5:CLS
30 MODE 1:PLOT 0,0
40 FOR x=1 TO 100
41 PLOT 0,x
42 PLOT x,0
50 PLOT 7*x,x^2
60 PLOT x^2,x*13
70 NEXT x
-expresii asociate;
GRAPHICS PEN,PLOT
POKE -comanda
-Inscrie valoarea corespunzatoare (numar intreg cuprins intre
0 si 255) la adresa indicata din memoria activa (RAM) din Z80
(Z80 este procesorul alfanumeric).Comanda este echivalenta cu
PEEK dar in loc sa citeasca scrie datele in memorie.Se va
utiliza cu atentie deoarece o comanda gresita poate altera sau
defecta programul.
-forma POKE(adresa)(numar intreg)
-exemplu 10 FOR m=65530 TO 65535
20 POKE m,100
30 NEXT m
RUN si apoi executam NEW
10 LET x=PEEK(&FFFD)
20 PRINT x
-Observatie;prin comanda PEEK varificam daca la comanda POKE
am introdus corect datele.Se recomanda ori de cite ori utilizam
comanda POKE si introducem date pe care nu le putem verifica
prin comanda LIST.In exemplul de mai sus am introdus in liniile
65350 pina la 65535 valoarea 100 iar prin PEEK(&FFFD)citim linia
655333 in care vom avea valoarea 100.Pentru utilizarea corecta
a comenzii PEEK se va consulta tabelul de echivalenta cu codul
hexazecimal (65533 se scrie FFFD).
POS -functie
-Calculeaza pozitia cursorului de text pe axa orizontala,pornind
de la marginea stinga a ferestrei.Parametrul (numarul de canal)
trebuie sa fie precizat si sa fie diferit de 0.Se utilizeaza
pentru afisarea pozitiei cursorului in programele editor de text.
De exemplu in editorul din MS-DOS se observa pe bara de jos in
dreapta afisajul Line:xx alaturi de Col:yy unde se sfiseaza
pozitia pe verticala a cursorului.
-forma POS #(numar canal)
-exemplu 10 DIM A (10,10)
20 FOR X=1 TO 10:LOCATE x,x
30 PRINT XPOS x:NEXT x
-expresii asociate;VPOS,WINDOW respectiv XPOS si YPOS
-71-
PRINT -comanda
-Afiseaza variabila sau sirul de variabile solicitate,textul sau
caracterele grafice situate intre ghilimele sau trimite datele
de mai sus pe un canal de iesire specificat prin (numar de
canal) la o imptimanta,un alt calculator,un alt monitor sau un
alt periferic.Daca variabilele sau textul solicitat sint urmate
de punct si virgula,atunci vor fi tiparite in continuarea celor
precedente fara salt la rindul urmator.Daca sint urmate de vir-
gula caracterele vor fi afisate una dupa cealalta in ordinea
introducerii lor.Valorile constante,ca si caracterele grafice
trebuiesc introduse intre ghilimele.
-forma PRINT #(numar de canal),(lista variabile sau constante)
-exemple 10 FOR x=1 TO 10
20 PRINT x
30 NEXT x
sau 10 FOR x=1 TO 10
20 PRINT x;
30 NEXT x
sau 10 PRINT "Orice fel de text"
PRINT SPC -comanda
-Determina spatiul liber ce trebuie pastrat intre doua variabile
sau doua fragmente de text de tiparit.
-forma PRINT#(numar de canal),(lista de variabile);SPC(numar
intreg)(lista de articole de imprimat
-exemplu 10 PRINT "Aceasta este instructiunea SPC"
20 FOR x=4 TO 15
30 PRINT SPC(5)"a";SPC(x);"b"
40 NEXT x
-expresii asociate;
PRINT,PRINT TAB,PRINT USING,ZONE
PRINT TAB -comanda
-Determina tiparirea cu numarul de spatii dintre caractere
specificat prin numarul din paranteza,spatiul liber fiind
masurat spre stinga caracterului afisat (SPC masoara spatiul
total liber).Daca in rindul respectiv nu este spatiu sufi-
cient,afisarea continua pe rindul urmator.Se utilizeaza mai
ales pentru tabele.
-forma PRINT#(numar canal),(lista de variabile)TAB(numar
intreg)(lista de articole sau variabile)
-exemplu 10 PRINT "Aceasta este instructiunea TAB"
20 FOR x=6 TO 15
30 PRINT TAB(5)"a";TAB(x)x
40 NEXT x
-expresii asociate;
PRINT,PRINT SPC,PRINT USING,ZONE
PRINT USING -comanda
########### -Determina un anumit format de afisare a variabilelor,
determina numarul de zecimale pentru calculele cu numere
zecimale,adauga anumite semne sau spatii fixe la tipari-
rea unui rezultat (pret) dupa cum urmeaza:
-72-
-FORMATE NUMERICE
# -fiecare semn # rezerva spatiul pentru o cifra
. -stabileste pozitia in care va apare virgula zecimala
, -rezerva un spatiu (apare intotdeauna inaintea punctului si
specifica dispunerea cifrelor zecimale in grupuri de cite trei
de exemplu #######,.##)
** -toare spatiile situate inaintea cifrelor vor fi completate cu
asterixuri
$$ -adauga semnul $ inaintea fiecarui numar (se foloseste pentru
tiparirea preturilor in dolari)
**$ -adauga si asterixuri si semnul dolar inaintea cifrelor
+ -adauga si semnul la tiparirea numarului
- -adauga semnul minus la numerele negative (se adauga la sfir-
sitil expresiei ######.#####-
^^^^ -arata ca numarul trebuie sa apara ca exponent (EX.#.###^^^^+)
-FORMATE ALFANUMERICE (pentru siruri de litere)
! -arata ca numai primul caracter al sirului trebuie sa apara
& -arata ca sirul trebuie sa apara "asa cum este"
-forma generala PRINT#(numar canal)(lista de variabile);USING(model
de format)(separator)(expresie)
-exemple 10 FOR x=1 TO 10
20 LET n=100000*(RND^5)
30 PRINT "marfa";USING "#######.#######";n
40 NEXT x
sau 10 LET a$="FF######,.##"
20 LET b$="!"
30 PRINT USING a$;12345.67890;
40 PRINT USING b$;"centime"
sau 10 CLS:LET a$="abcdefghijklmnoprst"
20 PRINT "sir de caractere alfanumerice";a$
30 PRINT "Cu !="
40 PRINT USING "!";a$
50 PRINT "Cu \spatii\="
60 PRINT USING "\ \";a$
70 PRINT "Cu &="
80 PRINT USING "&";a$
90 END
-expresii asociate;
PRINT,PRINT SPC,PRINT TAB,ZONE
RAD -comanda
-Stabileste modul de calcul al unghiurilor exprimate in radiani.
In BASIC acesta este modul de calcul daca nu a fost specificat
altfel prin DEG. 5 LET y=1:GOTO 10
-forma RAD 6 LET y=2
-exemple 10 FOR x=1 TO 36
20 PLOT 100+20*SIN(x),100+20*COS(x)
30 NEXT x:CLS
40 IF y=1 THEN GOTO 90
50 IF Y=2 THEN GOTO 100
60 END
90 DEG:PRINT "expresia in grade":GOTO 6
100 RAD:PRINT "expresia in radiani":GOTO 5
-73-
RANDOMIZE -comanda
-Extrage numera aleatoare (la intimplare) si calculeaza
expresia data in functie de aceste numere.Secventa de
numere poate fi predeterminata sau absolut la intimplare.
RANDOMIZE TIME furnizeaza o secventa practic imprevizibila.
Numerele aleatoare sint cuprinse intre 0 si 1 si sint
reprezentate prin numere cu 9 zecimale(destul de discrimi-
native.In secventele pseudoaleatorii fiecare numar depinde
de precedentul prin o formula oarecare si dupa un anumit
ciclu numerele se repeta in aceeasi ordine.
-forma RANDOMIZE
-exemple PRINT RND
sau 10 FOR x=1 TO 10
20 PRINT RND
30 NEXT x
sau 10 BORDER 20:CLS
20 LET x=RND*600
30 LET y=RND*600
40 PLOT x,y
50 GOTO 20
-expresii asociate;
RND
READ... -comanda
RESTORE -Citeste datele continute intr-o instructiune DATA si le atribuie
variabilei specificate.Cind exista mai multe instructiuni DATA
si comanda READ solicita mai multe elemente decit cele din prima
instructiune DATA atunci programul citeste automat urmatoarea
instructiune DATA si elementele sale pina cind epuizeaza ope-
ratiile solicitate.RESTORE permite revenirea la o instructiune
DATA anterioara.Astfel,datele dintr-o instructiune DATA pot fi
citite si interpretate diferit,de mai multe ori in cadrul unui
singur program (de exemplu pot genera sunete si imagini simultan)
-forma READ(lista de variabile)
-exemple 10 DATA 1,2,3,4,5,6,7,8,9,0
20 FOR x=1 TO 25
30 READ p
35 PRINT p
40 NEXT x
50 DATA 11,12,13,14,15,16,17,18,19,20
60 DATA 21,22,23,24,25,26,27,28,29,30
70 END
sau 10 DATA T,E,X,T, ,D,E, ,C,O,N,T,R,O,L
20 FOR x=1 TO 15
30 READ a$
40 PRINT a$
50 NEXT x
sau 10 DATA 1,i,a,n,u,a,r,i,e,2,0,0,2
20 FOR x=1 TO 13
30 READ a$
40 PRINT a$;
50 NEXT x
-expresii asociate;
DATA,RESTORE
-74-
RELEASE -comanda
-Elibereaza canalele sonore pentru comanda SOUND blocate prin
comanda INKEY(x)=-1
-forma RELEASE(canale sonore)
-exemplu 10 SOUND 65,1000,100
20 PRINT "Apasati R pentru a elibera nota"
30 IF INKEY(50)=-1 THEN 30
40 RELEASE 1
-Observatie;parametrul (canale sonore) poate avea urmatoarele
valori: 1:Elibereaza canalul A
2:Elibereaza canalul B
3:Elibereaza canalul A si B
4:Elibereaza canalul C
5:Elibereaza canalul A si C
6:Elibereaza canalul B si C
7:Elibereaza canalul A si B si C
-expresii asociate;SOUND
REM -comanda
-Insereaza in program o remarca sau un comentariu care nu este
afisat sau executat dar ofera indicatii pentru depanare sau modi-
ficare de linii de program dupa comanda LIST.Este destinat doar
pentru programatori nu si pentru utilizatori.Se poate inlocui cu
un apostrof in majoritatea versiunilor.Orice text situat la
dreapta de comanda REM este neglijat de catre program chiar daca
acesta contine instructiuni executabile,comenzi sau operatii logice
executabile(uneori,programatorii adauga astfel secventele princi-
pale din program pentru a "proteja" programul de intrusi iar pentru
activarea lor trebuie stearsa comanda REM).Comanda REM poate sa
contina orice fel de text dar in mod normal contine doar date
absolut indispensabile pentru programator pentru depanarea sau
explicitarea programului de exemplu cheia pentru un cod de citire.
-forma REM-text
-exemplu 10 CLS
15 REM-PASCAL(pasul calului la sah)
20 DIM R(10,10)
30 FOR x=1 TO 10 STEP 2
40 FOR y=1 TO 10 STEP 2
50 LOCATE x,y
60 PRINT "O"
70 FOR w=1 TO 500:NEXT w
80 LOCATE x+3,y+3:PRINT "#"
90 NEXT y
100 NEXT x
-expresii asociate;nu sint
REMAIN -functie
-Citeste timpul care ramine de masurat cu cronometrul indicat
si utilizat pentru comanda AFTER sau EVERY.
-forma REMAIN(numar de cronometru)
-exemplu 10 AFTER 50,1 GOSUB 30
20 PRINT REMAIN(1)
30 GOTO 30:RETURN
-75-
exemplu 10 AFTER 1000,1 GOSUB 100
30 FOR x=1 TO 100
40 PRINT x
50 NEXT x
55 PRINT TAB(10)REMAIN(1);"au mai ramas"
60 GOTO 30
100 END
-expresii asociate;
AFTER,DI,EI,EVERY
RENUM -comanda
-Renumeroteaza liniile unui program.Primul parametru (numar de
linie nou)desemneaza numarul cu care va apare linia de adresa
selectata dupa ce are loc modificarea.Al doilea parametru (nu-
marul de linie vechi) indica numarul de linie din program de
la care se va incepe renumerotarea.Al treilea parametru (incre-
mentul)indica din cite in cite linii se va face renumerotarea.
Daca nu se specifica ultimii doi parametrii atunci se vor renu-
merota toate liniile din program din 10 in 10.RENUM opereaza
automat si reajustarile necesare pentru GOTO si GOSUB dar nu
modifica adresele pentru KEY,REM,CHAIN si CHAIN MERGE.Numerele
de linie trebuie sa fie cuprinse intre 1 si 65535.
-forma RENUM(numar de linie nou),(numar de linie vechi),(incre
ment)
-exemplu 10 CLS
20 REM aceasta linie devine linia 123
30 REM aceasta linie devine linia 124
40 REM aceasta linie devine linia 125
RENUM 123,20,1
apoi LIST
-expresii asociate;
DELETE,LIST
RESTORE -comanda
-Repune cursorul pe instructiunea DATA indicata.In lipsa unui
parametru specificat,cursorul revine automat la prima instruc-
tiune din program.
-forma RESTORE(numar de linie)
-exemplu 10 DATA 1,2,3,4,5,6,7,8,9,10
Dostları ilə paylaş: |
|
|