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.