edutecnica

Esercizio 6        

Dati tre punti del piano cartesiano A(xa,ya), B(xb,yb) e C(xc,yc) calcolare e visualizzare il perimetro del triangolo da essi formato; se il triangolo è degenere , cioè se due o più vertici coincidono, visualizzare un opportuno messaggio.


Una volta inserite le coordinate dei tre punti bisogna calcolare la lunghezza dei tre lati AB AC e BC col teorema di pitagora.
Per questo viene richiamata la libreria math.h che fornisce la funzione sqrt() per il calcolo della radice quadrata e pow() per il calcolo dell'elevamento a potenza.

#include <iostream>
#include <math.h>
using namespace std;
int main(){
  int xa,ya,xb,yb,xc,yc;
  float perimetro, AB, AC, BC;
  cout<<"ins.xa:";cin>>xa;
  cout<<"ins.ya:";cin>>ya;
  cout<<"ins.xb:";cin>>xb;
  cout<<"ins.yb:";cin>>yb;
  cout<<"ins.xc:";cin>>xc;
  cout<<"ins.yc:";cin>>yc;
  AB = sqrt(pow((yb - ya),2) + pow((xb - xa),2));
  AC = sqrt(pow((yc - ya),2) + pow((xc - xa),2));
  BC = sqrt(pow((yc - yb),2) + pow((xc - xb),2));
 if(AB==0 || AC==0 || BC==0)cout<<"TRIANGOLO DEGENERE"; 
 else {
    perimetro = AB + AC + BC; 
    cout<<perimetro; 

return 0; 
}

Se due punti coincidono, la corrispondente lunghezza del lato è nulla.
In altri termini, se (if) AB=0 oppure (||) AC=0 oppure (||) BC=0 avremo un triangolo è degenere.
altrimenti (else) bisognerà sommare i tre lati per calcolare il perimetro e poi stamparlo.
Queste due ultime istruzioni devono essere inserite in un blocco racchiuso da parentesi graffe sul ramo else perchè devono essere eseguite in successione qualora la condizione logica risulti falsa.