La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Radici Calcolo di valori approssimati delle radici.

Presentazioni simili


Presentazione sul tema: "Radici Calcolo di valori approssimati delle radici."— Transcript della presentazione:

1 Radici Calcolo di valori approssimati delle radici

2 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 12 1,41,5 1,411,42

3 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);

4 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);

5 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à lesatta approssimazione ai decimi. Nellesempio di dà 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;

6 Come rimediare all'approssimazione Trucco Calcoliamo * 10 = ; 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;

7 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 essere5.47

8 Generalizzazione Cosa cambia da un passo all'altro? Solo l'incremento: inizialmente è 1, poi 0.1, poi 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

9 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);

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


Scaricare ppt "Radici Calcolo di valori approssimati delle radici."

Presentazioni simili


Annunci Google