Dove si sviluppano semplici programmi C che utilizzano i costrutti di controllo.
*) seguiti da newline (\n).
Leggere da standard input una serie di reali terminata dal valore 0.0. Stampare sullo standard output la parola Ordinata se la sequenza e' ordinata in modo crescente e Non ordinata se la sequenza non e' ordinata.
Estendere il programma in modo da riconoscere se la sequenza e' ordinata in modo crescente o descrescente e stamparle Ordinata crescente o Ordinata decrescente sullo standard output.
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:
Quanti conigli ci saranno nel recinto dopo un anno?
La successione di Fibonacci fornisce il numero di conigli al tempo n in funzione del numero di conigli nei due mesi precedenti n-1 ed n-2,
Fib(0) = 1 Fib(1) = 1 Fib (n) = Fib(n-1) + Fib(n-2) se n > 1
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 (solo per chi ha la macchina virtuale o lavora con linux): Provate ad utilizzare la funzione sleep(1) per attendere un secondo fra la generazione di un numero e del successivo. Per ottenere informazioni sulla funzione utilizzate
man 3 sleep
visto che la sezione 3 dei manuali in linea contiene informazioni su tutte le funzioni di libreria standard C.
Scrivere un programma C che
Scrivere un programma C che
Utilizzare il comando time per valutare il tempo impiegato per calcolare MCD(m,n) con m=10000000,n=9457831 con l'algoritmo di Euclide e con l'algoritmo implementato nell'Esercizio 4.
Per evitare di misurare i tempi di attesa dell'input dallo schermo assegnare direttamente i valori alle variabili all'inizio del main e compilare.
Supponendo il nome degli eseguibili sia euclide1 ed euclide2 basta invocare
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.
Si scriva un programma C che legge dallo standard output tre interi positivi che rappresentano giorno, mese ed anno di una data e la stampa sullo standard output
gennaio, febbraio etc) Ad esempio:
12 12 2003
provoca la stampa di
12 Dicembre 2003 (Non bisestile)