fisica:informatica:201718:esercitazioni:esercitazione4
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| fisica:informatica:201718:esercitazioni:esercitazione4 [22/01/2018 alle 09:25 (8 anni fa)] – [Esercizio 3: Filtrare un array] Susanna Pelagatti | fisica:informatica:201718:esercitazioni:esercitazione4 [30/01/2020 alle 13:33 (6 anni fa)] (versione attuale) – [Esercizio 2: Somma e prodotto di matrici] Alessio Conte | ||
|---|---|---|---|
| Linea 3: | Linea 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. | 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 | + | ===== Esercizio 1: Filtrare un array ===== |
| - | Scrivere un programma C che | + | |
| - | * legge da standard input //x// ed //y// | + | 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. |
| - | * 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: Somma e prodotto di matrici ====== |
| + | Scrivere un programma C costituito da un '' | ||
| + | |||
| + | Dopo aver testato il programma inserendo numeri da tastiera (con matrici piccole, ad es, 2 x 2), possiamo testare il programma su matrici piu' grandi in questo modo: | ||
| + | |||
| + | E' possibile scrivere le matrici (come quelle qui sotto) in un file di testo ' | ||
| + | |||
| + | < | ||
| + | ./programma < matrici.txt | ||
| + | </ | ||
| + | |||
| + | Questo vuol dire che il contenuto del file '' | ||
| + | Sara' quindi necessario utilizzare i numeri letti tramite la funzione '' | ||
| + | |||
| + | possibili matrici per il file matrici.txt: | ||
| + | < | ||
| + | 1 2 3 4 5 6 7 8 9 0 | ||
| + | 2 3 4 5 6 7 8 9 0 1 | ||
| + | 3 4 5 6 7 8 9 0 1 2 | ||
| + | 4 5 6 7 8 9 0 1 2 3 | ||
| + | 5 6 7 8 9 0 1 2 3 4 | ||
| + | 6 7 8 9 0 1 2 3 4 5 | ||
| + | 7 8 9 0 1 2 3 4 5 6 | ||
| + | 8 9 0 1 2 3 4 5 6 7 | ||
| + | 9 0 1 2 3 4 5 6 7 8 | ||
| + | 0 1 2 3 4 5 6 7 8 9 | ||
| + | |||
| + | 1 0 0 0 0 0 0 0 0 0 | ||
| + | 0 1 0 0 0 0 0 0 0 0 | ||
| + | 0 0 1 0 0 0 0 0 0 0 | ||
| + | 0 0 0 1 0 0 0 0 0 0 | ||
| + | 0 0 0 0 1 0 0 0 0 0 | ||
| + | 0 0 0 0 0 1 0 0 0 0 | ||
| + | 0 0 0 0 0 0 1 0 0 0 | ||
| + | 0 0 0 0 0 0 0 1 0 0 | ||
| + | 0 0 0 0 0 0 0 0 1 0 | ||
| + | 0 0 0 0 0 0 0 0 0 1 | ||
| + | </ | ||
| + | ===== Esercizio 3: Massimo Comun Divisore | ||
| + | (1) Scrivere un programma C che | ||
| + | | ||
| + | | ||
| + | | ||
| - | ===== Esercizio | + | (2) Scrivere un programma C che |
| - | 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) |
| - | * 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 |
| - | * stampa il risultato sullo standard output | + | |
| - | Utilizzare il comando '' | + | Utilizzare il comando '' |
| Per evitare di misurare i tempi di attesa dell' | Per evitare di misurare i tempi di attesa dell' | ||
| Linea 35: | Linea 76: | ||
| - | ===== 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. | ||
| + | ===== Esercizio 4: MSS, Maximum Segment Sum ===== | ||
| - | ===== Esercizio 5: Mandelbrot (Avanzato) ====== | + | Dato un array di interi positivi e negativi, il segmento di somma massima |
| - | L' | + | Ad esempio l' |
| - | < | + | < |
| - | z(0) = 0 | + | [2, |
| - | z(n+1) = z(n)^2 + c | + | |
| </ | </ | ||
| - | e' limitata, cioe' '' | + | ha come SSM il segmento [2,-1,6] di valore 7. Si chiede |
| - | Infatti al variare di '' | + | N deve essere definito con una opportuna MACRO. |
| - | all’infinito o rimanere confinata in un disco di raggio 2 del piano complesso centrato | + | |
| - | nell’origine. | + | |
| - | + | ||
| - | L’algoritmo piu' semplice per visualizzare (una approssimazione de) l’insieme | + | |
| - | da visualizzare) ed '' | + | |
| - | - Si suddivide A in una griglia di punti a distanza uniforme (pixel) | + | |
| - | - per ogni pixel (x, y) | + | |
| - | - si calcolano r valori della sequenza con c=(x,y) | + | |
| - | - se dopo r iterazioni '' | + | |
| - | - altrimenti si assegna a c il colore j, che e' il minimo indice per cui '' | + | |
| - | + | ||
| - | + | ||
| - | Scrivere un programma C che calcola | + | |
fisica/informatica/201718/esercitazioni/esercitazione4.1516613153.txt.gz · Ultima modifica: 22/01/2018 alle 09:25 (8 anni fa) da Susanna Pelagatti
