Strumenti Utente

Strumenti Sito


fisica:informatica:201718:esercitazioni:esercitazione4

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
fisica:informatica:201718:esercitazioni:esercitazione4 [22/01/2018 alle 09:33 (7 anni fa)] Susanna Pelagattifisica: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 8: Linea 8:
  
 ===== Esercizio 2: Somma e prodotto di matrici ====== ===== Esercizio 2: Somma e prodotto di matrici ======
-Scrivere un programma C costituito da un ''main()'' che legge da standard input due matrici 4quadrate $10\times10 di reali, calcola somma e  prodotto e stampa i risultati sullo standard output.+Scrivere un programma C costituito da un ''main()'' che legge da standard input due matrici quadrate 10 x 10 di reali, calcola somma e  prodotto e stampa i risultati sullo standard output.
  
 +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 'matrici.txt', e indirizzarlo nello standard input del programma scrivendo
 +
 +<code>
 +./programma < matrici.txt
 +</code>
 +
 +Questo vuol dire che il contenuto del file ''matrici.txt'' potra' essere letto come se fosse stato digitato da tastiera, i.e., potremo leggere i numeri uno ad uno tramite la funzione ''scanf("%d", &variabile)'' (gli spazi e gli a capo vengono ignorati in questo caso).
 +Sara' quindi necessario utilizzare i numeri letti tramite la funzione ''scanf()'' per inizializzare le matrici.
 +
 +possibili matrici per il file matrici.txt:
 +<code>
 +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
 +</code>
 ===== Esercizio 3: Massimo Comun Divisore  ====== ===== Esercizio 3: Massimo Comun Divisore  ======
 (1) Scrivere un programma C che  (1) Scrivere un programma C che 
Linea 52: Linea 87:
 ha come SSM il segmento [2,-1,6] di valore 7. Si chiede di realizzare in programma C che legge dallo standard input N interi, li inserisce in un array lungo N, calcola il segmento di somma massima e lo stampa sullo standard output. ha come SSM il segmento [2,-1,6] di valore 7. Si chiede di realizzare in programma C che legge dallo standard input N interi, li inserisce in un array lungo N, calcola il segmento di somma massima e lo stampa sullo standard output.
 N deve essere definito con una opportuna MACRO. N deve essere definito con una opportuna MACRO.
- 
- 
-===== Esercizio 5: Mandelbrot (Avanzato) ====== 
-L'[[http://it.wikipedia.org/wiki/Insieme_di_Mandelbrot|insieme di Mandelbrot]]e' un insieme frattale definito come l'insieme dei numeri complessi //c// per i quali la successione definita da: 
-<code> 
-z(0) = 0 
-z(n+1) = z(n)^2 + c 
-</code> 
-e' limitata, cioe' ''|z( n )|< 2'' per ogni ''n >=0'' 
-Infatti al variare di ''c'', la sequenza puo' tendere 
-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 di Mandelbrot ´e l’//Escape Time Algorithm//. In questo algoritmo, dati ''A'' (l’area del piano complesso 
-da visualizzare) ed ''r'' (una precisione fissata) si effettuano i seguenti passi: 
-  - 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 ''|z( r )|<= 2'' si considera c appartenente all'insieme e si assegna a c il colore NERO 
-  - altrimenti si assegna a c il colore j, che e' il minimo indice per cui ''| z(j) |>=2'' 
- 
- 
-Scrivere un programma C che calcola l'insieme di Mandelbrot per il rettangolo di estremi (-2,1) (1,-1) e stampando sullo standard output i colori dei pixel suppenendo di dividere il rettangolo in 100x100 pixel. 
  
  
  
fisica/informatica/201718/esercitazioni/esercitazione4.1516613620.txt.gz · Ultima modifica: 22/01/2018 alle 09:33 (7 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki