Esercitazione 5 Esercizio 3 (radice quadrata con metodo di Newton)

Slides:



Advertisements
Presentazioni simili
Fondamenti di Informatica
Advertisements

Premessa: si assume di aver risolto (correttamente
Calcolo di valori approssimati delle radici
Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Corso di Laurea Triennale in Ingegneria Gestionale Corso di Fondamenti di informatica A. A A.Pinto Algoritmi di ricerca 1.
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Nel C non esiste un dato primario di tipo stringa; queste sono rappresentate con un array monodimensionale di caratteri (tipo char). Così per definire.
Introduzione al linguaggio C
Calcolo del minimo comune multiplo (m.c.m.) Luigi Sante
Iterazione while – do while - for.
Iterazione A. Ferrari.
Struttura di un programma
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F3 Iterazione.
Universita di Camerino
Introduzione al linguaggio C Dr. Francesco Fabozzi Corso di Informatica.
ESERCITAZIONE N. 5 ESERCIZIO N. 1 Autore: Biagio Brattoli S I Corso.
INFORMATICA Strutture iterative
FUNZIONI DI BIBLIOTECA
Iterazione enumerativa (for)
Algoritmi Politecnico di Milano
Algoritmi Politecnico di Milano C Primi programmi Politecnico di Milano.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA
CORSO DI PROGRAMMAZIONE II
CORSO DI PROGRAMMAZIONE II
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
APPUNTI SUL LINGUAGGIO C
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Strutture di controllo nel C
Dichiarazioni e tipi predefiniti nel linguaggio C
Espressioni condizionali
AN FI Iterazione&Invarianti Il ragionamento iterativo Gli invarianti di ciclo.
Calcolo del Massimo Comun Divisore
Crivello Di Eratostene (fonte wikipedia
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Programmazione di Calcolatori
Massimo Comun Divisore
Radice quadrata di un numero
14 marzo 2002 Avvisi:.
Esercizi su File.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
C14 #5 I cicli FOR e WHILE Piero Scotto - C14.
Corso di Programmazione in Java – Esercizio n° 001
Anno accademico Le istruzioni di controllo in C.
Rete di Hopfield applicata al problema del TSP Federica Bazzano
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 11 e 12 -
Definizione di un algoritmo
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Ottobre 2014.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
ALGORITMO Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un formalismo che permette di rappresentare.
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Algoritmi e Strutture Dati
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Esercizio n.5 a) Dimostrare che, dato un qualunque  > 0, se  m’ : | I m’ + 1  I m’ |   allora Ciò consente, prefissato un certo  > 0, errore massimo.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)
Sistemi e Tecnologie Informatiche Complessità di calcolo.
Strutture di controllo
ALGORITMO PER IL CALCOLO DELLA RADICE QUADRATA DI UN NUMERO METODO DI NEWTON Carlo Platella
T e d e s c h i R o s a l b a 2 C D o c e n t i : M a s c i a l e M a r i a R o s a ( D o c e n t e d i M a t e m a t i c a ) B o n v i n o M a r g h.
Transcript della presentazione:

Esercitazione 5 Esercizio 3 (radice quadrata con metodo di Newton) Autore: Cristiano Cavo S161894 I Corso

Esercizio 3 (radice quadrata con metodo di Newton) Il problema chiede di utilizzare l’algoritmo di Newton per il calcolo della radice quadrata di x: Rn = (Rn-1 + x / Rn-1) / 2 avendo posto R0 = x dove Rn è il valore della radice all'iterazione n-esima e Rn-1 è quello all'iterazione n-1. Il metodo proposto da Newton è iterativo.

Esercizio 3 (radice quadrata con metodo di Newton) Tradotto in algoritmo: Per un certo numero di volte rn = (rn_meno1 + x/rn_meno1) / 2 /* devo predisporre per la prossima iterazione */ rn_meno1 = rn

Esercizio 3 (radice quadrata con metodo di Newton) Il ciclo (WHILE) deve essere effettuato fintanto che si verifica una certa condizione. Per capire qual è questa condizione, valuto come evolve l’algoritmo di Newton facendo un esempio: R0 = 2 R1 = (2 + 2 / 2) / 2 = 1.5 R2 = (1.5 + 2 / 1.5) / 2 = 1.416 R3 = (1.416 + 2 / 1.416) / 2 = 1.4142

Esercizio 3 (radice quadrata con metodo di Newton) Si deduce che Rn si avvicina asintotticamente al valore vero. Un criterio di terminazione in questo caso è di vedere se tra una iterazione e quella successiva il valore è cambiato di poco: devo quindi calcolare la differenza tra Rn ed Rn-1 e controllare se il valore ottenuto è minore di una soglia (conviene calcolare la differenza in valore assoluto, per tener conto dei numeri < 1).

Esercizio 3 (radice quadrata con metodo di Newton) Finché (diff > SOGLIA) rn = (rn_meno1 + x/rn_meno1) / 2 diff = |rn – rn_meno1| rn_meno1 = rn Adesso aggiungo le inizializzazioni: rn_meno1 è fissata dall’alg. Di Newton (= x) diff la devo scegliere io, in modo che al primo passaggio si entri nel ciclo.

Esercizio 3 (radice quadrata con metodo di Newton) Se prima dell’istruzione WHILE impostiamo: diff = 2 * SOGLIA possiamo essere sicuri che la condizione di partenza è una condizione valida. Ora ci si può occupare del resto del programma.

Esercizio 3 (radice quadrata con metodo di Newton) Traduzione in linguaggio C. /*Definizione librerie e costanti*/ #include <stdio.h> #include <math.h> #define SOGLIA 0.001 main() { double x, rn, rn_meno1, diff, r; system("CLS");

Esercizio 3 (radice quadrata con metodo di Newton) Traduzione in linguaggio C. printf("Calcolo della radice di un numero.\n\nInserisci il numero x di cui calcolarne la radice:\n"); scanf("%lf", &x); rn_meno1=x; diff=2*SOGLIA;

Esercizio 3 (radice quadrata con metodo di Newton) Traduzione in linguaggio C. while(diff>SOGLIA) { rn=(rn_meno1+x/rn_meno1)/2; diff=fabs(rn-rn_meno1); rn_meno1=rn; } r=sqrt(x); printf("\nLa radice di x equivale a: %f\n\nIl valore di x calcolato con sqrt è: %f\n\n\n\n", rn, r); system("PAUSE"); }");