|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2005
Città: Roma sud
Messaggi: 590
|
[C]Calcolare la radice quadra di un numero
Ciao a tutti
![]() ![]() Codice:
#include<stdio.h> #include<stdlib.h> double a,h,f4,d5,f5,d6,f6,d7,f7,d8,f8,d9,f9,d10,f10; main() { printf("inserisci un numero intero: "); scanf("%d",&a); h = 10; f4 = a/h; d5 = (h + f4)/2; f5 = a / d5; d6 = (d5 + f5)/2; f6 = a /d6; d7 = (d6+f6)/2; f7 = a/d7; d8 = (d7+f7)/2; f8 = a/d8; d9 = (d8+f8)/2; f9 = a/d9; d10 = (d9+f9)/2; f10 = a/d10; printf("\n La radice quadrata di %d arrotondata per difetto e' %d",a, d9); printf("\n La radice quadrata di %d arrotondata per eccesso è %d \n",a, f10); system("pause"); return 0; } P.P.S.Siccome sono un newsbie della programmazione (sono 5 giorni che sto a studia c) vi prego di spiegarvi il modo chiaro. Ciao a tutti e grazie in anticipo ![]()
__________________
-Mac Book intel core duo 1,83GHz, 1,25 Gb RAM -Amd athlon 64 dual core 4400+, 2 GB RAM, Asus a8n-sli Deluxe, totale 500 GB di HARD DISK(4 hdd) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Per implementare l'algoritmo devi rifarti alla formula secono la quale l'approssimazione (n+1)-esima della radice quadrata di N la ricavi dalla precedente cosi:
H<n+1> = 1/2 * (H<n> + N / H<n>) Per calcolarti le varie approssimazioni devi quindi utilizzare un ciclo for, che puoi far ripetere un numero fisso divolte, ad esempio 10 volte, o finchè l'errore dell'approssimazione è abbastanza piccolo. Quello che devi fare quindi è: - far inserire all'utente un nuemero N che devi acquisire come double: scanf("%lf", &N); ("%lf" non "%d") : %d acquisice un int, %lf un double - sceglierti h in modo che sia minore di N, ad esempio h = N/2.0 - eseguire un ciclo for, ad esempio per 10 volte, in cui aggiorni la variabile h con la formula: h = (1.0/2) * (h + N / h);
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals Ultima modifica di anx721 : 18-09-2005 alle 18:52. |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
frizzo28, chiariamo una cosa prima: ti è stato specificamente richiesto di creare un algoritmo per il calcolo della radice quadrata o devi solo realizzare un programma o una parte di esso che la calcoli? cioè in altre parole, sei al corrente dell'esistenza della funzione sqrt che si trova in math.h?
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2005
Città: Roma sud
Messaggi: 590
|
no!!!! Non la conoscevo. Tks ho guardato su internet math.h e l'ho trovata
![]()
__________________
-Mac Book intel core duo 1,83GHz, 1,25 Gb RAM -Amd athlon 64 dual core 4400+, 2 GB RAM, Asus a8n-sli Deluxe, totale 500 GB di HARD DISK(4 hdd) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:16.