Calcolo di valori approssimati delle radici

Slides:



Advertisements
Presentazioni simili
Corso di esperimentazione di fisica 1 Il metodo dei minimi quadrati
Advertisements

INFORMATICA Algoritmi fondamentali
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Informatica 22/03/2012.
Calcolo del minimo comune multiplo (m.c.m.) Luigi Sante
Iterazione while – do while - for.
Iterazione A. Ferrari.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F3 Iterazione.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Implementazione del problema della approssimazione ai minimi quadrati
Dipartimento di Matematica
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
Lez. 41 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
INFORMATICA Strutture iterative
Esercitazione 5 Esercizio 3 (radice quadrata con metodo di Newton)
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Iterazione enumerativa (for)
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Unintroduzione.
Fond. di informatica parte 41 fondamenti di informatica parte 4 appunti per la laurea in Ingegneria Civile, Edile, Ambientale a.a di anna maria.
Algoritmi numerici Zeri di una funzione Integrale di una funzione
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
CORSO DI PROGRAMMAZIONE II
Algoritmi e Strutture Dati (Mod. A)
Algoritmi e Strutture Dati (Mod. B)
Soluzione di equazioni non lineari
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Algoritmi su Tipi Semplici
Strutture di controllo in C -- Flow Chart --
Algoritmi e diagrammi di flusso
classe 3A scuola sec.1° San Macario
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ò.
Strutture dati per insiemi disgiunti
Lezione 6 Strutture di controllo Il condizionale
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Lezione 7 Strutture di controllo Il ciclo while
RB-insert(T, z) // z.left = z.right = T.nil Insert(T, z) z.color = RED // z è rosso. Lunica violazione // possibile delle proprietà degli alberi // rosso-neri.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
Cammini minimi da un sorgente
Programmazione Strutturata
Daniela Valenti, Treccani Scuola
L’iterazione while La sintassi è la seguente: while (condizione) {
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
TURBOPASCAL L’iterazione - prof. V. Riboldi -.
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.
La ricorsione.
La geometria nel secondo ciclo
Radicali e potenze ad esponente frazionario
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
PRIMI ELEMENTI DI PROGRAMMAZIONE
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Il teorema di PITAGORA (produzione di un ipertesto) GRUPPO 8
Sistemi e Tecnologie Informatiche Complessità di calcolo.
Strutture di controllo
Excel Funzioni di ricerca.
ALGORITMO PER IL CALCOLO DELLA RADICE QUADRATA DI UN NUMERO METODO DI NEWTON Carlo Platella
Calcolo della radice quadrata Con metodo della bisezione Rodolfo Pietrasanta matr
Come migliorare le prestazioni di un codice di dinamica molecolare.
La frazione come numero razionale assoluto
Introduzione all’economia Herbert Simon e il problema dell’ago nel pagliaio.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 22 Marzo 2016.
Transcript della presentazione:

Calcolo di valori approssimati delle radici

Il problema Implementare l'algoritmo che calcola il valore approssimato della radice di un numero. Esempio: il calcolo approssimato di Dato x, partendo da 0 con incrementi di 1, si cerca l'intero il cui quadrato è minore di x ed il quadrato del successivo è maggiore di x Dopo aver trovato la parte intera, si procede con i decimi, ripetendo il ciclo con incremento di 0.1 E così via 1 2 1,4 1,5 1,41 1,42

Il ciclo while Poiché non sappiamo quanti incrementi far fare, occorre usare un ciclo while, che ripete se una certa condizione è vera ed esce dal ciclo se la condizione diventa falsa Esempi (farli funzionare e scoprire cosa fanno) p=1; m=0; while (m<5) { p=p*2; m++; } alert(p); x = prompt("inserisci un numero",""); m=2; while (x % m !=0 ) { m++; } alert(m);

Passo 1 – La parte intera Calcolo di Notare che dopo il ciclo bisogna togliere 1, perché esce quando il quadrato dell'intero supera il numero. x=30; // numero di cui dobbiamo trovare la radice. r=0; // approssimazione iniziale while (r*r<=x) { r=r+1; } r=r-1; alert("La parte intera della radice di " + x + " è " + r);

Passo 2 – La cifra dei decimi E' come il precedente: occorre solo incrementare di 0.1 Questo secondo ciclo va messo dopo il primo (prima dell'alert, la cui frase va cambiata) Purtroppo si nota che JavaScript non dà l’esatta approssimazione ai decimi. Nell’esempio di dà 5.399999999999999 invece che 5.4. Questo perché JS opera in base 2 (e 0.1 è periodico!)   while (r*r<=x) { r=r+0.1; } r=r-0.1;

Come rimediare all'approssimazione Trucco Calcoliamo 5.399999999999999 * 10 = 53.99999999999999; Lo approssimiamo alle unità 54 Dividiamo il risultato per 10, ottenendo 5.4 Le istruzioni, da mettere prima dell'alert r=r*10; r=Math.round(r); // round approssima all'intero più vicino r=r/10;

Passo 3 – La cifra dei millesimi L'aggiunta da fare viene lasciata per esercizio Occorre mettere un terzo ciclo con incremento 0.01 Occorre anche modificare il trucco dell'approssimazione Il risultato deve essere 5.47

Generalizzazione function approssima(r,err) { while (r*r<x) { Cosa cambia da un passo all'altro? Solo l'incremento: inizialmente è 1, poi 0.1, poi 0.01. Per generalizzare si potrebbe costruire una funzione nella quale entra il numero r e l'incremento err e restituisce l'approssimazione. function approssima(r,err) { while (r*r<x) { r=r+err; } r=r-err; return r;

Generalizzazione La funzione viene richiamata quante volte si vuole. La prima volta si parte da 0, le successive da r. r = approssima(0, 1); r = approssima(r, 0.1); r = approssima(r, 0.01); r=r*1000; r=Math.round(r); r=r/1000; alert("La radice approssimata a 3 cifre decimali di " + x + " è " +r);

Ulteriori passi Fare inserire dall’utente il numero di cui va trovata la radice con una finestra di prompt Mettere un if con messaggio di errore se l’utente inserire un numero negativo. Mettere il richiamo della funzione approssima() in un ciclo. Farsi comunicare dall'utente anche con quante cifre decimali vuole il risultato Radice cubica: rifare lo script facendo le opportune modifiche per calcolare la radice cubica