Sunteți pe pagina 1din 22

SUBIECTE REZOLVATE

PENTRU ATESTATUL
PROFESIONAL LA
INFORMATIC

SUBIECTE FOXPRO
1. Sa se construiasca o baza de date cu principalele
productii cinematografice din secolul XX, cu urmatoarea
structura: Nume_film (C30), Gen(C20), Tara (C10), An
(N4), Regizor (C20).
a) Sa se adauge minim 10 inregistrari in baza de date;
b) Care sunt filmele produse in Romania in anul 2000?
c) Cate filme de comedie au fost propuse in Romania
inainte de 1989?
d) Afisati lista filmelor regizate de regizorul Popescu
Dan;
Rezolvare:
create cinema
use cinema
b) list fields nume_film for tara='Romania' . and. an=2000
c) count to x for gen='comedie' .and. tara='Romania' .and.
an<1989
? 'Numarul de filme:'+str(x)
d) list fields nume_film for regizor='Popescu Dan'

2. Fie baza de date ABONAT.DBF care contine informatii


despre abonatii unei televiziuni prin cablu, cu urmatoarea
structura : Nume (C20), NrPrograme (N4), PretLuna(N6),
Achitat(L1):
a) Sa se adauge minim 10 inregistrari in baza de date;
b) Afisati continutul bazei de date;
c) Listati numele abonatilor care nu si-au achitat factura;
d) Afisati suma totala care ar trebui incasata de la toti
abonatii;
Rezolvare:
create abonat
2

b)
c)
d)

use abonat
list all
list fields nume for achitat=.F.
calculate sum(pretluna) to x
? 'Pret total:'+str(x)

3. Fie baza de date ORAS.DBF cu urmatoarea structura:


NumeOras (C30), Judet (C20), NrLocuitori(N7).
a) Sa se adauge minim 10 inregistrari in baza de date;
b) Afisati continutul bazei de date;
c) Afisati orasele din judetul Calarasi;
d) Afisati orasul cu cel mai mare numar de locuitori;
Rezolvare:
b)
c)
d)

create oras
use oras
list all
list fields numeoras for judet='Calarasi'
calculate max(nrloc) to x
list fields numeoras for nrloc=x

4. Se consider baza de date cri.dbf cu urmtoarea


structur: TITLU(C,20), AUTOR(C,20), NR_PAG(N,3),
DATA_AP(D,8), reprezentnd titlul, autorul, numrul de
pagini i data apariiei a unei cri.
a) S se adauge minim 10 nregistrri n baza de date.
b) S se afieze titlul crilor scrise de un autor al crui
nume se citete de la tastatur.
c) S se afieze titlul i autorul pentru crile cu cele mai
multe pagini din baza de date.
d) S se elimine din baza de date toate crile aprute n
anul 2000 i care au un numr impar de pagini.
Rezolvare:
create carti
3

b)
c)
d)

use carti
accept 'Dati autorul:' to x
list fields titlu for autor=x
calculate max(nr_pag) to y
list fields titlu, autor for nr_pag=y
delete for year(data_ap)=2000 .and. mod(nr_pag,2)=1
list
pack

5. Se consider baza de date echipa.dbf cu urmtoarea


structur:
NUME_E(C,20),
NUME_A(C,20),
DATA_I(D,8),
NR_JUCTORI(N,2),
CUPA(L,1),
reprezentnd numele unei echipe de fotbal, numele
antrenorului, data cnd a fost nfiinat, numrul total de
juctori i dac a ctigat sau nu vreodat cupa..
a) S se adauge minim 10 nregistrri n baza de date.:
b) S se determine numrul echipelor nfiinate nainte de
anul 1980 i care nu au ctigat niciodat cupa.
c) Se citete de la tastatur un numr natural. S se afieze
numele echipei i al antrenorului pentru echipele care au un
numr de juctori egal cu valoarea citit.
d) S se elimine din baza de date ultimele dou echipe.
Rezolvare:
b)
c)
d)

create echipa
use echipa
count to x for year(data_i)<1980 .and. cupa=.F.
? 'Nr echipelor este:'+str(x)
input 'Dati numarul de jucatori:' to y
list fields nume_e,nume_a for nr_juc=y
go bottom
skip -1
delete rest
list
pack
4

6. Se consider baza de date prjituri.dbf cu urmtoarea


structur: NUME(C,20), PRET(N,3), GREUTATE(N,4),
DATA_P(D,8), reprezentnd numele unei prjituri, preul i
greutatea acesteia i data de producie a prjiturii.
a) S se adauge minim 10 nregistrri n baza de date.
b) S se afieze numele i greutatea prjiturilor al cror
pre nu depete o valoare dat, citit de la tastatur.
c) S se determine preul mediu al prjiturilor produse n
ultimele 3 luni ale anului 2006.
d) S se afieze n ordine cresctoare n funcie de pre
numele prjiturilor care au greutatea un numr impar.
Rezolvare:
create prjituri
use prajituri
b) input 'Dati pretul:' to x
list fields nume,greutate for pret<=40
c) calculate
avg(pret)
for
month(data_p)>=10
year(data_p)=2006 to x
? 'Pretul mediu:'+str(x,10,2)
d) sort to prajituri1 on pret/a for mod(greutate,2)=1
use prajituri1
list

.and.

7. S se creeze o tabel CFR.DBF cu structura Nr_bilet,


Oras_destinatie, Pret i s se introduc 10 articole. S se
scrie un program FoxPro prin care:
a) S se adauge minim 10 nregistrri n baza de date;
b) S se calculeze suma realizat n urma vnzrii tuturor
biletelor nregistrate n tabel;
c) Sa se afiseze orasul destinatie cel mai indepartat , in
functie de pretul cel mai mare;
5

d) S se afieze pe ecran numrul de bilete vndute cu


destinaia un anumit ora X, citit de la tastatur;
Rezolvare:
b)
c)
d)

create cfr
use cfr
calculate sum(pret) to x
? 'Suma:'+str(x,10,2)
calculate max(pret) to y
list fields oras_dest for pret=y
accept 'Dati orasul:' to z
count to n for oras_dest=z
? 'Nr. de bilete:'+str(n)

8. S se creeze o tabel MEDIC.DBF cu structura:


Nume_medic,
Nume_pacient,
Diagnostic,
Data_consultului, i s se introduc 10 articole. Un articol
reprezint un pacient dintr-o policlinic (un consult - un
articol). S se scrie un program FoxPro prin care:
a) S se adauge minim 10 nregistrri n baza de date;
b) S se afieze numrul pacienilor consultai n luna
curent de ctre un medic al crui nume se introduce de la
tastatur;
c) S se afieze diagnosticul cel mai frecvent reinut n
tabel.
d) Sa se afiseze diagnosticul pentru un pacient al carui
nume il citim de la tastatura;
Rezolvare:
b)

create medic
use medic
accept 'Dati numele:' to x
count to y for nume_medic=x
? 'Numarul pacientilor:'+str(y)

c)
6

set talk off


close all
clear
use medic
sort to medic1 on diagnostic/a
use medic1
go top
frecventa=0
d=diagnostic
do while .not. eof()
x=diagnostic
d)

count to y while diagnostic=x


if y>frecventa
frecventa=y
d=x
endif
enddo
?
'diagnostic:'+d+'frecventa:'+str
(frecventa)
use

accept 'Dati numele:' to z


list fields diagnostic for nume_p=z

9. Sa se creeze tabela SALARIAT.dbf cu informatii


despre angajatii
unei firme. Tabela are urmatoarea
structura:nume(C15), functia(C20), salariu(N7). Se cere:
a) S se adauge minim 10 nregistrri n baza de date;
b) Sa se afiseze informatiile despre toti angajatii firmei
c) Sa se afiseze salariul maxim si numele
persoanei(persoanelor) care au salariu maxim
d) Sa se afiseze salariul mediu pe firma
Rezolvare:
b)
c)

d)

create salariat
use salariat
list all
calculate max(salariu) to x
? 'Salariul maxim:'+str(x)
list fields nume for salariu=x
calculate avg(salariu) to y
? 'Salariul mediu:'+str(y,10,2)
7

10. Sa se creeze tabela BAC.dbf cu informatii despre


rezultatele obtinute la examenul de bacalaureat. Tabela are
urmatoarea structura: nume (C15), prenume(C15),
nota_probaA(N 5,2), nota_probaB(N 5,2), nota_probaC(N
5,2),
nota_probaD(N
5,2),
nota_probaE(N
5,2),
nota_probaF(N 5,2),MEDIE(N 5,2). Se cere:
a) S se adauge minim 10 nregistrri n baza de date;
b) Afisarea elevilor in ordinea descrescatoare a mediilor
c) Sa se listeze elevii admisi (medie>=6) si elevii
respinsi (medie<6)
d) Sa se stearga logic elevii care nu au medie de trecere
(<6)
Rezolvare:
create bac
use bac
replace all media with (n_probaa + n_probab + n_probac +
n_probad + n_probae + n_probaf)/6
b) sort to bac1 on medie/d
use bac1
list
c) ? 'Elevii admisi:'
list fields nume, prenume for (n_probaa>=5) .and.
(n_probab>=5) .and. (n_probac>=5) .and. (n_probad>=5) .and.
(n_probae>=5) .and. (n_probaf>=5) .and. (medie>=6)
? 'Elevii respinsi:'
list fields nume, prenume for (n_probaa<5) .or. (n_probab<5)
.or. (n_probac<5) .or. (n_probad<5) .or. (n_probae<5) .or.
(n_probaf<5) .or. (medie<6)
d) delete for medie<6
list

11. Sa se creeze tabela OLIMP.dbf cu informatii despre


elevii care au fost premiati in cadrul olimpiadele
8

scolare.Tabela are urmatoarea structura: nume (C15),


prenume (C15), olimpic(L), premiat(L), premiu(N1). Se
cere:
a) S se adauge minim 10 nregistrri n baza de date;
b) Lista elevilor participanti la olimpiadele scoalre
c) Care sunt elevii care au obtinut premii
d) Ce premiu a obtinut un elev al carui nume se introduce
de la tastatura
Rezolvare:
b)
c)
d)

create olimp
use olimp
list fields nume, prenume for olimpic=.T.
list fields nume, prenume for premiat=.T.
accept 'Dati numele:' to x
accept 'Dati prenumele:' to y
list fields premiu for nume=x .and. prenume=y

12. Fie baza de date SITUAIE , cu urmtoarea structur:


Nume (C20), Clasa (C4), Abs (N2), Nota1 (N 5 2 ), Nota2
(N 5 2 ), Nota3 (N 5 2 ), Media (N 5 2 ), Nrcorig (N 2 ) cu
situaia elevilor unei coli.
Se cere:
a) s se introduc n baza de date minim 10 nregistrri;
b) afiai toi elevii corigeni;
c) nlocuii
cmpul
Media
cu
formula
(Nota1+Nota2+Nota3)/3;
d) s se afieze cel mai bun i cel mai slab elev;
Rezolvare:
b)
c)

create situatie
use situatie
list fields nume for nrcorig>0
replace all media with (nota1+nota2+nota3)/3
9

d)

list
calculate max(media) to x
? 'Cel mai bun:'
list fields nume for media=x
calculate min(media) to y
? 'Cel mai slab:'
list fields nume for media=y

13. La un service auto evidena pieselor de schimb se ine


n baza de date PIESE cu structura: Nume_pies (C15), Pre
(N 10), Cantitate (N 7), Manopera (N10).
Se cere:
a) s se introduc n baza de date minim 10 nregistrri;
b) afiai primele cinci piese dintre cele mai scumpe
existente n service;
c) ct ar ctiga firma dac ar monta toate piesele pe
maini;
d) s se ordoneze baza de date descresctor dup cantitate
Rezolvare:
b)

c)

d)

create piese
use piese
sort to piese1 on pret/d
use piese1
go top
list next 5
use piese
calculate sum(pret*cantitate+manopera) to x
? 'Castig:'+str(x)
sort to piese2 on cantitate/d
use piese2
list

10

14. Evidena camerelor unui hotel este realizat prin


intermediul unei baze de date CAMERE cu structura: Nrc (
N4 ), Nrpat ( N1), Pre (N8), Telefon (L), Televizor (L),
Data (D), Nrzile (N3), unde Nrc reprezint numrul
camerei, Data reprezint data nchirierii camerei, Nrzile
reprezint numrul de zile pentru care a fost nchiriat
camera, iar Pre , preul pentru o noapte.
Se cere:
a) s se introduc n baza de date minim 10 nregistrri;
b) s se afieze numrul camerelor care au telefon i
televizor;
c) preul mediu al camerelor cu 2 paturi;
d) ctigul pe care l-ar obine hotelul pe luna iulie dac ar
avea toate camerele ocupate;
Rezolvare:
b)
c)
d)

create camere
use camere
count to x for telefon=.T. .and. televizor=.T.
? 'Nr. camerelor:'+str(x)
calculate avg(pret) for nrpat=2 to y
? 'Pretul mediu:'+str(y,10,2)
calculate sum(pret) for month(data)=7 to z
? 'Castigul:'+str(z)

15. La secretariatul unui liceu situaia la nvtur la


sfritul primului semestru al unui an colar este reinut n
baza de date ELEVI cu structura: Nume (C20), Clasa (C5),
Media (N 5 2 ), Bursa (N 6 ), unde cmpul Bursa iniial nu
conine date.
Se cere:
a) s se introduc minim 10 nregistrri n baza de date;
11

b) s se completeze cmpul Bursa tiind c regulile de


calcul sunt urmtoarele:
- dac media este peste 9.50 atunci elevul obine bursa de
merit n valoare de 300000 lei pe lun;
- dac media este ntre 9 i 9.50 , atunci elevul obine bursa
de studiu n valoare de 150000 lei pe lun;
- dac elevul are media mai mic dect 9.00 el nu primete
burs;
c) s se afieze numrul elevilor care obin burs;
d) s se afieze clasa sau clasele care au cel mai mare venit
obinut din burse;
Rezolvare:
create elevi
use elevi
b) replace all bursa with 300000 for media>=9.50
replace all bursa with 150000 for (media>=9.00) .and.
(media<9.50)
c) count to x for media>=9.00
? 'Nr.elevilor:'+str(x)
d)
set talk off
calculate sum(bursa) to y
close all
while x=clasa
clear
if y>maxim
use elevi
maxim=y
sort to elevi1 on clasa/a
c=x
use elevi1
endif
go top
enddo
maxim=0
?
'Clasa:'+c+'are
venitul
c=clasa
maxim de:'+str(maxim)
do while .not. eof()
use
x=clasa

12

16. Fie baza de date MEDICAL.DBF care contine despre


bolnavii internati in sectia de pedriatie a unui spital.
Concepeti structura acesteia, astfel incat sa se poata
raspunde cu usurinta la urmatoarele cerinte:
a) S se introduc minim 10 nregistrri n baza de date;
b) Care sunt bolnavii cu varsta de 10 ani?
c) Afisati primii trei si ultimii trei pacienti inscrisi in baza
de date;
d) Listati continutul bazei de date;
Rezolvare:
b)
c)

d)

create medical
use medical
list fields nume for varsta=10
? 'Primii trei:'
go top
list next 3
? 'Ultimii trei:'
go bottom
skip -2
list rest
list all

17. La un concurs international s-a construit o baza de date


MISS.DBF cu urmatoarea structura: Nume (C30), Tara
(C20), Inaltimea (N3), Greutatea (N2), Profesia (C20),
LocOcupat(N2).
a) S se introduc minim 10 nregistrri n baza de date;
b) Listati continutul bazei de date;
c) Listati toate persoanele cu inaltimea 185(cm);
d) Listati ocupantele locurilor 1, 2, 3 stiind ca nu pot fi
mai multe ocupante ale aceluiasi loc;
13

Rezolvare:
b)
c)
d)

create miss
use miss
list
list fields nume for inaltimea=185
sort to miss1 on lococupat/a
use miss1
go top
list next 3

18. S se creeze o tabel MUNCITOR.DBF cu structura


Nume_muncitor, Cod_atelier, Numar_piese_produse . S se
scrie un program FoxPro prin care:
a) S se introduc minim 10 nregistrri n baza de date;
b) S se afieze numrul atelierelor din tabel;
c) S se afieze numrul de piese produse de fiecare
atelier;
d) Sa se afiseze numele muncitorilor care au realizat un
numar maxim de piese.
Rezolvare:
create muncitor
use muncitor
b) i c)
set talk off
close all
clear
use muncitor
sort to muncitor1 on cod_a/a
use muncitor1
list
go top
nr=0
do while .not. eof()

x=cod_a
calculate sum(n_piese) to y
while x=cod_a
? 'Nr. de piese produse de
atelierul: '+x+' este:'+str(y)
nr=nr+1
enddo
? 'Nr. de ateliere:'+str(nr)
use
14

d)

calculate max(n_piese) to x
list fields nume_m for n_piese=x

19. Fie baza de date ATLETISM.DBF care contine


informatii despre sportivii participanti la un concurs de
atletism, cu urmatoarea structura: Nume (C20), Varsta
(N2), TipProba (C20), Lococupat(N2).
a) S se introduc minim 10 nregistrri n baza de date;
b) Afisati continutul bazei de date ;
c) Afisati atletii participanti la proba de alergare de viteza;
d) Afisati atletii care au ocupat locul I la proba de
maraton;
Rezolvare:
b)
c)
d)

create atletism
use atletism
list all
list fields nume for tipproba='alergare de viteza'
list fields nume for tipproba='maraton' .and. lococupat=1

20. Se consider baza de date elevi.dbf cu urmtoarea


structur: NUME(C,20), DATA_N(D,8), VRSTA(N,2),
MEDIA(N,5,2), BURSIER(L,1), reprezentnd numele, data
naterii, vrsta, media general a unui elev i dac acesta
este bursier sau nu.
a) S se adauge minim 10 nregistrri n baza de date,
lsnd cmpul BURSIER necompletat.
b) S se completeze cmpul BURSIER cu valoarea
corespunztoare astfel: Un elev este declarat bursier dac
media general a sa este mai mare sau egal cu 9,50.
c) S se afieze numele i data naterii pentru elevii
majori care nu sunt bursieri.
15

d) Se citete de la tastatur numele unui elev. S se


afieze vrsta, media general i poziia pe care se afl n
baza de date elevul gsit.
Rezolvare:
b)
c)
d)

create elevi
use elevi
replace all bursier with .T. for media>=9.50
list
list fields nume, data_n for varsta>=18 .and. bursier=.F.
accept 'Dati numele:' to x
list fields varsta, media for nume=x

21. Se consider baza de date locuin.dbf cu urmtoarea


structur:
ADRES(C,20),
NR_CAMERE(N,2),
DATA_C(D,8), PRE(N,6), reprezentnd adresa, numrul
de camere, data cnd a fost construit i preul unei
locuine.
a) S se adauge minim 10 nregistrri n baza de date.
b) S se afieze adresa locuinelor construite dup anul
2000 i care au un numr par de camere.
c) Se citesc de la tastatur dou numere naturale a i b,
a<=b. S se afieze adresa i numrul de camere pentru
locuinele al cror pre se afl n intervalul [a,b].
d) S se afieze numrul locuinelor care au preul egal cu
preul mediu al tuturor locuinelor din baza de date.
Rezolvare:
create locuinta
use locuinta
b) list
fields
adresa
mod(nr_camere,2)=0
c) input 'a=' to a

for

year(data_c)>2000

.and.

16

input 'b=' to b
list fields adresa, nr_camere for pret>=a .and. pret<=b
d) calculate avg(pret) to x
count to y for pret=x
? 'Nr. locuintelor:'+str(y)

22. Plecnd de la baza de date GEOGRAF cu urmtoarea


structur: Continent (C 10), ara (C10), Capitala (C10),
Suprafaa (N 5 km2), Locuitori (N10)., se cere:
a) s se introduc minim 10 nregistrri n baza de date;
b) care este capitala unei anumite ri dorite de utilizator;
c) continentul, capitala i numele rii cu cea mai mare
suprafa;
d) ordonai baza de date descresctor dup numrul de
locuitori;
Rezolvare:
b)
c)
d)

create geograf
use geograf
accept 'Dati tara:' to x
list fields capitala for tara=x
calculate max(suprafata) to y
list fields continent, capitala, tara for suprafata=y
sort to geograf1 on locuitori/d
use geograf1
list

23. Fie baza de date PRODUSE , cu urmtoarea structur:


Produs (C20), Codprod (N7), Codmagazin (n7), Pret (N10),
Cantitate (N4) , Valoare (N12) cu produsele vndute de un
magazin en-gross.
Se cere:
a) s se introduc minim 10 nregistrri n baza de date;
17

b) s se nlocuiasc cmpul Valoare ( iniial vid ) cu


formula Pre*Cantitate ;
c) s se afieze baza de date sortat cresctor dup cmpul
Codmagazin;
d) s se afieze toate produsele care au un anumit pre X
citit de la tastatur;
Rezolvare:
b)
c)

d)

create produse
use produse
replace all valoare with pret*cantitate
list
sort to produse1 on codmagazin/a
use produse1
list
input 'Dati pretul:' to x
list fields produs for pret=x

24. Fie baza de date AUTOMOBIL.DBF cu structura:


Denumire (C20) , An_fab (D) , Culoare (C10). Se cere:
a) Sa se introduca minim 10 inregistrari;
b) Care sunt automobilele fabricate in anul 2000?
c) Care sunt automobilele de culoare rosie?
d) Listati continutul bazei de date;
Rezolvare:
b)
c)
d)

create automobil
use automobil
list fields denumire for year(an_fab)=2000
list fields denumire for culoare='rosu'
list all

18

25.
Fie
baza
de
date
FARMACIE
(
Denumire_medicament(C20), Cantitate(N5),Pret(N5)). Se
cere:
a) Sa se introduca minim 10 inregistrari in baza de date;
b) Listati medicamentele existente in farmacie;
c) Care este pretul asprinei?
d) Afisati care este medicamentul cel mai scump;
Rezolvare:
b)
c)
d)

create farmacie
use farmacie
list fields denumire_m
list fields pret for denumire_m='aspirina'
calculate max(pret) to x
list fields denumire_m for pret=x

26. Sa se construiasca baza de date care contin datele


referitoare la examenul de bacalaureat. Structura acestei
baze va fi: Nume(C20), Clasa(C4), Media (N5,2). Se cere:
a) Sa se introduca minim 10 inregistrari in baza de date;
b) Sa se afiseze primii doi elevi promovati cu cele mai
mari medii;
c) Sa se afiseze media generala a elevilor admisi;
d) Sa se afiseze elevii respinsi;
Rezolvare:
b)

c)

create bac
use bac
sort to bac1 on media/d
use bac1
go top
list next 2
calculate avg(media) to x for media>=6
? 'Media:'+str(x,5,2)
19

d)

list fields nume for media<6

27. Pentru baza de date SCOLARA care retine mediile de


pe cele doua semestre ale fiecarui elev dintr-o clasa si care
are structura: Nume (C20), MS1 (N4,2), MS2 (N4,2), Sa se
scrie un program care:
a) Sa se introduca minim 10 inregistrari in baza de date;
b) Sa afiseze numele si cele doua medii, precum si media
anuala a fiecarui elev;
c) Sa marcheze pentru stergere elevii corigenti (care au pe
unul dintre semestre media<5) si sa se precizeze numarul
lor;
d) Sa se afiseze media generala a clasei.
Rezolvare:
b)
c)

d)

create scolara
use scolara
list fields nume, ms1, ms2, (ms1+ms2)/2
delete for ms1<5 .or. ms2<5
count to x for ms1<5 .or. ms2<5
? 'Nr. de elevi corigenti:'+str(x)
calculate avg((ms1+ms2)/2) to y
? 'Media:'+str(y,5,2)

28. Informatiile despre salariatii unei firme se retin intr-o


baza de date SALARIATI.DBF cu structura: Nume (C20),
Functia (C20), Salariul (N7). Se cere sa se realizeze un
program care sa permita :
a) Sa se introduca minim 10 inregistrari in baza de date;
b) Sa se afiseze continutul bazei de date;
c) Care este numele persoanelor cu salariul maxim;
d) Care este salariul mediu pe unitate?
Rezolvare:
20

b)
c)
d)

create salariati
use salariati
list all
calculate max(salariul) to x
list fields nume for salariul=x
calculate avg(salariul) to y
? 'Salariul mediu:'+str(y,10,2)

29. Se considera tabela STUDENTI.DBF care are structura:


Nume C(20), Cod_curs C(3), Denum_curs C(10), Nota
N(2). Se cere:
a) Sa se introduca minim 10 inregistrari in tabela;
b) Sa se afiseze continutul bazei.
c) Sa se afiseze cati studenti au promovat (au nota
>=5);
d) Sa se afiseze numele si prenumele studentilor
inscrisi la un curs al carui cod este citit de la tastatura, daca
nu exista acel curs se va afisa mesaj.
Rezolvare:
b)
c)
d)

create studenti
use studenti
list all
count to x for nota>=5
? 'Nr. de studenti:'+str(x)
set talk off
close all
clear
accept 'Dati codul:' to y
list fields nume for cod_curs=y
locate for cod_curs=y
if not found()
? Nu exista
endif
21

use

30. Se consider baza de date CRI ce conine informaii


despre toate crile dintr-o bibliotec astfel: Cota_carte
(C8), Titlu (C25), Autor (C25), Domeniu (C20), An_apar
(N4), editura (C15), Pre (N5). Se cere s se afieze pe
ecran:
a) s se introduc n baza de date minim 10 nregistrri;
b) cte cri au intrat n bibliotec n anul X citit la intrare;
c) valoarea total a crilor din bibliotec;
d) s se tearg din baza de date toate crile editurii X
citit de la tastatur;
Rezolvare:
b)

c)
d)

create carti
use carti
input 'Dati anul:' to x
count to y for an_apar=x
? 'Nr. de carti:'+str(y)
calculate sum(pret) to z
? 'Valoarea totala:'+str(z)
accept 'Dati editura:' to x
delete for editura=x
pack

22

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