Sunteți pe pagina 1din 7

PROBLEMA:

Fie o bază de date CINEMA.dbf cu următoarele câmpuri: codfilm, numefilm,


productie, regie, anul, gen, scenariu, premii, cu principalele producţii cinematografice
de la 1950 până în 2001 şi o bază ACTORI.dbf, cu următoarele câmpuri: nume,
datan, sex, codfilm, natio, cu informaţii despre stelele filmului. Se cer:
a. Sa se facă o procedură de înregistrare a unui film care se includă şi o
metodă de codificare;
b. Afişarea primului film cronologic al fiecărui gen;
c. Afişarea ţărilor ale căror producţii au fost înregistrate în baza de date;
d. Afişarea filmelor produse în ITALIA în anul 1994;
e. Lista filmelor pe genuri;
f. Regizorii cu producţii cinematografice din România după revoluţie;
g. Premiile pe care le-a obţinut un film citit de la tastatură;
h. Afişarea scenariştilor pe genuri cinematografice după 1990;
i. Vârsta lui Tom Cruise;
j. Actorii care au jucat în filmul: „Pe aripile vântului”;
k. Lista actriţelor care n-au depăşit 30 de ani pe naţionalităţi;
l. Primii 5 veterani ai filmului românesc.

REZOLVARE:

(modi comm filme)


clear
set talk off
set exact off
w=1
do while w=1
@ 2,10 say 'Optiunile..... '
@ 4,4 say '( Apasati CAPS LOCK-ul ca sa mearga programul. Mi-a fost lene sa-l mai
modific )'
@ 7,2 say '1... Introducerea unui nou film.'
@ 8,2 say '2... Afisarea primului film cronologic al fiecarui gen.'
@ 9,2 say '3... Tarile care fac parte din baza.'
@ 10,2 say '4... Afisarea filmelor produse in Italia in 1994.'
@ 11,2 say '5... Lista filmelor pe genuri.'
@ 12,2 say '6... Regizorii din Romania de la 1990 pana in prezent.'
@ 13,2 say '7... Premiile pe care le-a luat un film cautat.'
@ 14,2 say '8... Scenaristii pe genuri cinematrografice dupa 1990.'
@ 15,2 say '9... Ce varsta are Tom Cruise...'
@ 16,2 say '10... Ce actori au jucat in filmul "Pe aripile vantului"...'
@ 17,2 say '11... Lista actritelor care n-au depasit 30 de ani pe nationalitati.'
@ 18,2 say '12... Primii 5 veterani ai filmului romanesc.'
input 'Ce optiune doriti...?' to x
do case
case x=1
do nou
case x=2
clear
do crono
wait
case x=3
clear
do tari
wait
case x=4
clear
do italy
wait
case x=5
clear
do genuri
wait
case x=6
clear
do regrom
wait
case x=7
clear
do filmales
wait
case x=8
clear
do listascenaristi
wait
case x=9
clear
do tom
wait
case x=10
clear
do pearipi
wait
case x=11
clear
do actrite
wait
case x=12
clear
do veterani
wait
endcase
clear
@ 2,2 say 'Continuam cu optiunile?... (D=1 / N=0)' get w
read
clear
enddo
return

PROCEDURE NOU
r=1
do while r=1
clear
use cinema
s = reccount()+1
go bottom
insert blank
replace codfilm with s
@ 2,2 say 'Dati numele filmului...' get numefilm
@ 3,2 say 'Productie... 'get productie
@ 4,2 say 'Regia...' get regia
@ 5,2 say 'Anul...' get anul
@ 6,2 say 'Genul filmului... 'get gen
@ 7,2 say 'Scenaristul filmului... 'get scenariu
@ 8,2 say 'Premiile primite...' get premii
n=0
@ 9,2 say 'Cati actori au jucat?'get n
read
clear
use actori
for i=1 to n
go bottom
insert blank
replace codfilm with s
? 'Actorul',i
@ 3,2 say 'Numele...'get nume
@ 4,2 say 'Sexul (m/f)...'get sex
@ 5,2 say 'Data nasterii...' get datan
@ 6,2 say 'Nationalitatea...' get natio
read
clear
endfor
@ 10,4 say 'Continuam cu introducerea filmelor?...(D=1 / N=0)...' get r
read
clear
enddo
return

PROCEDURE CRONO
use cinema
sort to cine2 on gen, anul
use cine2
g=gen
do while not eof()
? 'Primul film al genului ',g,' a fost ',numefilm
do while g=gen
skip
enddo
g=gen
enddo
use
return
PROCEDURE TARI
use cinema
sort to cine1 on productie
use cine1
? 'Tarile sunt urmatoarele:'
p=productie
do while not eof()
? ' ',p
do while p=productie
skip
enddo
p=productie
enddo
return

PROCEDURE ITALY
use cinema
? ' Filmele produse in Iatlia in anul 1994 sunt:...'
for i=1 to reccount()
go i
if (productie = 'ITALIA') .and. (anul=1994)
?' ', numefilm
endif
endfor
return

PROCEDURE GENURI
use cinema
sort to cine3 on gen, numefilm
use cine3
ge=gen
do while not eof()
? ' Genul ',ge
do while ge=gen
?' ', numefilm
skip
enddo
WAIT
ge=gen
enddo
return

PROCEDURE REGROM
use cinema
? ' Regizorii filmelor produse in Romania dupa 1989 sunt:...'
for i=1 to reccount()
go i
if (productie = 'ROMANIA') .and. (anul>1989)
? ' ',regia
endif
endfor
return

PROCEDURE FILMALES
nf=' '
@ 2,2 say 'Numele filmului dorit...' get nf
READ
@ 4,2 SAY 'Premiile filmului cerut sunt urmatoarele:'
use cinema
for i=1 to reccount()
go i
if numefilm = nf
?' ',premii
endif
endfor
return
PROCEDURE LISTASCENARISTI
use cinema
sort to cine4 on gen, scenariu
use cine4
ge=gen
do while not eof()
? ' Genul ',ge
do while ge=gen
?' ', scenariu
skip
enddo
WAIT
ge=gen
enddo
return

PROCEDURE TOM
use actori
for i=1 to reccount()
go i
if nume = 'TOM CRUISE'
? ' TOM CRUISE are varsta de... ',year( date() ) - year(datan), '
de ani.'
endif
endfor
return

PROCEDURE PEARIPI
use cinema
for i=1 to reccount()
go i
if numefilm = 'PE ARIPILE VANTULUI'
cod=codfilm
endif
endfor
use actori
? ' In filmul PE ARPILE VANTULUI au jucat urmatorii actori: '
for i=1 to reccount()
go i
if codfilm=cod
?' ',nume
endif
endfor
return

PROCEDURE ACTRITE
use actori
sort to act1 on natio
use act1
? ' Lista actritelor care n-au 30 de ani pe nationalitati: '
for i=1 to reccount()
go i
if (year(datan)>1971) .and. (sex= 'F')
?' ',nume, ' in varsta de ',year(date())-year(datan),' ani.'
endif
endfor
return

PROCEDURE VETERANI
use actori
sort to acti on datan/D, nume for natio = 'ROMANA'
use acti
? ' Actorii veterani romani sunt: '
if reccount()>5
for i=1 to 5
go i
? nume
endfor
else
list nume
endif
return

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