Laboratorio di calcolo I
AA 2008/09
Prova individuale del 20/1/2009
Create sull'account didXXm (con XX corrispondente al PC usato) 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.
Se avete bisogno di usare come esempio programmi svolti nel corso delle esercitazioni precedenti potete trovarne al link programmi
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.