Il programma è stato realizzato partendo dal programma di esempio fornito ed estendendolo
inserendo tutte le parti di codice necessarie.
Tale programma mostra a video una figura geometrica e chiede di misurare la lunghezza
del lato selezionato e se si fornisce la risposta esatta per tutti i lati della
figura
viene chiesto di calcolarne il perimetro che consiste semplicemente nella somma
dei vari lati per ogni figura geometrica (per definizione).
Le figure geometriche visualizzabili sono: triangolo,quadrato, rettangolo, parallelepipedo,
rombo, trapezio, pentagono regolare, esagono regolare (secondo specifiche).
Il programma è costituito da 3 finestre.
La finestra iniziale in cui si richiede di selezionare
la modalità di ingresso dei dati relativi alla figura geometrica
consente di scegliere tra 3 distinte modalità:
- modalità casuale: la figura geometrica è realizzata in modo casuale. Ciò significa
che viene generato un numero casuale (da 1 a 8) che determina il tipo di poligono
da creare.
In modo coerente con il poligono da creare, vengono generate in modo casuale le
misure dei lati e si controlla che i dati generati siano validi relativamente alla
realizzabilità del poligono.
Ad esempio l'altezza di un trapezio deve essere minore o uguale dei lati.
- modalità utente: è possibile definire la figura geometrica utilizzando dei pulsanti
mutuamente esclusivi (radiobutton). A seguito della pressione di uno
di questi pulsanti vengono aggiornati i campi da inserire per definire la forma
geometrica selezionata. Ad esempio se si seleziona il trianglo, sarà necessario
fornire i tre valori dei lati.
Le misure di tali lati sono espresse in cm e mm es 1.7. Per una corretta visualizzazione,
con le dimensioni della finestra di default sono visualizzabili correttamente
poligoni i cui lati non superino i 3 - 4 cm per lato.

- modalità file: i dati sono importati tramite la lettura dal file "scambio.txt"
secondo specifiche.

La finestra di visualizzazione del timeout viene attivata
assieme alla finestra principale. Partendo da un valore iniziale di secondi a disposizione
per fornire tutte le
risposte richieste negli appositi campi della finestra principale, tale valore viene
progressivamente decrementato in base ai secondi impiegati a rispondere.
Se la risposta finale, ovvero la misura del perimetro della figura geometrica visualizzata,
è corretta il conteggio a ritroso (conto alla rovescia) si ferma,
altrimenti termina quando il tempo a disposizione è scaduto (0 secondi) e nella
finestra princoipale vengono visualizzate tutte e sole le risposte mancanti all'interno
dello storyboard.
I secondi iniziali (default 60) sono parametrizzabili tramite "define", mentre durante
l'esecuzione del programma (run.time) è possibile modificarli tramite
una slide posizionata sotto il valore di secondi restanti. Il range previsto è da
30 a 360 secondi (6 minuti).
La gestione del conto alla rovescia, secondo specifiche, è gestita tramite thread.

La finestra principale è composta da varie parti:
- gruppo di visualizzazione domande e risposte (storyboard) che prevede lo scrolling
se le righe di testo inserite non possono essere visualizzate insieme.
In questo gruppo vengono inserite sia le domande che le risposte sia errate che
corrette e viene inoltre utilizzata per indicare all'utente se le risposte date
sono
corrette o errate. Se una risposta data è errata la domanda viene ripetuta nello
storyboard. Rimangono visualizzabili anche i risultati ed i passi dei precedenti
esercizi.
Nella parte inferiore del gruppo vi è la parte di inserimento dei risultati che
permette all'utente di inserire le risposte ed è composto da due distinti campi
cm e mm.
Tali campi vengono azzerati dopo ogni risposta fornita o cambio di esercizio.
Dopo che l'utente ha digitato la risposta nei campi, è necessario premere il tasto
"enter".
- gruppo di visualizzazione della figura geometrica: in questo gruppo viene visualizzato
il poligono a cui le domande si riferiscono e di cui si richiede, come risposta
finale
la misura del perimetro. Per permettere e facilitare la misura dei lati sono state
inserite delle "tacchette" relative a cm e mm. La misura è facilmente ottenibile
contando le tacchette
relative ai cm (in nero) ed ai mm (in rosso). Vengono visualizzate inoltre le label
degli spigoli (prime lettere dell'alfabeto in sequenza in carattere maiuscolo) e
degli angoli
(prime lettere dell'alfabeto in sequenza in carattere minuscolo) del poligono che
sono particolarmente utili per l'individuazione dei lati da misurare.
I lati di cui viene richiesta la misura vengono anche selezionati evidenziandoli
con colore azzurrino.
- sono stati mantenuti i tasti nuovo esercizio, esci e stampa in basso a destra.
Esempi di figure generabili:
Triangolo

Quadrato

Rettangolo

Rombo

Parallelogramma

Trapezio

Pentagono regolare

Esagono regolare

Tramite i tasti F2 ed F3 viene effettuata l'esportazione
e l'importazione.
I passi secondo i quali opera il programma sono i seguenti,
secondo specifiche:
1. introduzione figura (I1 o I2 o I3)
2. output: "Misura il perimetro della figura"; start clock (esportazione della spezzata)
3. for l=a,... do
4. misura il lato l della figura; (il lato viene evidenziato)
(è possibile esportare i dati del segmento premendo F1
e importare poi il risultato premendo F2)
5. quando finito riempire i campi x e d in:
"Il lato l misura x cm e d mm"; Enter e verifica;
se sbagliata vai a 4; se timeout, segnala e output
risposta corretta.
6. end for;
7. l'utente calcola offline la somma dei lati;
8. quando finito riempie i campi x e d in:
"Il perimetro della figura è x cm e d mm"; Enter e verifica;
se sbagliata vai a 7; se timeout, segnala e output risposta corretta.
9. export lunghezza
10. se selezione nuovo esercizio vai a 1.
SCARICA IL PROGRAMMA ---------->

(codice sorgente ed eseguibile)
visualizza il listato
|