Comments
Description
Transcript
Eser 1.8
Università degli Studi di Brescia Fondamenti di Programmazione Docente: Alessandro Saetti A.A. 2012/2013 ESERCITAZIONE STRUTTURE DI CONTROLLO E VETTORI Università degli Studi di Brescia A.A. 2012/2013 Scrivere un programma C che: - Acquisire da tastiera la lunghezza dei tre lati di un triangolo fintantoché le lunghezze acquisite non sono positive e non soddisfano la disuguaglianza triangolare (la somma del lato maggiore è inferiore alla somma degli altri lati) - Stampi il perimetro del triangolo. (Suggerimento: Ad ogni iterazione calcolare il massimo lato acquisito e la somma degli altri due dati) Impostiamo la solita struttura di partenza di un programma C Scrivere un programma C che: - Acquisire da tastiera la lunghezza dei tre lati di un triangolo fintantoché le lunghezze acquisite non sono positive e non soddisfano la disuguaglianza triangolare (la somma del lato maggiore è inferiore alla somma degli altri lati) - Stampi il perimetro del triangolo. (Suggerimento: Ad ogni iterazione calcolare il massimo lato acquisito e la somma degli altri due dati) float l1, l2 , l3, max_lato, somma_altri2; do { // INPUT printf("Digita 1^lato: "); scanf("%f",&l1); printf("Digita 2^lato: "); scanf("%f",&l2); printf("Digita 3^lato: "); scanf("%f",&l3); // Determino lato max e somma // degli altri 2 lati max_lato=l1; somma_altri2=l2+l3; if (l2 > maxlato) { max_lato=l2; somma_altri2=l1+l3; } if (l3 > maxlato) { max_lato=l3; somma_altri2=l1+l2; } } while ( (l1<=0) || (l2<=0) || (l3<=0) || (max_lato>somma_altri2)); #include <stdio.h> #include <stdlib.h> int main() { // . . . system("pause"); return(0); } Scrivere un programma C che: - Acquisire da tastiera la lunghezza dei tre lati di un triangolo fintantoché le lunghezze acquisite non sono positive e non soddisfano la disuguaglianza triangolare (la somma del lato maggiore è inferiore alla somma degli altri lati) - Stampi il perimetro del triangolo. (Suggerimento: Ad ogni iterazione calcolare il massimo lato acquisito e la somma degli altri due dati) Disuguaglianza triangolare recita: la somma delle lunghezze di due lati è maggiore o uguale della lunghezza del terzo: |X+Y| <=|X|+|Y| la sua rappresentazione grafica è la seguente: Possiamo limitarci a considerare: lato maggiore <= della somma degli altri due. Scrivere un programma C che: - Acquisire da tastiera la lunghezza dei tre lati di un triangolo fintantoché le lunghezze acquisite non sono positive e non soddisfano la disuguaglianza triangolare (la somma del lato maggiore è inferiore alla somma degli altri lati) - Stampi il perimetro del triangolo. (Suggerimento: Ad ogni iterazione calcolare il massimo lato acquisito e la somma degli altri due dati) float perimetro = l1 + l2 + l3; printf("Il perimetro e': %.2f\n", perimetro);