Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


TIPURI DE DATE. FUNCTII STANDARD

fox pro

+ Font mai mare | - Font mai mic


DOCUMENTE SIMILARE

Trimite pe Messenger
Localizarea unui lant de articole in baza de date conform unei conditii (LOCATE) si parcurgerea lui (CONTINUE)
Expresii si functii in FOXPRO
Programare in Visual Fox Pro - GESTIUNEA ECHIPEI F.C. VALENCIA
Inchiderea unei baze de date:
Extragerea de informatii statistice din baze de date
Vizualizarea informatiilor unei baze de date
Aplicatii practice
Functia meniu Window si Help a Visual FoxPro
Modul de lucru indexat
Prelucrarea sirurilor de caractere

TERMENI importanti pentru acest document

in vfp ridicarea la putere dintrun numar intreg se optine cu functia :

TIPURI DE DATE. FUNCTII STANDARD

Scop

Insusirea tipurilor de date, a variabilelor si functiilor standard  utilizate in Foxpro.

Studiu necesar

Lungu I.,N. Musat, M. Velicanu FoxPro 2.6. Prezentare si aplicatii Ed. All, 1966

Mod de realizare a lucrarii

Comentarii detaliate privind fiecare notiune, sintaxa comenzilor si exemple.

1. Tipuri de date

Informatiile prelucrate de calculator vor fi numite date. Exemple de date : numere, litere, siruri de caractere, etc. 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. In limbajul FoxPro vom avea urmatoarele tipuri de date : logic, numeric, sir de caractere, data calendaristica, memo.

Pentru fiecare dintre aceste tipuri se va prezenta : modul de specificare a datelor de tipul respectiv, operatori ce se aplica asupra acestor date, comenzile si functiile referitoare la datele de tipul respectiv.

1.1 Tipul numeric

Acest tip este implementat astfel incit sa realizeze majoritatea operatiilor matematice intilnite in practica. De asemenea sint prevazute o serie de functii matematice care calculeaza functiile matematice elementare cum ar fi : exponentiala, logaritmul, functiile trigonometrice, etc, putindu-se astfel realiza calcule matematice mai complexe, cu efort mimim.

Operanzii numerici care intervin in expresii pot fi : cimpuri numerice ale unei baze de date, functii care returneaza valori numerice, variabile de tip numeric, constante numerice

Operatorii care se aplica unor operanzi numerici, avind ca rezultate tot valori numerice, sint sintetizati mai jos, in ordinea prioritatilor de evaluare :

( )         Paranteze pentru gruparea expresiilor

**, ^    Ridicare la putere

*,/,%    Inmultire,impartire,modulo(restul impartirii)

+,-        Adunare si scadere

Prioritatea  scade de sus in jos, pe acelasi nivel de prioritate evaluarea facindu-se de la stinga 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 :

6^2-4+7%3*2

36-4+7%3*2

36-4+1*2

36-4+2

32+2

34

Intre doua expresii numerice se pot aplica de asemenea operatori relationali, obtinindu-se astfel expresii logice. Acesti operatori sint:<,>,=,<=,>=,<>,#,!=.

Functia MOD() avind sintaxa :

MOD(<expN1>,<expN2>)

returneaza restul obtinut prin impartirea expresiei numerice <expN1> la expresia <expN2>, rezultatul fiind de tip numeric.

Exemplul 1 :

? MOD (39,7)

4

? MOD (44.44,11.11)

0

Afisarea numerelor este controlata de comanda SET DECIMALS care are urmatoarea sintaxa :

SET DECIMALS TO [<expN>]   (de la 0 la 18)

Aceasta comanda determina numarul minim de cifre zecimale ce sint afisate daca nu se specifica un format explicit de afisare. Implicit acest numar este 2 dar se poate modifica

Exemplul 2

?2/3

0.67

SET DECIMALS TO 4

?2/3

0.6667

Functii referitoare la semnul datelor numerice

Pentru aflarea valorii absolute a unui numar se foloseste functia ABS().Cu sintaxa :ABS(<expN>) returneaza o valoare numerica egala cu valoare absoluta a argumentului.

Functia SIGN()  este folosita pentru a afla semnul numarului transmis ca argument astfel :

SIGN (<expN>) returneaza : +1 daca expN este pozitiva

                                                 0 daca expN este nula

                                                -1 daca expN este negativa

Exemplul 3:

? ABS(-300)

300

? SIGN(-40)

 -1

a= -2/3

?a=SIGN(a)*ABS(a)

.T.

Functii de aproximare a datelor numerice

Partea intreaga a unei expresii numerice este returnata de functia INT()  care are sintaxa : INT(<expN>)

Exemplul 4

?INT(14.46)

14

?INT(-2.25)

-2

Partea fractionara a unui numar se obtine folosind tot functia INT() astfel :

a=14.46

?a-INT(a)

0.46

a= - 2.25

?a-INT(a)

-0.25

Alte moduri de a obtine o aproximatie intreaga a unui numar sint date de functiile CEILING()

si FLOOR(), care au urmatoarele sintaxe :

CEILING(<expN>)

FLOOR(<expN>)

Functia CEILING() returneaza cel mai apropriat intreg mai mare sau egal cu <expN> iar FLOOR() se foloseste pentru a afla cel mai apropiat intreg mai mic sau egal cu <expN>.

Exemplul 5

?CEILING(8.32)

9

?CEILING(-4.23)

-4

?FLOOR(8.32)

8

?FLOOR(-4.23)

-5

Functia ROUND()  realizeaza de asemenea o aproximare a unui numar, dar nu neaparat la un intreg, ca functiile anterioare, ci la un numar real, cu un numar dat de zecimale. Sintaxa comenzii este :

ROUND(<expN1>,<expN2>)

unde <expN1>  reprezinta expresia de rotunjit iar<expN2> este numarul de zecimale ce se vor pastra in valoarea returnata de functie.

Functii matematice elementare

Din categoria acestor functii fac parte : exponentiala, logaritmul natural, logaritmul zecimal, radicalul. Aceste functii au formatul general :

EXP (<expN>)               LOG10(<expn>)

LOG(<expN>)               SQRT(<expN>)

si primesc ca argument o expresie numerica <expN> caruia ii aplica functia corespunzatoare

Exemplul 6:

?EXP (2)

7.39

? LOG(2)

0.69

? LOG10(10)

1.00

?EXP(LOG(3))

3.00

?SQRT(2)

1.41

1.2 Tipul sir de caractere

Un sir de caractere reprezinta o multime ordonata de caractere care se trateaza ca un tot unitar. Constantele de tip sir de caractere se specifica prin multimea caracterelor care il compun incadrata intre apostrofuri simple sau duble ( la ambele capete trebuie sa avem acelasi tip de apostrof ).

Exemplul 7

De exemplu,’FoxPro’ si “FoxPro” reprezinta acelasi sir de caractere.

Constructiile de forma “FoxPro' sau 'FoxPro” sint ilegale.

Constructiile  de forma“10’ (zece minute )” si ‘10” (zece minute )’ sint corecte.

O expresie de tip sir de caractere reprezinta o combinatie de operanzi si operatori. Operanzii care intra in componenta acestor tipuri de expresii pot fi :

     - cimpuri de tip sir de caractere ale unei baze de date,

     - functii ce returneaza siruri de caractere,

     - variabile de tip sir de caractere,

     - constante de tip sir de caractere

Asupra sirurilor de caractere se aplica doua tipuri de operatori, astfel :

     - operatori de concatenare : '+','-'

     - operatori de comparare sau relationate

Operatorul de concatenare simplu face ca din doua siruri de caractere sa se obtina un al treilea prin alipirea celui de-al doilea sir la coada primului. De exemplu, expresia ‘Limbajul’ + ‘FoxPro’, dupa evaluare, va avea valoarea ‘strada George Cosbuc’. Operatorul de concatenare special este asemanator cu operatorul de concatenare  simplu cu deosebirea ca blancurile de la sfirsitul primului sir sint trecute la sfirsitul sirului al doilea. Astfel, din expresia ‘Limbajul    ‘ - ‘FoxPro’, dupa evaluare va avea valoarea 'LimbajulFoxPro   '.

Operatorii relationali ce se aplica intre doua siruri de caractere sint dati in urmatorul tabel :

Operator        Relatie

$                      inclus in

<                      mai mic decit

>                      mai mare decit

<>,#,!=            diferit de

<=;                   mai mic sau egal cu

>=                    mai mare sau egal cu

==                    identic cu

Compararea a doua siruri de caractere de lungimi diferite este controlata de comanda SET EXACT  : SET EXACT ON | OFF.

Functii referitoare la codificarea caracterelor din siruri

Functia CHR (), returneaza caracterul ASCII corespunzator codului numeric transmis functiei ca parametru. Pentru a obtine efectulul invers, se utilizeaza  ASC().

Exemplu 8

?CHR (49)

1

?CHR (65)==‘A’

.T.

? ASC (‘A’)

65

?ASC (‘a’) = ASC (‘ana’)

.T.

?’A’ == CHR (ASC(‘A’))

.T.

?65=ASC(CHR(65))

.T.

Functii referitoare la subsirurile de caractere

Extragerea unui subsir dintr-un sir de caractere se realizeaza cu functia SUBSTR (). Functiile LEFT () si RIGHT ()  returneaza un subsir al unui sir dat, pozitionat la stinga, respectiv la dreapta acestuia.

Exemplul 9

?SUBSTR ( ‘IONESCU’,1,3)

ION

?SUBSTR (‘IONESCU’,4)

ESCU

?LEFT (“IONESCU’,2)

IO

?RIGHT (‘IONESCU’,4)

ESCU

Crearea unui sir de caractere dintr-un alt sir, prin repetarea acestuia de un numar dat de ori se realizeaza folosind functiile REPLICATE () si SPACE (). Functia REPLICATE () cu sintaxa : REPLICATE (<expC>, <expN>) returneaza un sir de caractere obtinut prin repetarea sirului <expC> de <expN> ori.

O forma particulara a lui REPLICATE () o reprezinta functia SPACE() cu urmatoarea sintaxa : SPACE (<expN>)  Aceasta functie returneaza un sir de blancuri (CHR(32)) cu lungimea de <expN> caractere fiind echivalenta cu constructia REPLICATE(‘ ‘, <expN>).

Exemplul 10

?REPLICATE (‘*’,5)

*****

?REPLICATE (‘ ‘,6) == SPACE(6)

.T.

O alta categorie de functii care au ca obiect de prelucrare un subsir de caractere al unui sir dat o reprezinta functiile ALLTRIM (), LTRIM (), TRIM (), RTRIM (). Aceste functii elimina blancurile de la capetele unui sir de caractere obtinindu-se un subsir al sirului initial ce contine doar informatia utila a sirului.

Exemplul 11

?ALLTRIM (‘         GAMA’) == ‘GAMA’

.T.

?’Ma numesc’ + RTRIM (‘IONESCU        ‘) + ‘DANIEL’

Ma numesc IONESCU DANIEL

?’si sunt’ + LTRIM (‘        student’) + ‘la informatica’

si sunt student la informatica

Efectul invers, adica adaugarea de blancuri sau alte caractere la un sir, la dreapta sau la stinga acestuia se realizeaza cu ajutorul functiilor PADC (), PADL (), PADR ()

Cu o sintaxa de forma :

PADC (<expr>,<expN>[,<expC>])

PADL (<expr>,<expN>[,<expC>])

PADR(<expr>,<expN>[,<expC>])

 aceste functii adauga la expresia <expr> sirul de caractere <expC>, la dreapta pentru PADR() la stinga pentru PADL () si la ambele capete pentru PADC() pina se obtine o lungime a sirului de <expN> caractere. <Expr>  poate fi de tip sir de caractere, de tip numeric sau de tip data calendaristica, in cazul ultimelor doua realizindu-se mai intii conversia la tipul sir de caractere.

Exemplul 12

?PADL (‘Titlu ‘,30,’-’)

------------------------------------ Titlu

««——————30—————— »»

?PADR(‘Titlu’,30,’-’)

Titlu-------------------------------------------

««——————30—————— »»

?PADC(‘Pagina 1’,30,’-’)

----------------Titlu--------------------

««——————30—————— »»

Cautarea unui subsir intr-un sir dat, lucru care se realizeaza cu ajutorul functiilor AT (), ATC (), ATCLINE (), ATLINE (), RAT (), RATLINE (), OCCURS ().

Exemplul 13

?AT (‘f’,’informatica’)

3

?AT (‘F’,’informatica’)

0

?ATC (‘f’,’informatica’)

3

? OCCURS ( ‘a’,’ambasada’)

4

Functii ce returneaza informatii despre sir

Functiile LEN (),ISALPHA (), ISDIGIT (), ISLOWER (), ISUPPER ()

Exemplul 14

?LEN(‘informatica’)

11

?ISALPHA (‘FoxPro’)

.T.

?ISDIGIT(‘123’)

.T.

?ISLOWER('ana')

.T.

ISUPPER('Ana')

.T.

Functii privind transformari ale sirurilor de caractere

Diferentierea dintre caracterele alfabetice mici si mari a dus la necesitatea transformarii caracterelor mici in majuscule si invers. Aceste operatii sint realizate de functiile LOWER (), UPPER () si PROPER ().

Functia STUFF ()  inlocuieste intr-un sir de caractere un subsir al acestuia cu un alt sir de caractere.

Exemplul 15

a=‘ALFA’

b=‘alfa’

?UPPER(a)==UPPER(b)

.T.

?LOWER(a)==LOWER(b)

.T.

PROPER(‘FoxPro’)

Foxpro

sir=‘cuie’

sir=STUFF(sir,3,0,’cu’)

?sir

cucuie

Functii speciale pentru sirurile de caractere

Functia LIKE ()  compara doua expresii de tip caracter astfel : una din expresii reprezinta modelul in care trebuie sa se incadreze cea de-a doua, returnind adevarat in caz de potrivire si fals in caz de nepotrivire. In alcatuirea modelului se folosesc caracterele * si ? cu urmatoarea semnificatie

* inlocuieste orice grup de caractere

? inlocuieste un singur caracter

Exemplul 16

?LIKE(‘*TOR’,’CALCULATOR’)

.T.

?LIKE (‘?ALCULATOR’,’CALCULATOR’)

.T.

?LIKE(‘?OTOR’,’CALCULATOR’)

.F.

1.3 Tipul data calendaristica

Formatul de specificare a datelor calendaristice este controlat de comanda SET DATE  care are urmatoarea sintaxa :

SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | USA | MDY | DMY | YMD

Formatul implicit pentru data calendaristica este cel American (ll/zz/aa). In specificarea anului se pot folosi doua cifre, caz in care se presupune automat ca ne referim la secolul 20 sau prin patru cifre cind anul este specificat complet. Alegerea intre aceste doua variante se face cu comanda SET CENTURY  care are urmatoarea sintaxa : SET CENTURY ON | OFF. De asemenea delimitatorii care separa ziua luna si anul din expresia unei constante de tip data calendaristica se pot modifica prin comanda SET MARK TO  cu urmatoarea sintaxa : SET MARK TO [<expC>], expresia <expC> trebuie sa reprezinte un singur caracter care va deveni delimitatorul in reprezentarea externa a datelor calendaristice. Separatorul implicit folosit pina la executia unei comenzi SET MARK TO este caracterul  /”. DATE ()  obtine data curenta a sistemului

Avind o expresie de tip data calendaristica putem afla in ce zi din cadrul saptaminii cade aceasta data. Acest lucru se realizeaza cu functiile DOW () si CDOW () care afiseaza numele zilei, respectiv numarul zilei  din cadrul saptaminii.

Ziua in cadrul saptaminii este returnata de functia DAY () iar luna corespunzatoare unei expresii de tip data calendaristica este returnata de functiile MONTH () si CMONTH ().

Dintr-o expresie de tip data calendaristica putem izola anul, ca valoare numerica, folosind functia YEAR ().

Exemplul 17

?DATE()

03/07/93

SET CENTURY ON

SET MARK TO ‘.’

?DATE()
03.07.1993

?CDOW(DATE())

Saturday

?DOW()

1

DAY(<expD>)

?DAY ()

14

?MONTH(DATE())
3

?CMONTH()

March

?YEAR(DATE())

2001

Controlul timpului in Foxpro

Ora exacta a sistemului se obtine cu functia TIME ()  iar mentinerea acesteia  tot timpul pe ecran, se realizeazacu comanda SET CLOCK.

Exemplul 18

?TIME()
02:39:49

?TIME(0)

02:40:01.80

CLEAR

SET CLOCK TO 10,10

Formatul de afisare a ceasului se poate schimba folosind comanda SET HOURS  ce are urmatoarea sintaxa : SET HOURS TO [12|24]

Functii pentru conversii intre tipuri de date

Transformarea unei date calendaristice intr-un sir de caractere se realizeaza cu functiile
DTOC (), DTOS(), DMY(), MDY()  iar trecerea inversa cu ajutorul functiei CTOD () .

Exemplul 19

?DTOC() == ‘10/02/90’

.T.

?DTOC(DATE(),1)

19930509

data1=

data2=

a=DTOS(data1)

?a

19900314

b=DTOS(data2)

?b

19890315

?a>b

.T.

a=DTOC(data1)

?a

03/14/90

b=DTOC(data2)

?b

03/15/89

?a>b

.F.

SET CENTURY OFF

?DMY(DATE())

09 MAY 93

?MDY(DATE())

MAY 09,93

SET CENTURY ON

?DMY()

01 MAY 1993

?MDY()

JULY 31,1993

Trecerea de la valori numerice la siruri de caractere se face cu functia STR (), iar trecerea inversa cu functia VAL ()

Exemplul 20

?STR(1432.456,12,4) == ‘    1432.456’

.T.

?STR(1432.456,3)

***

?STR(1432.456,7,2)

1432.45

?VAL(‘1433.44’)

1433,44

?VAL(‘1A’)

1.00

1.4 Tipul logic

Acest tip este caracteristic datelor ce nu pot lua decit doua valori, adevarat (in engleza “true”) sau fals (in engleza “false”). Pentru a specifica valoarea adevarat a unei expresii de tip logic se foloseste constructia.T. ( de la true) iar pentru valoarea fals se foloseste.F. (de la false). O expresie de tip logic reprezinta o combinatie de operanzi si operatori, realizata 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 sint de urmatoarele tipuri :cimpuri de tip logic ale unei baze de date , functii ce returneaza valori logice,  variabile de tip logic, alte expresii logice iar operatorii logici sunt cei clasici.

Exemplul 21

? NOT (1=3)

.T.

? (1<=4) AND (5>3)

.T.

? 6<3 OR 4*2=9

.F.

Functiile referitoare la toate tipurile de date

Pentru a afla tipul unei expresii s-a introdus functia TYPE ().Rezultatul intors de functie este de tip caracter, cu urmatoarea semnificatii : C -sir de caractere, N -numeric,D -data calendaristica, L -logic, M -memo,U -nedefinit.

Exemplul 22

Pentru a afla ce tip de data returneaza functia DATE() vom folosi instructiunea :

?TYPE(‘DATE()’)

D

?TYPE(‘1=3’)

L

?1=3

.F.

?TYPE(‘ALFA’)

U

?TYPE(‘“Salutari ! “‘)

C

Exista o categorie de functii ce compara intre ele mai multe expresii, returnind informatii referitoare la aceasta comparatie. In aceasta categorie intra functiile MIN (), MAX (), BETWEEN () .

Apartenenta la o multime este testata prin functia INLIST ().

Exemplul 23

?MIN(64,7*8,7*9)

56

?DATE()
03/09/93

?MAX(,DATE())=DATE()

.T.

?MIN(‘abc’,’ABC’,’123’)

123

?BETWEEN(144,100,200)

.T.

?DATE()

05/09/93

?BETWEEN(DATE(),,)

.T.

alfa=‘a1’

?BETWEEN(alfa,’aa’,’az’)

.F.

zi=‘duminica’

?INLIST(zi,’luni’,marti’,’miercuri’,’joi’,’vineri’,’simbata’,’duminica’)

.T.

?INLIST(7,0,2,4,6,8,10)

.F.

1.5 Cimpurile Memo

In memorarea informatiilor intr-o baza de date, apar situatii cind, cantitatea de informatii ce trebuie stocata intr-un anumit cimp difera foarte mult de la o inregistrare la alta. Astfel s-a introdus cimpul memo, care permite memorarea informatiilor de acest fel mult mai eficient. O baza de date care contine cel putin un cimp memo are asociat un fisier suplimentar in care sint depuse informatiile continute in acest cimp.

Detalii despre acest tip de cimp in LUCRAREA Nr.

2 VARIABILE

Crearea unei variabile sau modificarea valorii acesteia se realizeaza prin operatorul de atribuire, cu urmatoarea sintaxa :

<variabila> = <expr>

Functionarea unei asemenea comenzi are loc astfel :

-          se evalueaza expresia <expr>, obtinindu-se o valoare de un anumit tip ;

-           se cauta in memorie variabila cu numele <variabila> si, daca se gaseste, se inlocuieste vechiul continut al acesteia, cu valoarea expresiei ;

-          daca nu se gaseste variabila respectiva, FOXPRO creaza una cu numele <variabila> in care depune valoarea expresiei ;

-          tipul variabilei este dat de tipul valorii expresiei, indiferent de tipul anterior al variabilei, in cazul cind aceasta exista si inainte de executia comenzii.

O comanda  echivalenta cu operatorul de atribuire este STORE  cu sintaxa:

  STORE <expr> TO <lista variabile>

Exemplul 24

a = 10

a = ’informatica’

STORE 0 to a,b,c

STORE   TO data

Memoria ocupata de variabile poate fi eliberata folosind comenzile RELEASE, CLEAR ALL, CLEAR MEMORY.

Exemplul 25

RELEASE alfa, beta

RELEASE ALL LIKE a*

RELEASE ALL EXCEPT b?

Apare deseori situatia in care se doreste memorarea unor variabile (denumire si continut) in alta zona de memorare decit memoria, in vederea modificarii acestora. Dupa ce modificarile executate nu mai sint necesare se va putea reveni la vechea situatie prin refacerea variabilelor depozitate anterior.

Acest lucru se realizeaza prin intermediul comenzilor SAVE TO  si RESTORE FROM  cu urmatoarele

Exemplul 26

CLEAR ALL

CLEAR
a=1

b=2

suma = a+b

?a,’+’,b,’=‘,suma

1+2=3

SAVE TO f_var
a=5

b=3

suma = a+b

?a,’+’,b,’=‘,suma

5+3=8

RESTORE TO f_var
?a,’+’,b,’=‘,suma

1+2=3

Tablourile se declara cu comanda DECLARE si pot avea doar 1-2 dimensiuni, dar spre deosebire de alte limbaje de programare, natura elementelor nu este omogena:

Exemplul 27

DECLARE A[6]

A[1]=5

A[2]='informatica'

O tehnica speciala de lucru cu variabile o reprezinta macrosubstitutia, prin care continutul unei variabile de tip sir de caractere, este tratat ca numele altei variabile sau alt element al FoxPro (cimp al unei baze de date,nume fisier) ca si cum in locul variabilei respective ar fi pus sirul de caractere continut de acesta, fara apostrofurile delimitatoare.

Exemplul 28

x='Popa'

?x

Popa

a=‘alfa’

alfa=‘Salut!’

?&a

Salut!

?alfa

Salut!

O alta metoda de referire indirecta la o variabila, data, pe linga macrosubstitutie este reprezentata de expresiile nume. Acestea determina tratarea valorii unei expresii ca un nume (de variabila, cimp,etc.). Pentru ca o expresie sa fie tratata ca o expresie de tip nume, aceasta se incadreaza intre paranteze rotunde. Aceasta constructie este tratata ca o expresie de tip nume numai acolo unde nu exista posibilitatea confundarii parantezelor rotunde cu cele care grupeaza operatii din expresiile FoxPro.

Exemplul 28

a=‘nume’

b=‘propriu’

?(a+b)     &&  nu va fi tratata ca o expresie nume

nume propriu

REPLACE (a) WITH ‘POPESCU’    && (a) este o expresie nume

Ori de cite ori este posibila folosirea expresiilor nume, se recomanda aceasta metoda deoarece macrosubstitutia este mai lenta.

a=‘alfa’

alfa=‘Salut!’

?(a) este echivalent cu ?alfa

Pentru afisarea continutului variabilelor de memorie existente la un moment dat se poate folosi una din comenzile LIST MEMORY sau DISPLAY MEMORY :

Comenzile afiseaza numele, tipul, continutul tuturor variabilelor definite in acest moment, numarul variabilelor create de utilizator, memoria folosita si cea disponibila.

Proiectul va cuprinde:

-          exemple pentru toate comenzile pentru care nu au fost date exemple

-          rezolvarea exercitiilor

Exercitii

·Urmariti secventa de comenzi si stabiliti ce afiseaza fiecare. Acolo unde sunt erori, corectati.

1.      ?'x=',10

2.      ?x=10

3.      DECLARE A[5,5,5]

4.      DECLARE A[3]

?A[1]

STORE 0 TO A

?A[1],A[2]

5.      STORE 'POPA' TO A[2]

6.      STORE 'NELU' TO A[1]

7.      ?A[1]+'-'+ADRIANA'

8.      ?12345, 12345

9.      ?+10.123456789

10.  ?-10.E2, -10.0E2, -10.2E666

11.  SET DECIMAL TO 4

?10.12345678, 1.11112222, -8.2, -9.00009

12.  ?MOD(5.25,6)

13.  ?MOD(5.25,5

14.  ?ROUND(1.2345)

15.  ?FLOOR(34.34)

16.  ??CEILING(-10), CEILING(10.90),CEILING(10.23)

17.  x=1000

l=5

z=3

?str(x,l,z)

?str(x,l)

?str(x,2)

18.  x='abc'

y='de'

w=x+y+'*'

z=x-y+'*'

?x<w,x=w,x>w

?y<z,y=z,y>z

19 SET EXACT ON

?x<w,x=w,x>w

?y<z,y=z,y>z

20. e=‘a’

     ?INLIST(e,'a',l’,m’,’i’,’j’,’v’,’s’,’u’)

21. x=DATE()

?x

SET DATE ITALIAN

?x

SET CENTURY ON

?x

22. data1=

data2=

?data1+10

? data1<data2, data2<data1

?data1-data2, data2-data1

SET MARK TO '*'

?data1

23. DECLARE A[4]

      A[4]=[informatica]

      DIMENSION A[4]

      A[1]='1'

· Raspundeti la urmatoarele intrebari:

1.      Ce se intimpla la punctul 17 de mai sus, daca:

- parametrul al doilea are o lungime prea mica

- lungimea indicata in functia str este prea mare

- numarul x are zecimale si lipseste parametrul al treilea

2.      In ce se calculeaza diferenta a doua date calendaristice?

3.      Ce se obtine prin adunarea sau scaderea unui numar de zile la o data calendaristica?

4.      Ce rol are comanda SET MARK?

5.      Care este delimitatorul pentru data calendaristica

6.      Care este deosebirea dintre comenzile = si STORE?

7.      Care este deosebirea dintre comenzile LIST MEMORY si DISPLAY MEMORY?

8.      Care este deosebirea dintre comenzile DECLARE si DIMENSION

· Introduceti data curenta intr-o variabila x. Scrieti comenzile prin care afisati numele zilei de ieri, azi si maine.

· Care sunt functiile de aproximatie in FoxPro. Dati exemple.

· Consideram sirul de caractere: 'Eu sunt student la informatica'

-          extrageti cuvintele din acest sir si le depuneti in variabile separate

-          inlocuiti cuvintul informatica cu MATEMATICA

· Stiind ca la un examen se prezinta N studenti si ca timpul de examinare este in medie de X minute, aflati timpul de asteptare al ultimului student in zile, ore si minute.

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 333
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Distribuie URL

Adauga cod HTML in site

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2014. All rights reserved