Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




TIPURI DE DATE

Baze de date


TIPURI DE DATE

Pentru a transmite calculatorului programul dupa care acesta urmeaza sa prelucreze informatiile, se foloseste un limbaj de programare. Acesta reprezinta ansamblul codificarilor si operatiilor ce se executa într-un program, cât si a regulilor de combinare a acestora, în scopul transmiterii catre calculator a programului dupa care acesta va functiona.



Informatiile prelucrate pe calculator vor fi numite date. Exemple de date: numerice, litere, siruri de litere, etc.

Un tip de date reprezinta o caracteristica a datelor care stabileste ce operatii se pot executa asupra lor, modul de codificare a datelor în memoria calculatorului, semnificatia acestor date. Exemple de tipuri de date: numeric, logic, sir de caractere, etc.

În limbajul FoxPro vom avea urmatoarele tipuri de date:

tipul logic;

tipul numeric;

tipul sir de caractere;

tipul data calendaristica;

tipul memo;

Aceste tipuri vor fi tratate pe rând, pentru fiecare preyentându-se:

modul de specificare a datelor de tipul respectiv;

operatori ce se aplica asupra acestor date;

comenzile si functiile referitoare la datele de tipul respectiv.

2.1 TIPUL LOGIC

Este alcatuit din datele ce nu pot lua decât doua valori: adevarat (TRUE) sau fals (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. Operanzii pot fi:

câmpuri de tip logic;

functii care returneaza valori de tip logic;

variabile de tip logic;

alte expresii logice.

Operatorii logici, în ordinea prioritatii de evaluare, sunt:

OPERATOR

SEMNIFICAŢIE

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.

Exemplu:

? NOT(1=3)

.T.

<=4)AND(5>3)

.T.

?6<3 OR 5*7=20

.F.

2.2.TIPUL NUMERIC

Operanzi numerici:

- câmpuri numerice ale b.d.

- variabile de tip numeric

- functii care returneaza valori numerice

- constante numerice

Operatorii aritmetici care se aplica operanzilor numerici cu rezultat numeric:

OPERATOR

SEMNIFICAŢIE

grupeaza expresiile

**, ^

ridicare la putere

înmultire, împartire, modulo(restul împartirii)

adunare scadere

Operatorii relationali:

OPERATOR

RELAŢIE

<

mai mic decât

>

mai mare decât

egal cu

<>, #, !=

diferit de

<=

mai mic sau egal cu

>=

mai mare sau egal cu

FUNCŢII REFERITOARE LA SEMNUL DATELOR NUMERICE:

ABS(<exp N>) = valoarea absoluta a argumentului (respectiv<exp N>)

SIGN(<expN>) = returneza semnul argumentului

+1 daca <exp N> este >0

SIGN(<expN>) = 0 daca <expN> este =0

-1 daca <exp> este <0

FUNCŢII DE APROXIMARE

INT(<expN>)= partea întreaga a argumentului

CEILING(<expN>)= cel mai apropiat întreg mai mare sau egal cu

FLOOR(<expN>)= cel mai apropiat întreg mai mic sau egal cu

ROUND(<expN1, expN2>)=<expN1>= expresia de rotunjit, (<expN2>) reprezentând numarul de zecimale care se vor pastra în rezultat.

FUNCŢII MATEMATICE ELEMENTARE

EXP(<expN>)= exponentiala lui (<expN>);

LOG(<expN>)= logaritmul natural din (<expN>);

LOG10(<expN>)= (<expN>)= logaritmul zecimal din (<expN>);

SQRT(<expN>)= (<expN>)= radicalul de ordin 2 din (<expN>).

2. 3 TIPUL sIR DE CARACTERE

Un sir de caractere reprezinta o multime de caractere ordonata care se trateaza ca un tot unitar. Ordinea caracterelor în sir este esentiala si ficarui caracter I se asiciaza un numar reprezentând pozitia caracterului în cadrul sirului (primul caracter va avea pozitia 1, al II-lea caracter va avea pozitia 2, s.a.m.d.). Numarul caracterelor dintr-un sir reprezinta lungimea sirului. Un subsir al sirului dat reprezinta o portiune din sir, începând de la o pozitie specificata si de lungime data.

Constantele de tip sir de caractere se specifica prin multimea caracterelor care îl compun, încadrata între apostrofuri simple sau duble (ex. ‘buna ziua!’ este acelasi sir de caractere ca si “buna ziua!” dar este diferit de sirul BUNĂ ZIUA!”). Nu sunt permise constructii de forma: ‘salut” sau “salut’. pentru a include un apostrof într-un sir, sirul va fi delinitat de celalalt tip de apostrof (ex.: “sirul acesta contine si este un exemplu”).

Daca lungimea sirului de caractere este 0 vorbim despre sirul vid sau sirul nul reprezentat ‘’prin sau “”. Daca lungimea sirului este 1 vorbim despre caractere ex.: 1’ sau “a”.

Operatorii care se pot aplica sirurilor de caractere sunt:

- operatori de concatenare

- operatori de comparare sau relationali

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.

Operatorul de concatenare special “-“ face ca din doua siruri de caractere sa se obtina un al treilea prin alipirea celui de al doilea sir la coada primului, blancurile (spatiile) de la sfârsitul primului sir fiind trecute la sfârsitul sirului al doilea.

Exemplu:

“eu învat “+” FoxPro” = “eu învat FoxPro”

“eu învat “-” FoxPro” =”eu învat FoxPro ”

Operatori relationali:

OPERATOR

RELA IE

$

inclus în

<

mai mic decât

>

mai mare decât

= =

identic cu

<>, #, !=

diferit de

<=

mai mic sau egal cu

>=

mai mare sau egal cu

Operatorii relationali au urmatoarea sintaxa:

<expc1> <operator> <expc 2>

Operatorul $ (inclus în) returneaza adevarat daca primul sir de caractere <expc 1> este continut în cel de al doilea <expc 2>, altfel returneaza fals.

FUNCŢII REFERITOARE LA sIRURILE DE CARACTERE

Functia CHR( )- returneaza caracterul ASCII corespunzator codului numeric transmis ca parametru.

Sintaxa: CHR(<expN>)

Exemplu:

?CHR(49) ?CHR(65)= =’A’

1 .T.

Functia ASC( )- returneaza codul ASCII al primului caracter din sirul dat.

Sintaxa: ASC(<expC>)

Exemplu:

?ASC(“A”) ?ASC(“a”)= =ASC(‘alfa’)

65 .T.

Functia LEN( )- returneaza lungimea sirului primit ca parametru.

Sintaxa: LEN(<expC>)

Exemplu:

?LEN(‘Buna ziua !’) ?LEN(‘baze’+’de date’)

11 13

Functia LOWER( )- transforma toate majusculele în litere mici, restul caracterelor ramânând neschimbate.

Sintaxa: LOWER(<expC>)

Exemplu:

?LOWER(‘POpescu AliN’)

popescu alin

Functia UPPER( )- transforma toate literele mici în majuscule, restul caracterelor ramânând neschimbate.

Sintaxa: UPPER(<expC>)

Exemplu:

?UPPER(‘POpescu AliN’)

POPESCU ALIN

Functia PROPER( )- transforma primul caracter în majuscula (daca este litera), restul caracterelor în litere mici.

Sintaxa: PROPER(<expC>)

Exemplu:

?PROPER(‘POPEsCu aliN’)

Popescu Alin

2.4 TIPUL DE DATĂ CALENDARISTICĂ

O constanta de tip data calendaristica se specifica prin luna, ziua si anul corespunzator, separate prin caracterul / si încadrate între paranteze acolade.

Data calendaristica vida se specifica prin blancuri în pozitia zilei, lunii si anului sau printr-un blanc încadrat între paranteze acolade.

ex.: data_vida sau data vida

FoxPro trateaza toate datele calendaristice invalide ca date calendaristice vide.

ex.: ? = =

.T.

Adunarea unei zile la o data calendaristica are ca efect avansarea datei cu o zi în ordine calendaristica.

astfel: +1 va fi egal cu

sau ? -1

12/31/98

Operatorii relationali se pot aplica si datelor de tip data calendaristica. O data calendaristica este este mai mare decât alta atunci când prima dintre acestea urmeaza calendaristic celei de a doua.

Formatul de specificare a datelor calendaristice este controlat de comanda SET DATE.

sintaxa:

SET DATE [TO] AMERICAN ANSI BRITISH FRENCH GERMAN

ITALIAN JAPAN USA MDY DMY YMD

Formatul datei este dat de urmatorul tabel:

TIPUL DATEI

FORMATUL

AMERICAN

ll/zz/aa

ANSI

aa/ll/zz

BRITISH

zz/ll/aa

FRENCH

zz/ll/aa

GERMAN

zz/ll/aa

ITALIAN

zz/ll/aa

JAPAN

aa/ll/zz

USA

ll/zz/aa

MDY

ll/zz/aa

DMY

zz/ll/aa

YMD

aa/ll/zz

Comanda SET CENTURY stabileste daca anul va fi descris de doua cifre (respectiv an din secolul 20) sau patru cifre.

sintaxa: SET CENTURY ON OFF unde ON indica patru cifre pentru an iar OFF indica doua cifre pentru an.

Data curenta a sistemului se poate obtine folosind functia DATE ()

sintaxa:    DATE()

ex:    ?DATE()

01/23/99

SET CENTURY ON

?DATE()

01/23/99

FUNCŢII CARE LUCREAZĂ CU DATE CALENDARISTICE

Functia CDOW (<expD>) returneaza ziua din cadrul saptamânii în care cade aceasta data ca sir de caractere reprezentând numele zilei din cadrul saptamânii.

Functia DOW (<expD>) returneza ziua din cadrul saptamânii în care cade aceasta data ca numar reprezentând a câta zi din saptamâna. (1 pentru luni, 2 pentru marti, etc.)

Ex.: ?CDOW(DATE()) ?DOW()

SATURDAY 2

Functia CMONTH(<expD>) returneaza un sir de caractere reprezentând numele lunii corespunzatoare datei (Ianuary, February, etc.).

Functia MONTH(<expD>) returneaza un numar reprezentând a câta luna din cadrul anului.

Ex.:    ?MONTH(date()) ?CMONTH()

1 IANUARY

Functia YEAR() returneaza anul ca valoare numerica

Ex.:    ?YEAR(DATE()-30)

1989

FUNCŢII CARE LUCREAZĂ CU ORA SISTEMULUI

Functia TIME([<expN>]) care returneaza ora sistemului.

Ex.:    ?TIME()

15:12:25

?TIME(0)

15:13:24.75

Functia SYS(2) returneaza numarul de secunde care au trecut de la ora 0.

Ex.:    ?TIME()

15:16:03

?SYS(2)

55000

Functia SECONDS() returneaza numarul de secunde si numarul de milisecunde care au trecut de la ora 0.

Ex.:    ?TIME()

15:19:52

?SYS(2)

55191

?SECONDS()

55191.863

Ceasul sistemului poate fi afisat în permanenta pe ecran cu ajutorul comenzilor SET CLOCK ON OFF unde ON face ca ceasul sa fie afisat în permanenta pe ecran sau SET CLOCK TO [<rând>,<coloana>] folosita pentru a specifica pozitia pe ecran unde se doreste afisarea.

Ex.:    SET CLOCK ON

SET CLOCK TO 1,70

vor determina afisarea în permanenta a cesului în partea din dreapta sus a ecranului (linia 1 coloana 70).


Document Info


Accesari: 1042
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )