Informatică, întrebare adresată de Marcek, 9 ani în urmă

In pscal si in c++ va rog mult

Anexe:

blindseeker90: functiile sunt deja in recursie indirecta. Numai ca sunt pe domenii partiale. Trebuie sa faci recursie indirecta si pe a doua parte a functiei, asta e cerinta? adica trebuie sa exprim cumvaf(x)=x+2 pentru x<=1 in functie de g(x)? Sau doar implementez functiile asa cum sunt?
Marcek: trebue doar sa implimentez functiie asa cum sunt

Răspunsuri la întrebare

Răspuns de blindseeker90
2
C++

#include <iostream>
using namespace std;

double f(double x);
double g(double x);

double f(double x){
if(x<=1){
return x+1;
}
else{
cout<<"f:"<<x-1<<endl;
    return g(x-1);
}
}

double g(double x){
if(x<0){
return -x;
}
else{
cout<<"g:"<<endl;
return f(x)+1;
}
}
int main(){
double x;
cout<<"Introduceti valoarea de calculat:";
cin>>x;
cout<<"Rezultat functie:"<<g(x);
return 0;
}

Pascal

program rec_ind;

//declar cu FORWARD pe g ca sa stie f despre ce g este vorba
function g(x:real):real;FORWARD;

function f(x:real):real;
begin
  if x<1 then
    f:=x+1
  else
    f:=g(x-1);
    
end;

function g(x:real):real;
begin
  if x<0 then
    g:=-x
  else
    g:=f(x)+1;
    
end;

var x:real;

begin
    writeln('Introduceti valoare de calc:');
    read(x);
    writeln('Rezultat functie f:',f(x));
    writeln('Rezultat functie g:',g(x));
    
end.
Alte întrebări interesante