Basic abc-doar


-forma OPENIN (nume fisier)



Yüklə 1,91 Mb.
səhifə10/20
tarix06.08.2018
ölçüsü1,91 Mb.
#67460
1   ...   6   7   8   9   10   11   12   13   ...   20

-forma OPENIN (nume fisier)

-exemplu 10 OPENIN FISIER 1:READ a

20 FOR x=1 to 1000

30 PRINT a:PRINT CHR$(a);

40 NEXT x

-expresii asociate;

CLOSEIN,EOF
OPENOUT -comanda

-Deschide pe discheta un fisier de iesire (trimite un

mesaj spre fax,E-mail,sau spre imprimanta sau alt periferic)

-forma OPENOUT(nume fisier)

-exemplu 10 OPENOUT FISIER 1

20 READ b

30 FOR x=1 TO 1000

40 OUT &FF,b

50 NEXT x

60 CLOSEOUT FISIER 1

-expresii asociate;

CLOSEOUT
OR -operator

-Executa operatii echivalente cu SI si respectiv atribuie

valoarea 1 variabilelor care corespund expresiei numerice

pe care o defineste.Daca oricare din argumentele sale are

valoarea 0 atunci functia SI (OR) nu se opereaza.

-forma (argument)OR(argument)

-exemple 10 FOR x=1 TO 10

20 FOR y=20 TO 30

30 IF x=7 OR y=27 THEN PRINT x,y

40 NEXT x

50 NEXT y
sau 10 IF "ciine"="pisica" OR 5=7 THEN PRINT "adevarat"

ELSE PRINT "fals"
ORIGIN -comanda

-Stabileste punctul de origine al cursorului grafic prin

coordonatele x,y .Urmatorii parametri sint facultativi si

definesc dimensiunile unei ferestre grafice.Daca dimensiunile

definite depasesc ecranul se va considera ca limita laterala

marginea ecranului(in alte programe ferestrele pot avea dimen-

siuni nelimitate iar ecranul gliseaza pina la marginea

definita).

-forma ORIGIN(x),(y),[stinga,dreapta,sus,jos)

-exemplu 10 MODE 1:BORDER 13:TAG

20 ORIGIN 0,0,100,540,300,100

30 GRAPHICS PAPER 3:CLG

40 FOR x=550 TO -340 STEP -10:MOVE x,206

50 PRINT "Iata o fereastra grafica";:FRAME:NEXT x:GOTO 40

-68-

expresii asociate;

CLG
OUT -comanda

-Trimite valoarea (numarul intreg intre 0 si 255) spre iesirea

specificata prin (numar de port).Astfel in cod numeric al

caracterelor ASCII se poate transmite orice text sau reprezentare

grafica (asa numita transmisiune pe port serial fata de cele pe

port paralel in care se trimit concomitent semnale pe 16 sau 32

de porturi simultan).

-forma OUT(numar de port),(numar intreg)

-exemplu OUT 8,255

sau OUT &F8F4,&FF (daca se transmite hexazecimal)

-expresii asociate;

INP,WAIT
PAPER -comanda

-Stabileste culoarea fondului ecranului pentru caractere.Daca nu

se specifica (numarul de canal) se considera implicit 0.Numarul

de culori (cerneala) depinde de modul de lucru ales (0,1,2)

-forma PAPER #(numar de canal),(cerneala)

-exemplu 10 MODE 0:PEN 0:INK 0,13

20 FOR p=1 TO 15

30 PAPER p:CLS

40 LOCATE 7,12:PRINT "PAPER";p

50 FOR t=1 TO 500:NEXT t,p

-expresii asociate;

INK,GRAPHICS PAPER,PEN
PEEK -functie

-Citeste continutul locatiei de memorie Z80 a carei adresa este

indicata intre paranteze.Aceasta adresa trebuie sa fie cuprinsa

intre &0000 si &FFFF(respectiv 0 si 65535).PEEK nu opereaza decit

pe memoria executabila (RAM-random acces memory) si nu opereaza

pe memoria inoperanta (ROM-read only memory) si furnizeaza valori

cuprinse intre &00 si &FF(respectiv 0 la 255) echivalente cu

codul numeric al caracterelor ASCII.

-forma PEEK (adresa)

-exemplu Atentie deoarece citeste toata memoria!

Daca modificati riscati sa deteriorati programul!

10 MODE 1:ZONE 7

20 WINDOW 1,40,1,2:WINDOW#1,1,40,3,25

30 PRINT "Adresa memorie"

40 LOCATE 20,1:PRINT "Continut memorie"

50 FOR n=0 TO 65535

60 LET p=PEEK(n)

70 PRINT#1,n,"(&";HEX$(n);")";

80 PRINT#1,TAB(20);p,"(&";HEX$(p);")"

90 NEXT n

sau 10 LET x=PEEK(&0007)

20 PRINT x (daca dorim sa citim o singura adresa)
-expresii asociate;

POKE

-69-

PEN -comanda

-Selectioneaza culoarea(cerneala) utilizata pentru a scrie pe

ecran,sau pe canalul indicat (imprimanta).Pentru selectie se

foloseste un numar cuprins intre 1 si 15.Numarul de canal este

facultativ (daca lipseste se considera implicit 0).Ultimul

parametru (felul fondului) se precizeaza prin 1=transparent

sau 0=opac.

-forma PEN#(numar de canal),(cerneala),(felul fondului)

-exemplu 10 MODE 0:PAPER 0:INK 0,13

20 FOR p=1 TO 15

30 PEN p:PRINT SPACE$(47);"PEN";p

40 FOR t=1 TO 500:NEXT t,p:GOTO 20

-expresii asociate; PAPER
PI -functie

-Furnizeaza valoarea numarului PI(3.14159265etc.) respectiv

raportul dintre circumferinta si diametrul unui cerc.

-forma PI

-exemple PRINT PI

sau 10 FOR x=1 TO 10

20 PRINT PI*x^2/2

30 NEXT x

-expresii asociate;

DEG,RAD
PLOT -comanda

-Afiseaza grafic punctul definit prin coordonatele x si y ,

reprezentat cu culoarea (cerneala=nr, de la o la 15) si cu

modul de interactiune cu caracterele preexistente (tip cerneala

0=normal,1=XOR,2=AND si 3=OR.

Ultimi doi parametri sint facultativi (daca lipsesc se considera

implicit ca au valoarea 0)

-forma PLOT(coordonata x),(coordonata y),(cerneala),(tip de

5 CLS cerneala)

-exemple 10 FOR x=1 TO 200

20 FOR y=200 TO 1 STEP -1

30 PLOT x,x

40 PLOT y,y

50 PLOT x,y

60 PLOT y,x

70 NEXT y

80 NEXT x
10 MODE 1:BORDER 0:PAPER 0:PEN 1

20 INK 0,0:INK 1,26:INK 2,13,26:DEG

30 FOR x=1 TO 360:ORIGIN 320,200

40 DRAW 50*COS(x),50*SIN(x),1

50 PLOT 100*COS(x),25*SIN(x):NEXT x

60 ORIGIN 0,0:LET t=TIME+700:WHILE TIME

70 PLOT RND*640,RND*400:WEND

80 PLOT RND*640,RND*400,2

90 GOTO 90

-expresii asociate;

GRAPHICS PEN,PLOTR

-70-

PLOTR -comanda

-Afiseaza un punct situat la x,y de pozitia actuala a cursorului

In rest este identica cu PLOT.Culoarea se selecteaza prin 0-15,

iar tipul de interactiune prin 0-3.

-forma PLOTR(deplasare x),(deplasare y),(culoare),(tip de

interactiune)

-exemple 10 PRINT "Grafice de functii"

20 BORDER 0:GRAPHICS PEN 5:CLS

30 MODE 1:PLOT 0,0

40 FOR x=1 TO 100

41 PLOT 0,x

42 PLOT x,0

50 PLOT 7*x,x^2

60 PLOT x^2,x*13

70 NEXT x

-expresii asociate;

GRAPHICS PEN,PLOT
POKE -comanda

-Inscrie valoarea corespunzatoare (numar intreg cuprins intre

0 si 255) la adresa indicata din memoria activa (RAM) din Z80

(Z80 este procesorul alfanumeric).Comanda este echivalenta cu

PEEK dar in loc sa citeasca scrie datele in memorie.Se va

utiliza cu atentie deoarece o comanda gresita poate altera sau

defecta programul.

-forma POKE(adresa)(numar intreg)

-exemplu 10 FOR m=65530 TO 65535

20 POKE m,100

30 NEXT m

RUN si apoi executam NEW

10 LET x=PEEK(&FFFD)

20 PRINT x

-Observatie;prin comanda PEEK varificam daca la comanda POKE

am introdus corect datele.Se recomanda ori de cite ori utilizam

comanda POKE si introducem date pe care nu le putem verifica

prin comanda LIST.In exemplul de mai sus am introdus in liniile

65350 pina la 65535 valoarea 100 iar prin PEEK(&FFFD)citim linia

655333 in care vom avea valoarea 100.Pentru utilizarea corecta

a comenzii PEEK se va consulta tabelul de echivalenta cu codul

hexazecimal (65533 se scrie FFFD).
POS -functie

-Calculeaza pozitia cursorului de text pe axa orizontala,pornind

de la marginea stinga a ferestrei.Parametrul (numarul de canal)

trebuie sa fie precizat si sa fie diferit de 0.Se utilizeaza

pentru afisarea pozitiei cursorului in programele editor de text.

De exemplu in editorul din MS-DOS se observa pe bara de jos in

dreapta afisajul Line:xx alaturi de Col:yy unde se sfiseaza

pozitia pe verticala a cursorului.

-forma POS #(numar canal)

-exemplu 10 DIM A (10,10)

20 FOR X=1 TO 10:LOCATE x,x

30 PRINT XPOS x:NEXT x

-expresii asociate;VPOS,WINDOW respectiv XPOS si YPOS
-71-

PRINT -comanda

-Afiseaza variabila sau sirul de variabile solicitate,textul sau

caracterele grafice situate intre ghilimele sau trimite datele

de mai sus pe un canal de iesire specificat prin (numar de

canal) la o imptimanta,un alt calculator,un alt monitor sau un

alt periferic.Daca variabilele sau textul solicitat sint urmate

de punct si virgula,atunci vor fi tiparite in continuarea celor

precedente fara salt la rindul urmator.Daca sint urmate de vir-

gula caracterele vor fi afisate una dupa cealalta in ordinea

introducerii lor.Valorile constante,ca si caracterele grafice

trebuiesc introduse intre ghilimele.

-forma PRINT #(numar de canal),(lista variabile sau constante)

-exemple 10 FOR x=1 TO 10

20 PRINT x

30 NEXT x

sau 10 FOR x=1 TO 10

20 PRINT x;

30 NEXT x

sau 10 PRINT "Orice fel de text"
PRINT SPC -comanda

-Determina spatiul liber ce trebuie pastrat intre doua variabile

sau doua fragmente de text de tiparit.

-forma PRINT#(numar de canal),(lista de variabile);SPC(numar

intreg)(lista de articole de imprimat

-exemplu 10 PRINT "Aceasta este instructiunea SPC"

20 FOR x=4 TO 15

30 PRINT SPC(5)"a";SPC(x);"b"

40 NEXT x

-expresii asociate;

PRINT,PRINT TAB,PRINT USING,ZONE
PRINT TAB -comanda

-Determina tiparirea cu numarul de spatii dintre caractere

specificat prin numarul din paranteza,spatiul liber fiind

masurat spre stinga caracterului afisat (SPC masoara spatiul

total liber).Daca in rindul respectiv nu este spatiu sufi-

cient,afisarea continua pe rindul urmator.Se utilizeaza mai

ales pentru tabele.

-forma PRINT#(numar canal),(lista de variabile)TAB(numar

intreg)(lista de articole sau variabile)

-exemplu 10 PRINT "Aceasta este instructiunea TAB"

20 FOR x=6 TO 15

30 PRINT TAB(5)"a";TAB(x)x

40 NEXT x
-expresii asociate;

PRINT,PRINT SPC,PRINT USING,ZONE
PRINT USING -comanda

########### -Determina un anumit format de afisare a variabilelor,

determina numarul de zecimale pentru calculele cu numere

zecimale,adauga anumite semne sau spatii fixe la tipari-

rea unui rezultat (pret) dupa cum urmeaza:

-72-

-FORMATE NUMERICE

# -fiecare semn # rezerva spatiul pentru o cifra

. -stabileste pozitia in care va apare virgula zecimala

, -rezerva un spatiu (apare intotdeauna inaintea punctului si

specifica dispunerea cifrelor zecimale in grupuri de cite trei

de exemplu #######,.##)

** -toare spatiile situate inaintea cifrelor vor fi completate cu

asterixuri

$$ -adauga semnul $ inaintea fiecarui numar (se foloseste pentru

tiparirea preturilor in dolari)

**$ -adauga si asterixuri si semnul dolar inaintea cifrelor

+ -adauga si semnul la tiparirea numarului

- -adauga semnul minus la numerele negative (se adauga la sfir-

sitil expresiei ######.#####-

^^^^ -arata ca numarul trebuie sa apara ca exponent (EX.#.###^^^^+)

-FORMATE ALFANUMERICE (pentru siruri de litere)

! -arata ca numai primul caracter al sirului trebuie sa apara

& -arata ca sirul trebuie sa apara "asa cum este"
-forma generala PRINT#(numar canal)(lista de variabile);USING(model

de format)(separator)(expresie)

-exemple 10 FOR x=1 TO 10

20 LET n=100000*(RND^5)

30 PRINT "marfa";USING "#######.#######";n

40 NEXT x

sau 10 LET a$="FF######,.##"

20 LET b$="!"

30 PRINT USING a$;12345.67890;

40 PRINT USING b$;"centime"

sau 10 CLS:LET a$="abcdefghijklmnoprst"

20 PRINT "sir de caractere alfanumerice";a$

30 PRINT "Cu !="

40 PRINT USING "!";a$

50 PRINT "Cu \spatii\="

60 PRINT USING "\ \";a$

70 PRINT "Cu &="

80 PRINT USING "&";a$

90 END

-expresii asociate;

PRINT,PRINT SPC,PRINT TAB,ZONE
RAD -comanda

-Stabileste modul de calcul al unghiurilor exprimate in radiani.

In BASIC acesta este modul de calcul daca nu a fost specificat

altfel prin DEG. 5 LET y=1:GOTO 10

-forma RAD 6 LET y=2

-exemple 10 FOR x=1 TO 36

20 PLOT 100+20*SIN(x),100+20*COS(x)

30 NEXT x:CLS

40 IF y=1 THEN GOTO 90

50 IF Y=2 THEN GOTO 100

60 END

90 DEG:PRINT "expresia in grade":GOTO 6

100 RAD:PRINT "expresia in radiani":GOTO 5

-73-

RANDOMIZE -comanda

-Extrage numera aleatoare (la intimplare) si calculeaza

expresia data in functie de aceste numere.Secventa de

numere poate fi predeterminata sau absolut la intimplare.

RANDOMIZE TIME furnizeaza o secventa practic imprevizibila.

Numerele aleatoare sint cuprinse intre 0 si 1 si sint

reprezentate prin numere cu 9 zecimale(destul de discrimi-

native.In secventele pseudoaleatorii fiecare numar depinde

de precedentul prin o formula oarecare si dupa un anumit

ciclu numerele se repeta in aceeasi ordine.

-forma RANDOMIZE

-exemple PRINT RND

sau 10 FOR x=1 TO 10

20 PRINT RND

30 NEXT x

sau 10 BORDER 20:CLS

20 LET x=RND*600

30 LET y=RND*600

40 PLOT x,y

50 GOTO 20

-expresii asociate;

RND
READ... -comanda

RESTORE -Citeste datele continute intr-o instructiune DATA si le atribuie

variabilei specificate.Cind exista mai multe instructiuni DATA

si comanda READ solicita mai multe elemente decit cele din prima

instructiune DATA atunci programul citeste automat urmatoarea

instructiune DATA si elementele sale pina cind epuizeaza ope-

ratiile solicitate.RESTORE permite revenirea la o instructiune

DATA anterioara.Astfel,datele dintr-o instructiune DATA pot fi

citite si interpretate diferit,de mai multe ori in cadrul unui

singur program (de exemplu pot genera sunete si imagini simultan)

-forma READ(lista de variabile)

-exemple 10 DATA 1,2,3,4,5,6,7,8,9,0

20 FOR x=1 TO 25

30 READ p

35 PRINT p

40 NEXT x

50 DATA 11,12,13,14,15,16,17,18,19,20

60 DATA 21,22,23,24,25,26,27,28,29,30

70 END

sau 10 DATA T,E,X,T, ,D,E, ,C,O,N,T,R,O,L

20 FOR x=1 TO 15

30 READ a$

40 PRINT a$

50 NEXT x

sau 10 DATA 1,i,a,n,u,a,r,i,e,2,0,0,2

20 FOR x=1 TO 13

30 READ a$

40 PRINT a$;

50 NEXT x

-expresii asociate;

DATA,RESTORE

-74-

RELEASE -comanda

-Elibereaza canalele sonore pentru comanda SOUND blocate prin

comanda INKEY(x)=-1

-forma RELEASE(canale sonore)

-exemplu 10 SOUND 65,1000,100

20 PRINT "Apasati R pentru a elibera nota"

30 IF INKEY(50)=-1 THEN 30

40 RELEASE 1

-Observatie;parametrul (canale sonore) poate avea urmatoarele

valori: 1:Elibereaza canalul A

2:Elibereaza canalul B

3:Elibereaza canalul A si B

4:Elibereaza canalul C

5:Elibereaza canalul A si C

6:Elibereaza canalul B si C

7:Elibereaza canalul A si B si C

-expresii asociate;SOUND
REM -comanda

-Insereaza in program o remarca sau un comentariu care nu este

afisat sau executat dar ofera indicatii pentru depanare sau modi-

ficare de linii de program dupa comanda LIST.Este destinat doar

pentru programatori nu si pentru utilizatori.Se poate inlocui cu

un apostrof in majoritatea versiunilor.Orice text situat la

dreapta de comanda REM este neglijat de catre program chiar daca

acesta contine instructiuni executabile,comenzi sau operatii logice

executabile(uneori,programatorii adauga astfel secventele princi-

pale din program pentru a "proteja" programul de intrusi iar pentru

activarea lor trebuie stearsa comanda REM).Comanda REM poate sa

contina orice fel de text dar in mod normal contine doar date

absolut indispensabile pentru programator pentru depanarea sau

explicitarea programului de exemplu cheia pentru un cod de citire.

-forma REM-text

-exemplu 10 CLS

15 REM-PASCAL(pasul calului la sah)

20 DIM R(10,10)

30 FOR x=1 TO 10 STEP 2

40 FOR y=1 TO 10 STEP 2

50 LOCATE x,y

60 PRINT "O"

70 FOR w=1 TO 500:NEXT w

80 LOCATE x+3,y+3:PRINT "#"

90 NEXT y

100 NEXT x

-expresii asociate;nu sint
REMAIN -functie

-Citeste timpul care ramine de masurat cu cronometrul indicat

si utilizat pentru comanda AFTER sau EVERY.

-forma REMAIN(numar de cronometru)

-exemplu 10 AFTER 50,1 GOSUB 30

20 PRINT REMAIN(1)

30 GOTO 30:RETURN

-75-

exemplu 10 AFTER 1000,1 GOSUB 100

30 FOR x=1 TO 100

40 PRINT x

50 NEXT x

55 PRINT TAB(10)REMAIN(1);"au mai ramas"

60 GOTO 30

100 END
-expresii asociate;

AFTER,DI,EI,EVERY

RENUM -comanda

-Renumeroteaza liniile unui program.Primul parametru (numar de

linie nou)desemneaza numarul cu care va apare linia de adresa

selectata dupa ce are loc modificarea.Al doilea parametru (nu-

marul de linie vechi) indica numarul de linie din program de

la care se va incepe renumerotarea.Al treilea parametru (incre-

mentul)indica din cite in cite linii se va face renumerotarea.

Daca nu se specifica ultimii doi parametrii atunci se vor renu-

merota toate liniile din program din 10 in 10.RENUM opereaza

automat si reajustarile necesare pentru GOTO si GOSUB dar nu

modifica adresele pentru KEY,REM,CHAIN si CHAIN MERGE.Numerele

de linie trebuie sa fie cuprinse intre 1 si 65535.

-forma RENUM(numar de linie nou),(numar de linie vechi),(incre

ment)

-exemplu 10 CLS

20 REM aceasta linie devine linia 123

30 REM aceasta linie devine linia 124

40 REM aceasta linie devine linia 125

RENUM 123,20,1

apoi LIST

-expresii asociate;

DELETE,LIST
RESTORE -comanda

-Repune cursorul pe instructiunea DATA indicata.In lipsa unui

parametru specificat,cursorul revine automat la prima instruc-

tiune din program.

-forma RESTORE(numar de linie)

-exemplu 10 DATA 1,2,3,4,5,6,7,8,9,10

Yüklə 1,91 Mb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   ...   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