Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Subiecte posibile la programare - FOX

Subiecte posibile la programare - FOX

I. Sa se creeze baza de date angajati.dbf cu urmatoarele campuri: NUME (C15), DATA_NAST(D8), SEXUL(L1), ADRESA(M4), TELEFON(N10), STUDII(C10), DATA_ANGAJ(D8), SAL_BRUT(N4).

Rezolvare: create angajati.dbf

1. Sa se adauge o inregistrare goala la sfarsit.

Rezolvare:       goto bottom



append blank

2. Sa se vizualizeze baza de date sub forma de tabel.

Rezolvare:       browse

3. Sa se inlocuiasca salariul angajatului "Ionescu" cu valoarea 1100.

Rezolvare(program p3.prg):

use angajati.dbf

locate for nume="Ionescu"

if found()=.T.

replace sal_brut with 1100

else

wait window " Nu e in baza de date."

endif

browse

use

4. Sa se afiseze pe ecran toti angajatii barbati din baza de date.

Rezolvare:       list for sexul=.T.

5. Sa se afiseze pe ecran toti angajatii cu salariul brut mai mare sau egal cu 700.

Rezolvare:       list for sal_brut>=700

6. Sa se afiseze pe ecran numai campurile nume si sal_brut cu tot cu valori.

Rezolvare:       list nume,sal_brut

7. Sa se afiseze pe ecran toti angajatii incadrati inainte de dara 03/25/05.

Rezolvare:       list for data_angaj<

8. Sa se afiseze sub forma de tabel numai coloanele nume, studii si sal_brut, apoi sa se revina la afisarea intregului tabel.

Rezolvare:       set fields to angajati.nume,angajati.studii,angajati.sal_brut

browse

set fields off

browse

9. Sa se sorteze baza de date dupa nume crescator in baza de date angajsort1.dbf (comanda) apoi sa se deschida noua baza de date si sa se vizualizeze sub forma de tabel.

Rezolvare:       sort to angajsort1.dbf on nume /A

use

use angajsort1.dbf

browse

10. Sa se sorteze baza de date angajati.dbf dupa sal_brut descrescator in baza de date numita angajsort2.dbf (comanda) apoi sa se deschida noua baza de date si sa se vizualizeze sub forma de tabel.

Rezolvare:       sort to angajsort2.dbf on sal_brut /D

use

use angajsort2.dbf

browse

11. Sa se calculeze media aritmetica a salariului brut pentru toti angajatii.

Rezolvare:       average angajati.sal_brut

Sau calculate avg(angajati.sal_brut)

12. Sa se afle si sa se afiseze cel mai mare salariu brut si cel mai mic salariu brut.

Rezolvare:       calculate max(angajati.sal_brut)

calculate min(angajati.sal_brut)

13. Sa se calculeze media salariului brut pentru fiecare categorie de studii. Se va folosi o baza de date auxiliara aux.dbf pentru totaluri pe fiecare categorie de studii.  (program)

Rezolvare:       modify structure *pentru a adauga campurile nr(N(3)) si medief(N(5.2))

program p13.prg:

use

use angajati.dbf

replace nr with 1 all



total on angajati.studii to aux.dbf fields angajati.nr,angajati.sal_brut

use

use aux.dbf

scan

replace aux.medief with aux.sal_brut/aux.nr

endscan

set fields to aux.studii,aux.medief

browse

14. Sa se steaga logic apoi fizic inregistrarea nr.3 din baza de date angajati.dbf.

Rezolvare:       goto record 3

delete

pack

15. Sa se stearga logic ultima inregistrare din baza de date angajati.dbf.

Rezolvare:       goto bottom

delete

16. Sa se listeze toti angajatii de la litera A.

Rezolvare:       list for nume="A"


17. Sa se stearga (logic) persoanele a caror nume incepe cu litera T; sa se vizualizeze baza de date.

Rezolvare:       delete for nume="T"

browse



18. Sa se calculeze suma valorilor din coloana sal_brut intr-o variabila z si sa se afiseze pe ecran .

Rezolvare:       sum angajati.sal_brut to z

?z


19. Sa se calculeze raportul 2/3 cu 3 zecimale si sa se afiseze la linia1, coloana3 rezultatul.

Rezolvare:       @1,3 say 2/3 picture '99.999'


20. Sa se citeasca doua valori pentru doua variabile a si b apoi sa se afiseze pe ecran care dintre cele doua valori citite e mai mare (program).

Rezolvare(program p20.prg):

set talk off

clear

a=0

b=0

@4,10 say  'primul numar' get a

@5,10 say' al doilea numar' get b

read

if a>b

?'primul numar e mai mare'

else

if a=b

?'numere egale'

else

?'al doilea numar e mai mare'

endif

endif

II. Sa se creeze baza de date studenti.dbf cu urmatoarele campuri: NUME (C15), DATA_NAST(D8), SEXUL(L1), TELEFON(N10), CAMINIST(L1), ABSENTE_AN(N3),  MEDIE_AN(N5.2), AN_STUDII(N1), FACULTATE(C4).

Rezolvare: create studenti.dbf

1. Sa se adauge o inregistrare goala la sfarsit.

Rezolvare:       goto bottom



append blank

2. Sa se vizualizeze baza de date sub forma de tabel.

Rezolvare:       browse

3. Sa se inlocuiasca valoarea din campul facultate cu FB a studentului "Ionescu".

Rezolvare(program p3.prg):

use studenti.dbf

locate for nume="Ionescu"

if found()=.T.

replace facultate with "FB"

else

wait window " Nu e in baza de date."

endif

browse

use

4. Sa se afiseze pe ecran toate studentele din baza de date.

Rezolvare:       list for sexul=.F.

5. Sa se afiseze pe ecran toti studentii caministi.

Rezolvare:       list for caminist=.T.

6. Sa se afiseze pe ecran numai campurile nume si facultate.

Rezolvare:       list nume,facultate

7. Sa se afiseze pe ecran toti studentii cu medie_an mai mare sau egala cu 8.50.

Rezolvare:       list for medie_an>=8.50

8. Sa se afiseze sub forma de tabel numai coloanele nume, an_studii si medie_an, apoi sa se revina la afisarea intregului tabel.

Rezolvare:       set fields to studenti.nume,studenti.an_studii,studenti.medie_an

browse

set fields off

browse

9. Sa se sorteze baza de date dupa nume crescator in baza de date studsort1.dbf (comanda) apoi sa se deschida noua baza de date si sa se vizualizeze sub forma de tabel.

Rezolvare:       sort to studsor1.dbf on nume /A

use

use studsor1.dbf

browse

10. Sa se sorteze baza de date studenti.dbf dupa medie descrescator in baza de date numita studsort2.dbf (comanda) apoi sa se deschida noua baza de date si sa se vizualizeze sub forma de tabel.

Rezolvare:       sort to studsor2.dbf on medie_an /D

use

use studsor2.dbf

browse

11. Sa se calculeze media aritmetica a mediei pe an pentru toti studentii.

Rezolvare:       average studenti.medie_an

Sau calculate avg(studenti.medie_an)

12. Sa se afle si sa se afiseze cea mai mare medie si cea mai mica medie.

Rezolvare:       calculate max(studenti.medie_an)

calculate min(studenti.medie_an)

13. Sa se calculeze suma absentelor  pentru fiecare facultate, apoi sa se faca media lor pe fiecare facultate. Se va folosi o baza de date auxiliara aux.dbf pentru totaluri pe fiecare facultate. (program)



Rezolvare:       modify structure *pentru a adauga campurile nr(N(3)) si medief(N(5.2))

program p13.prg:

use

use studenti.dbf

replace nr with 1 all

total on studenti.facultate to aux1.dbf fields studenti.nr,studenti.absente_an

use

use aux1.dbf

scan

replace aux1.medief with aux1.absente_an/aux1.nr

endscan

set fields to aux1.facultate,aux1.medief

browse

14. Sa se stearga logic apoi fizic inregistrarea nr.2 din baza de date studenti.dbf.

Rezolvare:       goto record 2

delete

pack

Sau:delete record 2

pack

15. Sa se stearga logic prima inregistrare din baza de date studenti.dbf.

Rezolvare:       goto top

delete


16. Sa se listeze toti studentii  de la litera B.

Rezolvare:       list for nume="B"


17. Sa se stearga (logic) persoanele a caror nume incepe cu litera C; sa se vizualizeze baza de date.

Rezolvare:       delete for nume="C"

browse

18. Sa se calculeze suma valorilor din coloana absente intr-o variabila z si sa se afiseze pe ecran .

Rezolvare:       sum studenti.absente_an to z

?z

Sau: calculate sum(studenti.absente_an) to z

?z


19. Sa se calculeze raportul 9/3 cu 3 zecimale si sa se afiseze la linia 3, coloana 5 rezultatul.

Rezolvare:       @3,5 say 9/3 picture '99.999'


20. Sa se citeasca doua valori pentru doua variabile a si b apoi sa se afiseze pe ecran care dintre cele doua valori citite e mai mica (program).

Rezolvare(program p20.prg):

set talk off

clear

a=0

b=0

@4,10 say  'primul numar' get a

@5,10 say' al doilea numar' get b

read

if a<b

?'primul numar e mai mic'

else

if a=b

?'numere egale'

else

?'al doilea numar e mai mic'

endif

endif