1. Sa se scrie un program care calculeaza elementele multimilor AUB si A\B.
Program P1;
var a,b,c:set of byte;
f:text;
i:byte;
begin
assign(f,'in.txt');
reset(f);
a:=[];
while not eoln(f) do
begin
read(f,i);
a:=a+[i];
end;
readln(f);
b:=[];
while not eoln(f) do
begin
read(f,i);
b:=b+[i];
end;
close(f);
c:=a+b;
for i:=0 to 255 do
if i in c then write(i,' ');
writeln;
c:=a-b;
for i:=0 to 255 do
if i in c then write(i,' ');
end.
2. De scris un subprogram care afiseaza modalitatea
de plata, folosind un numar minim de bancnote, a
unei class="style35">sume S de lei. Numarul de
bancnote si valoarealor se citeste in fisierul text
bani.in, care contine pe fiecare linie cite 2 valori:
prima indica valoarea bancnotei si a doua
numarul de bancnote cu valoarea data..
de plata, folosind un numar minim de bancnote, a
unei class="style35">sume S de lei. Numarul de
bancnote si valoarealor se citeste in fisierul text
bani.in, care contine pe fiecare linie cite 2 valori:
prima indica valoarea bancnotei si a doua
numarul de bancnote cu valoarea data..
Program P2; var a,b,num:array[1..7] of integer; s,i:integer; f:text; begin assign(f,'bani.in');reset(f); for i:=1 to 7 do readln(f,a[i],b[i]); close(f); write('s=');readln(s); for i:=7 downto 1 do begin num[i]:=s div a[i];s:=s mod a[i]; if num[i]>b[i] then begin s:=s+(num[i]-b[i])*a[i];num[i]:=b[i]; end; end; if s<>0 then writeln('Nu este posibil de efectuat plata cu bancnotele respective!') else begin writeln('Suma este achitata cu urmatoarele bancnote:'); for i:=7 downto 1 do if num[i]<>0 then writeln(a[i],'-',num[i]); end; end.
3. Sa se scrie un program care contine cuvintele textuluiin ordine alfabetica si numarul lor de aparitii.
Program P3; var f:text; a:array[1..100] of string; s:string; i,k,n:byte; begin assign(f,'Intrare.txt');reset(f); i:=1; while not eof(f) do begin readln(f,s);s:=s+' '; while pos(' ',s)<>0 do begin a[i]:=copy(s,1,pos(' ',s)-1);delete(s,1,pos(' ',s)); i:=i+1; end; end; close(f); n:=i-1; {Sortarea cuvintelor in ordine alfabetica} for k:=1 to n-1 do for i:=1 to n-1 do if a[i]>a[i+1] then begin s:=a[i];a[i]:=a[i+1];a[i+1]:=s; end; {Determinarea numarului de aparitii al fiecarui cuvint} assign(f,'Iesire.txt');rewrite(f); k:=1; for i:=1 to n-1 do if a[i]=a[i+1] then k:=k+1 else begin writeln(f,a[i],' ',k); k:=1; end; writeln(f,a[n],' ',k); close(f); end.