Cuprins
PROGRAM PORTURI
PROGRAM CHESTIONAR
3. AGP- PLACI VIDEO
Într-o mare închisa sunt n porturi. Sa se numere si sa se stabileasca toate voiajele distincte prin p porturi ( p<=5 ).Porturile se introduc prin denumiri dupa ce s-au citit valorile pentru n si p . Solutiile se vor afisa secvential pentru a putea fi citite (la apasarea tastei ) numerotate .O solutie se prezinta astfel :lista dimensiunilor porturilor prin care trece acel voiaj.
Program porturi;
var a:array [1..20 ] of string ;
b:array [1..20 ] of byte ;
c:array [1..20 ] of real ;
ct, limct :real ;
I,j,n,nrv, p :byte ;
procedure scr ;
var i:byte;
begin
write(‘Lista porturilor din voiaj sunt ‘,nrv);
for i:=1 to p do write( a[b [i] ] , ‘ ‘ );
writeln(‘ pretul voiajului ‘ , ct :5 :2 );
write(‘Apasati o tasta ‘);
readln;
end;
function verificare (d :byte ): boolean;
var i :byte ;
j:boolean;
begin
f:=true ;
i:=1;
while (i
end;
verificare:=f;
end;
procedure voiaj;
var d: byte ;
f: boolean;
begin
d:=1 ; b[d ] :=0 ; ct::=0 ;
while d> 0 do begin
f:=false ;
while ( b [d ] < n ) and not f do begin
b[ d ] :=b[ d ]+1;
f:= verificare (d);
end;
if f then begin
ct:= ct+c[ b [ d] ] ;
if d= p then begin
if ct <= limct then begin nrv :=nrv+ 1;
scr;
end;
ct:= ct – c[ b[ d ] ] ;
end
else begin d:=d +1 ;
b[ d ] :=0;
end
else begin d:= d- 1 ;
ct := ct – c[ b [d ] ];
end;
end;
end;
begin
write(‘Numarul total de prorturi ‘) ; readln (n);
write (‘Porturile si pretul stationarii in fiecare port );
for i:=1 to n do begin
write (‘port [ ‘,i,’ ]= ‘ ); readln (a[i] );
write (‘pret [ ‘, i,’ ] = ‘);readln (c[i] );
end;
write (‘ Numarul porturilor din voiaj ‘); readln (p);
write (‘Limita maxima a pretului voiajului ‘); readln (limct);
voiaj ;
end.
Sa se elaboreze toate variantele de chestionare ce se pot obtine dintr-un set total de n întrebari ( n maxim 20) , care sa aiba între a si b întrebari , iar întrebarile sa totalizeze minim p si maxim q puncte .Se citesc în ordine : numarul de întrebari , apoi fiecare întrebare , texte maxim 100 de caractere , urmata de punctajul sau si la sfârsit limitele : a , b , p, q .
Program chestionar;
type intrebare = record
text : string;
p: byte;
end;
var lista : array [1..20 ] of integer ;
c :array [1..20 ] of byte ;
a , b , p ,q, I ,n :byte ;
suma :integer;
function verificare (d :byte ): boolean;
var i:byte;
begin
suma:=0;
for I:= 1 to d do suma:= suma =lista[ c [I ] ] .p;
if suma >q then verificare :=false;
end;
peocedure scr (a :byt );
var I:byte ;
begin
writeln( ‘ Intrbari pentru chestionarul cu ‘, a ,’intrebari ‘);
for I:= 1 to a do...