Traccia:
Si scriva un programma che legga da tastiera i valori delle lunghezze dei tre lati di un triangolo e determini se il triangolo è equilatero, isoscele o scaleno.
Svolgimento:
#include <stdio.h>
int main()
{
int a, b, c;
printf("Inserire le misure dei lati di un triangolo: ");
scanf("%d %d %d", &a, &b, &c);
// Verifica se il triangolo e' isoscele
// N.B. Un triangolo equilatero e' anche isoscele
if (a==b || b==c || a==c)
printf("Il triangolo e' isoscele\n");
// Verifica se il triangolo e' equilatero
if (a==b && b==c)
printf("Il triangolo e' equilatero\n");
// Verifica se il triangolo e' scaleno
if (a!=b && b!=c && a!=c)
printf("Il triangolo e' scaleno\n");
return 0;
}
if (a==b || b==c || a==c)
La condizione all'interno della parentesi è composta tramite l'operatore logico OR pertanto è verificata se anche uno solo dei confronti è verificato.
Questo test consente di verificare se siamo in presenza di un triangolo isoscele. Notare che un triangolo equilatero è anche isoscele, quindi in presenza di tre lati uguali (triangolo equilatero) correttamente il programma segnala che il triangolo è isoscele.
if (a==b && b==c)
La condizione all'interno della parentesi è composta tramite l'operatore logico AND pertanto è verificata se entrambi i confronti sono verificati.
Se i due confronti sono verificati, per la proprietà transitiva si può dedurre che tutti e tre i lati sono uguali e quindi siamo in presenza di un triangolo equilatero.
if (a!=b && b!=c && a!=c)
La condizione all'interno della parentesi è composta tramite l'operatore logico AND pertanto è verificata se tutte e tre le condizioni sono contemporaneamente verificate.
I singoli confronti verificano se i lati a due a due sono differenti (con il simbolo != si indica il diverso).
Nel complesso se il test è verificato siamo in presenza di un triangolo scaleno.
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 02. Introduzione al C
Paragrafo: 05. Operatori logici
Approfondimento: 01. Es. svolto: triangolo
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Hello World - 02. Variabile di tipo int - 03. Input da tastiera - 04. Controllo condizionale if - 05. Operatori logici - 06. Ciclo while - 07. Operatore modulo - 08. Array - 09. Ciclo for - 10. Ciclo do/while - 11. Variabili di tipo float - 12. Funzione random() - 13. Impostazione del set di caratteri - 14. Definizione di funzioni - 15. Passaggio di parametri: gli array - 16. Variabili: visibilità e durata - 17. Il tipo char - 18. I file - 19. Funzioni matematiche
Indice degli approfondimenti: 01. Es. svolto: triangolo - 02. Es. svolto: pensa un numero