Calcoli con Reali
Calcoli algebrici di base, quoziente intero e reale, funzione con algoritmo di approssimazione della radice (metodo babilonese), funzione con algoritmo per potenza terza di due numeri.antoniofuscellaro
c_cpp
8 months ago
1.8 kB
5
Indexable
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
double babilonia(double num){ //sfrutta il cosiddetto "algoritmo babilonese" di approssimazione della radice
double radice0, radiceI, radiceN; int i,n;
radice0=num/2;
radiceI=(radice0 + (num/radice0))/2.0;
i=1; n=7;
while(i<n){ //itera il ciclo dell'algoritmo fino all'ordine n
radiceI= (radiceI + (num/radiceI))/2.0;
i= ++i; //l'indice dell'iterazione viene aumentato di 1 ogni volta che l'algoritmo viene applicato
}
radiceN= radiceI; //imposta l'ultimo valore ottenuto dal ciclo while cioè l'iterazione n-esima
return radiceN; //quando viene evocata questa funzione per un certo "num", ritorna questo valore come risposta.
}
double pw3(double base){
double result = base * base * base;
return result;
}
int main(int argc, char *argv[]) {
double x,y;
x=32.11;
y=5.33;
int quozienteInt,restoInt;
double somma,differenza,prodotto,quoziente;
somma=x+y;
differenza=x-y;
prodotto=x*y;
quoziente=x/y;
quozienteInt=(int)quoziente;
restoInt=(int)x%(int)y;
double radiceX= babilonia(x);
double radiceY= babilonia(y);
double potenzaX= pw3(x);
double potenzaY= pw3(y);
printf("Ecco le operazioni con x e y:\nSomma: %lf \n", somma);
printf("Differenza: %lf \n", differenza);
printf("Prodotto: %lf \n", prodotto);
printf("Quoziente Intero: %d", quozienteInt);
printf(" (di cui Resto: %d) \n", restoInt);
printf("Quoziente: %lf \n", quoziente);
printf("Radice (di x): %lf \n", radiceX);
printf("Radice (di y): %lf \n", radiceY);
printf("Potenza (di x): %lf \n", potenzaX);
printf("Potenza (di y): %lf \n", potenzaY);
system("pause");
return 0;
}Editor is loading...
Leave a Comment