Laboratorio di calcolo
AA 2006/07
Prova individuale del 26/1/2007
Create sul solito account (o in
quello comunicatovi dal docente) una
cartella prova_cognome e svolgete li' la prova. La prova e' valutata su
10 punti.
Se il programma non compila perdete 5
punti, se il programma compila ma
ha seri problemi in fase di esecuzione (loop infiniti, mancanza di
protezioni...) perdete 3 punti, se il programma compila, gira ma non
fornisce i risultati richiesti perdete 2 punti. I punti rimanenti
possono essere ulteriormente ridotti se non sono state seguite tutte le
indicazioni (ad esempio se si sceglie di non utilizzare delle funzioni)
o se si omette di stampare il risultato o di specificare quali valori
ci si
aspetta che l'utente inserisca, o se il programma non sia comprensibile
per mancanza di commenti.
Scrivete un programma accetti in input le lunghezze a,b,c dei tre lati
di un triangolo e ne determini le caratteristiche:
- esca con messaggio di errore se vengono inseriti valori negativi
o se
un lato risulta maggiore della somma degli altri due
- stampi se si tratta di un triangolo particolare (isoscele,
equilatero,
rettangolo)
- ne stampi il perimetro (p=a+b+c)
- ne stampi l'area calcolata in base alla formula sqrt(p/2 *
(p/2-a)*(p/2-b)*(p/2-c))
- mediante un ciclo while consentite all'utente di eseguire
nuovamente le istruzioni precedenti inserendo dei nuovi valori di input
uscendo dal programma solo se richiesto
Suggerimenti:
- prevedere un funzione per il calcolo del perimetro, una per
l'area e da una a tre funzioni per individuare i triangoli particolari
- scrivere un file .h con i prototipi delle funzioni
- scrivere un file .c contenente le funzioni inizialmente vuote
(con
solo un return di un valore a scelta;)
- scrivere un file .c contenente il programma main
- nel main leggere la lunghezza dei tre lati e verificare la
validita' dei dati immessi prima di chiamare le funzioni stampando i
valori da
esse ritornati
- solo quando questa parte compila e gira dedicatevi allo
sviluppo degli algoritmi da inserire nelle
funzioni e alla validazione dei risultati
- se non riuscite a completare qualcosa lasciate il programma in
uno stato in cui compili e giri e aggiungetevi una stampa che informi
l'utente di quali funzionalita' non sono ancora attive.