Sunteți pe pagina 1din 24

Porofoliu FOX

1. Să se realizeze o aplicaţie pentru *0/Introd campuri noi


gestionarea unor filme. Pentru fiecare film accept "Daca doriti sa adaugati
se vor memora: numele filmului, categoria, campuri noi scrieti 'DA' " to x
actor principal, încasări. Aplicaţia va
permite introducerea de noi filme, afișarea IF UPPER(ALLTRIM(x))="DA"
filmelor dintr-o anumită categorie, căutarea MODIFY STRUCTURE
unui actor și afișarea filmelor în care joacă.
APPEND
Pot fi adăugate și alte câmpuri în afara celor
specificate. Este obligatoriu să apară ENDIF
minimum 10 înregistrări pentru a se putea *a)afi?area filmelor dintr-o
testa aplicația. anumit? categorie
CREATE TABLE 1.dbf (nume C(15),
accept"dati categoria" to x
categorie C(15) , actor C(15) ,
incasari N(10) ) LIST FIELDS FOR categorie=x
*b)cautarea unui actor ?i afi?
area filmelor în care joac?
input "Numarul de filme:" to n
accept"dati numele actorului" to
y
FOR i=1 TO n
LIST FIELDS nume FOR actor=y

APPEND BLANK

2. Să se realizeze o aplicaţie pentru


accept "Numele filmului:" to a gestionarea unui magazin de telefoane
accept "Categoria:" to b mobile. Se vor memora: marca telefonului,
marca, an apariție, preț. Aplicaţia va permite
accept "Actor principal" to c introducerea de noi telefoane, căutarea și
input "Incasari:" to d afișarea telefoanelor dintr-o anumită marcă,
afișarea prețului maxim al unui telefon și
replace nume WITH a, categorie
afișarea acelor telefoane cu preț maxim. Pot
WITH b, actor WITH c, incasari
WITH d
fi adăugate și alte câmpuri în afara celor
specificate. Este obligatoriu să apară
minimum 10 înregistrări pentru a se putea
ENDFOR testa aplicația.
CREATE TABLE 2.dbf (marcatel
C(10),marca C(10),an N(4),pret
BROWSE N(10))

USE 1.dbf
input "Numarul de telefoane:" to GO top
n
pretm=pret
FOR i=1 TO n
GO 2
SCAN
APPEND BLANK
if(pretm<pret
pretm=prêt
accept "Marca telefonului:" to a
endif
accept "Marca:" to b
endscan
input "An:" to c
?"pretul maxim este",pretm
input "Pret:" to d
LIST FIELDS FOR pret=pretm

replace marcatel WITH a,marca


WITH b,an WITH c, pret WITH d
3 Să se realizeze o aplicaţie pentru evidența
elevilor. Se vor memora: numele, cnp, clasa,
ENDFOR
profil. Aplicaţia va permite introducerea de
noi elevi, având grijă să nu se introducă un
BROWSE
cnp care deja apare. De asemenea, aplicația
va permite căutarea unui elev și afișarea
USE 2.dbf datelor sale și afișarea elevilor de la o
*0/Introd campuri noi anumită clasă. Pot fi adăugate și alte
câmpuri în afara celor specificate. Este
accept "Daca doriti sa adaugati obligatoriu să apară minimum 10 înregistrări
campuri noi scrieti 'DA' " to x
pentru a se putea testa aplicația.
IF UPPER(ALLTRIM(x))="DA" CREATE TABLE 3.dbf(numele C(20),
MODIFY STRUCTURE cnp N(14), clasa N(2),profil
C(10))
APPEND
input "Numarul de elevi:" to n
ENDIF
FOR i=1 TO n
*a)c?utarea ?i afi?area
telefoanelor dintr-o anumit?
marc? APPEND BLANK
accept"dati marca" to x
LIST FIELDS FOR marca=x accept "Numele:" to a
*b)afi?area pre?ului maxim al input "CNP:" to b
unui telefon ?i afi?area acelor
telefoane cu pre? maxim input "Clasa:" to c
accept"Profilul:" to d 4. Să se realizeze o aplicaţie pentru a
replace numele WITH a,cnp WITH memora date despre țările lumii. Se vor
b,clasa WITH c,profil WITH d memora: numele țării, suprafața, număr
locuitori, continentul. Aplicaţia va permite
introducerea de noi țări, având grijă să nu se
ENDFOR introducă o țară care deja apare, căutarea și
afișarea alfabetică a țărilor de pe un anumit
continent, afișarea țării cu suprafața
BROWSE maximă, afișarea țării cu populație maximă.
USE 3.dbf Pot fi adăugate și alte câmpuri în afara celor
specificate. Este obligatoriu să apară
*0/Introd campuri noi minimum 10 înregistrări pentru a se putea
accept "Daca doriti sa adaugati testa aplicația.
campuri noi scrieti 'DA' " to x CREATE TABLE 4.dbf(tara
C(10),suprafata N(10),locuitori
IF UPPER(ALLTRIM(x))="DA"
N(13),continent C(15))
MODIFY STRUCTURE
input "Nr. de tari" to n
APPEND
FOR i=1 TO n
ENDIF
*a)aplica?ia va permite c?utarea
APPEND blank
unui elev ?i afi?area datelor
sale accept "Tara" to a
accept"dati numele" to x input "Suprafata" to b
LIST FIELDS FOR numele=x input "Nr. locuitori" to c
*b)afi?area elevilor de la o accept "Continent" to d
anumit? clas?.
replace tara WITH a,suprafata
accept"dati clasa" to y WITH b,locuitori WITH
c,continent WITH d
LIST FIELDS FOR clasa=y

ENDFOR

BROWSE
USE 4.dbf
*0/Introd campuri noi
accept "Daca doriti sa adaugati
campuri noi scrieti 'DA' " to x
IF UPPER(ALLTRIM(x))="DA"
MODIFY STRUCTURE ENDSCAN
APPEND LIST tara for locuitori=maxp
ENDIF 5. Să se realizeze o aplicaţie pentru evidența
unor angajați. Se vor memora: numele
*a)c?utarea ?i afi?area
alfabetic? a ??rilor de pe un angajatului, secția, salariul, codul
anumit continent angajatului. Aplicaţia va permite
introducerea de noi angajați, având grijă să
SORT ON tara TO 4_2.dbf nu se introducă un angajat având codul deja
USE 4_2.dbf existent, căutarea și afișarea alfabetică a
angajaților de la o anumită secție, afișarea
LIST
sumei totale a salariilor, afișarea angajaților
accept"dati continentul" to cu salariul mai mare decât o anumită
conti valoare. Pot fi adăugate și alte câmpuri în
LIST FIELDS tara FOR afara celor specificate. Este obligatoriu să
continent=conti apară minimum 10 înregistrări pentru a se
putea testa aplicația.
*b)afi?area ??rii cu suprafa?a
maxim? *CREATE TABLE 5.dbf ( nume C(25)
, sectia C(25) , salariu N(10) ,
USE 4.dbf cod N(13))
maxs=0
GO top *input "Dati nr de angajati: "
to n
SCAN
if(suprafata>max)
*FOR i=1 TO n
maxs=suprafata
ENDIF
*APPEND BLANK
ENDSCAN
LIST tara for suprafata=maxs
*accept "Dati numele: " to a
*c)afi?area ??rii cu popula?ie
maxim? *accept "Dati sectia: " to b
maxs=0 *input "Dati salariul: " to c
GO top *input "Dati codul: " to d
SCAN
if(locuitori>maxp) *replace nume WITH a , sectia
WITH b , salariu WITH c , cod
maxp=locuitori
WITH d
ENDIF
*ENDFOR 6. Să se realizeze o aplicaţie pentru evidența
unor abonați la o companie de telefonie. Se
vor memora: numele abonatului, numar de
USE 5.dbf telefon, localitate, pret abonament. Aplicaţia
accept"Dati o sectie" to sec va permite introducerea de noi abonați,
având grijă să nu se introducă un abonat
SORT on nume/A TO 5_2.dbf FOR
având numărul de telefon deja existent,
sectia=sec
căutarea și afișarea alfabetică a abonaților
USE 5_2.dbf dintr-o anumită localitate, afișarea
LIST FIELDS
numărului total de abonați, afișarea
nume,sectia,salariu,cod abonaților care încep cu o anumită literă. Pot
fi adăugate și alte câmpuri în afara celor
USE 5.dbf specificate. Este obligatoriu să apară
sm=0 minimum 10 înregistrări pentru a se putea
testa aplicația.
suma=0
*CREATE TABLE 6.dbf ( nume C(25)
GO TOP , nrtel N(14) , localitate C(25)
, pret N(10))
SCAN
suma=suma+salariu
*input "Dati numarul de abonati:
IF sm<salariu
" to n
sm=salariu
ENDIF
*FOR i=1 TO n
ENDSCAN
GO top
*APPEND BLANK
SCAN
IF sm=salariu
*accept "Dati numele: " to a
?nume,sectia,cod,salariu
*input "Dati nr telefon: " to b
?
*accept "Dati localitatea: " to
ENDIF c
ENDSCAN *input "Dati pretul: " to d
?"Suma salariilor este",suma
input"Afiseaza angajatii cu *replace nume WITH a , nrtel
salariul mai mare de " to maxim WITH b , localitate WITH c ,
pret WITH d
LIST FIELDS nume FOR
salariu>maxim
*ENDFOR
7. Să se realizeze o aplicaţie pentru un
USE 6.dbf concurs de informatică. Se vor memora:
numele elevului, codul elevului, liceul,
accept"Daca doriti introducerea punctajul. Aplicaţia va permite introducerea
de noi valori, scrieti DA" to x de noi elevi, având grijă să nu se introducă
IF UPPER(ALLTRIM(x))="DA" un elev având codul deja existent, afișarea
alfabetică a elevilor și afișarea
MODIFY STRUCTURE
descrescătoare după punctaj, media
APPEND punctajelor elevilor de la un anumit liceu.
ENDIF
Pot fi adăugate și alte câmpuri în afara celor
specificate. Este obligatoriu să apară
accept"Afisarea abonatilor din minimum 10 înregistrări pentru a se putea
localitatea" to loc testa aplicația.
SORT ON nume TO 6_2.dbf FOR *CREATE TABLE 7.dbf ( nume C(25)
UPPER(ALLTRIM(localitate))=UPPER , cod C(10) , liceu C(25) ,
(ALLTRIM(loc)) punctaj F(3,2))
USE 6_2.dbf
LIST FIELDS nume *input "Dati nr elevi: " to n
USE 6.dbf
n=reccount() *FOR i=1 TO n
?"Numarul total de abonati
este",n
*APPEND BLANK
accept"Afiseaza abonatii care
incep cu litera" to ch
LIST FIELDS nume FOR *accept "Dati numele: " to a
UPPER(ALLTRIM(LEFT(nume,1)))=UPP *accept "Dati codul: " to b
ER(ALLTRIM(ch))
*accept "Dati liceul: " to c
*input "Dati punctajul: " to d

*replace nume WITH a , cod WITH


b , liceu WITH c , punctaj WITH
d

*ENDFOR
USE 7.dbf
s=0
*Introducere de noi val GO top
accept"Daca doriti introducerea SCAN
de noi campuri,scrieti DA" to x
IF
IF UPPER(ALLTRIM(x))="DA" UPPER(ALLTRIM(liceu))=UPPER(ALLT
RIM(l))
MODIFY STRUCTURE
n=n+1
APPEND
s=s+punctaj
ENDIF
ENDIF
ENDSCAN
*a)Afisarea elevilor ordonati
alfabetic m=s/n
MESSAGEBOX("Afisarea elevilor ?m
ordonati alfabetic")
8. Să se realizeze o aplicaţie pentru a ține
SORT ON nume/A TO 7_a.dbf evidența unor albume de muzică. Se vor
USE 7_a.dbf memora: titlul albumului, autorul, anul
apariției, preț. Aplicaţia va permite
LIST FIELDS nume introducerea de noi albume, afișarea
USE 7.dbf albumelor unui anumit autor, descrescător
după anul apariției. De asemenea să se
afișeze anul în care au apărut cele mai multe
*b)Afisarea elevilor albume, precum și acele albume care au
descrescator dupa punctaj apărut în acel an. Pot fi adăugate și alte
MESSAGEBOX("Afisarea elevilor câmpuri în afara celor specificate. Este
ordonati descrescator dupa obligatoriu să apară minimum 10 înregistrări
punctaj") pentru a se putea testa aplicația.
SORT ON punctaj/D TO 7_b.dbf
USE 7_b.dbf *CREATE TABLE 8.dbf ( titlu
C(25) , autor C(25) , anap
LIST fields nume,punctaj N(4) , pret F(10,2))
USE 7.dbf

*input "Dati nr de albume: " to


n
*c)Media punctajelor de la un
anumit liceu
accept"Afiseaza media *FOR i=1 TO n
punctajelor de la liceul"to l
n=0
*APPEND BLANK
*accept "Dati titlul: " to a *b/Anul in care au aparut cele
mai multe albume
*accept "Dati autorul: " to b
USE 8.dbf
*input "Dati anul aparitiei: "
to c n=RECCOUNT()
*input "Dati pretul: " to d maxim=0
maxan=0
*replace titlu WITH a , autor FOR i=1 TO n
WITH b , anap WITH c , pret WITH
d GO i
anul=anap

*ENDFOR nr=0
GO TOP

USE 8.dbf SCAN


IF anap=anul

*0/Introd val noi nr=nr+1

accept "Daca doriti sa adaugati ENDIF


campuri noi scrieti 'DA' " to x ENDSCAN
IF UPPER(ALLTRIM(x))="DA" IF nr>maxim
MODIFY STRUCTURE maxim=nr
APPEND maxan=anul
ENDIF ENDIF
ENDFOR
*a/Afisare albume unui autor ?"Anul in care au aparut cele
descrescator in functie de anul mai multe albume este: ",maxan
de aparitie\
?"Albumele care au aparut in
accept "Dati autorul: " to acest an sunt: "
autor_2
LIST FIELDS titlu,autor FOR
SORT ON anap TO 8_2.dbf anap=maxan
USE 8_2.dbf
GO TOP
LIST FIELDS titlu,autor,anap FOR
autor=autor_2
9. Să se realizeze o aplicaţie pentru a ține USE 9.dbf
evidența unor angajați. Se vor memora: accept"Daca doriti sa
numele angajatului, codul numeric personal, introduceti noi valori, scrieti
departamentul, salariul. Aplicaţia va permite DA" to x
introducerea de noi angajați, afișarea
IF UPPER(ALLTRIM(x))="DA"
alfabetică a angajaților unui anumit
departament. De asemenea să se afișeze MODIFY STRUCTURE
salariul mediu, precum și angajații care sunt
APPEND
femei (au codul numeric personal care
începe cu 2 sau cu 6). Pot fi adăugate și alte ENDIF
câmpuri în afara celor specificate. Este
obligatoriu să apară minimum 10 înregistrări
pentru a se putea testa aplicația. *a)Afisarea in ordine alfabetica
a angajatilor unui anumit
*CREATE TABLE 9.dbf ( nume C(15) departament
, cnp C(13) , departam C(15) ,
salariu N(10)) accept"Sa se afiseze in ordine
alfabetica angajatii
departamentului " to dep
*input "Dati nr de angajati: " SORT ON nume/A TO 9_a.dbf FOR
to n UPPER(ALLTRIM(departam))=UPPER(A
LLTRIM(dep))

*FOR i=1 TO n USE 9_a.dbf


LIST FIELDS nume

*APPEND BLANK USE 9.dbf

*accept "Dati numele: " to a *b)Salariul mediu

*accept "Dati CNP-ul: " to b n=RECCOUNT()

*accept "Dati departamentul: " s=0


to c GO top
*input "Dati salariul: " to d SCAN
s=s+salariu
*replace nume WITH a , cnp WITH ENDSCAN
b , departam WITH c , salariu
WITH d m=s/n
?"Salariul mediu este",m

*ENDFOR
*c)Nr de angajati care sunt
femei
nrf=0 *input "Dati pretul: " to d
GO top
SCAN *replace titlu WITH a , autor
WITH b , editura WITH c , pretul
IF LEFT(cnp,1)="2" OR WITH d
LEFT(cnp,1)="6"
nrf=nrf+1
*ENDFOR
ENDIF
ENDSCAN
USE 10.dbf
?"Numarul de angajati care sunt
femei este",nrf accept"Daca doriti introducerea
de noi carti,scrieti DA" to x
10. Să se realizeze o aplicaţie pentru a ține
evidența unor cărți. Se vor memora: titlul IF UPPER(ALLTRIM(x))="DA"
cărții, autorul, editura, prețul. Aplicaţia va MODIFY STRUCTURE
permite introducerea de noi cărți. De
asemenea să se afișeze titlurile cărților scrise APPEND
de un anumit autor, numărul cărților de la o ENDIF
anumită editură, precum și prețul maxim al
unei cărți. Pot fi adăugate și alte câmpuri în
afara celor specificate. Este obligatoriu să *a)Afisarea cartilor scrise de
apară minimum 10 înregistrări pentru a se un anumit autor
putea testa aplicația.
accept"Afiseaza cartile scrise
*CREATE TABLE 10.dbf ( titlu de " to aut
C(15) , autor C(15) , editura
C(15) , pretul F(10,2)) LIST FIELDS titlu FOR
UPPER(ALLTRIM(autor))=UPPER(ALLT
RIM(aut))
*input "Dati numarul unor carti:
" to n
*b)Afiseaza numarul cartilor de
la o anumita editura si pretul
maxim al unei carti
*FOR i=1 TO n
accept"Afiseaza nr. cartilor de
la editura" to edi
*APPEND BLANK
n=0
pm=0
*accept "Dati titlul: " to a
scan
*accept "Dati autorul: " to b
IF pm<pretul
*accept "Dati editura: " to c
pm=pretul
ENDIF *input "Dati etajul camerei" to
c
IF
UPPER(ALLTRIM(editura))=UPPER(AL *input "Dati pretul camerei" to
LTRIM(edi)) d
n=n+1 *accept "Dati starea camerei" to
e
ENDIF
ENDSCAN
*replace nrcam WITH a , nrpat
?n WITH b , etajul WITH c ,pretul
?"Pretul maxim al unei carti WITH d , stare WITH e
este",pm

11. Să se realizeze o aplicaţie pentru *ENDFOR


gestionarea camerelor unui hotel. Se vor
memora: numărul camerei, numărul de
paturi ai camerei, etajul, prețul, stare *BROWSE
(liberă/ocupată). Aplicaţia va permite
introducerea de noi camere (având grijă să
nu se introducă un număr de cameră deja USE 11.dbf
existent), afișarea camerelor libere, afișarea
numărului de camere libere cu un număr
specificat de paturi, precum și prețul minim *Introducerea de noi campuri
al unei camere. Pot fi adăugate și alte accept "Daca doriti introducerea
câmpuri în afara celor specificate. Este de noi campuri, scrieti DA" to x
obligatoriu să apară minimum 10 înregistrări
IF UPPER(ALLTRIM(x))="DA"
pentru a se putea testa aplicația.
*CREATE TABLE 11.dbf ( nrcam MODIFY STRUCTURE
N(3),nrpat N(2),etajul APPEND
N(2),pretul N(4),stare C(10))
ENDIF
*input"Dati nr de camere" to n
*FOR i=1 TO n
*a)Afisarea camerele libere
?"Afisarea camerelor libere"
*APPEND BLANK
LIST FIELDS
nrcam,nrpat,etajul,pretul FOR
*input "Dati numarul camerei" to UPPER(ALLTRIM(stare))="LIBERA"
a
*input "Dati nr de paturi ai *b)Afisarea numarului camerelor
camerei" to b libere cu un numar specificat de
paturi
input"Afisaza numarului numărului de plăți. Pot fi adăugate și alte
camerelor libere cu numar de câmpuri în afara celor specificate. Este
paturi " to y obligatoriu să apară minimum 10 înregistrări
n=0 pentru a se putea testa aplicația.
GO TOP CREATE TABLE 12.DBF (oper
C(10),suma N(10) ,nrdoc N(10)
SCAN ,firma C(20))
IF input"Dati numarul de
UPPER(ALLTRIM(stare))="LIBERA" operatiuni" to n
AND nrpat=y
FOR i=0 TO n
n=n+1
APPEND BLANK
ENDIF
accept"Dati operatiunea
ENDSCAN (incasare/plata)" to a
?n input"Dati suma" to b
input"Dati numarul documentului"
*c)Pretul minim al unei camere to c

GO top accept"Dati numele firmei" to d

min=pretul REPLACE oper WITH a,suma WITH


b,nrdoc WITH c,firma WITH d
SCAN
ENDFOR
IF pretul<min
BROWSE
min=pretul
ENDIF
USE 12.dbf
ENDSCAN
?"Pretul minim al unei camere
este",min,"lei" *Introducerea de noi campuri
accept"Daca doriti introducerea
de noi campuri, scrieti DA"to x
12. Să se realizeze o aplicaţie pentru
IF UPPER(ALLTRIM(x))="DA"
evidența încasărilor și plăților. Se vor
memora: operațiune (încasare sau plată), MODIFY STRUCTURE
suma, număr document, denumirea firmei APPEND
care plătește sau de la care se încasează.
Aplicaţia va permite introducerea de noi ENDIF
operațiuni (având grijă să nu se introducă un
număr de document deja existent), afișarea
sumelor totale încasate și a celor plătite, *a)Afisarea sumelor totale
incasate si a celor platite
afișarea numărului de încasări, afișarea
i=0 13. Să se realizeze o aplicaţie pentru
p=0 gestionarea rezultatelor la proba scrisă a
bacalaureatului. Se vor memora: numele
GO top elevului, cnp, nota la proba 1, nota la proba
SCAN 2, nota la proba 3, media. Aplicaţia va
permite introducerea de noi elevi (având
IF
grijă să nu se introducă un cnp deja
UPPER(ALLTRIM(oper))="INCASARE"
existent), afișarea alfabetică a elevilor,
i=i+suma calculul mediei tuturor elevilor în funcție de
ELSE
cele trei note, precum și afișarea
descrescător după medie a primilor cinci
p=p+suma elevi cu mediile cele mai mari. Pot fi
ENDIF adăugate și alte câmpuri în afara celor
specificate. Este obligatoriu să apară
ENDSCAN minimum 10 înregistrări pentru a se putea
?"Suma totala incasata",i,"lei" testa aplicația.
?"Suma totala platita",p,"lei" *CREATE TABLE 13.dbf (nume
C(20), cnp N(20), nota1 N(4),
nota2 N(4), nota3 N(4), media
F(4,2))
*b)Numarul de incasa si numarul
de plati
ni=0 *input "Dati nr de elemente" to
n
np=0
*FOR i=1 TO n
GO top
*APPEND BLANK
SCAN
*accept "Dati numele" to a
IF
UPPER(ALLTRIM(oper))="INCASARE" *input "Dati cnp" to b
ni=ni+1 *input "Nota 1" to c
ELSE *input "Nota 2" to d
np=np+1 *input "Nota 3" to e
ENDIF *replace nume WITH a, cnp WITH
b, nota1 WITH c, nota2 WITH d,
ENDSCAN
nota3 WITH e, media WITH
?"Numarul total de (nota1+nota2+nota3)/3
incasa",i,"lei"
*ENDFOR
?"Numarul total de
plati",p,"lei"
USE 13.dbf
SORT ON media/d TO 13_3.dbf
*Introducerea de noi campuri USE 13_3.dbf
accept "Daca doriti introducerea GO TOP
de noi campuri, scrieti DA" to x
FOR i=1 TO 5
IF UPPER(ALLTRIM(x))="DA"
GO i
MODIFY STRUCTURE
?nume," ", media
APPEND
ENDFOR
ENDIF

?"Afisare elevi ordine


alfabetica" 14. Să se realizeze o aplicaţie pentru
gestionarea cărţilor unei biblioteci. Se vor
memora ISBN-ul, autorul, titlul, anul
*a/Afisare alfabetica apariţiei, numărul de exemplare. Aplicaţia
va permite adăugarea de noi cărţi (având
SORT ON nume TO 13_2.dbf
grijă să nu se introducă un ISBN deja
USE 13_2.dbf existent), afişarea pe ecran a cărţilor care
sunt într-un anumit număr volume, creșterea
GO TOP
cu 1 a numărului de exemplare ale cărților
LIST FIELDS nume unui anumit autor, precum și numărul total
de cărți din bibliotecă. Pot fi adăugate și alte
câmpuri în afara celor specificate. Este
?"Afisare medii" obligatoriu să apară minimum 10 înregistrări
pentru a se putea testa aplicația.
*b/Calcul medii *CREATE TABLE 14.dbf (isbn
N(15), autor C(20), titlu C(20),
USE 13.dbf an N(4), nr N(4))
GO TOP
SCAN *Crearea tabelului
?nume," ",media *input "Dati nr de carti" to n
ENDSCAN *FOR i=1 TO n
*APPEND BLANK
?"Afisare descr dupa medie 5 *input "Dati ISBN-ul" to a
elevi"
*accept "Dati autorul" to b
*accept "Dati titlul" to c
*c/Afisare descr dupa medie 5
elevi
*input "Dati anul aparitiei" to accept "Dati autorul pentru care
d nr. de exemplare creste cu 1" to
aut
*input "Dati nr. de exemplare"
to e GO top
*replace isbn WITH a, autor WITH SCAN
b, titlu WITH c, an WITH d, nr
WITH e IF autor=aut

*ENDFOR replace nr WITH nr+1


ENDIF

*BROWSE ENDSCAN
LIST FIELDS titlu,nr FOR
autor=aut
BROWSE

*c)Numarul total de carti din


*Introducere de noi valori biblioteca
USE 14.dbf t=0
accept "Daca doriti introducerea GO top
de noi campuri, scrieti DA" to x
SCAN
IF UPPER(ALLTRIM(x))="DA"
t=t+nr
MODIFY STRUCTURE
ENDSCAN
APPEND
?"Numarul total de carti din
ENDIF bilioteca",t

15. Să se realizeze o aplicaţie care să


*a)Afisarea cartilor care sunt permită gestiunea unor produse. Pentru
intr un anumit numar de volume fiecare produs se vor memora: codul,
denumirea, preţul şi cantitatea. Aplicaţia va
permite adăugarea de noi produse (având
input "Afiseaza cartile intr un grijă să nu se introducă un cod deja
anumit nr. de volume" to ex existent), afișarea numărului de produse,
afișarea produselor care au prețul mai mic
LIST FIELDS titlu,autor FOR
nr=ex decât o valoare dată, afișarea produsului
având prețul maxim. Pot fi adăugate și alte
câmpuri în afara celor specificate. Este
*b)Cresterea cu 1 a num?rului de obligatoriu să apară minimum 10 înregistrări
exemplare ale c?r?ilor unui pentru a se putea testa aplicația.
anumit autor
CREATE TABLE 15.dbf (codul N(8), ?
denumirea C(25), pretul N(4),
cantitate N(5))
*b/Afisare produse care au pret
mai mic decat o valoarea data
input "Dati nr de valori" to n
input "Dati valoarea dorita " to
x
FOR i=1 TO n GO top
LIST FIELDS denumirea FOR
pretul<x
APPEND BLANK

*c/Afisare produs cu pret maxim


input "Dati codul: " to a
pmax=0
accept "Dati denumirea: " to b
GO top
input "Dati pretul: " to c
SCAN
input "Dati cantitatea: " to d
if(pretul>pmax)
replace codul WITH a , denumirea
WITH b , pretul WITH c , pmax=pretul
cantitate WITH d
ENDIF
ENDSCAN
ENDFOR
LIST FIELDS denumirea FOR
pretul=pmax
USE 15.dbf 16. Sa se realizeze o aplicatie care sa
prelucreze date despre melodii. Pentru
fiecare melodie se vor memora: numele,
*0/Introd campuri noi artistul, durata, genul melodiei. Aplicatia va
permite adaugarea de noi melodii, afisarea
accept "Daca doriti sa adaugati
numarului de melodii ale unui anumit artist,
campuri noi scrieti 'DA' " to x
afisarea melodiilor care au durata mai mica
IF UPPER(ALLTRIM(x))="DA" decât o valoare data, afisarea artistului
având cele mai multe melodii, afisarea
MODIFY STRUCTURE
numarului melodiilor dintr-un anumit gen.
APPEND Pot fi adaugate si alte câmpuri în afara celor
specificate. Este obligatoriu sa apara
ENDIF minimum 10 înregistrari pentru a se putea
testa aplicatia.

*a/Afisare numarului de produse CREATE TABLE 16.dbf (nume C(25),


artistul C(25), durata N(10) ,
?n genul C(25))
TOTAL ON artistul TO 16_2.dbf
input "Dati nr de inregistrari: FIELDS idd
" to n USE 16_2.dbf
SORT ON idd/d TO 16_3.dbf
FOR i=1 TO n USE 16_3.dbf
GO top
APPEND BLANK ?artistul
x=artistul
accept "Dati numele: " to a USE 16.dbf
accept "Dati artistul: " to b LIST FIELDS nume FOR artistul=x
input "Dati durata: " to c
accept "Dati genul muzical: " to *d/Afisare nr melodii dintr-un
d anumit gen
accept "Dati genul dorit: " to x
replace nume WITH a , artistul s=0
WITH b , durata WITH c , genul GO TOP
WITH d SCAN
IF genul=x
ENDFOR s=s+1
ENDIF
USE 16.dbf ENDSCAN
?s
*0/Introd campuri noi ?
accept "Daca doriti sa adaugati
campuri noi scrieti 'DA' " to x
IF UPPER(ALLTRIM(x))="DA"
MODIFY STRUCTURE
APPEND 17. Sa se realizeze o aplicatie care sa
ENDIF gestioneze materialele dintr-o magazie.
Pentru fiecare material se vor memora:
*a/Numarului de melodii ale unui denumire, pret unitar, cantitate. Aplicatia va
anumit artist
accept "Dati numele artistului:
permite adaugarea de noi materiale, având
" to x grija
GO TOP sa nu se adauge un material deja existent,
LIST FIELDS nume,artistul FOR afisarea numarului de de materiale, afisarea
artistul=x materialelor care au cantitatea cuprinsa între
10 si 100, afisarea denumirii materialului
*b/Afisarea melodiilor care au având pretul minim, stergerea materialelor
durata mai mica decât o valoare care au cantitatea egala cu 0. Pot fi adaugate
input "Dati valoarea: " to y si alte câmpuri în afara celor specificate.
GO TOP
Este obligatoriu sa apara minimum 10
LIST FIELDS nume,artistul FOR
durata<y înregistrari pentru a se putea testa aplicatia.
CREATE TABLE 17.dbf (denumire
*c/Afisarea artistului având
C(25), pretul F(5,2), cantitate
cele mai multe melodii
N(5))
USE 16.dbf
MODIFY STRUCTURE
input "Dati nr de valori" to n
REPLACE ALL idd WITH 1
INDEX on artistul TAG comp
FOR i=1 TO n
APPEND BLANK *d/Stergerea materialelor care
au cantitatea egala cu 0
accept "Dati denumirea: " to a GO TOP
input "Dati pretul: " to b DELETE denumire for cantitate=0
input "Dati cantitatea: " to c

replace denumire WITH a , pretul


WITH b , cantitate WITH c
18. Sa se realizeze o aplicatie care sa
ENDFOR gestioneze excursiile organizate de o agen?
USE 17.dbf ie. Pentru fiecare excursie organizata se vor
memora: locatia excursiei, costul, numar
*0/Introd campuri noi persoane, numarul de zile. Aplicatia va
accept "Daca doriti sa adaugati permite adaugarea de noi excursii, afisarea
campuri noi scrieti 'DA' " to x excursiei având costul minim, afisarea
IF UPPER(ALLTRIM(x))="DA"
MODIFY STRUCTURE excursiilor catre o anumita locatie, ordonate
APPEND crescator dupa numarul de zile, afisarea
ENDIF numarului total de persoane care merg în
toate excursiile, scaderea cu 10 lei a pretului
*a/Afisare nr materiale excursiilor catre o anumita locatie. Pot fi
?n
? adaugate si alte
câmpuri în afara celor specificate. Este
*b/Afisare nr materiale care au
obligatoriu sa apara minimum 10 înregistrari
cantitate cuprinsa intre 10 si
100 pentru a se putea testa aplicatia.
s=0
CREATE TABLE 18.dbf(locatia
GO top
C(25), costul N(4), nrpers N(4),
SCAN
nrzile N(4))
IF cantitate>10 AND
cantitate<100
input "Dati nr de valori: " to n
s=s+1
ENDIF
FOR i=1 TO n
ENDSCAN
?s
APPEND BLANK
?
accept "Dati locatia: " to a
*c/Afisare denumire produs pret
input "Dati costul: " to b
minim
input "Dati nr de persoane: " to
GO top
c
minimp=pretul
input "Dati nr de zile: " to d
GO 2
SCAN
replace locatia WITH a , costul
IF minimp<pretul
WITH b , nrpers WITH c , nrzile
minimp=pretul
WITH d
ENDIF
ENDSCAN
ENDFOR
LIST FIELDS denumire FOR
pretul=minimp
USE 18.dbf 19. Sa se realizeze o aplicatie care sa
permita gestionarea zborurilor într-un
*0/Introd campuri noi
accept "Daca doriti sa adaugati aeroport. Pentru fiecare zbor se memoreaza
campuri noi scrieti 'DA' " to x compania, destinatia, durata în ore, numarul
IF UPPER(ALLTRIM(x))="DA" de locuri libere. Aplicatia sa permita
MODIFY STRUCTURE introducerea de noi zboruri. Pentru o
APPEND anumita companie sa se afiseze o lista cu
ENDIF
zborurile care mai au locuri libere. De
*a/Excursie cu costul minim asemenea se va afisa durata maxima a unui
GO top zbor precum si destinatiile acelor zboruri
exmin=costul având durata maxima. Pot fi adaugate si alte
GO 2 câmpuri în afara celor specificate. Este
SCAN
IF costul<exmin
obligatoriu sa apara minimum 10 înregistrari
exmin=costul pentru a se putea testa aplicatia.
ENDIF
ENDSCAN *CREATE TABLE 19.dbf(compania
LIST FIELDS C(25), destinatia C(25), durata
locatia,costul,nrpers,nrzile FOR N(4), loclib N(4))
costul=exmin
input "Dati nr de valori: " to n
*b/Afisare excursii catre o
anumita locatie FOR i=1 TO n
accept "Dati locatia: " to x
GO TOP APPEND BLANK
LIST FIELDS
locatia,costul,nrpers,nrzile FOR accept "Dati compania: " to a
locatia=x accept "Dati destinatia: " to b
input "Dati durata: " to c
*c/Afisare cresc dupa nr de zile input "Dati nr de locuri libere:
GO top " to d
SORT ON nrzile TO 18_2.dbf
USE 18_2.dbf replace compania WITH a ,
LIST FIELDS destinatia WITH b , durata WITH
locatia,costul,nrpers,nrzile c , loclib WITH d
*d/Scaderea pretului cu 10 ENDFOR
pentru o anumita locatie
USE 18.dbf USE 19.dbf
accept "Dati locatia: " to y
GO top *0/Introd campuri noi
SCAN accept "Daca doriti sa adaugati
IF locatia=y campuri noi scrieti 'DA' " to x
costul=costul-10 IF UPPER(ALLTRIM(x))="DA"
ENDIF MODIFY STRUCTURE
ENDSCAN APPEND
ENDIF
*a/Pentru o anumita companie sa
se afiseze o lista cu zborurile accept "Dati numele
care mai au locuri libere medicamentului: " to a
accept "Dati compania: " to x accept "Dati compania: " to b
GO top input "Dati pretul: " to c
SCAN input "Dati suma compensata: "
IF compania=x AND loclib>0 to d
?compania,destinatia,durata
ENDIF replace nume WITH a , compania
ENDSCAN WITH b , pretul WITH c ,
sumacomp WITH d
*b/Durata maxima a unui zbor +
zborurile cu durata respectiva ENDFOR
maxd=0
GO top USE 20.dbf
SCAN
IF durata>maxd *0/Introd campuri noi
maxd=durata accept "Daca doriti sa adaugati
ENDIF campuri noi scrieti 'DA' " to x
ENDSCAN IF UPPER(ALLTRIM(x))="DA"
LIST FIELDS MODIFY STRUCTURE
compania,destinatia,durata FOR APPEND
durata=maxd ENDIF

20. Sa se realizeze o aplicatie care sa *a/Afisare medicamente anumita


permita gestiunea medicamentelor dintr-o companie
farmacie. Pentru fiecare medicament se accept "Dati compania dorita: "
memoreaza: numele medicamentului, to x
GO top
compania furnizoare, pretul întreg, suma
LIST FIELDS nume FOR compania=x
compensata (daca medicamentul nu e
compensat, aici se va memora valoarea 0). *b/Nr de medicamente compensate
Aplicatia sa permita introducerea de noi s=0
medicamente, afisarea medicamentelor de la GO top
o anumita companie, numarul SCAN
medicamentelor compensate, numarul IF sumacomp=0
companiilor care au cel putin un s=s+1
medicament. Pot fi adaugate si alte câmpuri ENDIF
ENDSCAN
în afara celor specificate. Este obligatoriu sa
?s
apara minimum 10 înregistrari pentru a se ?
putea testa aplicatia.
*c/Nr companii care au cel putin
CREATE TABLE 20.dbf(nume C(25), un medicam
compania C(25), pretul N(4), s=0
sumacomp N(4)) USE 20.dbf
MODIFY STRUCTURE
input "Dati nr de valori: " to n replace ALL idd WITH 1
INDEX on compania TAG comp
FOR i=1 TO n TOTAL ON compania TO 20_2.dbf
FIELDS idd
APPEND BLANK USE 20_2.dbf
GO top orasos WITH d , oraplec WITH e ,
SCAN tiptr WITH f
IF idd>=1
s=s+1 ENDFOR
ENDIF
ENDSCAN USE 21.dbf
?s
? *0/Introd campuri noi
accept "Daca doriti sa adaugati
campuri noi scrieti 'DA' " to x
21. Sa se realizeze o aplicatie care permite IF UPPER(ALLTRIM(x))="DA"
gestionarea datelor despre trenurile care vin MODIFY STRUCTURE
APPEND
si pleaca dintr-o gara. Se vor retine date
ENDIF
despre numarul trenului, directia din care
vine, directia în care pleaca, ora sosirii, *a/Trenurile care pleaca spre o
ora plecarii, tipul trenului (personal, etc.). directie data
Aplicatia sa permita introducerea de noi accept "Dati destinatia dorita:
trenuri, sa afiseze trenurile care pleaca spre " to x
o directie data, lista trenurilor care vor sosi GO TOP
într-o statie între anumite ore. Pot fi LIST FIELDS nrtren,tiptr FOR
adaugate si alte câmpuri în afara celor destinatia=x
specificate. Este obligatoriu sa apara
*b/Lista trenuri care ajung la o
minimum 10 înregistrari pentru a se putea destinatie intre anumite ore
testa aplicatia. input "Dati ora plecarii: " to a
input "Dati ora sorii: " to b
CREATE TABLE 21.dbf (nrtren GO top
N(5), directia C(25), destinatia
LIST FIELDS nrtren,tiptr FOR
C(25), orasos N(4), oraplec (oraplec>=a AND orasos<=b)
N(4), tiptr C(25))

input "Dati nr de elemente: " to


n
22. Sa se realizeze o aplicatie care sa
FOR i=1 TO n permita gestionarea datelor referitoare la
membrii parlamentului. Pentru fiecare
APPEND BLANK
membru se va memora codul, numele,
input "Dati nr trenului: " to a partidul din care face parte, vechimea în
accept "Dati directia din care partid. Aplicatia va permite introducerea de
vine trenul: " to b noi parlamentari (nu se poate introduce un
accept "Dati destinatia cod care deja exista), afisarea numarului de
trenului: " to c parlamentari ai fiecarui partid, afisarea
input "Dati ora sosirii: " to d alfabetica a parlamentarilor de la un anumit
input "Dati ora plecarii: " to e partid. Pot fi adaugate si alte câmpuri în
accept "Dati tipul trenului: "
afara celor specificate. Este obligatoriu sa
to f
apara minimum 10 înregistrari pentru a se
replace nrtren WITH a , directia putea testa aplicatia.'
WITH b , destinatia WITH c ,
CREATE TABLE 22.dbf (codul N(8), LIST FIELDS numele FOR
numele C(25), partidul C(25), partidul=x
vechimea N(4))

input "Dati nr de introduceri: "


to n
23. Sa se conceapa o aplicatie care
FOR i=1 TO n gestioneaza date referitoare la campionatul
intern de fotbal. Pentru fiecare meci se vor
APPEND BLANK
memora: numarul etapei, echipa gazda,
input "Dati codul: " to a echipa oaspete, numarul de goluri înscrise
accept "Dati numele: " to b de gazde si numarul de goluri înscrise de
accept "Dati partidul: " to c oaspeti. Aplicatia va permite introducerea de
input "Dati vechimea: " to d noi meciuri, afisarea echipelor în ordinea
descrescatoare a numarului de goluri
replace codul WITH a , numele înscrise în total, afisarea rezultatelor
WITH b , partidul WITH c , obsinute de o anumita echipa. Pot fi
vechimea WITH d adaugate si alte câmpuri în afara celor
specificate. Este obligatoriu sa apara
ENDFOR
minimum 10 înregistrari pentru a se putea
USE 22.dbf testa aplicatia.

*0/Introd campuri noi CREATE TABLE 23.dbf (etapa N(4),


accept "Daca doriti sa adaugati gazda C(10), oaspete C(10), gol1
campuri noi scrieti 'DA' " to x N(3), gol2 N(2))
IF UPPER(ALLTRIM(x))="DA"
MODIFY STRUCTURE input "Dati nr de valori: " to n
APPEND
ENDIF FOR i=1 TO n

*a/Afisare nr parlamentari din input "Dati nr etapei: " to a


fiecare partid accept "Dati numele echipei
MODIFY STRUCTURE gazda: " to b
replace ALL idd WITH 1 accept "Dati numele echipei
INDEX on oaspete: " to c
UPPER(ALLTRIM(partidul)) TAG input "Dati nr de goluri
comp inscrise de gazde: " to d
TOTAL ON input "Dati nr de goluri
UPPER(ALLTRIM(partidul)) TO inscrise de oaspeti: " to e
22_4.dbf FIELDS idd replace etapa WITH a , gazda
USE 22_4.dbf WITH b , oaspete WITH c , gol1
LIST FIELDS partidul,idd WITH d, gol2 WITH e

*b/Afisare alfabetica de la un ENDFOR


anumit partid
USE 22.dbf USE 23.dbf IN 1
SORT ON numele TO 22_3.dbf
accept "Dati partidul dorit: " *0/Introd campuri noi
to x accept "Daca doriti sa adaugati
campuri noi scrieti 'DA' " to x
IF UPPER(ALLTRIM(x))="DA" dintr-o specie data, numarul animalelor
MODIFY STRUCTURE femele, vârsta maxima si animalele care au
APPEND aceasta vârsta maxima. Pot fi adaugate si
ENDIF
alte câmpuri în afara celor specificate. Este
x=RECCOUNT()
CREATE TABLE echipe.dbf(nume obligatoriu sa apara minimum 10 înregistrari
C(10),goluri N(10)) pentru a se putea testa aplicatia.
USE echipe.dbf IN 2
CREATE TABLE 24.dbf (nriden
SELECT 1
FOR i=1 TO x N(4), specia C(25), sexul C(25),
varsta N(3))
GO i
y=gazda
input "Dati nr de valori: " to n
z=gol1
SELECT 2
FOR i=1 TO n
APPEND BLANK
replace nume WITH y, goluri WITH
input "Dati nr de indentificare:
z
SELECT 1 " to a
accept "Dati specia: " to b
y=oaspete
z=gol2 accept "Dati sexul: " to c
input "Dati varsta: " to d
SELECT 2
APPEND BLANK
replace nriden WITH a , specia
replace nume WITH y, goluri WITH
z WITH b , sexul WITH c , varsta
WITH d
SELECT 1
ENDFOR
ENDFOR
SELECT 2
INDEX on nume TAG comp
USE 24.dbf
TOTAL ON nume TO tabel.dbf
FIELDS goluri
*0/Introd campuri noi
USE tabel.dbf
SORT ON goluri/d TO tab2.dbf accept "Daca doriti sa adaugati
campuri noi scrieti 'DA' " to x
USE tab2.dbf
LIST IF UPPER(ALLTRIM(x))="DA"
MODIFY STRUCTURE
SELECT 1
accept "dati numele echipei APPEND
ENDIF
cautate" to x
LIST FIELDS
*a/Afisare date despre animale
gazda,gol1,gol2,oaspete FOR
gazda=x OR oaspete=x dintr-o specie data
accept "Dati specia: " to x
GO top
LIST FIELDS
nriden,specia,sexul,varsta FOR
specia=x
24. Sa se realizeze o aplicatie pentru
gestionarea datelor despre animalele *b/Nr animale femele
detinute de o gradina zoologica. Se vor s=0
memora pentru fiecare animal: numarul unic GO top
de identificare, specia, sexul, vârsta în ani. SCAN
Aplicatia va permite adaugarea de noi IF UPPER(ALLTRIM(sexul))="F"
animale, afisarea datelor despre animalele s=s+1
ENDIF input "Dati durata filmului in
ENDSCAN minute: " to e

*c/Varsta maxima si animale cu replace cod WITH a , regizor


varsta maxima WITH b , anap WITH c , numefilm
vmax=0 WITH d , durata WITH e
GO top
SCAN ENDFOR
IF varsta>vmax
vmax=varsta USE 25.dbf
ENDIF
ENDSCAN *0/Introd campuri noi
GO top accept "Daca doriti sa adaugati
?"Varsta maxima e: ",vmax," la campuri noi scrieti 'DA' " to x
animalele:" IF UPPER(ALLTRIM(x))="DA"
LIST FIELDS nriden,specia,sexul MODIFY STRUCTURE
FOR varsta=vmax APPEND
ENDIF

*a/Afisare filme regizate de


fiecare regizor
25. Sa se realizeze o aplicatie pentru USE 25.dbf
gestionarea unor date despre filme la un MODIFY STRUCTURE
REPLACE ALL idd WITH 1
cinematograf. Se vor memora pentru fiecare
INDEX on regizor TAG comp
film: codul, regizorul, anul aparitiei, numele TOTAL ON regizor to 25_2.dbf
filmului, durata (în minute). Aplicatia va FIELDS idd
permite introducerea de noi filme, afisarea USE 25_2.dbf
numarului de filme regizate de fiecare LIST FIELDS numefilm
regizor, afisarea duratei maxime a unui film,
afisarea filmelor aparute într-un anumit an. *b/Durata maxima
Pot fi adaugate si alte câmpuri în afara celor USE 25.dbf
specificate. Este obligatoriu sa apara durmax=0
GO top
minimum 10 înregistrari pentru a se putea
SCAN
testa aplicatia. IF durata>durmax
durmax=durata
CREATE TABLE 25.dbf (cod N(10),
ENDIF
regizor C(25), anap N(4),
ENDSCAN
numefilm C(25), durata N(5))
LIST FIELDS numefilm FOR
durata=durmax
input "Dati nr de valori: " to n
*c/Afisare filme aparute intr-un
FOR i=1 TO n
anumit an
GO top
input "Dati codul: " to a
input "Dati anul: " to x
accept "Dati regizorul: " to b
LIST FIELDS numefilm FOR anap=x
input "Dati anul aparitiei: " to
c
accept "Dati numele filmului: "
to d

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