Basic abc-doar


partial (de la linia la linia),conditionat de o anumita variabila



Yüklə 1,91 Mb.
səhifə18/20
tarix06.08.2018
ölçüsü1,91 Mb.
#67460
1   ...   12   13   14   15   16   17   18   19   20
partial (de la linia la linia),conditionat de o anumita variabila,

cu salt din n in n linii prin STEP,cu citirea liniilor in ordine

inversa de la ultima spre prima,cu citirea liniilor dupa o anumita

regula prestabilita etc.

-expresii asociate; SAVE

SAVE -comanda

-Determina salvarea pe disc a unui program sau fisier specificat

prin (specificator fisier) si utilizind (optiuni de salvare).

Salvarea se face in format binar condensat (fara spatii libere)

sau in cod ASCII daca se specifica optiunea A.Optiunea P (protejat)

determina salvarea in binar codificat intern (nu permite listari

sau editari de date iar accesul se face specificind numarul de

linie pentru intrare in program RUN xxx).La salvare fisierul

primeste automat extensia .bas pentru a desemna programul cu care

a fost editat.

-forma SAVE(specificator fisier)(optiuni salvare)

optiuni salvare::=A|P

-exemplu SAVE "PROG2.X"

SAVE "P57"

-Observatie;unele variante de program contin comanda SAVE AS care

permite o serie de optiuni suplimentare.

-expresii asociate;LOAD,RUN

SCREEN -functie

-Determina caracteristicele unui caracter situat pe linia (rind=

nr 1-25) si coloana (coloana=nr 1-40 sau 1-80) in functie de

conditia precizata prin (conditie) dupa cum urmeaza;

(1)-valoare nenula (adevarata) se fornizeaza numarul culorii (de

la 0 la 3) cu care este afisat caracterul selectat

(0)-valoare nula (falsa) se furnizeaza codul ASCII (0-255) al

caracterului selectat.Zero este si valoarea implicita.

-forma SCREEN(rind),(coloana),(conditie)

-exemple 10 PRINT "program BASIC"

20 REM-Daca in linia 1 coloana 9 este un B

atunci se va afisa 66 (codul sau ASCII)

30 PRINT "COD ASCII NR";SCREEN(1,9);

40 REM-Daca culoarea caracterului este 3

50 PRINT "Cod culoare=";SCREEN(1,9,1)

-145-

SCREEN -enunt

-Determina caracteristicile modului de afisaj pe ecran dupa cum

urmeaza;

a)rezolutia prin mod(nr de la 0-255)

0-mod text(25 linii X 80 coloane)

1-rezolutie medie(320 X 200 elemente imagine)

2-rezolutie mare (640 X 200 elemente imagine)

=>3-rezolutie ultrainalta (640 X 400 elemente de imagine)

b)aparenta prin (aparenta)(0 sau 1) cu semnificatia
mod=0 mod=1 alte mod(>1)

0 alb-negru color ignorat

1 color alb-negru
c) pentru SCREEN 0 (mod 0) sau mod text se poate selecta o pagina

activa(actpag)(expresie intreaga cu valori 0-7 sau 0-3 in

functie de latimea ecranului,implicit 0) si o pagina vizuala

(vizpag)(expresie intreaga cu valori 0-7 sau 0-3

Valoarea implicita este echivalenta cu SCREEN 0,0,0,0 adica

mod text alb negru.Teoretic latimea ecranului se precizeaza cu

WIDTH dar si SCREEN are urmatorul efect SCREEN 1=40 coloane

SCREEN 0,2,3=80 coloane

-forma SCREEN(mod),(aparenta);(actpag),(vizpag)

-exemple SCREEN 0,1,0,0 Mod text color

SCREEN ,,1,2 Pagina activa 1 si vizualizare 2

SCREEN 2 mod grafic rezolutie mare

SCREEN 1,1 rezolutie medie color

SCREEN ,0 rezolutie medie alb negru

-Observatie;daca se utilizeaza ca functie efectul este complet

diferit (vezi si functia SCREEN)

-expresii asociate;

WIDTH
SGN -functie

-Afiseaza valorile 1,0,-1 dupa cum valoarea expresiei numerice

este strict pozitiva,nula sau negativa (sign=semn).

-forma SGN(expresie numerica)

-exemplu 10 FOR X=10 TO 1 STEP -1

20 FOR Y=1 TO 10

30 PRINT SGN(X-Y)

40 NEXT Y

50 NEXT X

-expresii asociate;

nu sint
SHELL -comanda

-Se creeaza un proces fiu(secundar)prin incarcarea in memorie a

unei copii a fisierului COMMAND COM din MS-DOS caruia i se trans-

mite eventual o linie de comanda spre prelucrare prin (expresie

sir).In lipsa argumentului conversatia cu procesorul secundar

decurge de la consola pina la comanda EXIT din MS-DOS.Pe toata

durata derularii procesului secundar(fiu) interpretorul GW-BASIC

ramine rezident.Practic comanda permite accesarea si efectuarea de

operatii cu date utilizind functiile unui alt program (MS-DOS).

-146-

-forma SHELL (expresie sir)

-exemplu 10 OPEN "FISIER1" FOR OUTPUT AS#1

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

100 SHELL "SORT FISSORT.DAT"

200 OPEN "FISSORT.DAT" FOR INPUT AS#1

(in exemplul de mai sus s-a deschis fisierul FISIER1,s-a

apelat o functie MS-DOS (sort) cu care s-au sortat datele

din fisier care a fost redenumit ca FISSORT.dat si a fost

trimis inapoi in memorie de unde poate fi utilizat in

continuare pentru executarea de operatii in GW-BASIC.

Procedeul se numeste INTERFATA BASIC-MS-DOS.

-expresii asociate;

nu sint
SIN -functie

-Calculeaza valoarea sinusului argumentului (expresie numerica).

Unghiurile se considera ca sint exprimate in radiani.

-forma SIN (expresie numerica)

-exemple PRINT SIN(1.5)

sau 10 SCREEN 2

20 CLS

30 FOR x=1 TO 90 STEP 3.14/9

40 LET y=SIN(x)

50 LINE (x,x*y)-(y,x*y)

60 NEXT x

sau 10 CLS:SCREEN 2

20 FOR x=1 TO 90

30 LET y=SIN(x)

40 LINE (10,x)-(300,300*x)

50 NEXT x

-expresii asociate;

COS,TAN
SOUND -enunt

-Produce un sunet de frecventa selectata prin parametrul(frecventa)

cu o durata selectata prin (durata).Frecventa poate fi un numar

cuprins intre 37-32767 iar durata poate fi orice numar cuprins

intre 0-65535 exprimata in tacte (1/18.2 dintr-o secunda).

Tabelul urmator cuprinde frecventele corespunzatoare notelor

muzicale pe intinderea a patru octave;
B A G F E D C

1975.5 1760.0 1568.0 1396.9 1318.5 1174.7 1046.5

987.77 880.00 783.99 698.46 659.26 587.33 523.25

493,88 440.00 392.00 349.23 329.63 293.66 261.63

246.94 220.00 196.00 174.61 164.81 146.83 130.81
Pentru semitonuri se va face media aritmetica a celor doua note

apropiate.

-forma SOUND(frecventa),(durata)

-exemple 10 FOR x=130 TO 2000 STEP 15

20 SOUND x,10

30 NEXT x

-147-

SPACE$ -functie

-Furnizeaza un sir cu lungimea de (lungime=nr 0-255) format din

spatii goale.Se utilizeaza pentru formarea de tabele,pentru

jocuri sau pentru proiectare cu imagini grafice.

-forma SPACE$(lungime)

-exemplu 10 FOR i=1 TO 5

20 PRINT SPACE$(i);i

30 NEXT i

-expresii asociate;

SPC
SPC -functie

-Insereaza in linile de afisaj declarate prin LPRINT,PRINT,PRINT#,

un numar de spatii libere specificat prin (n=nr 0-255).Daca functia

se insereaza intr-o lista de expresii se asuma ca este urmata de

delimitatorul punct si virgula(;)

-forma SPC(n)

-exemple PRINT "123" SPC(3) "456"
sau 10 FOR x=1 TO 20

20 FOR y=1 TO 5

30 PRINT x SPC(y) x

40 NEXT y

50 NEXT x

-expresii asociate;

SPACE$
SQR -functie

-Calculeaza valoarea radacinii patrate a argumentului (expresie

numerica)

-forma SQR (expresie numerica)

-exemple PRINT SQR(25)
sau 10 FOR x=1 TO 100

20 PRINT SQR(x)

30 NEXT x

-expresii asociate;

nu sint
STOP -enunt

-Determina intreruperea executarii programului cu revenire la

nivelul "comanda" si afiseaza masajul "Break in (nr liniei care

contine STOP)".Reluarea programului se face cu comanda CONT.

Are acelasi efect si semnificatie ca si apasarea tastei ESC dar

spre deosebire de tasta esc,instructiunea STOP se insereaza in

program si nu se foloseste in combinatii de taste gen (CTRL-ALT-

ESC).Se utilizeaza pentru programarea pauzelor de lucru ale unui

program.

-forma STOP

-exemplu 10 FOR x=1 TO 20:PRINT x:NEXT x

20 STOP

30 FOR y=1 TO 20:PRINT y;:NEXT y

-expresii asociate;

CONT,END

-148-

STR$ -functie

-Determina reprezentarea valorii argumentului (expresie numerica)

sub forma unui sir de caractere.

-forma STR(expresie numerica)

-exemple 10 PRINT STR$(71)

10 FOR x=1 TO 10

20 LET A=x

30 FOR y=20 TO 50

40 LET B=y

50 PRINT STR$(B-A)

60 NEXT y

70 NEXT x

-expresii asociate;

VAL
STRING$ -functie

-Formeaza un sir de caractere de lungimea (lungime) format din

acelasi caracter repetat de atitea ori pina la lungimea sirului

Caracterul selectat este fie caracterul coraspunzator codului

ASCII al primului element din sir fie prima litera din sirul

de caractere"

-forma STRING$(lungime),(caracter)

-exemplu 10 LET x$="Programul GW-BASIC "

20 PRINT STRING$(7,x$)

30 FOR a=1 TO 15

40 PRINT STRING$(a,x$)

50 NEXT a

-expresii asociate;

nu sint
SWAP -enunt

-Inlocuieste reciproc doua variabile de acelasi tip.Variabila 1

devine variabila 2 si reciproc.

-forma SWAP(variabila 1),(variabila 2)

-exemplu 10 LET A1=17:LET x$="ianuarie":LET A2=1943

20 PRINT A1;X$;A2

30 SWAP A1,A2

40 PRINT A1;X$;A2

-expresii asociate;

nu sint
SYSTEM -comanda

-Determina iesirea din programul BASIC si se restituie controlul

sistemului de operare (MS-DOS).La iesirea din program toate

fisierele vor fi automat inchise.Daca programul a fost lansat

dintr-un subprogram,de exemplu din NORTON COMANDER,revenirea se

face la subprogramul din care a fost lansat.

-forma SYSTEM

-exemplu SYSTEM (dupa orice program executat)

-Observatie;in variantele mai vechi se program comanda SYSTEM

determina deschiderea sistemului de operare cu acces la liniile

de program ale programului sursa.Nu se recomanda nici un fel de

modificari(deterioreaza programul),se apasa butonul STOP.

-expresii asociate;nu sint

-149-

TAB -functie

-Determina deplasarea cursorului la coloana cu numarul indicat

prin (tabulator=nr 0-255).Functia se aplica pentru instructiunile

de afisare si de tiparire de tip PRINT,LPRINT,PRINT# si este

destinata pentru formarea de tabele.

-forma TAB(tabulator)

-exemplu 10 LET A$="NUME"

20 LET B$="PRENUME"

30 LET C$="VIRSTA"

40 FOR x=10 TO 20

50 PRINT A$;TAB(x)B$;TAB(x+10)C$

60 NEXT x

-expresii asociate;

PRINT,LPRINT,PRINT#
TAN -functie

-Calculeaza tangenta argumentului(expresie numarica).

-forma TAN(expresie numerica)

-exemplu PRINT TAN(0.785495)

10 FOR x=1 TO 360

20 PRINT TAN(2*3.14*x/360)

30 NEXT x

10 SCREEN 2

20 CLS

30 FOR x=1 TO 360

40 LET y=TAN(2*3.14*x/360)

50 LINE(x/3,10+5*y)-(9*x,10+5*y)

60 NEXT x

-expresii asociate;

SIN,COS
TIME$ -enunt

-Stabileste ceasul "ora curenta" prin valorile introduse prin

(expresie sir).Valorile se introduc sub forma hh(ora),mm(minutul),

si ss secunda cu forma generala;hh:mm:ss unde fiecare litera se

inlocuieste cu o cifra.Instructiunea are efect timp de 24 h

-forma TIME$(expresie sir)

-exemplu TIME$="07:55:33"

apoi PRINT TIME$

sau 10 INPUT a$

20 IF a$="T" THEN TIME$="12:00:00

30 PRINT TIME$

-expresii asociate;

DATE$
TIME$ -functie

-La fel ca si enuntul TIME$ stabileste ora sistemului dar se

utilizeza in programe sub forma de functie.

-forma (variabila sir)=TIME$

-exemple 10 TIME$="12:00:00"

20 FOR x=1 TO 1000:PRINT TIME$

30 IF TIME$="12:00:10" THEN END

40 NEXT x

-expresii asociate;DATE$

-150-

TIMER -functie

-Furnizeaza un numar real in simpla precizie care arata numarul

de secunde scurse de la reinitializarea sistemului de calcul,

sau de la miezul noptii.

-forma TIMER

-exemplu PRINT TIMER

sau 10 LET T1=TIMER

20 FOR x=1 TO 200

30 PRINT x;

40 NEXT x

50 LET T2=TIMER

60 PRINT "Timpul necesar pentru operatie=";T2-T1

-expresii asociate;

nu sint
TIMER OFF

-enunt

-Dezactiveaza (inchide) intreruperea provocata de evenimentul ce

consta din scurgerea unui interval de timp specificata printr-un

enunt ON TIMER(n) GOSUB

-forma TIMER OFF

-exemplu 10 TIMER ON

20 ON TIMER(5) GOSUB 100

30 FOR x=1 TO 1000

40 PRINT x

50 CLS

60 NEXT x

70 END

100 PRINT "SFIRSIT DE PROGRAM"

110 RETURN 70

RUN si apoi adaugati linia 25 TIMER OFF

-expresii asociate;

TIMER ON,TIMER STOP
TIMER ON

-enunt

-Activeaza intreruperea provocata de evenimentul reprezentat de

scurgerea timpului si specificat prin instructiunea ON TIMER(n)GOSUB

-forma TIMER ON

-exemplu vezi TIMER OFF si ON TIMER(n) GOSUB

-expresii asociate;

TIMER OFF,TIMER STOP
TIMER STOP

-enunt

-Suspenda intreruperea provocata de scurgerea timpului si ceruta

prin ON TIMER (n) GOSUB pina la reactivarea explicita a enuntului

prin TIMER ON

-forma TIMER STOP

-exemplu 10 TIMER ON:ON TIMER(3) GOSUB 40:TIMER STOP

20 FOR x=1 TO 1000:PRINT x:NEXT x

30 END

40 PRINT "Sfirsit":RETURN 30 apoi 15 TIMER ON

-expresii asociate;TIMER OFF,TIMER ON

-151-

TROFF -comanda

-Intrerupe executarea instructiunii TRON (afisarea numarului de

linie de adresa concomitent cu executia programului.

-forma TROFF

-exemplu 10 TRON

20 FOR x=1 TO 10

30 PRINT x

40 NEXT x

50 TROFF

60 FOR y=1 TO 10

70 PRINT y

80 NEXT y

-expresii asociate;

TRON
TRON -comanda

-Determina afisarea numarului de linie care contine instructiunea

ce se executa in acel moment concomitent cu executia programului.

Se utilizeaza pentru depanarea programelor defective.In GW-BASIC

functia TRON se poate introduce direct prin tasta F7 si se afla

afisata pe ultima linie a ecranului.Comanda TRON se inactiveaza

cu TROFF.

-forma TRON

-exemplu 10 TRON

20 FOR x=1 TO 20

30 PRINT x

40 NEXT x

-expresii asociate;

TROFF
USRn -functie

-Apeleaza subrutina cu numarul (n=0-9) scrisa in limbaj de

asamblare careia i se atribuie valoarea argumentului(expresie

sir sau numerica).Daca nu se specifica argumentul se va considera

ca este egal cu zero.Adresa de inceput a rutinei se precizeaza

indirect prin enunturile DEF SEG(adresa curent activa de segment

GW BASIC) si DEF USR n care precizeaza deplasarea in segment,

implicit segmentul de date GW-BASIC).

-forma USR(n)(argument)

-exemplu 10 DEFINT A-Z:OPTION BASE1

20 LET X=0:LET Y=0:LET Z=0

30 DIM M(&H14)

40 Z=VARPTR(M(1))

50 BLOAD "SUBRT.COM",7

60 DEF USR0=7

70 LET x=5

80 LET y=USR0(x)

90 PRINT y

-observatie;daca subrutina nu cere argumente este necesara prezen-

ta unui argument fals(pentru a mentine caracterul de functie).

-observatie;caracterele definite de utilizator se introduc de

obicei in cod binar sau alfanumeric si mai rar in cod ASCII.

-expresii asociate;

CALL,DEF SEG,DEF USRn
-152-

VAL -functie

-Converteste reprezentarea tip sir (expresie sir) a unui numar

in valoarea sa numerica,ignorind spatiile,stopurile de tabulare,

caracterele (F).Daca valoarea expresiei nu corespunde unui numar

rezultatul afisat este 0.

-forma VAL(expresie sir)

-exemplu PRINT VAL("-3")

sau 10 LET a=234.4567

20 LET b=4323.34578

30 PRINT VAL(b/a)
sau 10 LET a$="23.55"

20 PRINT VAL(a$)

-expresii asociate;

STR$
VARPTR

-functie

-Determina adresa relativa(deplasare fata de segmentul de date din

GW-BASIC) in intervalul:-32768 - 32767 a obiectului reprezentat de;

a) variabila definita anterior

b) zona tampon intrare/iesire atribuita fisierului secvential

caruia la deschidere i s-a asociat numarul GW-BASIC(numar canal)

c)zona tampon descrisa de enuntul FIELD atasat fisierului pentru

acces aleator caruia la deschidere,i s-a asociat numarul GW-BASIC

(numar canal)

-Parametrul (obiect) este numele unei variabile sir sau nenumerice,

sau al unui element de matrice din program.Valoarea sa este intre

0-65535 si este offsetul primului octet de date identificat de

variabila (obiect).

Functia VARPTR este folosita pentru a obtine offsetul unei variabile

din segmentul de date BASIC,astfel incit sa poata fi folosita pentru

apelarea subrutinelor in limbaj masina in scopul trecerii variabilelor

spre aceasta.

-forma VARPTR(obiect)

cu obiect::=(variabila)|#(numar canal)

-exemplu 20 LET Y=USR 1(VARPTR(S))

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

300 ADRCIMP=VARPTR(#5)
sau 10 DEFINT A-Z

20 DATA1=500

30 LET P=VARPTR(DATA1)

40 LET V=PEEK(P)+256*PEEK(P+1)

50 PRINT V

-expresii asociate;

FIELD,OPEN,USR
VARPTR$ -functie

-Atribuie unei variabile,sub forma de sir de caractere,offsetul

unei variabile din memorie.Este folosita de obicei cu instruc-

tiunile DRAW si PLAY.Se poate folosi VARPTR$ pentru a indica

numele unei variabile in sirul de comenzi ale instructiunilor

PLAY si DRAW (de exemplu PLAY "x"+VARPTR$(a$).

-153-

Functia VARPTR$ furnizeaza o exprimare a adresei din memorie a

obiectului (variabila),sub forma a trei carectere;

a)Octet 0 tip (variabila)= 2-intreg

3-sir

4-numar real in simpla precizie

8-numar real in dubla precizie

b)Octet 1-partea cea mai putin semnificativa a adresei

c)Octet 2-partea cea mai semnificativa a adresei.

-forma VARPTR$(variabila)

-exemplu 10 LET A$="GW-BASIC"

20 PRINT VARPTR(A$)

-expresii asociate;

VARPTR,PLAY,DRAW
VIEW -enunt

-Defineste un subset dreptunghiular din ecran la care face apel

Yüklə 1,91 Mb.

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