|
|
səhifə | 8/20 | tarix | 06.08.2018 | ölçüsü | 1,91 Mb. | | #67460 |
| -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)
Dostları ilə paylaş: |
|
|