fisica:informatica:201415:esercitazioni:esercitazione2
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
fisica:informatica:201415:esercitazioni:esercitazione2 [16/01/2015 alle 16:05 (10 anni fa)] – creata Susanna Pelagatti | fisica:informatica:201415:esercitazioni:esercitazione2 [28/02/2015 alle 07:55 (10 anni fa)] (versione attuale) – [Esercizio 5: Massimo Comun Divisore con il metodo di Euclide con i resti] Susanna Pelagatti | ||
---|---|---|---|
Linea 2: | Linea 2: | ||
Dove si sviluppano semplici programmi C che utilizzano i costrutti di controllo. | Dove si sviluppano semplici programmi C che utilizzano i costrutti di controllo. | ||
+ | |||
+ | ===== Esercizio 0: Asterischi ===== | ||
+ | * Leggere un numero N da standard input e stampare su standard output N caratteri asterisco ('' | ||
===== Esercizio 1: Max, min e somma ===== | ===== Esercizio 1: Max, min e somma ===== | ||
Linea 7: | Linea 10: | ||
* Leggere da standard input una serie di reali terminata dal valore 0.0. Calcolare massimo, minimo e somma totale dei reali nella serie e stamparlo su standard output. | * Leggere da standard input una serie di reali terminata dal valore 0.0. Calcolare massimo, minimo e somma totale dei reali nella serie e stamparlo su standard output. | ||
+ | |||
+ | |||
+ | |||
===== Esercizio 2: Verifica ordinamento ===== | ===== Esercizio 2: Verifica ordinamento ===== | ||
Linea 14: | Linea 20: | ||
Estendere il programma in modo da riconoscere se la sequenza e' ordinata in modo crescente o descrescente e stamparle '' | Estendere il programma in modo da riconoscere se la sequenza e' ordinata in modo crescente o descrescente e stamparle '' | ||
+ | ===== Esercizio 3: La successione di Fibonacci ===== | ||
+ | La successione di Fibonacci, in sintesi risolve il seguente problema: | ||
+ | Immaginiamo di chiudere una coppia di conigli in un recinto. | ||
+ | Sappiamo che ogni coppia di conigli: | ||
+ | - inizia a generare dal secondo mese di età; | ||
+ | - genera una nuova coppia ogni mese; | ||
+ | - non muore mai. | ||
+ | Quanti conigli ci saranno nel recinto dopo un anno? | ||
+ | |||
+ | La successione di Fibonacci fornisce il numero di conigli al tempo '' | ||
+ | < | ||
+ | Fib(0) = 1 | ||
+ | Fib(1) = 1 | ||
+ | Fib (n) = Fib(n-1) + Fib(n-2) | ||
+ | </ | ||
+ | Visivamente | ||
+ | {{: | ||
+ | |||
+ | Scrivere un programma C che legge in ingresso un numero intero positivo X e calcola i numeri di Fibonacci da 1 ad X stampandoli sullo standard output. | ||
+ | |||
+ | Elaborazione: | ||
+ | < | ||
+ | man 3 sleep | ||
+ | </ | ||
+ | visto che la sezione 3 dei manuali in linea contiene informazioni su tutte le funzioni di libreria standard C. | ||
+ | ===== Esercizio 4: Massimo Comun Divisore con divisioni successive ====== | ||
+ | Scrivere un programma C che | ||
+ | * legge da standard input //x// ed //y// | ||
+ | * calcola MCD(x,y) utilizzando il metodo delle divisioni successive (pag 80 lucidi sui costrutti di controllo) | ||
+ | * stampa il risultato sullo standard output | ||
+ | |||
+ | ===== Esercizio 5: Massimo Comun Divisore con il metodo di Euclide con i resti ====== | ||
+ | Scrivere un programma C che | ||
+ | * legge da standard input //x// ed //y// | ||
+ | * calcola MCD(x,y) utilizzando il metodo delle divisioni successive (pag 94 e seguenti lucidi sui costrutti di controllo) | ||
+ | * stampa il risultato sullo standard output | ||
+ | |||
+ | Utilizzare il comando '' | ||
+ | Per evitare di misurare i tempi di attesa dell' | ||
+ | |||
+ | Supponendo il nome degli eseguibili sia '' | ||
+ | < | ||
+ | shell$ time ./euclide1 | ||
+ | </ | ||
+ | e | ||
+ | < | ||
+ | shell$ time ./euclide2 | ||
+ | </ | ||
+ | per ottenere il tempo impiegato effettuando operazioni dentro il sistema operativo e fuori. | ||
+ | Confrontare i tempi ottenuti con le due implementazioni ed analizzare i risultati. | ||
+ | |||
+ | ===== Esercizio 6: Stampa della data ====== | ||
+ | Si scriva un programma C che legge dallo standard output tre interi positivi che rappresentano '' | ||
+ | * sostituendo al mese la stringa corrispondente (es. '' | ||
+ | * specificando se l'anno e' bisestile (un anno e' // | ||
+ | |||
+ | Ad esempio: | ||
+ | < | ||
+ | 12 12 2003 | ||
+ | </ | ||
+ | provoca la stampa di | ||
+ | < | ||
+ | 12 Dicembre 2003 (Non bisestile) | ||
+ | </ |
fisica/informatica/201415/esercitazioni/esercitazione2.1421424356.txt.gz · Ultima modifica: 16/01/2015 alle 16:05 (10 anni fa) da Susanna Pelagatti