1) Preparare una classe triangolo con tre campi (uno per ogni l

COMPITI DI SISTEMI
IVBE
A.S. 2007/08
1) Preparare una classe triangolo con tre campi (uno per ogni lato del triangolo),
tre metodi (per calcolare il lato incognito) ed un costruttore che pone i lati uguali a
zero. Implementare i controlli necessari.
2) Predisporre un form con un cronometro. Si prevedano un bottone di start, uno
per l'intertempo e uno di stop. Usare due label per visualizzare il tempo totale e
quello parziale. L'esercizio deve essere svolto definendo una classe "tempo", per la
memorizzazione e la visualizzazione del tempo. Il componente Timer servirà per
incrementare sia il tempo totale che l'intertempo.
3) Preparare un form contenente cinque immagini che rimbalzano. Gestire le
immagini andrà gestita tramite una classe.
4) Predisporre un form con un panel ed un oggetto graphics, per disegnare delle linee.
Predisporre una serie di bottoni che permettano di cambiare il colore della linea e lo
spessore della penna.
5) Aggiungere al progetto dell'esercizio 4, una serie di bottoni (oltre a quelli per lo
spessore ed il colore) per disegnare una forma geometrica a scelta tra almeno quattro
diverse.
6) Riempire un form, con una griglia formata da 10x10 righe. Quando l'utente
ridimensiona il form, le righe devono essere ridisegnate mantenendole equidistanti e
riempiendo il form (tutto andrebbe gestito tramite l'evento SizeChanged)
7) Predisporre un form con un panel per disegnare dei vettori. Le componenti dei
vettori vengono fornite dall'operatore tramite quattro textBox di nome x1, y1, x2 e
y2. Calcolare e disegnare nel panel anche il vettore somma.
8) Riprodurre l'effetto della lancetta dei secondi di un orologio, ridisegnando in un
panel una riga lunga 100 px ogni secondo.
9) Far comparire una quadratino colorato di 10x10 pixel in un panel, per 0,25 s e
quindi farlo scomparire. Ripetere l'operazione ogni tempo t con 0,5<t<2 s.
L'operatore deve cliccare su un apposito bottone solo quando il quadratino è visibile.
Contare e visualizzare il numero di click corretti ed errati, si vince o si perde quando
uno dei due contatori arriva a 5. Il colore dei quadratini deve variare al variare dei
contatori (colori a scelta del programmatore).
9) Costruire una classe MIRA derivata da una pictureBox. Mettere in movimento
l'immagine secondo le seguenti indicazioni:
a) il movimento deve essere circolare e dopo ogni giro deve diventare più veloce e con
raggio più piccolo;
b) se l'operatore clicca sull'immagine, questa deve scomparire;
c) ogni 20 secondi deve essere creato un nuovo oggetto della classe MIRA.
10) Progettare una classe di nome grafico per disegnare il grafico di una funzione
all'interno di un form. (con griglia ed etichette sugli assi). Il grafico dovrà riprodurre il
comportamento di una rete RC serie, dove i parametri vengono forniti tramite
opportune textBox. Considerare la tensione sul condensatore come risposta e la E del
generatore (costante) come sollecitazione.
L'operatore deve aver la possibilità di inserire i valori di R, C e il valore della tensione
sul generatore all'istante iniziale.
11) Come l'esercizio 10, considerando la corrente come risposta del sistema.
12) Simulare il transitorio di una rete RL serie (come nell'esercizio 10).
13) Costruire una classe di nome serbatoio. Prevedere:
 un costruttore che ponga il livello a zero e imposti la capacità e la riserva;
 un metodo per incrementare il livello di una quantità desiderata, con controlli sul
massimo;
- metodo per decrementare il livello di una quantità desiderata, con controlli sulla
riserva e sullo zero;
- metodo che restituisca il livello attuale del serbatoio.
Tutto deve anche essere rappresentato graficamente su un form (con le GDI+).
14) Progettare una classe grafico simile a quella dell'esercizio 10 ed inserire nel
progetto dei bottoni che svolgano le seguenti operazioni:
- rappresentazione di una tensione periodica di periodo 1 s, che valga 10 V per 0,5 s e
0 V per 0,5 s;
- rappresentazione di una grandezza alternata sinusoidale con periodo 1 secondo e
valore di pico 50 V;
- rappresentazione grafica della risposta di un circuito RC ad un segnale come quello
al punto 1;
- rappresentazione grafica della risposta di un circuito RC ad un segnale come quello
al punto 2.
15) Progettare una classe grafico simile a quella dell'esercizio 10 ed inserire nel
progetto dei bottoni che svolgano le seguenti operazioni:
- rappresentazione di una tensione periodica di periodo 6 s, che valga -5 V per 3 s e
+5 V per 3 s;
- rappresentazione di una grandezza alternata cosinusoidale con periodo 10 secondo e
valore di pico 20 V;
- rappresentazione grafica della risposta di un circuito RC ad un segnale come quello
al primo punto;
- rappresentazione grafica della risposta di un circuito RC ad un segnale come quello
secondo punto.
16) Scrivere una classe di nome strumento che erediti dalla classe panel, con le
seguenti caratteristiche:
 i campi double livMax e livMin per memorizzare rispettivamente il livello minimo e
massimo, il campo double lettura per memorizzare il valore letto dallo strumento
ed il campo warningLevel che determina il valore della lettura che produce la
visualizzazione di un messaggio di warning.

preparare due differenti costruttori, il primo che permetta di impostare livMax,
livMin e warningLevel il secondo solo i valori di livMax e livMin.
- predisporre un metodo aggiornaValore che premetta l'aggiornamento del campo
livello e la sua visualizzazione. La visualizzazione deve avvenire sia in forma numerica
che in forma grafica (utilizzando la classe drawing).
- scrivere un codice consumer che utilizzi due oggetti appartenenti alla classe
strumento.
Prevedere, all'interno della classe, gli opportuni controlli sui campi.
17) Costruire una classe studente, con i seguenti campi e metodi:
- cognome, nome, eta, classe e un vettore per memorizzare i voti;
- un costruttore per l'impostazione (obbligatoria) di cognome, nome, età e classe;
- un metodo per l'inserimento di un nuovo voto;
- un metodo per la restituzione della media;
- un metodo per ricavare il voto massimo e uno per il voto minimo;
- un metodo per la restituzione del numero di voti inseriti.
Prevedere gli opportuni controlli (ad esempio i voti devono essere compresi tra 1 e
10) e scrivere un programma che utilizzi la classe.