10
Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton 1/10 Cerinte generale: 1. numele tabelei se va alege de catre elev intr-un mod corespunzator problemei 2. numele si tipul campurilor tabelei se vor stabili de catre elev in conformitate cu cerintele din enunt OBS : la rezolvarea pb în fereastra command 1. Schimb valutar La o casă de schimb valutar cele mai importante tranzactii se păstrează într-o tabela ce conĠine informatii despre: - numele persoanei care efectueaza tranzactia - tipul operatiei efectuate de casa de schimb – poate fi cumparare sau vanzare - tipul valutei – dolar sau euro - cursul zilnic valuta – lei - suma de bani tranzactionata de catre persoana, exprimata in lei. ConstruiĠi o aplicaĠie care să realizeze operaĠiile: a) citirea de la tastatura a unei sume de bani exprimata in lei, nu mai mare de 1000 si afisarea persoanelor care au tranzactionat prin cumparare mai mult decat suma citita b) adaugarea in tabela a unei tranzactii noi si afisarea intregii tabele dupa adaugare c) calcularea sumei totale in lei cumparata de acea casa de schimb Rezolvare - baza de date: nume, caracter, 20 operatia, caracter, 9 {poate fi vanzare sau cumparare} valuta, caracter, 1 {e = euro sau d = dolar} curs, numeric, 5 casa suma, numeric, 7 {<=1000} problema1.prg use casa x=0 input 'dati suma de bani' to x if x>1000 ?'suma a fost > 1000' else browse fields nume for (suma>x) and (operatia="cumparare") endif append browse nomodify sum suma to y for operatia="cumparare" ?'valoarea totala tranzactionata prin cumparare este ' ?y use set defa to ......calea spre dir curent........ create ......numele bazei de date ............ modi comm ..... numele fis de program ..... do ....numele fis de program ...... quit {păUăsirea fox}

Fox 2007 AlinaCarmen

Embed Size (px)

DESCRIPTION

Fox

Citation preview

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

1/10

Cerinte generale:1. numele tabelei se va alege de catre elev intr-un mod corespunzator problemei2. numele si tipul campurilor tabelei se vor stabili de catre elev in conformitate cu cerintele dinenunt

OBS : la rezolvarea pb în fereastra command

1. Schimb valutarLa o cas de schimb valutar cele mai importante tranzactii se p streaz într-o tabela ce con ineinformatii despre:- numele persoanei care efectueaza tranzactia- tipul operatiei efectuate de casa de schimb – poate fi cumparare sau vanzare- tipul valutei – dolar sau euro- cursul zilnic valuta – lei- suma de bani tranzactionata de catre persoana, exprimata in lei.Construi i o aplica ie care s realizeze opera iile:a) citirea de la tastatura a unei sume de bani exprimata in lei, nu mai mare de 1000 si afisarea

persoanelor care au tranzactionat prin cumparare mai mult decat suma cititab) adaugarea in tabela a unei tranzactii noi si afisarea intregii tabele dupa adaugarec) calcularea sumei totale in lei cumparata de acea casa de schimb

Rezolvare- baza de date:

nume, caracter, 20operatia, caracter, 9 {poate fi vanzare sau cumparare}valuta, caracter, 1 {e = euro sau d = dolar}curs, numeric, 5

casa

suma, numeric, 7 {<=1000}

problema1.prg use casax=0input 'dati suma de bani' to xif x>1000 ?'suma a fost > 1000'else browse fields nume for (suma>x) and(operatia="cumparare")endifappendbrowse nomodifysum suma to y for operatia="cumparare"?'valoarea totala tranzactionata prin cumparare este '?yuse

set defa to ......calea spre dir curent........create ......numele bazei de date ............modi comm ..... numele fis de program .....do ....numele fis de program ......quit {p sirea fox}

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

2/10

2. Oficiul fortelor de muncaLa oficiul fortelor de munca se retin intr-o tabela urmatoarele informatii despre persoanele faraloc de munca :- numele- sex- varsta- profesieConstrui i o aplica ie care s realizeze opera iile:a) citirea de la tastatura a unei profesii si afisarea persoanelor de sex feminin care au calificarea

respectivab) adaugarea in tabela a unei inregistrari noi – se impune restrictia ca persoana introdusa sa

aiba cel putin 16 ani. Vizualizarea tabelei in cazul in care s-a facut adaugareac) afisarea varstei maxime din tabela si a datelor personale a persoanei sau persoanelor care

poseda acea varstaRezolvare

- baza de date:nume, caracter, 20sex, caracter, 1 {f = feminin sau m = masculin}varsta, numeric, 2 { >=16 }muncaprofesia, caracter, 15

Problema2.prg

3. Casa de biletePentru eviden a biletelor de c torie vândute la o cas de bilete, fiecare bilet se înregistreaz într-otabel cu informatiile:

- numar bilet- destinatie- clasa- pret- numar tren- data emiteriiConstrui i o aplica ie care s realizeze opera iile:a) introduce i datele unui bilet noub) vizualizati biletele vandute pentru clasa I, ordonate dupa destinatiec) calculati ce incasari a avut casa de bilete pentru o luna citita de la tastatura

use muncax=''accept 'dati profesia' to xbrowse fields nume for (sex='f') or (sex='F') and (profesia=x)nomodifyaccept 'numele=' to naccept 'sex=' to sinput 'varsta=' to vaccept 'profesia=' to pif v<16 ?'varsta nu e corespunzatoare'else go bottom append blank replace nume with n, sex with s, varsta with v, profesia with p browse nomodifyendifcalculate max(varsta) to xbrowse fields nume for varsta=x nomodifyuse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

3/10

Rezolvare Problema3.prg- baza de date:

numar, numeric, 5destinatie, caracter, 20clasa, numeric, 1pret, numeric, 5nrtren, numeric, 5

bilete

data, date

4. BancaLa o banca se tine evidenta depunatorilor intr-o tabela ce contine urmatoarele informatii:

- nume depunator- suma depusa- termen- dobanda- depozitConstrui i o aplica ie care s realizeze opera iile:a) adaugati un nou deponentb) cititi de la tastatura o suma minima si afisati alfabetic toti depunatorii care au depus o suma

mai mare decat cea cititac) calculati totalul sumelor depuse in banca cu scadenta la 24 luni

Rezolvare Problema4.prg- baza de date:

nume, caracter, 20suma, numeric, 7termen, numeric, 3dobanda, numeric, 5

banca

depozit, numeric, 55. Medic de familiePentru evidenta persoanelor arondate unuimedic de familie, se organizeaz o tabelacu informatiile:

- cnp- nume- adresa- ultimul diagnostic- data ultimului consultConstrui i o aplica ie care s realizeze opera iile:a) o persoana noua face o cerere si vrea sa intre in evidenta medicului de familie. Introduceti

datele acelei persoane in tabela.b) afisati persoanele care au fost consultate in luna curenta, impreuna cu diagnosticul lorc) cititi de la tastatura un diagnostic si calculati cate persoane au primit acel diagnostic

Rezolvare Problema5.prg- baza de date:

cnp, numeric, 13nume, caracter, 20adresa, caracter, 20diag_u, caracter, 15

medic

data_c, date, 8

use bileteappendbrowse nomodifysort to bilete2 on destinatieuse bilete2browse for clasa=1 nomodifyinput 'dati luna=' to xsum pret to y for x=month(data_e)?yuse

use bancaappendbrowse nomodifyinput 'dati suma=' to xsort to banca2 on numeuse banca2browse for suma>x nomodifysum suma to y for termen=24?yuse

use medicappendbrowse nomodifybrowse fields nume, diag_u for month(data_c)=month(date()) nomoaccept 'dati diagnostic ' to dcount to y for diag_u=d?'au fost un nr de persoane= '?yuse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

4/10

6. CampingPentru evidenta rezervarilor/ocuparii locurilor de cazare intr-un camping se organizeaza o tabela cuinformatiile:

- numarul locului de cazare- tipul locului- data inchirierii- numar nopti de cazare- numele persoanei titulare pe locul respectivConstrui i o aplica ie care s realizeze opera iile:a) adaugarea in tabela a unei noi rezervarib) pentru o persoana citita de la tastatura calculati si afisati de cate ori a mai fost cazata in acel

camping in casutec) afisati locurile libere de cazare (data inchirierii+ numar nopti cazare < data curenta)

ordonate dupa tipul loculuiRezolvare Problema6.prg

- baza de date:nr, numeric, 3tip, caracter, 10data_i, date, 8Nr_nopti, numeric, 3

camping

nume, caracter, 15

7. MagazinPentru gestionarea produselor dintr-un magazin se organizeaza intr-o tabela informatiile:

- cod produs- denumire produs- unitate de masura- cantitate- pret unitarConstrui i o aplica ie care s realizeze opera iile:a) adaugati o noua inregistrareb) afisati produsele care se g sesc într-o cantitate cuprins între dou limite date de la tastaturc) calculati valoarea stocului din magazin (pret unitar*cantitate)

Rezolvare Problema7.prg- baza de date:

cod, numeric, 5denumire, caracter, 10unitate, caracter, 10cantitate, numeric, 5

magazin

pret, float, 7, 2

8. Agenda personalaO persoana isi organizeaza agenda personala cu informatii de genul:- nume- data nasterii- localitate de domiciliu

use campingappendbrowse nomoaccept 'dati numele pers ' to ncount to y for (nume=n)and (tip='casute')?'nr cazarilor este'?ysort to camping2 on tipuse camping2browse for data_i+nr_nopti<date() nomouse

use magazinappendbrowse nomoinput 'dati lim inferioara' to liinput 'dati lim superioara' to lsbrowse for (cantitate>=li) and (cantitate<=ls) nomosum pret*cantitate to y?' valoarea stocului este'?yuse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

5/10

- telefon fix- telefon mobil

Construi i o aplica ie care s realizeze opera iile:a) calculati numarul persoanelor care isi sarbatoresc data nasterii azib) introduceti o noua persoana in tabelac) afisati numerele de telefon ale persoanelor dintr-o localitate data si al caror nume incepe cu

litera ’L’Rezolvare

- baza de date:nume, caracter, 15data_n, date, 8loc, caracter, 20telefon_f, numeric, 10

agenda

telefon_m, numeric, 10

Problema8.prg

9. ConcursMunicipalitatea orasului a hotarat sa organizeze un concurs pe tema „Miscarea inseamnasanatate”. Pentru aceasta a stabilit 3 probe: atletism, ciclism si proba de forta. Datele referitoarela concurs sunt:- nume participant- punctaj proba1- punctaj proba2- punctaj proba3- total puncteConstrui i o aplica ie care s realizeze opera iile:a) introducerea unui nou participant (total puncte nu se va introduce)b) calculati totalul pentru fiecare participant si afisati noua tabela ordonata descrescator dupa

punctajc) calculati cati participanti au obtinut mai mult de 20 de puncte la proba 1Rezolvare Problema9.prg- baza de date:

nume, caracter, 20pb1, numeric, 3pb2, numeric, 3pb3, numeric, 3

concurs

total, numeric, 3

usecount to y for day(data_n)=day(date()) and month(data_n)=month(date())?'nr de persoane='?yappendbrowse nomoaccept 'dati localitatea' to ybrowse fields telefon, mobil, nume for(loc=y) and substr(nume,1,1)='l'use

use concursaccept 'nume' to ninput 'punctaj 1= ' to p1input 'punctaj 2 = ' to p2input 'punctaj 3 = ' to p3append blankreplace nume with n, pb1 with p1, pb2 with p2,pb3 with p3browse nomoscanreplace total with pb1+pb2+pb3endscansort to concurs2 on total/Duse concurs2browse nomocount to x for pb1>20?xuse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

6/10

10. DiriginteUn diriginte tine o evidenta a situatiei absentelor in clasa sa astfel:- nume elev- numar total absente- numar absente nemotivate- media la purtare Construi i o aplica ie care s realizeze opera iile:a) introduceti un nou elev in tabelab) calculati cate absente motivate sunt pe toata clasac) afisati elevii cu note peste 7 la purtare, ordinati alfabetic

Rezolvare Problema10.prg- baza de date:

nume, caracter, 20nr_abs, numeric, 3abs_nem, numeric, 3dirigintemedia_p, float, 5, 2

11. FISCLa Fisc se pastreaza evidenta impozitelor pe imobile intr-o tabela cu structura :- nume persoana- tip locuinta (casa, vila sau apartament)- impozit- achitatConstrui i o aplica ie care s realizeze opera iile:a) adaugati o persoana in tabelab) calculati suma incasata pana in prezent din impozitec) afisati alfabetic toate persoanele care detin o casa sau vila

Rezolvare Problema11.prg- baza de date:

nume, caracter, 20tip, caracter, 15impozit, numeric, 10fiscachitat, logic, 1

12. SeminarLa un seminar international organizat pe probleme de ecologie, au fost invitate personalitatipolitice, oameni de cultura si oameni de afaceri din diferite tari europene. La biroul“Organizare” se solicita datele unui invitat:- nume- domeniul activitatii- tara de origine- varstaConstrui i o aplica ie care s realizeze opera iile:a) introducerea datelor unui nou invitatb) citirea de la tastatura a unie tari si afisarea invitatilor din acea tarac) calcularea mediei de varsta pe domeniul afaceri

use diriginteappendbrowse nomosum nr_abs - abs_nem to y?'nr absente motivate este= '?ysort to diriginte2 on numeuse diriginte2browse fields nume for media_p>7use

use fiscappendbrowse nomosum impozit to y for achitat=.T.?ysort to fisc2 on numeuse fisc2browse fields nume for (tip='casa') or (tip='vila')use

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

7/10

Rezolvare Problema12.prg- baza de date:

nume, caracter, 20domeniul, caracter, 20tara, caracter, 15seminarvarsta, numeric, 3

13. TariIntr-o tabela se organizeaza informatii referitoare la tari:

- denumirea tarii- continentul in care se afla- capitala- numar locuitoriConstrui i o aplica ie care s realizeze opera iile:a) introducerea unei noi tari in tabelab) se citeste de la tastatura un continent, calculati cate tari de pe acel continent exista in tabelac) afisati tarile cu capitalele lor, ordonate descrescator dupa numarul de locuitori

Rezolvare Problema13.prg

- baza de date:denumirea, caracter, 20continent, caracter, 15capitala, caracter, 15tariNr_loc, numeric, 10

14. Unitati scolareSa se retina in tabela SCOLI informatii despre unitatile scolare dupa cum urmeaza:- numele unitatii scolare- localitatea- nivelul de invatamant-primar, gimnazial, liceal, sam- numarul de clase din unitate- numar de elevi in unitate

Construi i o aplica ie care s realizeze opera iile:a) Adaugati o noua inregistrareb) Pentru o localitate citita de la tastatura, copiati in alta tabela identica informatiile referitoare launitatile scolare din acea localitatec) afisati numarul total al elevilor pentru un anumit nivel de invatamant, nivelul fiind introdus de latastatura Problema14.prgRezolvare

- baza de date:nume, caracter, 15localitatea, caracter, 15nivel, caracter, 15nr_clase, numeric, 2

scoli

nr_elevi, numeric, 4

use seminarappendbrowse nomoaccept 'dati numele= ' to ybrowse fields nume for tara=y nomosum varsta to x for domeniul='afaceri'count to z for domeniul='afaceri'?'media de varsta pe domeniul afaceri este='?x/zuse

use tariappendbrowse nomoaccept 'dati numele continentului=' to xcount to y for continent=x?'nr de tari este='?ysort to tari2 on nr_loc/Duse tari2browse fields denumirea, capitala, nr_loc nomouse

use scoliappendbrowse nomoaccept 'dati localitatea= ' to xsort to scoli2.dbf on nume for localitatea=xuse scoli2browse nomouse scoliaccept 'dati nivelul= ' to ysum nr_elevi to z for nivel = y? 'nr elevi este= '? zuse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

8/10

15. BibliotecaPentru evidenta persoanelor inscrise la o bibiloteca avem la dispozitie informatiile :- cnp- numele- data nasterii- cod personal pentru acces la biblioteca

Construi i o aplica ie care s realizeze opera iile:a) introduceti date pentru o persoana noua care se prezinta la biroul de inscrierib) calculati cate femei sunt inscrise la bibliotecac) afisati numele si codul persoanelor nascute intr-un anumit an citit de la tastatura

Rezolvare Problema15.prg- baza de date:

cnp, caracter, 13nume, caracter, 15data_n, date, 8bibliotecacod, numeric, 10

16. Politia rutieraAngajatii de la politia rutiera au hotarat sa creeze o evidenta a soferilor din judetul lor. In acest sensau creat o tabela SOFER continand :

- numele soferului- localitatea de domiciliu- data la care a fost eliberat permisul de conducere- numarul total al amenzilor pe care le-a primit acel sofer- valoarea ultimei amenzi platite de catre conducatorul autoConstrui i o aplica ie care s realizeze opera iile:

a) Introduceti o noua inregsitrareb) Afisati acei soferi care inca mai trebuie sa poarte semnul de incepator( nu a trecut inca un an decand au obtinut permisul)c) calculati numarul total de amenzi date soferilor dintr-o localitate citita de la tastaturaRezolvare Problema16.prg

- baza de date:nume, caracter, 20localit, caracter, 20data_e, date, 8nr_amen, numeric, 3

sofer

amenda_u, F, 7, 2

17. ScoalaLa secretariatul unei scoli sunt necesare informatii referitoare la colectivele de elevi existente,interesand in principal :- identificatorul clasei- numarul de elevi din clasa- numele dirigintelui

Construi i o aplica ie care s realizeze opera iile:a) calculati cate clase au un efectiv de exact 30 elevi si afisati acele claseb) pentru un nume de profesor introdus de la tastatura, precizati al cui diriginte estec) pentru toate clasele a IX-a din tabela, cresteti numarul de elevi cu 3.

use bibliotecaappendbrowse nomocount to y for substr(cnp,1,1)='2'?'femei sunt='?yinput 'dati anul=' to xbrowse fields nume, cod for year(data_n)=x nomouse

use soferappendbrowse nomobrowse for (data_e+365)>=date()accept 'dati localitatea= ' to xsum nr_amen to y for localit=x?'nr total de amenzi este= '?yuse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

9/10

Rezolvare Problema17.prg- baza de date:

identificator, caracter, 4nr_elevi, numeric, 2colectivediriginte, caracter, 20

18. AngajatiSe considera o tabela ce contine urmatoarele informatii referitoare la angajatii unei firme :

- nume angajat- varsta- tipul muncii prestate (productiv sau neproductiv)- salar vechi- salar nouConstrui i o aplica ie care s realizeze opera iile:a) introduceti o noua inregistrare in tabela (salar nou nu se introduce)b) afisati descendent toti salariatii care au cel mult 50 de anic) actualizati salariu nou cu salariu vechi indexat cu procentul p citit de la tastatura

Rezolvare- baza de date:

nume, caracter, 20varsta, numeric, 2tip_munca, caracter, 1 {p=productiv sau n=neproductiv}salar_v, numeric, 7

angajati

salar_n, numeric, 7

Problema18.prg

19. Biblioteca personalaO persoana doreste sa-si organizeze biblioteca personala. Informatiile care o intereseaza pepersoana sunt:- titlul cartii- autorul

use colectivecount to x for nr_elevi=30?'nr de clase cu 30 elevi este'?xbrowse for nr_elevi=30 nomoaccept 'dati numele prof= ' to ybrowse for diriginte=y nomoscanif substr(identificator,1,2)= 'IX' replace nr_elevi with nr_elevi + 3endifendscanbrowse nomouse

use angajatiappendsort to angajati2 on varsta/d for varsta<=50use angajati2browse nomouse angajatiinput 'dati procentul ' to pscanreplace salar_n with salar_v+(p/100) * salar_vendscanbrowse nomouse

Atestat 2007-Subiecte Baze de Date, rezolvari propuse de prof. Alina Pintescu + Carmen Anton

10/10

- genul caruia ii apartine lucrarea (poezie, beletristica, proza sau SF)- numar volume.

Construi i o aplica ie care s realizeze opera iile:a) introduceti o carte noua in tabelab) afisati toate cartile care apartin unui gen literar citit de la tastatura, ordonate alfabetic dupa titluc) calculati cate carti din biblioteca au mai mult de 5 volumeRezolvare Problema19.prg

- baza de date:titlu, caracter, 20autor, caracter, 20gen, caracter, 20bibliotecanr_vol, numeric, 1

20. LicitatiePentru participarea la o licitatie mai multe firme depun oferte. Organizatorii sunt interesati sacunoasca :- denumirea firmei- data infiintarii- tipul firmei – S.A, S.R.L.- capitalul social- valoarea ofertei curenta.

Construi i o aplica ie care s realizeze opera iile:a) introducerea unei noi inregistrari in tabelab) se citeste de la tastatura un prag maxim al ofertei. Stergeti din tabela firmele care au depus ooferta ce depaseste pragul respectiv.c) Stabiliti care este firma ce a facut cea mai buna oferta (minima ca si pret ) si afisati informatiiledespre eaRezolvare Problema20.prg

- baza de date:nume, caracter, 20data_i, date, 8tip, caracter, 6 (SA sau SRL)capital, F, 7, 2

licitatie

valoare, F, 7, 2

use bibliotecaappendaccept 'dati genul ' to gsort to biblioteca2 on titlu for gen=guse biblioteca2browse nomouse bibliotecacount to y for nr_vol>5?'nr cartilor care au mai mult de 5 volume este='?yuse

use licitatieappendbrowse nomoinput 'dati pragul max al ofertei= ' to pdelete for valoare>pset delete oncalculate min(valoare) to mbrowse for valoare=m nomouse