Strumenti Utente

Strumenti Sito


fisica:informatica:201718:esercitazioni:esercitazione4

Questa è una vecchia versione del documento!


Esercitazione 3

Dove si sviluppano semplici programmi C che utilizzano i costrutti di controllo e gli array e si comincia a parlare di tempo impiegato per risolvere un problema.

Esercizio 1: 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 2: 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 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 1. 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 utilizzare il comando di shell “time” che ha come argomento un eseguibile, ovvero

time ./euclide1

e

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. Utilizzare il comando

man time

per capire come interpretare i valori stampati da time su standard output.

Esercizio 3: Filtrare un array

Scrivere un programma C che legge da tastiera una array di 20 valori reali, trova la media e stampa sullo standard output solo i valori maggiori della media.

fisica/informatica/201718/esercitazioni/esercitazione4.1516613048.txt.gz · Ultima modifica: 22/01/2018 alle 09:24 (6 anni fa) da Susanna Pelagatti