Problema 1 Pascal:
program MediaAritmeticaRecursiva;
uses crt;
function Suma(x, y, z: integer): integer;
begin
// Dacă x și y sunt 0, returnăm doar z
if (x = 0) and (y = 0) then
Suma := z
// Dacă doar x este 0, returnăm y + z
else if (x = 0) then
Suma := y + z
// Dacă doar y este 0, returnăm x + z
else if (y = 0) then
Suma := x + z
// Dacă nici unul nu este 0, continuăm recursia
else
Suma := x + Suma(0, y, z);
end;
function MediaAritmetica(x, y, z: integer): real;
begin
MediaAritmetica := Suma(x, y, z) / 3;
end;
var
x, y, z: integer;
media: real;
begin
clrscr;
writeln('Introduceți trei numere naturale:');
readln(x, y, z);
media := MediaAritmetica(x, y, z);
writeln('Media aritmetică a celor trei numere este: ', media:0:2);
readln;
end.
Natalia Stici
18:29
Bună seara
Teodora Vascan
18:39
Problema 1:
#include <iostream>
using namespace std;
// Funcție recursivă pentru a calcula suma celor trei numere
int Suma(int x, int y, int z) {
// Dacă x și y sunt 0, returnăm doar z
if (x == 0 && y == 0)
return z;
// Dacă doar x este 0, returnăm y + z
else if (x == 0)
return y + z;
// Dacă doar y este 0, returnăm x + z
else if (y == 0)
return x + z;
// Dacă nici unul nu este 0, continuăm recursia
else
return x + Suma(0, y, z);
// Funcție pentru a calcula media aritmetică folosind funcția de sumă
double MediaAritmetica(int x, int y, int z) {
return static_cast<double>(Suma(x, y, z)) / 3;
int main() {
int x, y, z;
cout << "Introduceți trei numere naturale: ";
cin >> x >> y >> z;
double media = MediaAritmetica(x, y, z);
cout << "Media aritmetică a celor trei numere este: " << media << endl;
return 0;
Teodora Vascan
18:42
Problema 2 Pascal:
program SumaRecursiva;
uses crt;
function Suma(x, y, z: integer): integer;
begin
if x = 0 then
if y = 0 then
Suma := z
else
Suma := y + Suma(0, 0, z)
else
Suma := x + Suma(0, y, z);
end;
var
x, y, z, rezultat: integer;
begin
clrscr;
writeln('Introduceți trei numere naturale:');
readln(x, y, z);
rezultat := Suma(x, y, z);
writeln('Suma celor trei numere este: ', rezultat);
readln;
end.
yjd-mxjy-ies
Problema 4 Pasacl:
program ProdusRecursiv;
uses crt;
function Produs(x, y, z: integer): integer;
begin
// Condițiile de oprire și de recursie
if (x = 1) then
if (y = 1) then
Produs := z
else
Produs := y * z
else
Produs := x * Produs(1, y, z);
end;
var
x, y, z, rezultat: integer;
begin
clrscr;
writeln('Introduceți trei numere naturale:');
readln(x, y, z);
rezultat := Produs(x, y, z);
writeln('Produsul celor trei numere este: ', rezultat);
readln;
end.
yjd-mxjy-ies
Problema 3 C++:
#include <iostream>
using namespace std;
// Funcție recursivă pentru a calcula diferența celor trei numere
int Diferenta(int x, int y, int z) {
// Condițiile de oprire și de recursie
if (y == 0 && z == 0) // Dacă y și z sunt 0, returnăm doar x
return x;
else if (y == 0) // Dacă y este 0, returnăm x - z
return x - z;
else // Dacă y nu este 0, scădem y din x și continuăm recursia cu x - y și z
return Diferenta(x - y, 0, z);
}
int main() {
int x, y, z;
cout << "Introduceți trei numere naturale: ";
cin >> x >> y >> z;
int rezultat = Diferenta(x, y, z);
cout << "Diferența celor trei numere este: " << rezultat << endl;
return 0;
Problema 3 Pascal:
program DiferentaRecursiva;
uses crt;
function Diferenta(x, y, z: integer): integer;
begin
// Condițiile de oprire și de recursie
if y = 0 then
if z = 0 then
Diferenta := x
else
Diferenta := x - z
else
Diferenta := Diferenta(x - y, 0, z);
end;
var
x, y, z, rezultat: integer;
begin
clrscr;
writeln('Introduceți trei numere naturale:');
readln(x, y, z);
rezultat := Diferenta(x, y, z);
writeln('Diferența celor trei numere este: ', rezultat);
readln;
end.
Problema 2 C++:
#include <iostream>
using namespace std;
// Funcție recursivă pentru a calcula suma celor trei numere
int Suma(int x, int y, int z) {
// Condițiile de oprire și de recursie
if (x == 0 && y == 0) // Dacă x și y sunt 0, returnăm doar z
return z;
else if (x == 0) // Dacă x este 0, returnăm y + z
return y + Suma(0, 0, z);
else // Dacă niciunul nu este 0, continuăm recursia cu x și adunăm y și z
return x + Suma(0, y, z);
int main() {
int x, y, z;
cout << "Introduceți trei numere naturale: ";
cin >> x >> y >> z;
int rezultat = Suma(x, y, z);
cout << "Suma celor trei numere este: " << rezultat << endl;
return 0;
}
Problema 2 Pascal:
program SumaRecursiva;
uses crt;
function Suma(x, y, z: integer): integer;
begin
if x = 0 then
if y = 0 then
Suma := z
else
Suma := y + Suma(0, 0, z)
else
Suma := x + Suma(0, y, z);
end;
var
x, y, z, rezultat: integer;
begin
clrscr;
writeln('Introduceți trei numere naturale:');
readln(x, y, z);
rezultat := Suma(x, y, z);
writeln('Suma celor trei numere este: ', rezultat);
readln;
end.