|
partial (de la linia la linia),conditionat de o anumita variabila
|
səhifə | 18/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| 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
Dostları ilə paylaş: |
|
|