Ciao.
Allora io ho preparato il seguente listato:
- Codice:
#include <stdio.h>
#include <stdlib.h>
float miafunzione(float x);
int main()
{
float x,y;
float a=1,b=2;
printf("inserire il valore della variabile x \n");
scanf("%f",&x);
y = miafunzione(x);
printf("il valore corrispondente e' %f\n",y);
while (fabs(a-b)<0.01){
if (miafunzione(a)*miafunzione(a+((b-a)/2))<0){
a=a;
b=a+((b-a)/2);
}
else if (miafunzione(a+((b-a)/2))*miafunzione(a)>0){
a=a+((b-a)/2);
b=b;
}
}
printf("il valore per f(x) uguale 0 e' %f\n",b);
}
float miafunzione(float x){
float y;
y=((x*x*x*x)-(10*x*x*x)+(35*x*x)-(50*x)+24);
return y;
}
in cui ho inserito una funzione ed una precisione di errore "e".
Il programma mi restituisce il valore della funzione per un dato punto (per esempio io inserisco 0 e mi dice che il valore è 24, che è giusto) e mi restituisce un valore per cui la funzione diventa zero, cioè 2.
E' questa seconda parte che vorrei che fosse precisa perchè le soluzioni sono ovviamente quattro (cioè 1,2,3,4) e invece m e ne da' solo una.