Strumenti Utente

Strumenti Sito


fisica:informatica:201718:esercitazioni:esercitazione5

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
fisica:informatica:201718:esercitazioni:esercitazione5 [29/01/2018 alle 09:39 (7 anni fa)] – [Esercitazione 4] Susanna Pelagattifisica:informatica:201718:esercitazioni:esercitazione5 [29/01/2018 alle 09:46 (7 anni fa)] (versione attuale) – [Esercizio 8: Calcolo della radice quadrata] Susanna Pelagatti
Linea 101: Linea 101:
 } }
 </code> </code>
 +
 +===== Esercizio 8: Calcolo della radice quadrata ======
 +Dato un numero reale positivo //a// si consideri la sequenza dei numeri reali //x// definita da 
 +<code>
 +x[0] = 1
 +x[i+1] = 1/2*(x[i] + a/x[i])
 +</code>
 +si puo' dimostrare che ''x[i]'' tende alla radice quadrata di //a// per //i// che tende all'infinito.
 +
 +Scrivere un programma che legga il valore di //a// da standard input e calcoli la radice quadrata di //a// utilizzando la sequenza. In particolare, si calcoli la sequenza fino a che ''x[i]'' non diventa uguale a ''x[i+1]'', il valore ottenuto e' l'approssimazione cercata per la radice quadrata di //a//.
 +
 +Ad ogni ciclo, far stampare su standard output il numero dell'iterazione ''i'', il valore di ''x[i]'' ed il valore di ''a-x[i]*x[i]'' per controllare la convergenza.
 +
 +===== Esercizio 9: Bilanciamento delle parentesi =====
 +Scrivere un programma C che legge dallo standard input una sequenza di caratteri (terminata da EOF) e stabilisce se l'insieme dei caratteri utilizza in modo appropriato le parentesi graffe  tonde e quadre ovvero 
 +  * se il numero delle parentesi aperte e chiuse coincide e 
 +  * se la parentesi aperta precede sempre la parentesi chiusa. 
 +
 +Ad esempio:
 +<code>
 +{lkshaj[nnnn()]}{}
 +</code>
 +e' una sequenza corretta, mentre
 +<code>
 +{lkshaj][nnnn()}{}
 +</code>
 +e' scorretta.
 +
 +Utilizzare ''getchar()'' per leggere i caratteri uno ad uno, la funzione restituisce EOF quando lo stream e' finito (vedi ''man getchar''). 
 +
 +Inserendo manualmente i caratteri EOF puo' essere generato utilizzando la combinazione di tasti CONTROL-D.
 +
 +Quando il programma e' funzionante, verificare il bilanciamento delle parentesi del programma stesso utilizzando la redirezione. Ad esempio, se l'eseguibile relativo al mio programma si chiama ''checkpar'', e il sorgente si trova nel file checkpar.c, provare ad eseguire
 +<code>
 +bash$ ./checkpar < checkpar.c
 +</code>
 +
 +
 +
fisica/informatica/201718/esercitazioni/esercitazione5.1517218760.txt.gz · Ultima modifica: 29/01/2018 alle 09:39 (7 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki