Răspuns :
Program Tema;
type
arr_type=array[1..100] of integer;
var a:arr_type;
procedure afiseaza(arr:arr_type;n:integer);
begin
if n=1 then
begin
write(arr[1]);
write(' ');
end
else
begin
afiseaza(arr,n-1);
write(arr[n]);
write(' ');
end;
end;
procedure invers(start,n:integer);
var temp:integer;
begin
if start<n then
begin
temp:=a[start];
a[start]:=a[n];
a[n]:=temp;
invers(start+1,n-1);
end
else
end;
function suma(arr:arr_type;n:integer):integer;
begin
if n=1 then
suma:=arr[1]
else
suma:=arr[n]+suma(arr,n-1);
end;
function suma_poz(arr:arr_type;n:integer):integer;
var s:integer;
begin
if n=1 then
begin
if arr[1]>0 then
suma_poz:=arr[1]
else
suma_poz:=0;
end
else
if arr[n]>0 then
suma_poz:=arr[n]+suma_poz(arr,n-1)
else
suma_poz:=suma_poz(arr,n-1);
end;
procedure cauta_neg(arr:arr_type;n:integer);
begin
if n=1 then
begin
if arr[1]<0 then
writeln('Exista cel putin un nr negativ:',arr[1])
else
writeln('Nu exista vreun nr negativ');
end
else
if arr[n]<0 then
writeln('Exista cel putin un nr negativ:',arr[n])
else
cauta_neg(arr,n-1);
end;
function prod_neg(arr:arr_type;n:integer):integer;
var s:integer;
begin
if n=1 then
begin
if arr[1]<0 then
prod_neg:=arr[1]
else
prod_neg:=1;
end
else
if arr[n]<0 then
prod_neg:=arr[n]*prod_neg(arr,n-1)
else
prod_neg:=prod_neg(arr,n-1);
end;
procedure cauta_val(arr:arr_type;n:integer;val:integer);
begin
if n=1 then
begin
if arr[1]=val then
writeln('Exista valoarea respectiva cel putin o data in vector')
else
writeln('Nu exista acea valoare in vector');
end
else
if arr[n]=val then
writeln('Exista valoarea respectiva cel putin o data in vector')
else
cauta_val(arr,n-1,val);
end;
var i,n,x:integer;
Begin
writeln('Introduceti dimensiune vector: ');
readln(n);
writeln('Introduceti elementele:');
for i:=1 to n do
read(a[i]);
afiseaza(a,n);
writeln('Suma elementelor este:',suma(a,n));
writeln('Suma elementelor pozitive este:',suma_poz(a,n));
writeln('Produsul numerelor negative este:',prod_neg(a,n));
cauta_neg(a,n);
writeln('Introduceti valoarea de cautat in sir:');
readln(x);
cauta_val(a,n,x);
writeln('Elementele inversate sunt: ');
invers(1,n);
afiseaza(a,n);
End.
type
arr_type=array[1..100] of integer;
var a:arr_type;
procedure afiseaza(arr:arr_type;n:integer);
begin
if n=1 then
begin
write(arr[1]);
write(' ');
end
else
begin
afiseaza(arr,n-1);
write(arr[n]);
write(' ');
end;
end;
procedure invers(start,n:integer);
var temp:integer;
begin
if start<n then
begin
temp:=a[start];
a[start]:=a[n];
a[n]:=temp;
invers(start+1,n-1);
end
else
end;
function suma(arr:arr_type;n:integer):integer;
begin
if n=1 then
suma:=arr[1]
else
suma:=arr[n]+suma(arr,n-1);
end;
function suma_poz(arr:arr_type;n:integer):integer;
var s:integer;
begin
if n=1 then
begin
if arr[1]>0 then
suma_poz:=arr[1]
else
suma_poz:=0;
end
else
if arr[n]>0 then
suma_poz:=arr[n]+suma_poz(arr,n-1)
else
suma_poz:=suma_poz(arr,n-1);
end;
procedure cauta_neg(arr:arr_type;n:integer);
begin
if n=1 then
begin
if arr[1]<0 then
writeln('Exista cel putin un nr negativ:',arr[1])
else
writeln('Nu exista vreun nr negativ');
end
else
if arr[n]<0 then
writeln('Exista cel putin un nr negativ:',arr[n])
else
cauta_neg(arr,n-1);
end;
function prod_neg(arr:arr_type;n:integer):integer;
var s:integer;
begin
if n=1 then
begin
if arr[1]<0 then
prod_neg:=arr[1]
else
prod_neg:=1;
end
else
if arr[n]<0 then
prod_neg:=arr[n]*prod_neg(arr,n-1)
else
prod_neg:=prod_neg(arr,n-1);
end;
procedure cauta_val(arr:arr_type;n:integer;val:integer);
begin
if n=1 then
begin
if arr[1]=val then
writeln('Exista valoarea respectiva cel putin o data in vector')
else
writeln('Nu exista acea valoare in vector');
end
else
if arr[n]=val then
writeln('Exista valoarea respectiva cel putin o data in vector')
else
cauta_val(arr,n-1,val);
end;
var i,n,x:integer;
Begin
writeln('Introduceti dimensiune vector: ');
readln(n);
writeln('Introduceti elementele:');
for i:=1 to n do
read(a[i]);
afiseaza(a,n);
writeln('Suma elementelor este:',suma(a,n));
writeln('Suma elementelor pozitive este:',suma_poz(a,n));
writeln('Produsul numerelor negative este:',prod_neg(a,n));
cauta_neg(a,n);
writeln('Introduceti valoarea de cautat in sir:');
readln(x);
cauta_val(a,n,x);
writeln('Elementele inversate sunt: ');
invers(1,n);
afiseaza(a,n);
End.
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!