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.