Basic abc-doar



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

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

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