Documente Academic
Documente Profesional
Documente Cultură
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'
b)
c)
d)
use abonat
list all
list fields nume for achitat=.F.
calculate sum(pretluna) to x
? 'Pret total:'+str(x)
create oras
use oras
list all
list fields numeoras for judet='Calarasi'
calculate max(nrloc) to x
list fields numeoras for nrloc=x
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
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
.and.
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)
create medic
use medic
accept 'Dati numele:' to x
count to y for nume_medic=x
? 'Numarul pacientilor:'+str(y)
c)
6
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
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
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
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
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)
12
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
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
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
create atletism
use atletism
list all
list fields nume for tipproba='alergare de viteza'
list fields nume for tipproba='maraton' .and. lococupat=1
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
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)
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
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
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
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)
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)
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)
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
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