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 (7 anni fa)] – [Esercizio 3: Filtrare un array] Susanna Pelagatti | fisica:informatica:201718:esercitazioni:esercitazione4 [30/01/2020 alle 13:33 (5 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 (7 anni fa) da Susanna Pelagatti