|
-forma DEFREAL (lista de litere)
|
səhifə | 7/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| -forma DEFREAL (lista de litere)
-exemple 10 DEFREAL n
20 LET numar=PI
30 PRINT numar
sau 10 DEFREAL n
20 LET numar=33.77
30 LET seif=10000.57
40 DEFINT c
50 LET casa=146.768
60 PRINT numar;"numar"
70 PRINT casa;"casa"
-Observatie;pentru ca expresia sa se aplice tuturor variabilelor
denumite prin litere vom utiliza forma DEFREAL a-z caz in care
toate variabilele numerice vor fi exprimate prin numere reale.
-expresii asociate:DEFINIT,DEFSTR
DEFSTR -comanda
-Variabila asupra careia se aplica functia este selectata dupa
prima litera din numele sau.Comanda poate fi urmata de un sir
de litere sau de intregul alfabet.Actoineaza la fel ca si
comenzile de mai sus dar se aplica pentru litere
-forma DEFSTR(lista de litere)
-exemple 10 DEFSTR n 10 DEFSTR k
20 let nume="BASIC" 20 let knume="ANA"
30 PRINT nume 30 PRINT knume
-Observatie;cu aceasta comanda se pot selecta intr-un program
un numar de variabile care indeplinesc o anumita conditie.
Se pot selecta deodata toate literele alfabetului.
-expresii asociate;DEFINT,DEFREAL
-41-
DEG -comanda
-Stabileste modul de calcul al unghiurilor in grade (degrade).
In mod curent functiile SIN,COS,TAN si ATN considera ca argu-
mentul care li se transmite este exprimat in radiani.Comanda
ramine valabila pina cind se utilizeaza comenzile RAD sau
NEW,CLEAR,LOAD,RUN etc
-forma DEG
-exemple 10 DEG
20 FOR x=1 to 360
30 PRINT SIN(x)
40 NEXT x
sau 1 CLS
10 DEG
20 FOR X=1 TO 360
30 PLOT 100*COS(x)+200,100*SIN(x)+200
40 NEXT x
-expresii asociate;
ATN,COS,RAD,SIN,TAN
DELETE -comanda
-Sterge o parte din program delimitata prin expresia din
paranteza (ansamblul de linii)
-forma DELETE (ansamblul de linii)
-exemple 10 PRINT "A"
20 PRINT "B"
30 PRINT "C"
40 PRINT "D"
50 DELETE 20-30
RUN apoi LIST si iar RUN
-expresii asociate;
CHAIN MERGE,RENUM
DERR -functie
-Raporteaza ultimul cod de eroare transmis de sistemul de
gestiune al dischetei.Valoarea lui DERR poate servi la con-
firmarea erorii descoperite.Se consulta lista cu coduri de
eroare sau mesaje de eroare.
-forma DERR
-exemple 10 NEXT
20 PRINT DERR
sau LOAD "abc"
scrieti C(cancel) la mesajul disc missing
ai apoi PRINT DERR
-expresii asociate;
ERL,ERR,ERROR,ON ERROR GOTO,RESUME
DI -comanda
-Dezactiveaza o intrerupere(alta decit ESC)pina cind este reacti-
vata prin comanda EI sau prin RETURN din GOSUB.Intrarea intr-un
program de intrerupere dezactiveaza automat intreruperile cu
prioritate egala sau mai mica.Se utilizeaza atunci cind progra-
mul trebuie sa se execute fara intrerupere (de exemplu atunci
cind sint in competitie doua subprograme pentru a folosi resurse-
le calculatorului-resurse grafice,discuri auxiliare,periferice)
-42-
DI(disable interrupt) se incearca si pentru depanarea unor
programe de BASIC defective care nici nu ruleaza functiile si
nici nu listeaza programul datorita unor intreruperi a caror
conditie nu poate fi indeplinita.
-forma DI
-exemple 10 FOR x=1 TO 1000
20 AFTER 2 GOSUB 80
30 PRINT x
40 NEXT x
80 CLS
90 RETURN
RUN si apoi adaugati 25 DI
RUN
OBS.RETURN revine in program in mijlocul
buclei FOR...NEXT si va genera mesaj de
eroare.DI anuleaza intreruperea din linia
20 prin GOSUB dar nu repara eroarea.
Adaugati si 27 EI si apoi RUN.
-expresii asociate;
AFTER,EI,EVERY,REMAIN
DIM -comanda
-Dimensioneaza un tablou.Prin DIM se aloca spatiul necesar unui
tablou prin specificarea valorilor maxime de indici.Daca nu se
specifica nici o valoare se considera implicit valoarea 0.Un
tablou se identifica (denumeste) printr-o variabila indexata
(care poate fi o litera) si un ansamblu de indici,astfel incit
fiecare "element" al tabloului sa aiba propria sa valoare de
indice(locatie in tablou).O bucla FOR...NEXT poate servi la
controlul tabloului,prelucrind fiecare element al tabloului pe
rind.Valoarea minima a unui indice este 0 (tabloul nu poate
avea dimensiuni negative).Tablourile pot fi multidimensionale
si fiecare element este referit prin pozitia sa in tablou.De
exemplu,intr-un tablou dimensionat prin DIM pozitie(20,20,20)
un element al tabloului va fi de exemplu pozitie (4,5,6)
-forma DIM (lista de variabile indexate)
-exemple 10 DIM T(12,31)
20 INPUT "Numarul lunilor";L
30 INPUT "Numarul zilelor";Z
40 FOR x=1 TO L
50 PRINT "Luna";x
60 FOR y=1 TO Z
70 PRINT TAB(10)"Ziua";y
80 NEXT y
90 NEXT x
sau 10 DIM M(30,30)
20 LET a=25
30 LET b=29
40 FOR x=1 TO a
50 FOR y=1 TO b
60 LOCATE x,y
70 PRINT "*"
80 NEXT y
90 NEXT x
-43-
sau 5 CLS
10 DIM A(16,12,18)
20 LET a=15
30 LET b=10
40 LET c=15
50 FOR x=1 TO a
60 FOR y=1 TO b
70 FOR z=1 TO c
80 LOCATE x,y
90 PRINT "."
100 LOCATE y,z
110 PRINT "#"
120 LOCATE z,x
130 PRINT "O"
140 NEXT z
150 NEXT y
160 NEXT x
-expresii asociate;
ERASE
DRAW -comanda
-Traseaza o linie pe ecran intre pozitia cursorului(pozitie
grafica) si o pozitie absoluta specificata prin coordonatele
x si y.Coloarea (cerneala) de trasaj poate fi specificata intre
0 si 15.Tipul de cerneala (facultativ) determina interactiunea
dintre graficul afisat si cel existent pe ecran pe traseul
instructiunii dupa cum urmeaza;
0:Normala
1:XOR (SAU exclusiv)
2:AND (si)
3:OR (SAU)
-forma DRAW(coordonata x),(coordonata y),(cerneala),(tip cerneala)
-exemple 10 MODE 2:BORDER 10:PAPER 0:INK 0,5
20 LET x=rnd*600:LET y=RND*300:LET z=RND*15
30 DRAW x,y,z
40 GOTO 20
sau 5 CLS
10 FOR x=1 TO 600 STEP 20
20 FOR y=1 TO 200 STEP 20
30 DRAW x,y,1
40 NEXT y
50 NEXT x
sau 5 CLS
10 DRAW 100,100,1
20 DRAW 100,200,1
30 DRAW 200,200,1
40 DRAW 200,100,1
10 DRAW 100,223,1
20 DRAW 200,223,1
30 DRAW 200,100,1
-expresii asociate;
DRAWR,GRAPHICS,PEN,MASK
-44-
DRAWR -comanda
-Traseaza o linie pe ecranul grafic pornind de la cursorul
grafic si pina la pozitia specificata de x si y.Culoarea
poate fi de la 0 la 15 iar tipul de cerneala (facultativ)
de la 0 la 3 0:Normal
1:XOR(SAU exclusiv)
2:AND(SI)
3:OR(SAU)
-forma DRAWR(deplasare x),(deplasare y),(cerneala),(tip cerneala)
-exemple 10 CLS:PRINT "Scara"
20 MOVE 0,350:FOR n=1 TO 8
30 DRAWR 50,0
40 DRAWR 0,-50
50 FOR x=1 TO 300
60 NEXT x
70 NEXT n:MOVE 348,0
80 END
sau 10 CLS
20 LOCATE 100,100
30 FOR x=10 TO 200 STEP 10
40 MOVE 10,100
50 DRAWR x,100
60 DRAWR 200,x
70 NEXT x
-expresii asociate;
DRAW,GRAPHICS PEN,MASK
EDIT -comanda
-Afiseaza linia de program desemnata precum si cursorul pregatit
de editare.Orice modificare in linia de program,dupa apasarea
tastei ENTER devine definitiva.Se utilizeaza pentru modificarea
sau corectarea programelor.
-forma EDIT (numar de linie)
-exemple 10 PRINT "BASIC"
apoi EDIT 10
sau in orice program
solicitati LIST alegeti un numar de linie
dintre cele existente si apoi
scrieti EDIT (numarul ales)
-expresii asociate;
AUTO,LIST
EI -comanda
-Activeaza o intrerupere dezactivata de DI.Intreruperile dez-
activate printr-un subprogram sint automat restabilite prin
comanda RETURN la sfirsitul subprogramului
-forma EI 10 FOR x=64 TO 200 Adaugati 21 DI
20 AFTER 1 GOSUB 100 RUN
-exemple 30 IF x=200 GOTO 10 Apoi 22 EI
40 PRINT CHR$(x) RUN
100 CLS:RETURN
-expresii asociate;AFTER,DI,EVERY,REMAIN
-45-
ELSE -operator conditional pentru comanda IF
-Stabileste operatia ce urmeaza a fi executata in cazul in
care conditia pentru functia IF nu este indeplinita
(vezi expresia IF)
END -comanda
-Termina executia programului si restabileste modul direct.
Un program poate sa contina mai multe instructiuni END cu
conditia sa existe operatii de salt conditional peste linia
de adresa care contine comanda END (programul contine mai
multe variante alternative).Obisnuit fiecare program se
va termina cu comanda END.
-forma END
-exemple 10 FOR x=1 TO 10
20 PRINT x
30 NEXT x
40 INPUT "Introduceti un numar"
50 IF a<5 GOTO 70
60 END
70 GOTO 10
-expresii asociate;STOP
ENT -comanda
-Defineste anvelopa de tonalitate specificata printr-un numar
intre 1 si 15 utilizata pentru comanda SOUND.Fiecare sectiune
din anvelopa poate sa contina 2 sau 3 parametrii si anume
(parametrul 1)=numarul de pasi,(parametrul 2)=amplitudinea
pasului,(parametrul 3)=durata pasului.
Numarul de pasi-poate sa varieze de la 0 la 239 si determina
o variatie de tonalitate pentru o nota data.
Amplitudunea pasului poate lua valori cuprinse intre -128 si
127.Pasii negativi maresc inaltimea notei iar cei pozitivi
o coboara.Perioada sonora minima este 0.
Durata pasului se masoara in unitati de 0,01 secunde.Poate
avea valori intre 0 si 255.
Daca se folosesc doar doi parametri atunci acestia sint:
Parametrul 1=perioada sonora=exprima inaltimea sunetului si
poate lua valori de la 0 la 4000.
Parametrul 2=durata sunetului=ca mai sus.
Durata pasilor (tremoloului) nu trebuie sa depaseasca durata
sunetului deoarece in acest caz sunetul se termina inainte de
a epuiza fiecare pas(se mai numeste SOUNDBLASTER).Daca durata
sunetului este mai mare decit numarul de pasi atunci sunetul
va fi constant in portiunea sa finala.
Comanda ENT poate fi insotita de 5 sectiuni de anvelopa dife-
rite (fiecare dintre ele alcatuita din 2 sau 3 parametrii).
Fiecare comanda ENT noua anuleaza pe cele precedente.O comanda
ENT fara parametri (fare sectiune de anvelopa) anuleaza toate
specificatiile precedente.
-forma ENT(numar de anvelopa),(sect.anv),(sect.anv),(sect.anv),(
sect.anv),(sectiune de anvelopa)
-exemple 10 ENT 1,10,-50,10,10,50,10
20 SOUND 1,500,200,10,1
-46-
exemplu 10 ENT 1,230,-127,250
11 ENT 2,10,120,20
20 SOUND 1,200,20,12
30 ENT 3,200,120,20
40 SOUND 1,100,100,12
50 ENT 3,50,50,10
60 SOUND 1,150,50,10
70 GOTO 10
-expresii asociate;
ENV,SOUND
ENV -comanda
-Defineste anvelopa de volum pentru anvelopa de sunet utilizata
pentru comanda SOUND.(alti parametri pentru precizarea caracte-
relor sunetului-are importanta mai mare pentru definirea frec-
ventelor din domeniul ultra si infrasunetelor (cele care nu se
aud).Poate sa contina 2 sau 3 parametri;
Parametrul 1=numarul de pasi este de maximum 127 (de exemplu un
sunet de 10 secunde se poate imparti in 10 pasi de o secunda).
Parametrul 2=amplitudunea pasului-face sa varieze volumul de la
0 la 15 in raport cu pasul precedent.Are valori intre -128 si 128
Parametrul 3=durata pasului=durata in unitati de 0,01 secunde.
poate avea valori de la 1 la 255.
Daca se specifica doar 2 parametri acestia vor fi considerati ca;
Parametrul 1=anvelopa fizica-specifica valoarea ce trebuie trimi-
sa la registrul de anvelopa cuprins in generatorul sonor.
Parametrul 2=perioada anvelopei-valoarea de trimis la registrele
de perioada ale anvelopei din generatorul sonor.
Poate sa contina 5 sectiuni de anvelopa cu cite 2-3 parametri
fiecare.Primul pas al anvelopei se executa imediat.O noua anve-
lopa o anuleaza pe precedenta. O anvelopa fara sectiune de
anvelopa anuleaza toate valorile precedente.
-forma ENV(nr.anvelopa),(sect.anv),(sect.anv),(sect.anv),(sect.anv),
(sectiune de anvelopa)
-exemple 10 ENV 1,15,-1,10,15,1,10
20 SOUND 1,200,300,15,1
sau 10 ENV 1,20,12,5
20 SOUND 1,250,50,10 eventual adaugati si
30 ENV 2,50,-50,20 11 ENT 1,20,50,10
40 SOUND 1,100,10,10 31 ENT 2,10,100,20
50 ENV 3,100,-120,100 51 ENT 3,30,10,50
60 SOUND 1,150,15,10
70 GOTO 10
-expresii asociate;
ENT,SOUND
EOF -functie
-Verifica daca un fisier este deschis (end of file).Daca conditia
este adevarata returneaza -1 si daca este falsa returneaza 0.
-forma EOF
-exemple 10 WHILE NOT EOF
20 PRINT "a"
30 WEND
-47-
exemplu 1 CLS
10 DIM A(10,20)
20 FOR x=1 TO 10
30 FOR y=1 TO 20
40 LOCATE x,y
50 PRINT "O"
60 NEXT y
70 NEXT x
80 IF EOF THEN 100
90 END
100 LOCATE 30,40:PRINT "Sfirsit"
-expresii asociate;
OPENIN,CLOSEIN
ERASE -comanda
-Comanda de stergere pentru tablouri si fisiere.Se foloseste
atunci cind un tablou sau un fisier nu mai este necesar si
se elibereaza memoria de operare pentru alte fisiere.Se va
utiliza cu atentie (se pot sterge din greseala fisierele
de lucru ale programului care va deveni inoperant)
-forma ERASE(lista de variabile)
-exemple 10 DIM a(100),b(100)
20 READ a,b
30 PRINT a,b
40 DATA 1,2,3,4,5,6,7,8,,9
50 DATA 9,8,7,6,5,4,3,2,1,0
60 ERASE a,b
-expresii asociate;DIM
ERL -functie
-Returneaza numarul de linie al unei erori (ERROR LINE).
-forma ERL
-exempu 10 PRINT "AUTODEPANARE"
20 ON ERROR GOTO 40
30 GOTO 100
40 PRINT "EROARE IN LINIA=";ERL
50 PRINT "verificati sintaxa"
60 PRINT "rescrieti linia"
100 PRINT "START"
110 GOTO
-expresii asociate;
DERR,ERR,ERROR,ON ERROR GOTO,RESUME
ERR -functie
-Returneaza numarul ultimei erori intilnite.Se verifica in
lista de mesaje de eroare
-forma ERR
exemple GOTO 500
iar la mesajul LINE DOES NOT EXIST
PRINT ERR va returna 8
-expresii asociate;DERR,ERL,ERROR,ON ERROR GOTO,RESUME
-48-
ERROR -comanda
-Returneaza mesajul de eroare indicat prin numarul care
insoteste comanda (de la 1 la 32).Mesajul va fi cu acelasi
text ca si pentru erorile reale.Utilizind numere de la 33
la 255 ERROR se poate utiliza pentru a crea mesaje de
eroare cu textul dorit de utilizator si cu aparitie condi-
tionata de instructiunea dorita.
-forma ERROR (numar intreg)
-exemple 10 IF INKEY$=" " THAN 10 ELSE ERROR 17
ERROR 1
ERROR 2....ERROR 32
10 ON ERROR GOTO 100
20 INPUT "Introduceti un caracter";a$
30 IF LEN(a$)<>1 THEN ERROR 100
40 GOTO 20
100 IF ERR=100 THEN 110 ELSE 130
110 PRINT CHR$(7)
120 PRINT "Va rog UN caracter, nu mai multe "
130 RESUME 20
RUN si introduceti 13 sau un cuvint
10 INPUT "Parola?";a$
20 IF a$="NABUCODONOSOR" THEN 100 ELSE ERROR 22
100 PRINT "START "
-Observatie;instructiunea ERROR diferenteaza literele mici
de cele mari.In exemplul de mai sus daca vom scrie parola
cu litere mici vom receptiona un mesaj de eroare.
-expresii asociate;ERL,ERR,ON ERROR GOTO,RESUME
EVERY...GOSUB -comanda
-Apeleaza un subprogram la intervale regulate.Durata
cronometrului se specifica prin unitati de 0,02 secunde.
Numarul de cromometru (de la 0 la 3) specifica unul
dintre cele patru cronometre ce poate fi utilizat.Crono-
metrul 3 are prioritate superioara iar 0 inferioara.
Pentru fiecare cronometru se poate asocia un subprogram.
-forma EVERY(durata cronometrului),(numarul cronome-
trului) GOSUB (numar de linie)
-exemple 10 EVERY 50,1 GOSUB 30
20 GOTO 20
30 SOUND 1,20
40 RETURN
10 EVERY 100,3 GOSUB 100
20 FOR x=50 TO 200 STEP 10:IF x=200 GOTO 10
30 FOR y=10 TO 50 STEP 5
40 LOCATE x,y:PRINT "X"
50 SOUND 1,x,10
60 SOUND 1,y,10
70 LOCATE x/10,y/5:PRINT "O"
80 NEXT y
90 NEXT x
100 CLS:RETURN
-expresii asociate;
AFTER...GOSUB,REMAIN
-49-
EXP -functie
-Calculeaza "e" la puterea data prin (expresia numerica)
iar "e" se considera egal cu 2,7182818(aproximativ),numar
al carui logaritm natural este 1(ln e=1)
-forma EXP(expresie numerica)
-exemple PRINT EXP(6.876)
sau PRINT EXP(PI/2)
sau PRINT EXP (SIN(PI/4))
sau 10 FOR X=1 TO 30
20 PRINT EXP(X)
30 NEXT X
expresii asociate;
LOG
FILL -comanda
-Completeaza cu culoare o zona a ecranului,la alegere,ale
carei margini sint delimitate de liniile desenate cu
culoarea trasorului sau cu culoarea fondului ecranului al
carui numar este intre 0 si 15.Completarea porneste de al
pozitia cursorului grafic.Daca acesta se afla pe o margine
a zonei operatia nu are loc.
-forma FILL (cerneala)
-exemple 10 MODE 0
20 FOR n=1 TO 50
30 PRINT "O";
40 NEXT n
50 LET stylo=2+RND*13
60 FILL stylo
70 GOTO 50
sau 1 CLS
2 MODE 2:BORDER 10:PAPER 0:INK 0,0
10 FOR x=1 TO 500 STEP 10
20 FOR y=1 TO 400 STEP 20
30 DRAW x,y,INT(RND*10+1)
40 DRAW y,x,INT(RND*10+1)
50 NEXT y
60 NEXT x
70 FILL INT(RND*15+1)
5>
Dostları ilə paylaş: |
|
|