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)