Basic abc-doar



Yüklə 1,91 Mb.
səhifə11/20
tarix06.08.2018
ölçüsü1,91 Mb.
#67460
1   ...   7   8   9   10   11   12   13   14   ...   20

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

Yüklə 1,91 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin