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.