Basic abc-doar



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

90 CHAIN "PROG2"

100 END

10 REM PROG2

20 DEF DBL C

30 PRINT A%(2);B%;C

40 END

-expresii asociate;

DEF FN,DEF INT,DEF SNG,DEF DBL,DEF STR
CONT -comanda

-Reia un program intrerupt prin STOP sau CTRL/BREAK sau prin END

din punctul de intrerupere

-forma CONT

-exemplu 10 INPUT "Introduceti doua numere";x,y

20 LET PRODUS=x*y

30 STOP

40 PRINT "Produsul lor este=";PRODUS

50 GOTO 10

RUN si apoi CONT

-expresii asociate;

END,STOP

-101-

COS -functie

-Calculeaza cosinus din expresia numerica considerind valoarea

unghiului in radiani.

-forma COS(expresie numerica)

-exemple PRINT COS(3.14)
5 SCREEN 2:COLOR 5,15:CLS

10 FOR x=0 TO 13 STEP 6.3/360

20 LET A=INT(50*x)

30 LET B=COS(x)

40 LET C=INT(50*B)

50 PSET (A,-C)

60 NEXT x

-expresii asociate;

SIN
CSNG -functie

-Converteste valoarea argumentului numeric (partea zecimala) a

unei expresii numerice intr-un numar scris in simpla precizie (cu

mai putine zecimale)

-forma CSNG(expresie numerica)

-exemplu 10 LET A#=454.6700134277344

20 PRINT A#;CSNG(A#)
-expresii asociate;

CDBL,CINT
CSRLIN -functie

-Furnizeaza o valoare intreaga in domeniul 1-25 reprezentind

numarul liniei pe care se afla cursorul.(pentru SCREEN 0 )

-forma CSRLIN

-exemplu 10 REM Se va determina pozitia curenta a cursorului

20 REM Se va scrie un mesaj pe prima linie

30 REM Se va restaura apoi cursorul

40 LET x=CSRLIN

50 LET y=x+10

60 LOCATE 1,1

70 PRINT "Terminalul este la dispozitia d-voastra"

80 LOCATE x,y

90 PRINT "Sfirsit"
-expresii asociate;

LOCATE,POS
CVI -functie

-Converteste un sir de doua caractere intr-o valoare intreaga.

-forma CVI(char 2)

-exemplu 100 FIELD#1,2 AS X$

110 GET#1

120 LET x%=CVI(X$)


-102-

sau 10 LET A$="asdfghjk"

20 LET B$="a1234567FHK"

30 LET C$=A$+B$

40 LET x=CVI(C$)

50 PRINT x

-expresii asociate;

MKI,MKD,MKS,CVD,CVS
CVD -functie

-Converteste sirul de opt caractere numerice (char) intr-un numar

real in dubla precizie.

-forma CVD(char 8)

-exemple 100 FIELD#1,8 AS X$

110 GET#1

120 X#=CVD(X$)

sau 10 LET A$="1"

20 LET B$="3"

30 LET C$="9"

40 LET D$="13"

50 LET E$="7"

60 LET F$="5"

70 LET G$="11"

80 LET H$="12"

90 LET Z$=A$+B$+C$+D$+E$+F$+G$+H$

100 PRINT Z$

110 PRINT CVD(Z$)

-expresii asociate;

MKI,MKD,MKS,CVI,CVS
CVS -functie

-Converteste sirul de patru caractere numerice (char 4) intr-un

numar real in simpla precizie.

-forma CVS(char 4)

-exemple 100 FIELD#1,4 AS X$

110 GET#1

120 LET X=CVS(X$)

sau 10 LET A$="1"

20 LET B$="CJ"

30 LET C$="9"

40 LET D$="COM7"

50 LET W$=A$+B$+C$+D$

60 PRINT W$

70 PRINT CVS(W$)

-expresii asociate;

MKI,MKD,MKS,CVI,CVD
DATA -enunt

-Creeaza sau extinde un fisier format dintr-un numar de constante

care pot fi numere sau caractere alfanumerice.In unele variante

de program,constantele pot fi caractere grafice sau blocuri

numerice care definesc ariii grafice (se utilizeaza pentru desene

animate,jocuri pe calculator sau proiectare grafica).Datele din

fisier se citesc cu instructiunea READ care contine parametrii

utilizati pentru citirea datelor.Instructiunile(enunturile)DATA

-103-

pot fi situate in program la orice nivel,fie precedate,fie urmate

de instructiunea READ,se pot adauga oricind noi date (ajustind si

instructiunea READ pentru citirea lor) si pot fi citite de mai

multe ori intr-un program utilizind enuntul RESTORE.

-forma DATA (lista de constante)

-exemplu 10 PRINT "NUME","PRENUME","VIRSTA"

20 READ A$,B$,V%

30 DATA "DUMITRASCU,","LIVIU",40

40 PRINT A$,B$,V%
sau 10 DATA 1,56,7,4,3,33,66,25

20 FOR x=1 TO 8

30 READ a

40 PRINT a

50 NEXT x
sau 10 DATA 1,"CJ",7,"B",13,"OT",17,"CT",25,"BV"

20 FOR x=1 TO 5

30 READ A

40 READ A$

50 PRINT A,A$

60 NEXT x

70 END

-Observatie;pentru cifre variabila se defineste cu o litera oare-

care in timp ce pentru caracterele alfanumerice grafice se vor

utiliza pentru identificarea variabilelor litere+semnul $ iar in

instructiunea data se vor introduce intre ghilimele.Pentru a

adauga date noi la un fisier,se adauga in program o linie de

adresa cu enuntul DATE si datele dorite si se modifica si enuntul

READ atfel incit sa cuprinda si noile date pentru citire.

-expresii asociate;

READ,RESTORE
DATE$ -functie

-Afiseaza data din sistem sub forma unui sir de 10 caractere de

tip ll-zz-aaaa (luna-ziua-anul)

-forma (variabila sir)=DATE$

-exemple PRINT DATE$

10 LET x$=DATE$

20 PRINT x$

DATE$ -enunt

-Modifica data sistemului.Se introduce intre ghilimele sub forma

ll-zz-aaaa adica luna-ziua-anul.

-forma DATE$=(expresie sir)

-exemplu DATE$="01-01-2002"

verificati prin PRINT DATE$

-Observatie;unele variante de BASIC permit operatii cu datele

calendaristice de genul "Cite zile au trecut da la data 1 si

pina la data 2 ?" sau "ce data va fi peste 40 de zile ?" dar la

majoritatea trebuie scris un mic program pentru astfel de opera-

tii.Programele obisnuite calculeaza si ce zi a saptaminii va fi

in data de ll-zz-aaaa.

-expresii asociate;

nu sint

-104-

DEF FN -enunt

-Defineste o functie care se va identifica in continuare prin

o variabila (nume),care are o lista de argumente (argumente

formale)(variabila functiei) si o valoare a expresiei functiei

(expresie).Trebuie sa existe o concordanta intre numele functiei

si tipul de operatii pe care le executa (operatii cu numere sau

operatii cu caractere alfanumerice).Pentru desemnarea sirurilor

de variabile alfanumerice se vor utiliza litere+$.

-forma DEF FN(nume),(argumente formale)=(expresie)

-exemple 10 DEF FN A(x)=x*y

20 FOR n=1 TO 5

30 FOR y=3 TO 7

40 PRINT FN A(n);

50 NEXT y

60 NEXT n

sau 10 DEF FN TANG(x)=SIN(x)/COS(x)

20 LET A=0.785395

30 PRINT FN TANG(A)

sau

10 DEF FN a$(x)=B$+C$

20 READ B$+C$

30 DATA "abcde","XYZ"

40 PRINT FN a$(x)

50 PRINT FN a$(x)+FN a$(x)

DEF SEG -enunt

-Defineste segmentul curent folosit pentru memorarea datelor.

Adresa segmentului curent GW-BASIC este la valoarea 16*

(adresa)(expresie numerica intreaga de la 0 la 65535) iar

daca nu se specifica nici o valoare,implicit se considera

segmentul rezervat pentru date din programul GW-BASIC. Se

va utiliza cu maximum de atentie deoarece se pot introduce

datele la o adresa la care va sterge date din program si

va duce la defectarea programului.Pentru incepatori este

bine ca inainte de utilizarea ei sa se asigure ca au cel

putin o copie a programului si a datelor din memorie,in caz

de scriere la o adresa eronata.Inainte de a trimite date la

un anumit segmant este bine de verificat cu PEEK ce date se

gasesc la adresa respectiva.

-forma DEF SEG=(adresa)

-exemplu 10 LET A$=PEEK(&HB800)

20 PRINT A$

apoi 10 DEF SEG=&HB800

20 POKE &HB800,&HFA

apoi se poate verifica cu PEEK daca octetul a fost

scris la adresa indicata (exemplul este ales la

intimplare nu se recomanda a fi executat )

-Observatie;la toate operatiile la care se efectueaza opera-

tii asupra memoriei cu comenzi definite de utilizator se

recomanda maximum de prudenta pentru a nu modifica programul

neintentionat(copie de siguranta).

-expresii asociate;

BLOAD,BSAVE,CALL,DEF USR,PEEK,POKE

-105-

DEF USR -enunt

-Permite accesul la o subrutina definita de catre utilizator

in limbaj masina si denumita USR(n) unde n este un numar de

la 0 la 9 iar ecart este un numar de linie de la 0-65535

reprezentind adresa la care se va scrie subrutina dorita.

Pentru apelarea subrutinei se solicita doar functia si

numarul sau de identificare.

-forma DEF USR (n)=(ecart)

-exemplu

10 DEF USR 1=100

........

100 USR 1="00000000"

110 USR 2="00000000"

120 USR 3="00000010"

140 USR 4="00111100"

150 USR 5="01010100"

160 USR 6="01010100"

170 USR 7="00010100"

180 USR 8="00000000"

sau 100 DEF SEG=&H8000

110 DEF USR1=0

120 LET x=5

130 PRINT USR1(x)

-Observatie;pentru apelare se va utiliza USR(n) respectiv

USR 1 in exemplul de mai sus.

-expresii asociate;

USR
DEFINT -enunt

-Declara ca intreg variabilele al caror nume incepe cu litera

respectiva sau cu o litera din intervalul de litere precizat

prin instructiune.

-forma DEFINT(litera)

sau DEFINT (litera1-litera2)

5 DEFINT N

-exemple 10 LET NUMAR=3.14235

20 LET cifra=2.4

30 LET N=12.4567

40 LET NUMERIC=15.897

60 PRINT NUMAR,cifra,N,NUMERIC

70 DEFINT B-P

80 PRINT NUMAR,cifra,N,NUMERIC

-expresii asociate;

DEFDBL,DEFSNG,DEFSTR
DEFDBL -enunt

-Declara ca numar real exprimat in dubla precizie (cu maximum de

zecimala) variabila sau variabilele al caror nume incepe cu

litera specificata sau cu orice litera situata in interiorul

intervalului definit.

-forma DEFDBL(litera) sau DEFDBL(litera1-litera 2)

-exemplu idem ca mai sus dar fara DEFINT si cu 5 DEFDBL B-P

-expresii asociate;DEFINT,DEFSNG,DEFSTR

-106-

DEFSNG -enunt

-Declara ca numar real in simpla precizie variabilele al

caror nume incepe cu litera specificata sau cu o litera din

intervalul specificat.

-forma DEFSNG (litera)

DEFSNG (litera1-litera2)

-exemplu 10 REM Defineste ca reale simpla precizie

20 REM variabilele al caror nume incepe cu F,G,H

30 DEFSNG F-H

40 LET G=3.14

50 PRINT G

-expresii asociate;

DEFINT,DEFDBL,DEFSTR
DEFSTR -enunt

-Declara ca variabile tip sir orice variabila al carei nume

incepe cu litera specificata sau respectiv cu o litera din

intervalul de litere specificat.

-forma DEFSTR (litera)

DEFSTR (interval de litere)

-exemplu 10 REM Defineste ca variabila sir toate variabilele

20 REM al caror nume incepe cu M,N,O,P,Q

30 DEFSTR M-Q

40 LET P=3.14*7/3

50 PRINT P$

-expresii asociate;

DEFINT,DEFDBL,DEF SNG
DELETE -enunt

-Determina stergerea din program a liniei cu numarul specificat

sau a liniilor din intervalul specificat.

-forma DELETE (linie)

DELETE (interval)

-exemple DELETE -60 Sterge liniile pina la 60 inclusiv

DELETE 75 Sterge linia 75

DELETE 120-130 Sterge intervalul 120-130 inclusiv

DELETE 165- Sterge toate liniile dupa linia 165

-expesii asociate;

nu sint
DIM -enunt

-Specifica un tablou de elemente denumit (nume tablou) care are

dimensiunile desemnate prin (lista limite),fiecare dimensiune

avind o limita superioara.Limita inferioara este data de un anunt

OPTION BASE(implicit 0).Elementele numerice sint initializate cu

0 iar elementele sir cu caracterul NULL.

-forma DIM (nume tablou)(lista de limite)

-exemplu 10 OPTION BASE 1:DIM A%(10,10)

20 FOR x=1 TO 10:FOR y=1 TO 10

30 LOCATE x,y:PRINT "*"

40 FOR w=1 TO 500:NEXT w

50 NEXT y:NEXT x

-expresii asociate;

DEFINT,DEFDBL,DEFSNG,DEFSTR,OPTION BASE
-107-

DRAW -enunt

-Traseaza o imagine specificata prin comenzile GML (expresie sir)

-forma DRAW (expresie sir)

Comenzile limbajului GML:

U[n] -Deplasare spot in sus cu (n*factor scara) puncte

D[n} -Deplasare spot in jos cu (n*factor scara) puncte

L[n] -Deplasare spot la stinga cu (n*factor scara) puncte

R[n] -Deplasare spot la dreapta cu (n*factor scara) puncte

E[n] -Deplasare spot SV-NE cu (n*factor scara) puncte

M x,y -Deplasare spot intr-o pozitie exprimata prin x si y

sau exprimata relativ la x si y daca acestea sint

precedate de semnul (+) sau (-)

B -Deplasare fara trasare

N -Deplasare in pozitia initiala

A(n) -Rotatia figurii cu n*90 de grade unde n=un nr.(0-3)

TA(n) -Rotatia figurii cu n grade,unde n este un numar intreg

cuprins intre -360 si 360

C(n) -Stabilirea culorii prin n= 0-3 pentru rezolutie medie

si 0-1 pentru rezolutie mare si foarte mare

S(k) -Stabileste un factor de scara egal cu 1/4 din k unde

k ste un numar intreg intre 1 si 255

P n,m -Alegerea unei culori pentru interiorul figurii (n) si

a unei culori pentru contur (m).n si m sint numere 0-3

pentru rezolutie medie si 0-1 pentru rezolutie mare

X(expresie subsir) -Executarea comenzilor GML din subsir.

In limbajul GML exista urmatoarele exprimari:

(comanda GML)(valoare numerica)[;]

(comanda GML)=(nume variabila);

-exemplu

10 REM Trasare patrat

20 SCREEN 1

30 LET X=30

40 DRAW "U=X;R=X;D=X;L=X";

10 REM Traseaza un triunghi

20 SCREEN 1

30 DRAW "BM10,10M35,60M60,5M10,10"

-expresii asociate;

SCREEN
EDIT -comanda

-Permite modificarea liniei cu numarul specificat.Fie se

rescrie intreaga linie,fie se adauga sau se sterg din

caractere si apoi se confirma modificarile apasind

tasta ENTER.Daca nu se opereaza modificari linia va

ramine neschimbata .Pentru stergerea completa a unei linii

intregi este mai simplu sa se editeze numarul de linie fara

nici un caracter si sa se apese ENTER.

-forma EDIT (numar de linie)

-exemplu EDIT 310

310 LET A=B*C

ENTER

se verifica editarea corecta cu LIST

-expresii asociate;

nu sint

-108-

END -comanda

-Determina terminarea executiei programului si revenirea la

nivelul de comanda.

-forma END

-exemplu 10 INPUT x

20 IF x<5 GOTO 30 ELSE END

30 PRINT "START PROGRAM"

-expresii asociate;

nu sint
ENVIRON -enunt

-Modifica tabelul sirurilor de definire a mediului GW-BASIC

potrivit expresiei sir(parametru) care este de forma:

a)identificator parametru=text(modificarile parametrului)

b)identificator parametru=; (sterge parametrul)

-forma ENVIRON (parametru)

-exemplu 10 REM Modifica accesul la un fisier

20 ENVIRON "PATH=A:SERVICIU;A:COLECTIV"

-Observatie;modificind ("personalizind") lista de comenzi a

programului (meniul) se pot pierde din functiile esentiale

ale programului.Este bine ca astfel de modificari sa nu se

faca la intimplare,sa se verifice daca exista spatiu suficient

pentru noile comenzi,sa se verifice rezultatul aplicarii lor

asupra datelor si mai ales sa se noteze undeva toate modifi-

carile facute pentru a putea reveni la forma initiala (este

bine sa se pastreze si o copie de siguranta a programului ).

-expresii asociate;

ENVIRON$
ENVIRON$ -functie

-Permite utilizarea de variabile sir pentru identificarea

unui parametru de mediu al sistemului (programului).Determina

regasirea valorilor lui prin (identificator parametru) sau al

parametrului de rang n (n este un numar de la 1-255).Termenul

de parametru de mediu se refera la parametrii sistemului DOS

(vezi sistemul DOS)

-forma ENVIRON$(identificator parametru)ENVIRON (n)

-exemplu 10 LET A$=ENVIRON$("PATH")

-expresii asociate;

ENVIRON
EOF -functie

-Sfirsit de fisier.Marcheaza sfirsitul unui fisier.La citirea sa

programul returneaza valoarea "adevarat"(1) daca s-a indeplinit

conditia de " sfirsit de fisier " sau un mesaj de eroare daca

se solicita operatii imposibile cum ar fi;

-fisiere secventiale:tentativa de citire dupa marca de fisier

-fisiere aleatoare:tentativa de citire dupa sfirsitul logic

-fisiere de comunicatii ASCII:caracter CTRL/Z citit

-fisiere de comunicatii binare:coada de intrare vida.

-Observatie;A nu se confunda cu END.Este absolut indispensabil

pentru operatiile cu fisiere (citire din memorie,copiere,rede-

numire,deplasare in alta zona de memorie etc.)Se poate utiliza

pentru a solicita salt peste limita unui fisier si citirea unui

-109-

alt fisier sau se poate utiliza pentru activarea unui program dupa

citirea unui fisier.

-exemplu 10 REM Citire valori din fisierul FISIER1

20 OPTION BASE 1

30 DIM M (20)

40 OPEN "I",2,"FISIER1"

50 LET I=1

60 IF EOF(2) THEN 250

70 ..........etc

-expresii asociate;

LOC,OPEN
ERASE -enunt

-Elibereaza spatiul utilizat pentru numele masivelor din (lista

de masive) ca si pentru elementele acestora.Cu alte cuvinte,

sterge un catalog(folder) sau un bloc de fisiere.

-forma ERASE (lista de masive)

-exemplu 10 DIM X(20,30),Y(45)

.....................

200 ERASE X,Y

210 DIM X(100),Y(10,30,5)
ERDEV -functie

-Furnizeaza o valoare intreaga ce contine codul de eroare

depistat de ultimul dispozitiv ce a semnalat o eroare.Bitii

superiori (13-15) sint biti atribute cuvint din blocul de antet

al dispozitivului,iar bitii inferiori (0-7) codul de intrerupere

X'24'MS-DOS.

-forma ERDEV

-exemplu se solicita unitatea B fara discheta FILES "B:"

apare "Disk not ready"

iar pentru PRINT ERDEV,ERDEV$

apare 2 B:

-Observatie;ERDEV retine codul de eroare generat de o intrerupere

in circuitul semnalului (INT 24)

Yüklə 1,91 Mb.

Dostları ilə paylaş:
1   ...   10   11   12   13   14   15   16   17   ...   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