“Progettare e implementare un software per calcolare l’area e il perimetro di un triangolo isoscele dato il lato obliquo e la base.”

Analisi del problema

Per risolvere questo problema iniziamo ad individuare i dati in input e i dati in output (quelli che l’esecutore dovrà restituire).

  • Dati Input: latoObliquo, base
  • Dati Output: area, perimetro

Prima di poter calcolare l’area della figura geometrica ho necessità di calcolare l’altezza che posso considerare come dato intermedio. Applicando il teorema di Pitagora l’altezza può essere calcolata nel seguente modo:

Variabili

  • (latoObliquo, _ , int)
  • (base, _ , int)
  • (altezza, _ , float)
  • (perimetro, _ int)
  • (area, _, float)

Progetto

Implementazione

Per effettuare la radice quadrata di un numero, in linguaggio C++ è necessario importare la libreria <cmath>. La funzione che useremo per calcolare la radice è sqrt. Ecco una possibile implementazione dell’algoritmo mostrato precedentemente:

/* 
Scrivi un algoritmo e implementa il programma in linguaggio C++ che, date in input le dimensioni della base e del lato obliquo di un triangolo isoscele, ne determini perimetro e area.
 */
 
 
#include <iostream>
#include <cmath>

using namespace std;
int main(int argc, char** argv) {
	
	int latoObliquo;
        int base;
	cout<<"*************************************************"<<endl;
	cout<<"CALCOLATORE PERIMETRO E AREA TRIANGOLO ISOSCELE"<<endl;
	cout<<"*************************************************"<<endl;
	
	cout<<"Ciao, ho bisogno di conoscere la lunghezza della base "<<endl;
	cin>>base;
	cout<<"ora inserisci la lunghezza del lato "<<endl;
	cin>>latoObliquo;

	cout<<"Bene ora calcolo..."<<endl;
	
	float altezza = sqrt((latoObliquo*latoObliquo)-((base/2)*(base/2)));	
	float area = (base*altezza)/2;
	cout<<"Fatto, l'area è : "<<area;

        float perimetro = base+(latoObliquo*2); 
	cout<<"Il perimetro è : "<<perimetro;
	system("pause");
	
	return 0;
}

Esegui nell’editor C++

Torna a Linguaggio C++

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *