Corso di Laurea in Ingegneria Elettronica - Università di Roma ``La Sapienza''
Corso di Fondamenti di Informatica - A.A. 2001/2002
Quinta Esercitazione Autoguidata

ESERCIZIO 1

Scrivete un programma che legge N interi (con N costante, ad esempio N=10), calcola la loro media m e la loro deviazione standard $\sigma$, e tra tutti i valori inseriti stampa quelli compresi tra $m-\sigma$ e $m+\sigma$. Il programma dovrà essere costituito dai seguenti moduli:

  1. una funzione che legge da input N interi e li memorizza in un vettore;
  2. una funzione che calcola la media m di N interi memorizzati in un vettore;
  3. una funzione che calcola la deviazione standard $\sigma$ di N interi memorizzati in un vettore;
  4. la funzione main che invoca opportunamente le funzioni definite ai punti 1, 2 e 3, e tra gli N interi inseriti stampa quei valori x per i quali sia $m-\sigma\leq x \leq m+\sigma$.

Nota: La deviazione standard $\sigma$ di N interi x_1, ..., x_N è definita come segue:

\begin{displaymath}
\sigma = \sqrt{\frac{1}{N-1} \sum_{i=1}^{N}(x_i-m)^2}
\end{displaymath}

ESERCIZIO 2

Scrivete un programma che verifica se una matrice quadrata di interi è triangolare superiore. Il programma dovrà essere costituito dai seguenti moduli:

  1. una funzione che legge da input una matrice quadrata di interi di dimensioni N x N (sia ad esempio N=5);
  2. una funzione che verifica se una matrice è triangolare superiore;
  3. la funzione main che invoca opportunamente le funzioni definite ai punti 1 e 2, e stampa in output il risultato della verifica.

Nota: Una matrice quadrata è triangolare superiore se tutti gli elementi al di sotto della diagonale principale sono pari a zero.


ESERCIZIO 3 (opzionale)

Riscrivete il programma che avete realizzato per risolvere l'esercizio 1 in modo che il numero di interi che vengono letti da input possa essere indicato dall'utente a tempo di esecuzione del programma, piuttosto che essere definito a tempo di compilazione dal programmatore.

Nota: La soluzione richiede l'utilizzo di un array dinamico.