|
|
səhifə | 11/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| 20 FOR x=1 TO 5
30 READ a
40 PRINT a:NEXT x
50 DATA 11,12,13,14,15,16,17,18,19,20
55 INPUT "Tastati 1";r
56 IF r=1 THEN 60 ELSE 100
60 RESTORE
70 FOR y=1 TO 17
80 READ b
90 PRINT b:NEXT y
100 END
expresii asociate;
DATA,READ
-76-
RESUME -comanda
-Reia executia unui program dupa descoperirea si tratarea
unei erori prin comanda ON ERROR GOTO.Daca nu se indica nici
o adresa(numar de linie) atunci executia programului se
reia incepind cu linia care contine eroarea descoperita.
-forma RESUME (numar de linie)
-exemplu 10 ON ERROR GOTO 100
20 FOR x=1 TO 10
30 PRINT x
40 NEXT x
50 NEXT
90 END
100 PRINT "Eroare in linia";ERL
110 RESUME
-expresii asociate;
DERL,ERL,ERR,ERROR,ON ERROR GOTO
RESUME NEXT
RESUME NEXT -comanda
-Reia executia unui program dupa detectarea si tratarea unei
erori prin comanda ON ERROR GOTO.Executia programului se
reia incepind cu linia imediat urmatoare celei in care s-a
identificat eroarea.Permite vizualizarea unui program care
contine o singura eroare.
-forma RESUME NEXT
-exemplu 10 ON ERROR GOTO 100
20 FOR x=1 TO 10
30 PRINT x
40 NEXT x
50 NEXT
60 FOR y=1 TO 100
70 PRINT y
80 NEXT y
90 END
100 PRINT "Eroare in linia";ERL
110 RESUME NEXT
-expresii asociate;DERR,ERR,ERROR,ON ERROR GOTO,RESUME
RETURN -comanda
Indica sfirsitul unui subprogram.Dupa executia unui subprogram
cu comanda RETURN se revine la linia imediat urmatoare celei
care contine comanda GOSUB prin care s-a initiat subprogramul
si se executa in continuare operatiile din programul principal.
-forma RETURN
-exemplu 10 GOSUB 50
20 PRINT TAB(10)"Dupa GOSUB"
30 END
50 FOR n=1 TO 20
60 PRINT "subprogram"
70 NEXT n
80 RETURN
-expresii asociate;
GOSUB
-77-
RIGHT$ -functie
-Extrage numarul cerut de caractere (de la 0 la 255) dintr-un
sir de caractere numerice din linia de adresa indicata.Daca
sirul este mai scurt decit lungimea indicata el va fi afisat
in intregime.
-forma RIGHT$(sir de caractere alfanumerice),(lungimea ceruta)
-exemplu 10 MODE 1:a$="calculator IBM-PC"
20 FOR n=1 TO 17
30 LOCATE 41-n,n
40 PRINT RIGHT$(a$,n)
50 NEXT n
-expresii asociate;
LEFT$,MID$
RND -functie
-Furnizeaza un numar aleator(la intimplare) cuprins intre o si 1
si caracterizat prin 9 zecimale.Uneori poate fi o serie pseudo-
aleatorie in care numerele se succed intr-o anumita ordine dar
cele 10X10 la puterea 10 numere posibile reprezinta un factor
aleator (de intimplare) statistic semnificativ.Cind valoarea
expresiei este zero se afiseaza ultimul numar din serie (RND nu
accepta valoarea 0) iar cind rezultatul este negativ lanseaza o
noua serie aleatorie (numerele sint intodeauna pozitive).Se
utilizeaza pentru jocuri sau pentru verificarea unor ecuatii sau
functii matematice cu numere variabile.
-forma RND(expresie numerica)
-exemple 10 RANDOMIZE
20 FOR x=1 TO -1 STEP -1
30 PRINT "parametrul RND=";x
40 FOR n=1 TO 6
50 PRINT RND(x)
60 NEXT n,x
-Observatie;La intrebarea "Random numer seed?" (care este saminta
pentru numarul aleator?) se va introduce un numar oarecare.In unele
generatoare de numere aleatoare colculatorul va genera doar numere
de acelasi gen si cu valori apropiate de "saminta" in timp ce la
alte programe numarul numit "saminta" este numarul de la cere se
porneste in rezolvarea unor ecuatii cu valori posibile multiple.
10 FOR x=1 to 100
20 PRINT RND
30 NEXT x
-expresii asociate;
RANDOMIZE
ROUND -functie
-Rotunjeste expresia la numarul de zecimale specificat prin
(numarul de zecimale) sau la numarul de puteri ale lui zece
specificat prin expresie (practic muta virgula la dreapta sau
la stinga adaugind zerouri sau inlocuind cu zerouri cifrele
neglijabile)
-forma ROUND(expresie numerica),(numar de zecimale)
-exemplu 10 FOR n=4 TO -4 STEP -1
20 PRINT ROUND(1234.56789,n)
30 PRINT "rotunjit la";n;"zecimale":NEXT n
-78-
-expresii asociate;
ABS,CINT,FIX,INT
RUN -comanda
-Executa programul existent in memorie incepind cu numarul de
linie indicat.Daca nu se specifica un numar de linie,programul
executa toate operatiile din memoria de operare de la inceputul
si pina la sfirsitul programului.Comanda RUN reinitializeaza
toate variabilele.Aceasta comanda poate sa nu permita accesul
la programele protejate incarcate in memorie.La unele variante
de program se pot executa doar fragmente de program selectate
de la linia-la linia.Executarea pe fragmente este utila pentru
depanarea de programe sau "spargerea codurilor" in programele
necunoscute.
-forma RUN (numar de linie)
-exemplu
10 PRINT "Acest program este protejat prin COPY-RIGHT!"
20 PRINT "Pentru informatii va rugam sa va adresati"
30 PRINT "firmei FRAIERSOFTWARE-SRL la FAX.xxx-yy-zzzz"
40 END
50 FOR x=1 TO 40
60 PRINT TAB(x)x
70 NEXT x
tastati RUN si apoi RUN 50
-OBS:RUN "nume fisier" permite acces direct la fisierele protejate
-expresii asociate;
CONT,END,STOP
SAVE -comanda
-Salveaza programul din memorie pe o discheta,pe o caseta sau pe
o alta unitate de memorie interna sau externa.Salvarea se face
sub un nume de identificare iar fragmentul de program salvat
astfel poarta numele de fisier.Parametrii binari pt.un fisier sint;
(adresa de inceput),(dimensiunea fisierului),(punctul de intrare
in fisier).In functie de programul cu care a fost generat,un
fisier are de obicei si o extensie (un scurt adaos) care defineste
tipul de fisier (programul cu care a fost generat) care se scrie
cu litere mici dupa un punct si care denumesc programul (bas=BASIC
dos=DOS,win=WINDOWS,pas=PASCAL,bin=BINAR,asm=ASAMBLOR etc.).In
binar se poate salva si doar ceea ce se vede pe ecran cu comanda
SAVE "ecran",B,&C000,&4000 care se reincarca pe ecran la nevoie
prin LOAD "ecran".
-forma SAVE(nume fisier),(tip fisier),(parametri binari)
SAVE "fisierdisc.xyz"
=salveaza fisierul in mod BASIC neprotejat
SAVE "fisierdisc.xyz",p
=salveaza fisierul in mod BASIC protejat
SAVE "fisierdisc.xyz",A
=salveaza fisierul in cod ASCII
SAVE "fisierdisc.xyz",B,8000,3000,8001
=salveaza fisierul in cod binar si va fi localizat in memorie
pornind de la adresa 8000,va ocupa 3000 de octeti iar punctul
de intrare in program va fi incepind cu linia 8001.
-79-
-exemplu
SAVE "fisier 1.bas"
-expresii asociate;
CHAIN,CHAIN MERGE,LOAD,MERGE,RUN
SGN -functie
-Stabileste semnul expresiei si returneaza apoi in functie de
semnul expresiei urmatoarele valori;
-1=daca expresia este negativa
0=daca expresia este nula
1=daca expresia este pozitiva
-forma SGN(expresie numerica)
-exemplu 10 INPUT "Introduceti un numar";a
20 INPUT "Introduceti al doilea numar";b
30 LET y=SGN(a-b)
40 IF y=1 THEN PRINT "Primul numar este mai mare"
50 IF y=0 THEN PRINT "Cele doua numere sint egale"
60 IF y=-1 THEN PRINT "Al doilea numar este mai mare"
-expresii asociate;
ABS
SIN -functie
-Calculeaza valoarea sinusului trigonometric din valoarea
expresiei indicate.Utilizind functiile DEG si RAD argumentul
functiei se poate exprima fie in grade fie in radiani.
-forma SIN(expresie numerica)
-exemplu 10 LET x=INT(RND*2)
20 PRINT x
30 IF x=0 THEN 100
40 IF x=1 THEN 200
50 END
100 DEG:CLS:FOR x=1 TO 360
110 PLOT 100+200*SIN(x),x:NEXT x
120 GOTO 10
130 END
200 RAD:CLS:FOR x=1 TO 360
210 PLOT 100+200*SIN(x),x:NEXT x
220 GOTO 10
230 END
-expresii asociate;
ATN,COS,DEG,RAD,TAN
SOUND -comanda
-Produce un sunet in difuzor ale carui caracteristici pot fi
programate prin urmatorii parametrii.
Parametrul 1 (stare canal=un numar de la 1 la 255),parametrul 2
(perioada sonora=selecteaza inaltimea sunetului prin un numar
cuprins intre 1 si 4095),parametrul 3(durata=durata sunetului
exprimata in multipli de o,o2 secunde) si parametrul 4(volum=
intensitatea sunetului) la care se pot adauga si parametrii
descrisi la comenzile ENT si ENV reprezentind anvelope de
parametri pentru tremolo si sound-blaster.Pentru alte versiuni
de program (de exemplu GWBASIC)parametrii pentru comanda SOUND
sint diferiti.
-80-
-forma SOUND(stare canal),(perioada sonora),(durata),(volum)
(anvelopa de volum),(anvelopa de tonalitate),(pe-
rioada zgomotului)
-exemplu 10 FOR x=10 to 4000 STEP 100
20 SOUND 1,x,50,10
30 NEXT x
sau
10 FOR x=50 TO 500 STEP 50
20 SOUND 1,x,50,10
30 FOR y=500 TO 50 STEP -50
40 SOUND 2,y,50,10
50 NEXT y
60 NEXT x
-expresii asociate;
ENT,ENV,ON SQ GOSUB,RELEASE,SQ
SPACE$ -functie
-Creaza un sir de spatii cu lungimea indicata prin (numar
intreg=de la 0 la 255)
-forma SPACE$(numar intreg)
-exemple 10 FOR x=1 TO 100
20 PRINT SPACE$(7)x;
30 NEXT x
-expresii asociate;
SPC,STRING$,TAB
SPC -vezi PRINT SPC
SPEED INK -comanda
-Permita stabilirea perioadei de alternanta atuci cind o
instructiune INK sau BORDER prescrie utilizarea a doua
culori intermitente.Duratele de utilizare intermitenta a
celor doua culori se vor face in unitati de cite 50 zecimi
de secunde prin parametrii (perioada 1) si (perioada 2).
Atentie! schimbarile rapide de culoare si flash-urile re-
petate sint obositoare pentru ochi si pentru sistemul nervos
-forma SPEED INK(perioada 1),(perioada 2)
-exemplu 10 BORDER 7,18
20 FOR i=30 TO 1 STEP -1
30 SPEED INK i,i
40 FOR t=1 TO 700:NEXT t,i
-expresii asociate;
BORDER,INK
SPEED KEY -comanda
-Stabileste viteza de repetitie automata a claviaturii.Primul
parametru(interval initial)determina timpul de reactie dintre
apasarea tastei si inceputul repetitiei automate iar (interva-
lul dintre repetitii)masoara timpul care separa repetitiile.
-forma SPEED KEY(interval initial),(interval dintre repetitii)
-exemplu 10 CLS:FOR k=7 TO 1 STEP -1
20 PRINT "Scrie numele tau,apoi apasa RETURN"
30 SPEED KEY k,k:LINE INPUT a$:NEXT k
40 PRINT "Ce nume caraghios!"
-81-
SPEED WRITE -comanda
-Determina viteza de transmisie a datelor catre un periferic.
Parametrul (numar intreg) poate fi 0 caz in care viteza va
fi de 1000 bits/secunda sau 1 caz in care viteza va fi de
2000 bits/secynda.In timpul citirii unui program de la un
periferic programul selecteaza automat viteza potrivita.
Practic este vorba de un artificiu software pentru datele
codificate binar respectiv in cazul selectiei 1,se vor
selecta doar bits cu valoarea 1 iar pauzele se vor considera
a fi implicit 0.Se observa ca procedind astfel,cu aceeasi
unitate de memorie randamentul pe unitatea de timp se
dubleaza
-forma SPEED WRITE(numar intreg)
-exemplu SPEED WRITE 1
-Observatie;este bine de evitat in conditii obisnuite de
lucru pentru programatori amatori (se pot altera datele
sau se pot transmite trunchiate).Comanda este foarte utila
pentru centrale telefonice unde se transmit foarte multe
semnale foarte scurte (numere de telefon)intr-o secunda.
-expresii asociate;
OPENOUT,SAVE
SQ -functie
-Indica starea de asteptare a unui semnal sonor pe un anumit canal
(sound query) identificat prin parametrul(numar de canal).Se uti-
lizeaza pentru programarea apelului sonor telefonic sau fax etc.
Practic la aparitia unui semnal pe canalul respectiv programul
va genera la difuzor un anumit sunet programabil.
-forma SQ(numar de canal)
-exemplu 10 SOUND 65,100,100,10
20 PRINT SQ(1)
sau 10 INPUT "Introduceti un numar de la 1 la 255 ";x
20 SOUND x,100,100,10
30 PRINT SQ(1)
40 LET x=SQ(1)
50 RELEASE 7
60 GOTO 20
70 END
-expresii asociate;
ON SQ GOSUB,SOUND
SQR -functie
-Extrage radacina patrata din expresia numerica indicata.
-forma SQR(expresie numerica)
-exemple PRINT SQR(9)
10 FOR x=1 TO 100
20 PRINT SQR(x);TAB(20)x
30 NEXT x
sau
10 CLS:FOR x=300 TO 1 STEP -1
20 PLOT SQR(x)*20,x
30 NEXT x
-expresii asociate;nu sint
-82-
STEP -operator din comanda FOR...NEXT
-vezi FOR...NEXT
STOP -comanda
-Intrerupe un program.Programul poate fi continuat cu comanda
CONT.Se poate utiliza pentru fragmentarea unui program.De exemplu
daca memoria de operare este redusa si un program nu poate fi
executat complet prin comanda STOP se pot forma fragmente de
program care se executa separat.
-forma STOP
-exemplu 10 FOR n=1 TO 30
20 PRINT n
30 NEXT n
40 STOP
50 FOR n=31 TO 60
60 PRINT n
70 NEXT n
RUN si apoi CONT sau RUN 50
-expresii asociate;
CONT,END
STR$ -functie
-Furnizeaza sub forma de caractere alfanumerice reprezentarea
zecimala a expresiei indicate.
-forma STR$(expresie numerica)
-exemple PRINT STR$(PI)
10 FOR x=1 TO 100
20 PRINT x;"/3=";STR$(x/3)
30 NEXT x
-expresii asociate;
BIN$,DEC$,HEX$,VAL
STRING$ -functie
-Furnizeaza un sir format din acelasi caracter repetat de
atitea ori cit se specifica prin (lungime=un nr.de la 1 la 255)
-forma STRING$(lungime),(caracter)
-exemple PRINT STRING$(253,"$")
PRINT STRING$(25,"H")
10 FOR x=1 TO 40
20 PRINT STRING$(x,"M")
30 NEXT x
-expresii asociate;
SPACE$
SWAP -operator din WINDOW SWAP (inversare)
-vezi WINDOW SWAP
SYMBOL -comanda
-Redefineste forma unui caracter afisat pe ecran.Fiecare para-
metru poate lua valori cuprinse intre 0 si 255.Pentru redefi-
nirea unui caracter se va utiliza o secventa de opt linii de
adresa care definesc pe rind fiecare linie a caracterului
utilizind codul binar generarea de caractere alfanumerice.
-83-
Pentru ca un caracter redefinit sa poata fi introdus intr-o linie
din program se utilizeaza comanda pregatitoare SYMBOL AFTER x
unde x este mai mic sau egal cu numarul de caracter care trebuie
redefinit.Se introduce apoi SYMBOL urmata de cei opt parametri
ce definesc noul caracter incepind cu cel de sus.Fiecare dintre cei
opt parametrii poate lua o valoare intre 0 si 255.(vezi si SYMBOL
AFTER)
-forma SYMBOL AFTER (numar intreg) ....
SYMBOL(numar de caracter),(lista de parametrii pentru
fiecare rind=rind1,rind2,rind3,rind4,rind5,rind6,rind7,
rind8)
-exemplu 10 MODE 1:SYMBOL AFTER 105
20 LET rind1=255:REM 11111111 in binar
30 LET rind2=129:REM 10000001 in binar
40 LET rind3=189:REM 10111101 in binar
50 LET rind4=153:REM 10011001 in binar
60 LET rind5=153:REM 10011001 in binar
70 LET rind6=189:REM 10111101 in binar
80 LET rind7=129:REM 10000001 in binar
90 LET rind8=255:REM 11111111 in binar
100 PRINT "Linia 110 redefineste litera i(105)"
110 SYMBOL 105,rind1,rind2,rind3,rind4,rind5,rind6,rind7,
rind8
apoi apasati tasta i si observati noul caracter
modificati cifrele pentru fiecare rind
acelasi exemplu se scrie prescurtat;
10 SYMBOL AFTER 105
20 SYMBOL 105,255,129,189,153,153,189,129,255
exersati inlocuind pe rind fiecare din cei opt para-
metri ceilalti parametri fiind 0
-expresii asociate;
HIMEM,MEMORY,SYMBOL AFTER
SYMBOL AFTER -comanda
-Stabileste limita inferioara de la care incep caracterele
redefinite.Daca nu se precizeaza se considera=240 (vezi si
tabelul de corespondenta dintre codurile ASCII si BASIC.
Toate caracterele cu numar de cod mai mare decit cel
introdus prin SYMBOL AFTER vor fi redefinibile.(Exemplu
prin SYMBOL AFTER 256 toate caracterele vor fi imposibil
de redefinit iar dupa SYMBOL AFTER 0 toate caracterele se
vor potea redefini).
Comanda SYMBOL AFTER restabileste valoare prin lipsa a
caracterelor redefinite anterior.
-forma SYMBOL AFTER(numar intreg)
-exemple 10 CLS
20 SYMBOL AFTER 115
30 PRINT "Linia 40 redefineste litera s"
40 SYMBOL 115,0,56,64,64,48,8,8,112
50 PRINT "in s"
60 PRINT "Reveniti la forma normala tastind:"
70 PRINT "SYMBOL AFTER 255"
-expresii asociate;HIMEM,MEMORY,SYMBOL
-84-
TAB -functie pentru tabelare.
-vezi PRINT TAB
TAG -comanda
-Scrie textul specificat la pozitia cursorului grafic.Aceasta
comanda permite introducerea textului si a simbolurilor pixel
cu pixel (mai degraba decit caracter cu caracter ca si pentru
SYMBOL).Parametrul #(numar de canal) indica pe ce canal se va
expedia rezultatul operatiei iar in lipsa se va considera ca
este 0(implicit).Extremitatea stinga a sirului de caractere se
situeaza pe cursorul grafic.Caracterele de control nevizualizate
(de exemplu sfirsit de linie sau CR-intoarcerea carului,nu vor
avea efect pe ecran daca instructiunea PRINT se termina cu punct
si virgula iar in caz contrar vor apare sub forma lor grafica.
Daca indicatorul de canal este 0(prin lipsa),BASIC anuleaza
comanda TAG in momentul intoarcerii in mod direct.Comanda TAG
se anuleaza cu TAGOFF.
-forma TAG(#numar de canal)
-exemplu 10 INPUT "Introduceti numele ";a$:CLS
20 PRINT "Numele meu este:";a$
30 TAG
Dostları ilə paylaş: |
|
|