Esercitazioni
del
corso
di Laboratorio di Calcolo (I)
n. 6
vettori e matrici
- create ex6
(usando il comando mkdir)
- spostatevi in ex6 (usando il
comando cd). Solo i files
contenuti in /home/did.../ex6 verranno presi in considerazione!
- realizzare
i seguenti due programmi (valutati
due punti ciascuno):
- copiatevi il
programma del calendario che avete svolto nell'esercitazione n.4 e
modificatelo utilizzando
- un vettore di interi che contenga la durata in giorni dei 12
mesi dell'anno
- un ciclo
- un vettore di stringhe (ovvero una matrice di caratteri )
che contenga
i nomi dei giorni della settimana per poter
stampare il risultato in una forma piu' elegante: ad
esempio
char
nomeg[7][10]={"domenica","lunedi","martedi","mercoledi","giovedi","venerdi","sabato"};
- uno dei seguenti 2
programmi di manipolazione algebrica di matrici e vettori
inversione di una matrice 2x2
(i cui
elementi vengano forniti in input da tastiera) e verifica del
risultato
calcolando
il prodotto della matrice originaria per l'inversa e confrontandolo con
la matrice identita` 2x2
NB: data la matrice 2x2
a b
c d
l'inversa
e' definita solo se il
determinante
D=ad-bc e' non nullo ed e' data da
d/D -b/D
-c/D a/D
rotazione di un angolo alpha
(espresso
in radianti)
di un vettore
bidimensionale: definite la matrice di rotazione ed applicatela
ad un
vettore a vostra scelta, verificate il risultato effettuando il
prodotto
scalare tra il vettore originario e quello trasformato ricavandovi
l'angolo
alpha (si dovranno usare le funzioni cos, sin e acos da
<math.h>
).
NB: la matrice di rotazione
e` data da
cos(alpha) sin(alpha)
-sin(alpha) cos(alpha)
altre
funzioni utili in
<math.h>
fabs(x) valore
assoluto
di x
(che deve essere float o double)
pow(x,y) calcola x elevato alla y
sqrt(x) calcola la radice quadrata
di x
Ricordate se usate gcc di linkare la libreria matematica (gcc prog.c -lm)