Basic abc-doar



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

-expresii asociate;

GRAPHICS PEN
FIX -functie

-Indeparteaza partea zecimala dintr-o expresie numerica.

Nu rotunjeste numarul la valoarea cea mai apropiata ci doar

elimina cifrele zecimale.

-forma FIX(expresie numerica)

exemple FIX(9,99999) 10 LET x=RND*10

20 PRINT FIX(x);"FIX(x)"

30 PRINT INT(x);"INT(x)"

40 PRINT ABS(x);"ABS(x)"

50 PRINT CINT(x);"CINT(x)"

60 PRINT "*********************"

70 GOTO 10

-expresii asociate;CINT,INT,ROUND

-50-

FN -operand in expresia DEF FN x

-dupa definirea unei expresii si denumirea unei variabile prin

FN (variabila) aceasta apare in program doar cu numele FN(x).

Pentru forma de editare vezi DEF FN.In secventa de program in

care apare FN (x) se va aplica valoarea expresiei calculata

prin definitia data la DEF FN (se verifica in program care

este semnificatia sa).
FOR...NEXT -comanda

-Executa de atitea ori de cite sint specificate prin

ecuatia care urmeaza dupa FOR ,toate operatiile care se

gasesc situate in program intre FOR si instructiunea NEXT

care defineste aceeasi variabila (daca ecuatia se refera

la x atunci si instructiunea NEXT va opera asupra lui x).

Daca in interiorul unei bucle FOR...NEXT se foloseste o

alta bucla FOR...NEXT care se refera la alta variabila,

atunci in mod obligatoriu bucla a doua trebuie sa se

inchida complet (cu NEXT) in interiorul primei bucle.

Cu alte cuvinte daca am deschis o a doua bucla pentru

FOR y(de exemplu) atunci NEXT y trebuie sa fie in program

situat inaintea lui NEXT x.Regula generala pentru mai multe

bucle FOR...NEXT este ca "ultima bucla deschisa se inchide

prima".Se va avea grije ca bucla sa contina toate operatiile

dorite.

-forma FOR(variabila simpla)=(inceput)TO(sfirsit)STEP(in-

crement)

unde;(inceput) este punctul de pornire al operatiilor,

(sfirsit) indica valoarea la care se termina operatiile iar

STEP prin (increment) determina din cite in cite valori se

va face saltul intre doua operatii succesive.Daca STEP nu

se specifica se considera valoarea sa =1 si se executa toate

operatiile pas cu pas.Daca nu exista operatii specificate

intre FOR si NEXT (de exemplu 10 FOR x=1 to 10:GOTO 10:NEXT x)

atunci calculatorul intra intr-o bucla inchisa si trebuie

intrerupt prin ESC.Daca (incrementul) este un numar negativ

se vor executa operatii progresiv descrescatoare pina la

numarul minim precizat in ecuatie (exemplu FOR x=100 to 10

STEP -10:PRINT x:NEXT x).

-exemple 10 FOR x=1 to 10:PRINT x:NEXT x

sau 10 FOR x=100 TO 10 STEP -10

20 LOCATE x,x

30 PRINT "O"

40 PRINT TAB(10)"*"

50 NEXT x

sau 1 CLS:MODE 2:DIM A(10,20,20)

10 FOR x=1 TO 10

20 FOR y=1 TO 20

30 FOR z=20 TO 1 STEP -1

40 LOCATE x,y:PRINT "O"

50 LOCATE y,z:PRINT "."

60 LOCATE z,x:PRINT "*"

70 NEXT z:NEXT y:NEXT x

-expresii asociate;NEXT,STEP,TO

-51-

FRAME -comanda

-Sincronizeaza scrierea graficelor cu aparitia video.Rezulta o

miscare mai armonioasa a caracterelor sau a graficelor pe ecran

fara distorsiune si licarire.

forma FRAME

-EXEMPLE 1 CLS

10 MODE 0

20 PRINT "fara FRAME"

30 TAG

40 MOVE 0,200

50 FOR x=0 TO 500 STEP 4

60 IF f=1 THEN FRAME

70 MOVE x,200

80 PRINT " ";CHR$(251);

90 NEXT x

100 IF f=1 THEN RUN

110 CLS

120 TAGOFF

130 PRINT "cu FRAME"

140 LET f=1

150 GOTO 30

-Observatie;efectul este important in tehnicile de programare

a jocurilor bazate pe efecte de animatie

-expresii asociate;TAG,TAGOFF
FRE -functie

-Indica spatiul disponibil din memorie.Forma FRE(" ") forteaza

calculatorul sa faca ordine inainte de a evalua spatiul liber

disponibil.

-forma FRE(expresie numerica)

FRE(sir de caractere alfanumerice)

-exemple PRINT FRE(0)

PRINT FRE(" ")

-Observatie;se poate utiliza in cadrul unor fisiere pentru

a elimina un numar sau un casracter alfanumeric de la tiparire

fara sa stearga textul (textul ramine nemodificat)

-expresii asociate;

HIMEM,MEMORY
GOSUB -comanda

-Apeleaza un subprogram editat in limbaj BASIC cu salt la

linia de adresa indicata.Sfirsitul subprogramului este marcat

cu RETURN care determina revenirea in program cu salt la

linia imediat urmatoare celei care contine comanda GOSUB.

-forma GOSUB(numar de linie)

-exemple 10 PRINT "*****test*****"

20 GOSUB 50

30 GOSUB 60

40 GOSUB 70

41 END

50 PRINT "Exemplu de salt repetat":RETURN

60 PRINT "prin comanda GOSUB":RETURN

70 PRINT "la un subprogram !":RETURN

-expresii asociate;RETURN

-52-

GOTO -comanda

-Executa salt la linia de adresa indicata.Datele si comenzile

peste care se face saltul nu sint citite si nu apar in

memorie asa ca nu pot fi operate.Pentru utilizarea lor este

necesara o comanda de citire a lor.

-forma GOTO (numar de linie)

-exemple 10 PRINT "START"

15 GOTO 100

16 REM-textul care urmeaza contine erori

20 PRINT "shdgftrudk..........dfetuithgyf"

30 FOR x=y LET z=q

40 FOR z=q LET s+k=SQR(PI^)

50 PRINT "bla,bla,bla....."

100 PRINT "Inceputul programului"
sau 1 CLS

10 DIM B(10,10,10)

20 FOR x=1 TO 10

30 FOR y=10 TO 1 STEP -1

40 LOCATE y,x:PRINT "*"

50 SOUND 1,100*x,10,10

60 LOCATE x,y:PRINT "O"

70 NEXT y

80 NEXT x

90 GOTO 20
GRAPHICS PAPER -comanda

-Determina culoarea fondului grafic.La trasarea liniilor

fondul nu este vizibil.

-forma GRAPHICS PAPER (culoare)

-exemple 10 MODE 0

20 MASK 15

30 GRAPHICS PAPER INT(RND*15)

40 DRAW 640,0

50 GOTO 30
-expresii asociate;

CLG,GRAPHICS PEN,INK,MASK,TAG,TAGOFF
GRAPHICS PEN -comanda

-Stabileste culoarea (intre 0 si 15) pentru trasarea

liniilor si pozitionarea punctelor.Aspectul fondului

poate fi stabilit prin;

0:fond opac

1:fond transparent (fondul transparent are

influenta asupra fondului grafic al caracterelor scrise

ci TAG si asupra spatiilor cu linii punctate).Se poate

omite unul dintre parametrii dar nu amindoi.

-forma GRAPHICS PEN (culoare),(tip fond)

-exemple 10 MODE 0:GRAPHICS PEN INT(RND*15)

20 MOVE 200,0:DRAW 200,400:MOVE 639,0

30 FILL 15:CLS:GOTO 10

-expresii asociate;

GRAPHICS PAPER,INK,MASK,TAG,TAGOFF

-53-

HEX$ -functie

-Transforma un numar intreg intr-un numar HEXAZECIMAL echivalent,

exprimat prin numarul de caractere specificat prin al doilea

numar.(a se vedea tabelele de corespondenta a codurilor)

-forma HEX$(numar intreg fara semn),(intinderea zonei)

-exemple PRINT HEX$(255)

PRINT HEX$(255,4)

PRINT HEX$(255,8)

-observatie;numerele care trebuiesc transformate in forma hexa-

zecimala trebuie sa fie cuprinse intre -32768 si 65535.(liniile

de adresa din BASIC se pot exprima hexazecimal)

-expresii asociate;BIN$,DEC$,STR$,UNT
HIMEM -functie

-Calculeaza adresa octetului cel mai mare din memorie utilizat

de BASIC (se poate modifica prin comanda MEMORY dar ATENTIE !

daca spatiul alocat pentru sistem devine prea mic acesta devine

nefunctional-este mai bine sa nu utilizati comenzi de sistem

daca nu stiti exact ce urmari vor produce)

-forma HIMEM

- exemple PRINT HIMEM

42619

-expresii asociate;

FRE,MEMORY,SYMBOL,SYMBOL AFTER
IF...THEN -comanda

IF...GOTO -Determina executarea unei comenzi in cazul in care conditia

precizata este indeplinita iar in caz contrar executa ope-

...ELSE ratia care este indicata dupa expresia ELSE.Daca expresia

ELSE nu este precizata si conditia din IF nu este indepli-

nita atunci operatia nu se executa si programul trece auto-

mat la comanda urmatoare.Comenzile IF...THEN trebuie sa se

termine pe aceeasi linie de adresa si nu pot include si

salturi ca si comanda FOR...NEXT.Se pot utiliza mai multe

expresii IF...THEN cu conditia ca fiecare dintre ele sa fie

precizata separat (nu se pot inlantui ca si FOR...NEXT).

Atunci cind operatia necesita un salt la o anumita linie de

program se poate utiliza IF...GOTO

-forma IF(expresie logica)THEN(optiune)ELSE(optiune)

-exemple 10 MODE 1

20 LET x=CINT(RND*100)

30 PRINT "Ghiceste o cifra de la 0 la 100 "

40 INPUT n

50 IF n

60 IF n>x THEN PRINT "e prea mare"

70 IF n=x THEN 80 ELSE LET c=c+1:GOTO 40

80 PRINT "BRAVO!";"Numarul este corect"

90 PRINT "S-au utilizat ";c+1;"incercari"

-expresii asociate;

ELSE,GOTO,THEN


-54-

INK -comanda

-Modifica culoarea sau culorile cu care se editeaza sau se

deseneaza.Primul parametru (cerneala de la 0 la 15) selecteaza

culoarea pentru PEN sau PAPER.Urmatorul parametru poate avea

valori intre 0 si 26.Daca se specifica si urmatorul parametru

de culoare (cu acelasi domeniu de valori) atunci se vor afisa

alternativ cele doua culori cu o viteza de schimbare intre ele

definita prin comanda SPEED INK.

-forma INK(cerneala),(numar de culoare),(numar de culoare)

-exemplu 10 MODE 1:PAPER 0:PEN 1

20 FOR p=0 TO 1

30 FOR i=0 TO 26

40 INK p,i

50 LOCATE 16,12:PRINT "INK";p;",";i

60 FOR t=1 TO 400:NEXT t,i,p

70 INK 0,1:INK 1,24:CLS

expresii asociate;

GRAPHICS PAPER,GRAPHICS PEN,PAPER,PEN,SPEED INK
INKEY -functie

-Asteapta apasarea unei taste si verifica ce taste au fost

actionate.Claviatura este analizata la fiecare cincizeci de

secunde.Aceasta functie distinge pozitia de sus fata de cea de

jos a unei taste (literele mari de cele mici) si nu se refera

la numarul unei taste ci la functia asignata (destinata)ei.

-forma INKEY(numar intreg)

-exemplu 10 IF INKEY(55)<>32 THEN 10

20 PRINT "s-a tastat SHIFT si V"

30 CLEAR INPUT

-expresii asociate;

CLEAR INPUT,INKEY,JOY
INKEY$ -functie

-Asteapta introducerea de la tastatura a unui sir de caractere

alfa numerice confirmate cu ENTER.Daca nu se introduce nici un

caracter sau daca nu se confirma atunci se afiseaza un sir vid.

Caracterele introduse pot fi utilizate in continuare ca date

permanente (constante) sau ca variabile (se inlocuiesc prin

expresii care determina operatii asupra lor).Se poate utiliza

pentru a introduce comenzi in timpul executiei programului.

-forma INKEY$

-exemplu 10 cls

20 PRINT "Alege DA sau NU"

30 LET a$=INKEY$

40 IF a$="d" OR a$="D" THEN 80

50 IF a$="n" OR a$="N" THEN 90

70 GOTO 30

80 PRINT "Ai ales DA":GOTO 20

90 PRINT "Ai ales NU":GOTO 20

-expresii asociate;

CLEAR INPUT,INKEY

-55-

INP -functie

-Citeste valoarea cuprinsa intr-un port de intrare-iesire a carui

adresa se transmite prin argumentul functiei.

-forma INP(numar de port)

- exemplu PRINT INP(&FF77)

-expresii asociate;

OUT,WAIT
INPUT -comanda

-Primeste datele de la canalul precizat (primul parametru)

Un punct si virgula dupa INPUT anuleaza trecerea la linie

dupa executarea comenzii.

Al doilea parametru (separatorul) poate fi un punct-virgula

sau o virgula.Un punct-virgula asociaza si un semn de intrebare

iar virgula il anuleaza.Daca datele introduse contin o greseala

de sintaxa (de exemplu un "o" in loc de zero) atunci se afi-

seaza mesajul ?Redo from start si asteapta rescrierea datelor.

Datele introduse trebuie sa fie identificate prin o variabila

denumita cu o litera sau o litera+$ in cazul caracterelor

grafice.

-forma INPUT(#numar de canal),[;],(sir separator)(variabile)

-exemple 10 INPUT "Introduceti un numar";a

20 PRINT "Numarul ales este";a

30 GOTO 10

sau 10 INPUT "Introduceti un text sau o litera";a$

20 PRINT "Textul d-voastra este: ";a$

30 GOTO 10
sau 10 INPUT "Introduceti doua numere (virgula intre ele)";a,b

20 PRINT "Numerele sint:"

30 PRINT a,b

40 PRINT "Suma lor este="

50 PRINT a+b

60 GOTO 10

-expresii asociate;LINE INPUT
INSTR -functie

-Cauta un caracter indicat intr-un sir de caractere si indica

pozitia din sir a primului caracter de tipul solicitat (de

exemplu primul a dintr-o propozitie).Daca nu gaseste caracterul

indica valoarea 0.Primul parametru indica pozitia de plecare

pentru cautare,al doilea identifica sirul care se cauta iar al

treilea parametru este sirul unde se va cauta.

-forma INSTR (pozitie de plecare),(sir de caractere),(sir de

caractere)

-exemple 10 CLS:FOR n=1 TO 26

20 LET alfabet$=alfabet$+CHR$(n+64)

30 NEXT n

40 INPUT "Introduceti o litera";a$

50 LET b$=UPPER$(a$)

60 PRINT b$;"este pe pozitie";

70 PRINT INSTR(alfabet$,b$);

80 PRINT "in alfabet":PRINT:GOTO 40

-expresii asociate;nu sint

-56-

INT -functie

-Rotunjeste un numar zecimal prin indepartarea partii zecimale.

Este identic cu FIX pentru numerele pozitive dar cu valoare

diferita(mai mic cu unu) pentru numerele negative fractionare)

-forma INT(expresie numerica)

-exemple PRINT INT(-1.995)

sau 10 FOR x=1.1 TO 7.5

20 FOR x=10.4 TO 2.3 STEP -1

30 PRINT INT(x-y);"INT"

40 PRINT FIX(x-y);"INT"

50 PRINT "....................."

60 NEXT y

70 NEXT x

-expresii asociate;

CINT,FIX,ROUND

JOY -functie

-Citeste starea manetei de joc (joystik) specificata prin un

numar intreg 0 sau 1.

Bit zecimala

0:SUS 1

1:JOS 2

2:STINGA 4

3:DREAPTA 8

4:TIR 2 16

5:TIR 1 32

- forma JOY(numar intreg)

-exemplu 10 PRINT "Oprire program cu JOYSTIK"

20 PRINT "Actioneaza maneta de joc"

30 IF JOY(0)<>0 THEN END

40 GOTO 10

-observatie;daca in linia 30 in loc de END vom utiliza GOTO ...

programul se poate utiliza pentru pornire cu JOYSTIK.

-expresii asociate;

CLEAR,INPUT,INKEY
KEY -comanda

-Asociaza un sir de caractere cu o tasta (KEY) conform cu numarul

logic corespunzator tastei specificate.Tastele programabile sint

cele cuprinse de la 128 (sau 144) la 159 -vezi tabelul de cores-

pondenta a codurilor.Numarul logic de tasta atribuit unui carac-

ter sau unei functii pe care o introducem prin KEY trebuie sa

corespunda unui numar de cod neutilizat pentru alt scop (in caz

contrar vom sterge o litera sau o operatie).Sirul de caractere

specificat prin KEY nu trebuie sa depaseasca 120 de caractere.

-forma KEY(numar logic de tasta),(sir de caractere alfanumerice)

-exemple KEY 11,"border 13:paper 0:pen 1:ink 0,13;ink

1,0:mode 2:list"+CHR$(13)

tasta F11 va lista programul automat in modul grafic 2

-Observatie;daca nu aveti tasta F11 puteti destina functia pentru

alta tasta optionala.Daca programul nu functioneaza corespunzator

sau v-ati plictisit de functia list redefiniti tasta F11 sau cea

pe care a-ti programat-o.Daca nu aveti o copie de siguranta a pro-

gramului nu va aventurati sa definiti functii.

-expresii asociate;KEY DEF

-57-

KEY DEF -comanda

-Defineste valoarea logica a unei taste,identificata prin

numarul sau fizic cuprins intre 0 si 79.Se pot introduce

functii noi asignate unei taste programabile.

-forma KEY DEF(numar de tasta),(repetitie),(normal),(cu

sir),(cu control)

-exemple KEY 159,"tasta TAB"

KEY DEF 68,1,159 (apasati tasta TAB)
sau KEY 159,"Introduceti Parola in cod ASCII"

KEY DEF 70,1,159 (apasati tasta CAPS LOCK)

-Observatie;pentru numarul fizic al tastelor asignate cititi

tabelul desenat pe unitatea floppy a microcalculatorului sau

verificati in tabelul de referinta.Textul introdus nu poate

avea mai mult de 255 de caractere.Eventual se pot introduce

functii simple.Se vor utiliza codurile pentru tastele progra-

mabile.

-expresii asociate;KEY,SPEED KEY

LEFT$ -functie

-Extrage un anumit numar de caractere dintr-un sir incepind cu cel

mai din stinga caracter.Numarul de caractere extrase va fi cuprins

intre 1 si 255 si se specifica prin numarul care urmeaza dupa

comanda.Daca sirul in care se cauta este mai scurt decit numarul

de caractere solicitat atunci se va afisa sirul in intregime.

-forma LEFT$(sir de caractere alfanumerice),(lungimea ceruta)

-exemple 10 LET a$= "BASIC este un joc dragut"

20 PRINT LEFT$(a$,17)

30 PRINT LEFT$(a$,5)
sau 10 LET a$="ABRACADABRABUM"

20 FOR x=1 TO 14

30 PRINT LEFT$(a$,x)

40 NEXT x

-expresii asociate;

MID$,RIGHT$
LEN -functie

-Afiseaza numarul de caractere dintr-un sir (inclusiv spatiile

libere) sau cifrele (numara toate caracterele alfanumerice).

-forma LEN(sir de caractere alfanumerice)

-exemple 10 LET a$="Programare interactiva"

20 PRINT LEN(a$)

sau 10 LINE INPUT "Introduceti o propozitie";a$

20 PRINT "Propozitia scrisa ocupa spatiul pentru"

30 PRINT LEN(a$);"caractere"

-expresii asociate;nu sint
LET -comanda

-Atribuie o valoare unei variabile.In unele variante de program

se poate omite (de exemplu in loc de LET x=1 se scrie x=1)

-forma LET(variabila)=(expresie)

-exemple 10 LET x=100

20 PRINT x

-58-

- exemple 10 LET a=10

20 LET b=20

30 LET c=30

40 LET a$="S"

50 PRINT "a=10","b=20","c=30"

60 PRINT a$;"=";a+b+c;"este suma lor"

-Observatie;cind se atribuie caractere grafice sau litere unor

variabile acestea se vor identifica prin adaugarea unui semn $ la

numele variabilei (exemplu a$="XXXXX")

-expresii asociate;nu sint
LINE INPUT -comanda

-Primeste o linie intreaga de la canalul indicat prin (#nr)

Yüklə 1,91 Mb.

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