Fondamenti di Informatica 1
Corsi di Laurea in Ingegneria
Informatica e Automatica
A.A. 2002/03
Una funzione campionata è una funzione y=f(x) i cui valori y sono definiti solamente per determinati valori di x (detti punti di campionamento) opportunamente intervallati. In particolare una funzione campionata è caratterizzata da:
e l'i-esimo valore campionato (i = 0,..,n-1) corrisponde al valore della funzione yi =f(xi) dove xi è' l'i-esimo punto di campionamento ed è pari a xi=x0+i*dx.
Parte 1
Progettare e realizzare una classe FunzioneCampionata che rappresenti
una funzione campionata. In particolare la funzione di cui interessano i campioni
è y = 2*x + 3, mentre punto di campionamento iniziale, l'intervallo
di campionamento e il numero di campioni varia da istanza a istanza.
Equipaggiare la classe con i seguenti metodi pubblici:
puntoCampionamento, che dato un intero i
restituisce l'i-esimo punto di campionamento;valoreCampionato, che dato un intero i restituisce
l'i-esimo valore campionato; toString, che restutuisce una stringa composta da
tutte le coppie separate da \n, formate da punto di campionamento
e valore campionato separati da uno spazio.Parte 2
Realizzare due classi: RadiceQuadrataCampionata e SenoCampionato,
ereditate dalla classe FunzioneCampionata che ridefiniscano il
metodo valoreCampionato, in modo che ritorni, rispettivamente,
il valore delle funzioni y = sqrt(x) e y = sen(x), calcolate
nel punto di campionamento corrispondente al valore del parametro.
Parte 3
Realizzare una classe Funzionalita, che includa un metodo statico
integrale, che prende come argomento una funzione campionata e
ne calcola una approssimazione dell'integrale nell'intervallo tra x0
e xn-1, sommando il valore di tutti i campioni,
tra 0 e n-1, moltiplicati per l'intervallo di campionamento,
secondo la formula seguente:
L'area racchiusa tra i rettangoli evidenziati nella figura seguente rappresenta l'integrale di una funzione campionata:
Parte 4
Realizzare una classe cliente delle classi precedenti avente un metodo main
che legga da tastiera il punto di campionamento iniziale, l'intervallo di campionamento
e un numero fissato di campioni e crei un oggetto di tipo FunzioneCampionata,
uno di tipo RadiceQuadrataCampionata e uno di tipo SenoCampionato,
stampi i tre oggetti e calcoli e stampi l'integrale di ciascuno di essi.