Sunteți pe pagina 1din 3

LABORATOR 3-BAZE DE DATE

I.
1.Evaluati expresia: e=a+b+c pentru a=1,b=4 si c=13.
Rezolvare:
a=1
e=a+b+c
b=4
?e
c=13
2. .Evaluati expresia: e=

ac
ab bd

+
pentru a=1,b=2,c=3 si d=3.
c a ( a b) 3
c

Rezolvare:
a=1
d=3
b=2
e=(a+b)/c+(b+d)/(c+a)+(a+c)/((a+b)**3)
c=3
3.Comparati doua date calendaristice:2 ianuarie 2001 cu 1 februarie 2001.
Rezolvare:
? {01/02/01}>{02/01/01}
4.Concatenati doua siruri de caractere Ion si Maria.
Rezolvare:
a=Ion
?a+b+!
b=Maria
?a-b+!
5.Comparati doua siruri de caractere:a=123 si b=12.
Rezolvare:
a=123
?a<b
?a>b
b=12
?a=b
?a==b
II.Sa se creeze tabelul cu urmatoarea structura:Filiala-C(6),Benef-C(15),Suma_dat-N(8),Suma_ac-N(8),
Termen-N(2).
0.sa se introduca 10 inregistrari
1.sa se afiseze toate inregistrarile LIST
2.sa se afiseze ultima inregistrare
GOTO BOTTOM
DISP
3.sa se afiseze primele 4 inregistrari
GO TOP
LIST NEXT 4
4.sa se afiseze campurile filiala,benef, suma_dat
LIST FILIALA,BENEF, SUMA_DAT
5.sa se caute beneficiarii cu numele Popescu
LOCATE FOR BENEF=POPESCU
DISP
CONT
DISP
6.sa se caute beneficiarii care au achitat creditul in mai putin de 12 luni
LOCATE FOR TERMEN<12
DISP
CONT
DISP
7.sa se verifica daca la filiala Craiova sunt acordate credite mai mari de 5 000 000 lei.Sa se afiseze nr crt
al primei inregistrari gasite;sa se afiseze continutul acesteia.
LOCATE FOR FILIALA=CRAIOVA .AND. SUMA_DAT>5 000 000
?FOUND()
?RECNO
DISP

8.sa se caute beneficiarii care nu au achitat nici o suma si sa se afiseze nr crt al articolului gasit si
continutul acestuia
LOCATE FOR SUMA_AC=0
?RECNO()
DISP
9.sa se caute beneficiarii care au achitat mai mult de jumatate de credit de la filiala Buzau
LOCATE FOR SUMA_AC>SUMA_DAT/2 .AND. FILIALA=BUZAU
DISP
10.sa se caute beneficiarii care au achitat creditul
LOCATE FOR SUMA_DAT-SUMA_AC=0
DISP
CONT
DISP
11.sa se afiseze inregistrarile 3,5,6
GOTO 3
DISP
12.sa se afiseze prima inregistrare
GO TOP
DISP
III. Sa se creeze tabelul cu urmatoarea structura:Nume-C(15),Meseria-C(15),Data_n-D,An_ang-N(4),
Loc_munca-C(15),Salariu-N(9).
1.sa se introduca 10 inregistrari
2.sa se stearga logic angajatii cu salariul sub 3 000 000
DELETE FOR SALARIU<3 000 000
3.sa se afiseze inregistrarile BROWSE
4.sa se revina la starea initiala a inregistrarilor RECALL ALL
5.sa se marcheze pentru stergere persoanele angajate dupa 1990 si care au salariu mai mic sau egal cu
2 000 000
DELETE FOR AN_ANG>1990 .AND. SALARIU<=2 000 000
6.sa se afiseze inregistrarile
LIST
7.sa se renunte la marcaj
RECALL ALL
8.sa se marcheze pentru stergere angajatii care au peste 20 de ani
DELETE FOR YEAR(DATE())-YEAR(DATA_N)>20
LIST
9.sa se renunte la marcajul respective RECALL ALL
10.sa se marcheze pentru stergere angajatii nascuti in lunile septembrie sau iunie
DELE FOR MONTH(DATA_N)=07 .OR. MONTH(DATA_N)=09
LIST
11.sa se stearga definitive aceste inregistrari si sa se afiseze inregistrarile ramase
PACK
LIST
IV.Sa se creeze tabelul cu urmatoarea structura :Nume-C(20),Functia-C(20),Salariu-N(9), Index-N(2),
Sal_ind(9),Prima-N(9),Nr_ore-N(5).
1.sa se realizeze completarea automata a campului Index cu valoarea 3, ce reprezinta procentul cu care va
fi indexat salariul angajatilor
REPLACE ALL INDEX WITH 3
LIST
2.completarea automata a campului Sal_ind ce reprezinta salariul dupa indexare
REPLACE ALL SAL_IND WITH SALARIU+(SALARIU*3)/100
LIST
3.comletarea campului Prima astfel:pentru cei care au 170 ore, cu valoarea 1 000 000 iar pentru cei care
au 150 ore, cu valoarea 800 000.
REPLACE PRIMA WITH 1 000 000 FOR NR_ORE=170

S-ar putea să vă placă și