|
Daca nu se specifica se considera #0(primul parametru)
|
səhifə | 9/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| Daca nu se specifica se considera #0(primul parametru).
Separatorul poate fi o virgula sau punct-virgula.Punctul-
virgula antreneaza afisarea unui semn de intrebare in
timp ce virgula il anuleaza.
Intrarea LINE INPUT se termina prin activarea tastei RETURN
LINE INPUT de la canalul #9 al dischetei (sau de la caseta)
se termina printr-o intoarcere de car sau prin atribuirea
a mai mult de 255 caractere pentru variabila sir.
-forma LINE INPUT#(numar de canal),[;](sir separator)(va-
riabila in sir)
-exemple 10 LINE INPUT "Tastati un text sau o linie
punctata",a$
20 CLS
30 FOR x=1 TO 20
40 PRINT x:PRINT a$
50 NEXT x
-Observatie;comanda se poate utiliza si pantru a citi si
pune in executie o linie de program situata in alt program
de pe discheta sau din memorie dar este necesara o secventa
mai lunga de comenzi (pauza program,deschide programul x,
cauta secventa y,citeste secventa y,LINE INPUT (secventa y)
si apoi RESUME)sau pentru a depana un program cu ajutorul
altui program citind si executind linie cu linie.
-expresii asociate;INPUT
LIST -comanda
-Afiseaza programul solicitat (din memorie,de pe o discheta sau
din memoria imprimantei.Afisarea se face pe ecran (cu parametrul
0 sau fara nici un parametru-zero implicit-sau se tipareste pe
imprimanta cu parametrul 8.Programul va fi listat complet sau
doar de la linia dorita la linia specificata daca se solicita
prin parametrul (ansamblu de linii).Listarea poate fi intrerupta
cu ESC in orice moment si continuata cu ENTER sau bara de spatiu
Daca se apasa ESC de doua ori programul se intrerupe definitiv
si se sterge din memorie.
-forma LIST(ansamblu de linii),(numar de canal)
-exemplu LIST 10-100 (pentru orice program)
sau LIST
(exersati cu oricare din programele precedente)
-expresii asociate;nu sint
-59-
LOAD -comanda
-Incarca in memorie un program BASIC de pe discheta,stergind
orice alt program(daca memoria de operare este mai mare decit
cea conventionala se pot incarca mai multe programe concomi-
tent).Primul parametru este numele fisierului care contine
programul dorit iar al doilea parametru (adresa) incarca un
fisier la adresa indicata in locul in care se gasea programul
in momentul salvarii lui(un program nu incepe obligatoriu de
la linia 0 ci poate sa inceapa de la 30.000 de exemplu).Un
program protejat nu poate fi incarcat cu comanda LOAD ( cele
"protejate" contin si comanda de stergere automata din memorie)
Pentru deprotejare se sterge caracterul ESC de la inceputul
programului (dar atentie-de obicei programele au fost prote-
jate pentru ca sint bune si nu necesita modificari).Dupa
incarcarea in memorie se va utiliza comanda RUN.
-forma LOAD(nume fisier),(adresa)
-exemplu LOAD "Fisier 1.bas",00AA (presupunind ca
avem pe discheta
un program numit
FISIER 1)
-expresii asociate;
CHAIN,CHAIN MERGE,MERGE,RUN,SAVE
LOCATE -comanda
-Deplaseaza cursorul de text la o pozitie relativa fata de
coltul din stinga sus a ecranului (sau ferestrei delimitate
prin program) corespunzator cu coordonatele indicate (primul
numar pentru deplasare la dreapta(coordonata orizontala) iar
al doilea pentru deplasare in jos(coordonata verticala) iar
numarul de canal desemneaza linia electrica din circuit pe care
se realizeaza operatia.Cind acest numar lipseste se considera
implicit zero si operatia se executa pe monitor.
-forma LOCATE#(numar de canal),(coordonata x),(coordonata y)
-exemple 10 FOR x=1 TO 10
20 LOCATE x,10
30 PRINT x
40 NEXT x
10 FOR x=1 TO 10
20 LOCATE 10,x
30 PRINT x
40 NEXT x
10 FOR x=1 TO 10
20 LOCATE x,x
30 PRINT x
40 NEXT x
10 FOR x=1 TO 50 STEP 10
20 FOR y=10 TO 100 STEP 10
30 LOCATE x,y:DRAW x,y
40 NEXT y:NEXT x
-Observatie;in cazul programelor matriceale se poate utiliza
pentru localizarea unei matrice si operatii in interiorul
matricei.
-expresii asociate;WINDOW
-60-
LOG -functie
-Calculeaza logaritmul natural al unei expresii numerice cu
valoare mai mare decit 0.
-forma LOG(expresie numerica)
-exemple print LOG(9999)
10 FOR x=PI TO PI^10
20 PRINT LOG(x)
30 NEXT x
-expresii asociate;
EXP,LOG 10
LOG10 -functie
-Calculeaza logaritmul in baza 10 al unei expresii numerice
cu valoare mai mare decit 0 (logaritm din numere pozitive)
-forma LOG 10(expresie numerica)
-exemple PRINT LOG10 (9999)
10 FOR x=1 TO 100
20 PRINT LOG10(x^2)
30 NEXT x
-expresii asociate;
EXP,LOG
LOWER$ -functie
-Schimba toate majusculele unui sir de caractere alfanumerice
in litere mici.
-forma LOWER$(sir de caractere alfanumerice)
-exemple 10 LET a$="PRIVITI CUM SE SCHIMBA LITERELE"
20 PRINT a$
30 AFTER 50 GOSUB 50
40 GOTO 40
50 PRINT LOWER$(a$+" cu minusculele lor!")
-Observatie;in exemplul de mai sus s-a utilizat un artificiu
de calcul (40 GOTO 40) care nu are sens de operatie matematica
ci doar mentine programul activ pe o linie de asteptare pina
cind se indeplineste conditia AFTER (procedeul se utilizeaza
mult pentru jocurile pe calculator)
-expresii asociate; UPPER$
MASK -comanda
-Defineste modelul de urmat pentru trasarea unor linii.Primul
parametru (numar intreg) cu valoare intre 0 si 255 activeaza
sau dezactiveaza bits-ii din fiecare grupa adiacenta de 8 pixeli
(asemanator cu scrierea unei liniute din desenul unui caracter
sau al unei cifre).Al doilea parametru(trasajul primului punct)
arata daca primul punct al liniei trebuie sa fie trasat (1) sau
sa nu fie trasat (0).Se poate omite unul dintre caractere dar
nu se pot omite amindoua.
-forma MASK(numar intreg),(trasajul primului punct)
-exemple 10 CLS:FOR x=1 TO 255
20 DRAW x,x,5
30 DRAW x,100,5
40 DRAW 100,x,5
50 MASK x,1 (incercati si fara 50 MASK x)
60 NEXT x
-61-
MAX -functie
-Calculeaza valoarea cea mai mare dintr-o lista
-forma MAX(lista de expresii numerice)
-exemple 10 LET x=15
20 LET y=19
30 LET z=23
40 PRINT MAX(1,5,9,x,7,y,13,z,6)
-Observatie;se utilizeaza in programarea jocurilor pentru
calculul si selectarea operatiei (miscarii urmatoare).
-expresii asociate;
MIN
MEMORY -comanda
-Defineste spatiul de memorie disponibila fixind adresa
octetului cel mai mare.
-forma MEMORY(adresa)
-exemplu MEMORY &20AA
-Observatie;BASIC nu exploateaza decit blocul 0 al memoriei.
Nu este recomandabil sa modificati spatiul destinat pentru
memorie deoarece largind spatiul de memorie libera riscati
sa stergti din programul de operare (din sistem).Daca sinteti
extrem de avansat si doriti cu orice pret sa largiti spatiul
de memorie utilizat (pentru programe de uz propriu care nu vor
putea fi rulate pe alte calculatoare) puteti sa renuntati
selectiv la unele dintre functiile BASIC si sa modificati
spatiul de memorie in dauna sistemului.
-expresii asociate;
FRE,HIMEM,SYMBOL,SYMBOL AFTER
MERGE -comanda
-Incarca un program de pe discheta si inlantuieste programul cu
cel existent in memorie.Cind in ambele programe exista aceleasi
numere de linie,cele vechi se sterg automat si se scriu cele
noi.ATENTIE-daca doriti sa adaugati un program din memorie dar
sa si pastrati nemodificat pe cel existent atunci trebuie ca
numerele liniilor de adresa ale celor doua programe sa nu coin-
cida deloc (de exemplu daca programul de pe discheta este scris
intre 10 si 500 cel din memorie va fi intre 500 si 1000 iar cel
rezultat prin contopirea celor doua programe va fi intre 10 si
1000).Fisierele protejate (salvate cu SAVE p) nu pot fi fuziona-
te decit dupa deprotejare.
-forma MERGE(nume fisier)
-exemplu MERGE "Fisier 1.bas"
-expresii asiciate;
CHAIN,CHAIN MERGE,LOAD
MID$ -functie
-Selecteaza un fragment dintr-un sir incepind cu primul caracter
specificat prin (pozitia de plecare) si continind numarul de
caractere specificat prin (lungimea subsirului).Daca cel de al
doilea parametru (lungimea subsirului) nu este specificat atunci
se afiseaza tot restul sirului incepind cu primul parametru.
-forma MID$(sir de caractere),(pozitia de plecare),(lungimea
subsirului)
-62-
exemple 10 LET a$="Despartim cuvintele in grupuri de cite 3 litere !"
20 FOR x=1 TO 50 STEP 3
30 PRINT MID$(a$,x,3):PRINT TAB(x)" ";
40 NEXT x
10 MODE 1:ZONE 3
20 LET a$="ENCICLOPEDIE"
30 PRINT "Priviti cum se aleg literele dorite";a$
40 FOR a=1 TO LEN(a$)
50 PRINT MID$(a$,a,2)
60 FOR t=1 TO 70:NEXT t,a
70 INPUT "Introduceti un cuvint";a$
80 GOTO 40
-expresii asociate;
LEFT$,RIGHT$
MID$= -comanda
-Insereaza in sirul de caractere specificat,incepind cu pozitia
specificata(pozitie de insertie),un sir de caractere selectate
prin (lungimea noului sir).
-forma MID$(variabila sir),(pozitie de insertie),(lungimea
noului sir)=
-exemple 10 LET a$="Buna ziua!"
20 PRINT a$
30 MID$(a$,8,2)="!!"
40 PRINT a$
50 MID$(a$,6,5)="seara"
60 PRINT a$
-Observatie;noul sir inlocuieste caracterele existente.Comanda
se utilizeaza pentru corecturi si nu pentru adaugarea de noi
caractere (nu se pot adauga mai multe caractere decit cele
existente in sir)
-expresii asociate;
LEFT$,RIGHT$
MIN -functie
-Afiseaza valoarea cea mai mica dintr-un sir de expresii numerice
-forma MIN(lista de expresii numerice)
-exemple PRINT MIN(2,5,7,9,3,11,2)
PRINT MIN(7,-45,77,-25,3)
sau 10 FOR x=1 to 10
20 PRINT MIN(0.8,0.7,1/x,13,0.9)
30 NEXT x
-expresii asociate;
MAX
MOD -operator
-Calculeaza restul dintr-o impartire cu rest si afiseaza doar
restul impartirii (selecteaza restul unei impartiri).Primul
parametru (argument 1) desemneaza deimpartitul iar al doilea
parametru (argument 2) desemneaza impartitorul.
-forma (argument 1)MOD(argument 2)
-exemple PRINT 10 MOD 3
PRINT 10 MOD 5
-63-
exemple 10 FOR x=1 TO 10
20 FOR y=3 TO 7
30 PRINT x MOD y;"=restul din";x;"/";y
40 PRINT y MOD x;"=restul din";y;"/";x
50 NEXT y
60 NEXT x
-expresii asociate;nu sint
MODE -comanda
-Modifica modul de afisare a ecranului.Valorile posibile sint
0,1,si 2.La trecerea de la un mod la altul culoarea ecranului
(cerneala) revine la 0 chiar daca a fost setata (programata)
diferit.Toate ferestrele si comenzile pentru cursor sint re-
initializate.In modul 0 se utilizeaza cei mai multi pixeli
pentru un caracter iar caracterele sint cele mai mari iar in
modul 2 se utilizeaza cei mai putini pixeli(puncte de pe ecran)
pentru un caracter si acestea sint mai mici si mai multe pe un
rind.
-forma MODE (numar intreg)
-exemple
10 DIM A(80,80)
20 FOR x=0 TO 2
30 MODE x
40 FOR w=1 TO 80
50 PRINT w;
60 LOCATE w,w
70 PRINT w
80 NEXT w
90 NEXT x
100 GOTO 10
-expresii asociate;
WINDOW,ORIGIN
MOVE -comanda
-Deplaseaza cursorul la punctul specificat prin coordonatele
x si y,modifica culaorea de scriere prin (cerneala 0-15) si modul
in care vor interactiona caracterele scrise cu cele existente
deja in punctul cu coordonatele descrise (pastreaza sau inlo-
cuieste caracterul existent)prin;
tip cerneala=0(normal),1(XOR-SAU),2(AND-SI),3(OR-SAU)
-forma MOVE(coordonata x),(coordonata y),(cerneala),(tip de
cerneala)
-exemple 10 MODE 1:TAG
20 LET x=RND*600:y=RND*430
30 DRAW x,y,INT(RND*15)
40 MOVE x,y
50 PRINT "sint aici"
60 GOTO 20
10 LET x=RND*300:LET y=RND*50
20 DRAW x,y,INT(RND*15):MOVE x,y
30 FOR q=1 TO 3*PI STEP PI/180
40 PLOT x+y+20*SIN(q),x+y+20*COS(q)
50 NEXT q:GOTO 20
-expresii asociate;MOVER,ORIGIN,XPOS,yPOS
-64-
MOVER -comanda
-Deplaseaza cursorul cu x,y fata de pozitia in care se afla
si eventual schimba culoarea de scriere prin parametrul
(cerneala) si modul de interactiune cu caracterele existente
prin (tip cerneala).Pentru cerneala valorile sint de la 0 la
15 iar pentru tip 0=normal, 1=SAU(exclusiv),2=SI,3=SAU.
-forma MOVER (deplasare x),(deplasare y),(cerneala),(tip de
cerneala)
-exemple 10 MODE 2:TAG:MOVE 0,16
20 PRINT "viata are";
30 FOR n=1 TO 10
40 MOVER -45,16
50 PRINT "suisuri";:NEXT n:PRINT " si";
60 FOR n=1 TO 10
70 MOVER -64,16
80 PRINT "coborisuri";:NEXT n
-expresii asociate;
MOVE,ORIGIN,XPOS,YPOS
NEW -comanda
-Sterge programul si variabilele din memorie.
Se utilizeaza ori de cite ori se incepe un program nou.
-expresii asociate nu sint.
NEXT -comanda
-Indica sfirsitul unei bucle FOR...NEXT
-forma NEXT (variabila)
-exemple 10 FOR a=1 TO 3
20 FOR b=0 TO 26
30 MODE 1
40 PEN a:BORDER b
50 PRINT "PEN";a;"BORDER";b
60 FOR c=1 to 500
70 NEXT c:NEXT b:NEXT a
-expresii asociate;
FOR,STEP,TO
NOT -operator
-Executa operatia sau asupra numerelor intregi.Inverseaza fiecare
bit din argument.
-forma NOT (argument)
-exemple 10 IF NOT "seara"<"dimineata" THEN PRINT "adevarat"
ELSE PRINT "fals"
sau 10 FOR x=1 TO 17
20 FOR y=5 TO 9
30 PRINT x;">";y
40 IF NOT x
50 IF NOT x>y THEN PRINT "fals"
60 NEXT y,x
-expresii asociate;
AND,OR,XOR
-65-
ON BREAK CONT -comanda
-Anuleaza actiunea tastei ESC,impiedecind oprirea
programului.Se utilizeaza cu prudenta deoarece programul
nu mai poate fi intrerupt decit prin oprirea si reini-
tializarea calculatorului,iar daca programul nu a fost
salvat se va sterge automat.Se poate dezactiva cu
ON BREAK STOP adaugata la program.Se utilizeaza mai ales
pentru sisteme de operare sau drivere de periferic
-forma ON BREAK CONT
-exemplu 10 ON BREAK CONT
20 FOR x=1 TO 100
30 PRINT x
40 NEXT x
ulterior adaugati 11 ON BREAK STOP
-expresii asociate;
ON BREAK GOSUB,ON BREAK STOP
ON BREAK GOSUB -comanda
-Apeleaza un subprogram la apasarea tastei ESC.
-forma ON BREAK GOSUB (numar de linie)
-exemple 10 ON BREAK GOSUB 40
20 PRINT "************"
30 GOTO 20
40 PRINT "STOP":ON BREAK STOP
50 RETURN
-expresii asociate;
ON BREAK CONT,ON BREAK STOP,RETURN
ON BREAK STOP -comanda
-Dezactiveaza comenzile ON BREAK CONT si ON BREAK GOSUB
pentru a permite oprirea programului la apasarea tastei
ESC.
-forma ON BREAK STOP
-exemple similare cu cele de mai sus
-expresii asociate;
ON BREAK CONT,ON BREAK GOSUB
ON ERROR GOTO -comanda
-Programul executa salt la linia respectiva in cazul
in care intervine o eroare.
-forma ON ERROR GOTO (numar de linie)
-exemple 10 ON ERROR GOTO 60
20 FOR....
60 PRINT "Eroare intilnita in linia"
70 PRINT ERL
80 PRINT "Revedeti programul":LIST
ON...GOSUB -comanda
-Executa salt la o linie de adresa in functie de un numar
cuprins intre 0 si 255 (selector).Prin aceasta comanda se
pot realiza salturi succesive la linii de adresa diferite
dupa fiecare revenire dintr-o bucla FOR...NEXT de exemplu
sau la o anumita ora la care se identifica selectorul cu
momentul saltului.
-66-
- forma ON (selector) GOSUB (lista cu numere de linie)
-exemplu 10 LET x=1
20 ON x GOSUB 100
30 LET y=1
40 ON y GOSUB 200
50 LET z=1
60 ON z GOSUB 300
70 END
100 PRINT "Test pentru salt conditionat"
110 RETURN
200 PRINT "Al doilea salt cu GOSUB"
210 RETURN
300 PRINT "Al treilea salt cu GOSUB"
310 RETURN
-expresii asociate;
RETURN
ON...GOTO -comanda
-Executa salt conditionat la linia specificata daca exista
numarul sau variabila specificata prin (selector),la fel
ca si pentru ON...GOSUB.Saltul se face in ordinea valorilor
intilnite (numere intregi cuprinse intre 0 si 255).
Daca valoarea expresiei pentru selector este negativa sau
daca numarul de linie indicat nu exista atunci saltul nu are
loc.
-forma ON (selector)GOTO (numar de linie)
-exemplu 10 PRINT "Doriti sa continuati?"
20 PRINT "Pentru DA tastati 1"
30 PRINT "Pentru NU tastati 0"
40 INPUT a
50 ON a GOTO 70
60 END
70 GOTO 10
-expresii asociate;nu sint
ON SQ GOSUB -comanda
-Semnalizeaza un fir de asteptare pentru semnale sonore si
apeleaza un subprogram daca primeste un semnal pe fir.
Pentru parametrul (numar de canal) valorile sint;1-pentru
canal A,2-pentru canal B si 3- pentru canal C .
-forma ON SQ (numar de canal) GOSUB (numar de linie)
-exemplu 10 ENV 1,15,-1,1
20 ON SQ(1) GOSUB 60
30 MODE 0:ORIGIN 0,0,200,440,100,300
40 FOR x=1 TO 13:FRAME:MOVE 330,200,x
50 FILL x:NEXT x:GOTO 40
60 READ s:IF s=0 THEN RESTORE:GOTO 60
70 SOUND 1,s,25,15,1
80 ON SQ(1) GOSUB 60:RETURN
90 DATA 50,60,90,100,35,200,24,500,0
-expresii asociate;
RETURN,SOUND,SQ
-67-
OPENIN -comanda
-Deschide un fisier de pe discheta pentru a citi datele
destinate unui program din memorie.Fisierul care se
deschide trebuie sa fie un fisier ASCII.
Dostları ilə paylaş: |
|
|