|
|
səhifə | 16/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| 30 FOR x=1 TO 10
40 PRINT INT(a*x/b);"INT"
50 PRINT TAB(5) CINT(a*x/b);"CINT"
60 PRINT TAB(10) FIX(a*x/b);"FIX"
70 NEXT x
-expresii asociate;
CINT,FIX
-118-
IOCTL -enunt
-Permite trimiterea unui sir de control (comenzi) la un
dispozitiv periferic(de exemplu imprimanta) dupa deschiderea
fisierului care contine driverul de periferic.Sirul poate
avea pina la 255 octeti lungime si poate contine comenzi
multiple separate prin virgula (ex LF:PL66:LW132)
-forma IOCTL[#](numar canal),(sir)
-exemplu 10 REM Trateaza driver de imprimanta cu lungime pagina
20 REM de 50 linii
30 OPEN "\DEV\LPT 1" FOR OUTPUT AS#2
40 IOCTL #2,"PL50"
sau 10 OPEN "LPT1" FOR OUTPUT AS#1
20 IOCTL#1,"PL60"
-Observatie;nu toate driverele de periferic accepta comanda
IOCTL.Cele protejate "antivirus" nu permit modificarea comenzi-
lor decit dupa o serie de parole si conversii de date.
-expresii asociate;
IOCTL$,OPEN
IOCTL$ -functie
-Returneaza un sir de date de control privind driverul de
control al unui periferic.Sirul cuprinde comenzile pentru
perifericul respectiv.
-forma IOCTL$[#](numar canal)
-exemple 10 REM Driver imprimanta pentru 50 linii
20 OPEN "\DEV\LPT1" AS OUTPUT AS#2
30 PRINT IOCTL$(#2)
RUN returneaza LP 50 (vezi IOCTL)
sau 10 OPEN "COM" AS#1
20 IOCTL#1,"SW132;GW"
30 IF IOCTL$(1)="132" THEN PRINT "Instalat corect"
-Observatie;prin exemplul de mai sus se poate verifica daca un
periferic instalat are acces la suficienta memorie de RAM pentru
a putea accepta un anumit tip de driver de control.
-expresii asociate;IOCTL,OPEN
KEY LIST -enunt
-Afiseaza toate valorile cheilor soft,utilizind 15 caractere
pentru fiecare cheie in parte.(afiseaza tastele programabile)
-forma KEY LIST
-exemplu KEY LIST
-expresii asociate;
KEY OFF,KEY ON,KEY n
KEY OFF -enunt
-Sterge de pe ultima linie afisajul cheilor programabile si
lasa posibilitatea de a scrie date pe aceasta linie.
-forma KEY OFF
-exemplu KEY OFF (vezi si KEY ON)
KEY ON -enunt
-Afiseaza pe ultima linie semnificatia tastelor programabile
-forma KEY ON
-exemplu KEY ON
-expresii asociate;KEY LIST,KEY OFF,KEY n
-119-
KEY n -enunt
-Aloca tastei functionale de rang n(nr de la 1 la 10) un sir de
15 caractere din valoarea expresiei sir(expresie sir).Aceasta
valoare va fi acceptata la actionarea cheii functionale F(n) si
succesiv cite un caracter din acest sir va fi restituit la fie-
care invocare a functiei INKEY$.
-forma KEY n,(expresie sir)
-exemplu 10 REM Stabilire de simboluri noi pentru tastele 1-5
20 KEY OFF:REM Anulare afisare taste programabile
30 DATA "Patrat","Dreptunghi","Romb","Cerc","Sageata",
"Linie"
40 FOR I%=1 TO 5
50 READ SOFTK$(I%)
60 KEY%,SOFTK$(I%)
70 NEXT I%
80 KEY ON:REM Restabilire afisare taste programabile
-expresii asociate;
KEY LIST,KEY OFF,KEY ON
KEY -enunt
-Atribuie valoarea expresiei sir unei taste utilizator(unei taste
obisnuite).Valoarea expresiei poate fi intre 15-20 iar codul
tastei se exprima printr-un numar zecimal de la 1 la 83 pentru
tastatura tip 1(microcalculator) sau de la 1 la 103 pentru tasta-
tura de tip 2 (vezi tabelele cu codurile tastelor).La actionarea
tastei respective se va aplica noua valoare asignata.
-forma KEY (n),CHR$(shift+CHR$(cod baleiaj))
cu shift= CAPSLOCK -&H40
NUMLOCK -&H20
CTRL -&H04
SHIFT(right) -&H01
SHIFT(left) -&H02
cod baleiaj= 1-83 pt tastatura 1
1-103 pt tastatura tip 2
-Observatie;este similara cu SYMBOL din BASIC AMSTRAD iar tastele
15-25 reprezinta tastele definite de utilizator
KEYn OFF -enunt
-Intrerupere provocata de actionarea tastei n.
-forma KEY n OFF
-expresii asociate;KEYn,KEYn ON,KEYn STOP,ON KEY
KEYn ON -enunt
-Activeaza intreruperea provocata de actionarea tastei n
-forma KEY n ON
-exemplu 10 KEY 4 SCREEN 0,0,0:REM stabilire cheie soft 4
20 KEY(4)ON:REM Activare intrerupere cheie 4
30 ON KEY(4) GOSUB 1100
40 REM Stabilire rutina utilizator tratare IRQ
..............
actionare cheie (4)
1100 REM Rutina de tratare a intreruperii
-expresii asociate;
KEYn,KEYn OFF,KEYn STOP,ON KEY
-120-
KEY n STOP
-enunt
-Suspenda intreruperea provocata de tasta Key n pina la reactiva-
rea ei prin KEY ON.
-forma KEY(n)STOP
-expresii asociate;
KEY n,KEY n OFF,KEY n STOP,ON KEY
KILL -comanda
-Sterge fisierul specificat de pe disc cu conditia sa nu fie
deschis in momentil comenzii.
-forma KILL(fisier)
-exemple KILL "FISIER1"
va sterge fisierul FISIER1 din catalogul curent
(presupunind ca am salvat acest fisier in catalog)
sau KILL "A:CATAL 1\CATAL 2\FIS.DAT"
sterge FIS.DAT din catalogul 2 din catalogul 1 de pe
discul A (din unitatea A)
-expresii asociate;nu sint
LCOPY -comanda
-Descarca continutul ecranului pe imprimanta implicita.Expresia
numerica(numar)nu are semnificatie in GW-BASIC fiind utilizata
pentru compatibilitate cu alte versiuni de interpretor BASIC.
-forma LCOPY(numar)
-expresii asociate;nu sint
LEFT$ -functie
-Furnizeaza un subsir de lungimea (lungime) incepind cu primul
caracter al sirului (expresie sir) si pina la pozitia din sir
egala cu (lungime).Daca parametrul (lungime) este mai mare decit
sirul atunci se citeste tot sirul.Parametrul (lungime) poate
lua valori de la 1 la 255(nr max de caractere dintr-un sir).
-forma LEFT$(expresie sir),(lungime)
-exemplu 10 LET A$="BUNA DIMINEATA"
20 FOR x=1 TO 14
30 PRINT LEFT$(A$,x)
40 NEXT x
-expresii asociate;
MID$,RIGHT$
LEN -functie
-Furnizeaza lungimea valorii expresiei sir (expr sir).Daca sirul
este NULL valoarea restituita este zero.
-forma LEN(expr sir)
-exemplu 10 LET x$="Lungumea acestui sir este="
20 PRINT x$;LEN(x$)
10 LET A$="BUNA ZIUA"
20 LET B$="BUNA DIMINEATA"
30 LET C$="BUNA SEARA"
40 PRINT LEN(A$+B$+C$)
masoara spatiul total ocupat de texte
-expresii asociate;nu sint
-121-
LINE -enunt
-Determina trasarea unei linii din punctul de coordonate x1,y1
in punctul de coordonate x2,y2.Daca x1,y1 nu se specifica si
enuntul incepe cu -x2,y2 se presupune ca trasarea se face din
punctul curent pina la x2,y2.Daca se specifica si STEP trasarea
se face din atit in atit cit se specifica prin STEP.
Parametri optionali sint B si F.Prin B se traseaza un dreptunghi
delimitat prin x1,y1 coltul superior stg si x2,y2 coltul inferior
drept.Prin F se umple cu culoarea specificata prin culoare
dreptunghiul generat prin B (caz in care optiunea devine BF)
Parametrul (stil) are semnificatie doar cind exista mai multe
palete de culori.
-forma LINE [STEP](x1,y1)-[STEP](x2,y2),(culoare),B[F],(stil)
-exemple
10 SCREEN 1
20 LINE (10,10)-(200,200)
10 SCREEN 2
20 LINE STEP(10,10)-(200,200)
10 SCREEN 2
20 LINE (10,10)-STEP(20,200)
sau 10 SCREEN 2
20 LINE (10,10)-(200,200),2,BF
-expresii asociate;
CIRCLE,COLOR
LINE INPUT -enunt
-Permite introducerea unui sir de maximum 254 caractere (o
linie de adresa) de la tastatura,sir care va fi identificat
si apelat in continuare prin variabila desemnata (var sir).
Daca imediat dupa INPUT apare separatorul punct si virgula
(;) atunci programul nu mai sare automat la linia urmatoare
si executa linia introdusa in continuarea celei curente.
-forma LINE INPUT [;](prompt;)(var sir)
-exemplu
10 FOR x=1 TO 20
20 LINE INPUT "NUME SI PRENUME";NUME$
30 PRINT TAB(20)NUME$
40 NEXT x
sau 10 REM Formare fisier agenda
20 OPEN "O",1,"FISNUM"
25 PRINT#1,20
30 FOR I=1 TO 20
40 LINE INPUT "NUME SI PRENUME:";NUMP$
50 PRINT#1,NUMP$
60 NEXT I
70 CLOSE#1
-expresii asociate;
INPUT,INPUT$,INPUT#,LINE INPUT#
LINE INPUT# -enunt
-Citeste din fisierul (numar canal) un sir de caractere
care va fi identificat si apelat ulterior prin (var sir).
Sirul poate fi citit si pe un port de comunicatie(nr canal)
-122-
-forma LINE INPUT#(numar canal),(var sir)
-exemplu 10 REM Tiparire fisier Agenda
20 OPEN "I",1,"FISNUM"
30 LINE INPUT#1,NP$
40 FOR I%=1 TO CVI(NP$)
50 LINE INPUT#1,NUMP$
60 PRINT I%;NUMP$
70 NEXT I%
80 CLOSE #1
-expresii asociate;
INPUT$,INPUT#,LINE INPUT,INPUT
LIST -comanda
-Afiseaza programul rezident in memorie,linie cu linie,de la
linia specificata prin (nr linie 1) pina la linia specificata
prin (nr linie 2) sau afiseaza un fisier specificat prin
parametrul (specificator fisier) deasemenea linie cu linie.
-forma LIST (nr linie 1)-(nr linie 2),(specificator fisier)
-exemple LIST
LIST 20-100
LIST -200
LIST 10-100,"FISIER1"
10 FOR x=1 TO 10
20 PRINT TAB(x)x
30 NEXT x
LIST
-Observatie;programul sursa poate fi protejat,caz in care nu va
fi listat printr-o comanda LIST ci necesita o parola de deprote-
jare.Pentru ca sa fie executata comanda necesita un program
existent in memorie si delimitat prin numerotarea conventionala
a liniilor.Pot exista variante de program in limbaj BASIC dar la
care numerotarea liniilor se face de exemplu hexazecimal sau
alfabetic,caz in care si comenzile vor fi diferite.
-expresii asociate;
LLIST
LLIST -comanda
-Tipareste la imprimanta in rinduri de cite 132 caractere per
linie,programul sursa curent sau programul rezident din memorie.
Tiparirea se face linie cu linie in intervalul specificat prin
parametrii (linie 1)si (linie 2).
-forma LLIST(numar linie 1)-(numar linie 2)
-exemple LLIST :REM listare intreg program
LLIST -200:REM listare pina la linia 200
10 FOR x=64 TO 100
20 PRINT CHR$(x)
30 NEXT x
LLIST
-Observatie;unele programe pot fi protejate impotriva copierii
sau listarii.Tiparirea lor se poate face doar dupa deprotejare.
-expresii asociate;nu sint
-123-
LOAD -comanda
-Incarca de pe disc sau de pe alta unitate de memorie un fisier
sau un program specificat prin (specificator fisier).Optiunea
R permite pastrarea in memorie si a programului curent si
deschiderea unui nou fisier.
-forma LOAD (specificator fisier),[R]
-exemplu LOAD "A:FISIER1"
-expresii asociate; RUN
LOC -functie
-Furnizeaza pozitia curenta in fisierul deschis sub identifi-
catorul (numar canal).Aceasta pozitie curenta este;
a) fisiere secventiale:citul impartirii la 128 al pozitiei
curente in octeti
b)fisiere RAM:numarul inregistrarii tocmai citite sau scrise
c)fisiere COM:min(255,nr de caractere in coada de asteptare)
fisierele COM deschise in mod ASCII nu accepta
caracterul EOF la sfirsitul fisierului.
-forma LOC(numar canal)
-exemplu 100 IF LOC(2)>100 THEN STOP
-Observatie;se utilizeaza mai ales pentru jocuri si pentru desene
si proiectare grafica sau reprezentarea unor functii
-expresii asociate;nu sint
LOCATE -enunt
-Identifica si deplaseaza cursorul la punctul indicat prin
coordunatele reprezentate prin (rind dela 1 la 25) si (coloana
de la 1-40 pt screen1 sau 1-80 pt screen2).Parametrul optional
perioada determina modul de afisare a cursorului in punctul
respectiv astfel; 0-afisarea este inhibata (exceptie pt INPUT)
1-afisare permanenta
2-10-licarire cu (perioada)/18,75 secunde
Dimensiunea cursorului se poate fixa prin parametrii (linie
start) si (linie end) care sint expresii numerice cu valori
0-15 pentru cursor utilizator sau 16-31 pentru cursor exclusiv.
Matricea de definire a cursorului poate fi pe 16 sau 32 de biti.
Matricea este de 16X16 pentru rezolutie medie,8X8 pentru rezo-
lutie mare si 16/8 pentru rezolutie super.Forma corsorului poate
fi deasemenea definita prin (linie sablon) care este o expresie
numerica avind valoarea liniei efective incrementata cu 50 sau
chiar 100 si prin (grila) care este o expresie numerica repre-
zentind starea pozitiilor binare la care se aplica operatia XOR
fata de culoarea de fond a ecranului.
-forma LOCATE(rind),(coloana),(perioada),(forma)
cu (forma)::=(dimens)|(sablon)
(dimens)::=(linie start),(linie end)
(sablon)::=(linie sablon),(grila)
-exemplu 10 REM Cursor linia 5,coloana 20,inaltime 7-4+1
20 SCREEN 2
30 LOCATE 5,20,,4,7
40 LOCATE,,,105,&H82
-Observatie;in mod similar este format programul pentru dispozi-
tivul de control denumit "mouse" (liniar sau matriceal).
-expresii asociate; LINE,PSET,SCREEN
-124-
LOCATE -enunt
-Permite identificarea si pozitionarea cursorului la (rind
1-25) si (coloana 1-40 sau 1-80) vizibil (cursor>0) sau
invizibil (cursor=0) cu dimensiuni programabile ale cursorului.
Inaltimea cursorului este maxim 8 linii pentru color si 14
linii pentru alb-negru.
dimensiunile implicite sint: color alb-negru
-cursor scriere fortata color 6-7 12-13
-cursor inserare 4-7 7-13
-cursor utilizator 0-7 0-13
-forma LOCATE(rind),(coloana),(cursor),(linie start),(linie
stop)
-exemplu 10 REM Cursor linia 5,coloana 20 inaltime 7-4+1
20 LOCATE 5,20,1,36,39
sau 10 SCREEN 2
20 DIM M(20,20)
30 FOR x=1 TO 20
40 FOR y=1 TO 20
50 LOCATE x,y:PRINT "*"
60 LOCATE y,x:PRINT "."
70 LOCATE x,x:PRINT "#"
80 LOCATE y,y:PRINT "-"
90 NEXT y:NEXT x
-expresii asociate;
INKEY$,INPUT$
LOF -functie
-Calculeaza (length of file)lungimea in octeti a fisierului cu
numarul (numar de canal).In cazul fisierelor de comunicatie (COM)
expresia (buf size)-LOC(numar de canal) indica spatiul liber in
zona tampon de intrare de (bufsize) octeti (implicit 256).
-forma LOF(numar de canal)
-exemplu 10 OPEN "FISPERS" A$#3
20 PRINT "FISIERUL ARE:";LOF(3);"OCTETI"
-expresii asociate;
LOC,OPEN
LOG -functie
-Calculeaza logaritmul natural al argumentului pentru expresia
numerica.(logarintm in baza e unde e=2.7182818)(in alte programe
logaritmul natural se noteaza conventional LN iar cel zecimal LOG)
-forma LOG(expresia numerica)
-exemple PRINT LOG(3)
10 LET x=3.14*5^2
20 PRINT LOG(x)
10 FOR x=1 TO 360 STEP 3.14/180
20 PRINT LOG(x):PRINT SIN(x)
30 NEXT x
-Observatie;se recomanda verificarea in tabelele trigonometrice
a valorilor obtinute inainte de utilizarea functiei pentru calcule
complexe pentru familiarizarea cu calculatorul.
-expresii asociate;EXP
-125-
LPOS -functie
-Determina pozitia curenta a cursorului in zona tampon a impri-
mantei LPT (printer=un numar intreg 1-3).
-forma LPOS (printer)
-exemple 10 REM Pe coloana 70 se imprima semnul intrebarii
20 IF LPOS(1)>=71 LPRINT CHR$(63)
-expresii asociate;nu sint
LPRINT -enunt
-Tipareste la imprimanta valoarea expresiilor din (lista de
expresii) pina la intilnirea caracterului specificat prin
(terminator).Separatorul punct si virgula (;) determina tiparirea
in continuare a liniilor fara salt la linia urmatoare.Numerele
fractionare se scriu in simpla precizie daca depasesc 7 cifre si
in dubla precizie daca depasesc 16 cifre.
-forma LPRINT(lista de expresii)(terminator)
-exemplu 10 LET A$="BUNA ZIUA"
20 LET B$="1 ianuarie 2002"
30 LPRINT A$;" astazi este ";B$
-expresii asociate;
LPRINT USING,PRINT,PRINT USING,PRINT#,PRINT#USING
LPRINT USING
-enunt
-Tipareste valoarea expresiilor din (lista de expresii) conform
cu specificatia de format indicata prin (format).Indicatia format
este o expresie tip sir compusa din caractere de formatare.
OPTIUNI;
-pentru variabile tip sir;
!-se tipareste primul caracter
\ \-se tiparesc cu doua caractere mai mult decit numarul de
spatii cuprins intre cei doi delimitatori
'\'-se aliniaza la stinga
&-se tipareste intregul sir
-pentru variabilele numerice;
#:se tipareste cite o cifra a numarului pentru fiecare
caracter de acest tip (cu aliniere la dreapta)
.:(punctul) indica pozitia punctului zecimal
+:semnul numarului se plaseaza inainte sau dupa numar,in
functie de pozitia caracterului "+" fata de semnele ####
-:plasat dupa semnele ### adauga semnul "-" dupa numar
**:inainte de # determina umplerea cu "*" a spatiilor goale
initiale din tabele(rezultate prin alinierea numerelor)
$$:plasate inainte de ## adauga "$" inaintea numarului
**$:inainte de # adauga atit stelute"*" cit si semnul dolar
"$" inaintea numarului
,:plasata imediat inainte de punctul zecimal,provoaca sepa-
rarea in forma editata,a triadelor prin caracterul ',' iar
plasata dupa # determina fortarea in aceasta pozitie a ','
^^^^:dupa # indica sablonul de editare sub forma exponentiala
-:caracterul imediat urmator,este transcris literal in sir
%:daca numarul este mai mare decit sablonul # el se editeaza
corect,dar precedat de caracterul "%"
-126-
-forma LPRINT USING(format);(lista de expresii)(terminator)
cu
(lista de expresii)::=(expresie)|(lista de expresii)
(separator)(expresie)
(separator)::=,|;
(terminator)::=,|;
-exemple LPRINT USING "-#####.###";"-3.14"
10 FOR x=1 TO 1000 STEP 200
20 LPRINT USING "**$####.###-";x/3
30 NEXT x
-expresii asociate;
LPRINT,PRINT,PRINT#,PRINT USING,PRINT# USING
LSET -enunt
-Atribuie valoarea expresiei(expresie sir) unei variabile sir
(var sir) de sine statatoare sau care a fost definita prin
Dostları ilə paylaş: |
|
|