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 (11 anni fa)] – creata Susanna Pelagatti | fisica:informatica:201415:esercitazioni:esercitazione2 [28/02/2015 alle 07:55 (11 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 (11 anni fa) da Susanna Pelagatti
