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.
 avatar
antoniofuscellaro
c_cpp
6 days ago
1.8 kB
3
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