Basic abc-doar


Daca nu se specifica se considera #0(primul parametru)



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

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.

Yüklə 1,91 Mb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   ...   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