CATEGORII DOCUMENTE |
Informatiile prelucrate de calculator vor fi numite date.
Un tip de date reprezinta o caracteristica a datelor care stabileste ce operatii se pot executa asupra lor, modul de codificare a datelor in memoria calculatorului, semnificatia acestor date. Exemple de tipuri de date: numeric, logic, sir de caractere, etc.
In limbajul FoxPro vom avea urmatoarele tipuri de date:
-Tipul logic
-Tipul numeric
-Tipul sir de caractere
-Tipul data calendaristica
-Tipul memo.
Acest tip este caracteristic datelor ce nu pot lua decat doua valori, adevarat (true) sau fals (false).
Pentru a specifica valoarea adevarat a unei variabile de tip logic se foloseste constructia .T. iar pentru valoarea fals se foloseste .F.
O expresie de tip logic reprezinta o combinatie de operanzi si operatori, realitate dupa anumite reguli sintactice, pentru a forma o constructie corecta, a carei evaluare va avea ca rezultat o valoare logica.
Operanzii ce intra in componenta expresiilor logice sunt de urmatoarele tipuri:
-campuri de tip logic ale unei baze de date
-functii ce returneaza valori logice
-variabile de tip logic
-alfa expresii logice
Operatori logici in ordinea prioritatii de evaluare sunt sintetizati in urmatorul tabel:
Operator |
Semnificatie |
Grupeaza expresiile logice |
|
!, NOT |
Negatie logica |
AND |
Si logic |
OR |
Sau logic |
De asemenea rezultatul unei expresii care contine operatori relationali (<,>,=,<=, >=) este tot de tip logic.
Exemple:
? NOT (1=3) *afiseaza valoarea true ? (1<=4) AND (5<3)
.T. .F.
Tipul numeric este implementat astfel incat sa realizeze majoritatea operatiilor matematice intalnite in practica. De asemenea sunt prevazute o serie de functii matematice elementare cum ar fi exponentiala, logaritmul, functiile trigonometrice, etc. putandu-se astfel realiza calcule matematice mai complexe cu efort minim.
Operanzi numerici care intervin in expresii pot fi:
-campuri numerice ale unei baze de date
-functii care returneaza valori numerice
-varibile de tip numeric
-constante numerice
Operatorii care se aplica unor operanzi numerici, avand ca rezultate tot valori numerice, sunt prezentati in tabelul urmator, in ordinea prioritatilor de evaluare.
Operator |
Semnificatie |
Paranteze pentru gruparea expresiile |
|
Ridicare la putere |
|
Inmultire, impartire, modulo(restul impartirii) |
|
Adunarea si scaderea |
Prioritatea in acest tabel scade de sus in jos, pe acelasi nivel de prioritate evaluarea facandu-se de la stanga la dreapta, in ordinea aparitiei operatorilor in expresie.
Astfel o expresie de tipul: (2*3)^2 - 4 + 7%3*2 se evalueaza dupa cum urmeaza:
Intre doua expresii numerice se pot aplica de asemenea operatori relationali, obtinandu-se astfel expresii logice. Aceeasi operatori sunt prezentati in urmatorul tabel:
operator |
relatie |
< |
Mai mic decat |
> |
Mai mare decat |
Egal cu |
|
<>, #, != |
Diferit de |
<= |
Mai mic sau egal cu |
>= |
Mai mare sau egal cu |
Functia MOD(), avand sintaxa:
MOD (expN1, expN2)
Returneaza restul obtinut prin impartirea expresiei numerice expN1 la expresia expN2, rezultatul fiind de tip intreg.
Exemple:
? mod (38,6)
? mod (44.44, 11.11)
Afisarea numerelor este controlata de comanda set decimals care are urmatoarea sintaxa:
SET DECIMALS TO EXPN
Acesta comanda determina numarul minim de cifre zecimale ce sunt afisate daca nu se specifica un format explicit de afisare. Implicit acest numar este 2 dar acesta se poate schimba cu comanda SET DECIMALS specicificandu-se un alt numar prin expN.
Exemplu:
0.67
SET DECIMALS 4
? 2/3
0.6667
Observatie
Numarul de cifre cu care FoxPro lucreaza intern nu este afectat de comanda SET DECIMALS, acesta comanda controland doar aspectul exterior al rezultatului.
ABS(expN) - returneaza valoarea absoluta a expresiei expN
SIGN(expN) - returneaza:
+1 daca expresia expN este pozitiva
-1 daca expresia expN este negativa
daca expresia este nula.
INT (expN) - returneaza partea intrega a expresiei expN
Partea fractionara a unui numar se obtine astfel expN- INT(expN)
CEILING(expN) - returneaza cel mai apropiat intreg mai mare sau egal cu expN
FLOOR(expN) - returneaza cel mai apropiat intreg mai mic sau egal cu expN
ROUND(expN1, expN2) - aproximeaza expN1 cu un numar fix de zecimale dat de expN2.
Exemple:
? INT(14.46) ? CEILING(8.32)
9
? CEILING(-4.23) ? FLOOR(8.32)
8
?FLOOR(-4.23)
Functii matematice elementare
EXP (expN) - calculeaza exponentiala epresiei expN adica eexpN
LOG(expN) - calucleaza logaritmul natural din expN
LOG10(expN) - calculeaza logaritmul zecimal din expN
SQRT(expN) - calculeaza radical din expN
PI() - returneaza valorea lui Pi adica unghiul de 180 grade exprimat in radiani
DTOR(expN) - face conversia din grade in radiani a expN
RTOD(expN) - face conversia din radiani in grade a expN
SIN(expN) - calculeaza sinusul expresiei expN in radiani
COS(expN) - calculeaza cosinusul expresiei expN in radiani
TAN(expN) - calculeaza tangenta expresiei expN in radiani
ASIN(expN) - calculeaza arcsinusul expresiei expN
ACOS(expN) - calculeaza arccosinusul expresiei expN
ATAN(expN) - calculeaza arctangenta expresiei expN
In aceasta categorie de functii intra trei functii FoxPro si anume:
Payment(expN1, expN2, expN3)
PV(expN1, expN2, expN3)
FV(expN1, expN2, expN3)
Unde cele trei expresii numerice au semnificatii deosebite pentru fiecare functie in parte.
Exemplu:Sa presupunem ca avem de returnat un imprumut de 500000 unitati
monetare, suma pe care o avem depusa intr-o banca ce practica o rata a dobanzii de 1% lunar, adica la sfarsitul fiecarei luni la suma de bani pe care o avem momentan in banca se adauga l% din aceasta suma ca dobanda. Sa presupunem ca imprumutul trebuie returnat in rate lunare in 24 de luni.Ne intereseaza ce suma trebuie sa achitam lunar pentru a returna imprumutul in perioada de timp precizata.
Aceasta problema se rezolva cu functia Payment() avand urmatoarele corespondente:
ExpN1 - reprezinta valoarea imprumutului (500000)
ExpN2 - reprezinta rata dobanzii (0.01)
ExpN3 - reprezinta numarul de rate pentru achitarea imprumutului (24 rate lunare)
Valoarea returnata de functie reprezentand valoarea ce trebuie achitata lunar pentru a acoperi imprumutul.
Exemplu:
N1=500000
N2=0.01
N3=24
? PAYMENT(N1,N2,N3)
Urmatorul exemplu va ilustra folosirea functiei FV() in calculele financiare astfel:
Presupunem ca am deschis un cont la o banca ce practica o rata a dobanzii de 1% lunar. Initial contul este gol, dar ne propunem sa depunem o suma de 3000 unitati monetare. Ne intereseaza ce suma va avea in cont dupa un numar de 36 de luni de la deschiderea contului.
Aceasta valoare este returnata de functia FV() folosind ca parametrii
ExpN1 - suma ce se va depune lunar in cont
ExpN2 - rata dobanzii practicata de banca
ExpN3 - numarul de depuneri dupa care se calculeaza suma din cont (egal cu numarul de luni in cazul in care se face o singura depunere lunar)
Exemplu:
N1=3000
N2=0.01
N3=36
? FV(N1,N2,N3)
Exemplu: Presupunem ca avem un cont la o banca de practica o rata a dobanzii de
1%lunar. Propunandu-ne ca in curs de 48 de luni platind lunar din cont cate 4000 de unitati monetare ne intereseaza ce suma am putea acoperi din acest cont, presupunand ca dupa achitarea sumei contul va fi gol. Acesta valoare este returnata de functia PV() care are parametrii:
ExpN1 - suma ce se scoate lunar din cont (N1=4000)
ExpN2 - rata dobanzii practicata de banca (N2=0.01)
ExpN3 - numarul de luni in care se scot banii din banca (N3=48)
? PV(N1,N2,N3)
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1614
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved