Zadání:
Sestavte program, který vypočte ze zadaných délek stran obecného lichoběžníku jeho obsah.
Řešení:
Lichoběžník musíme rozdělit na kosodélník a trojúhelník.
Ze stran trojúhelníku (
a-c,b,d) vypočteme pomocí Heronova vzorce jeho obsah.
Z vypočteného obsahu trojúhelníku vypočteme jeho výšku (viz. program 01.19).
Ze strany
c lichoběžníku a výšky trojúhelníku vypočteme obsah kosodélníku.
Obsah obecného lichoběžníku vypočteme jako součet obsahu kosodélníku a trojúhelníku.
Dosazením všech výpočtů do jednoho dostaneme vzorec:
#include "stdafx.h"
#include "math.h"
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
float a,b,c,d,obsah;
printf("Zadejte stranu a: ");
scanf_s("%f",&a,1);
printf("Zadejte stranu b: ");
scanf_s("%f",&b,1);
printf("Zadejte stranu c: ");
scanf_s("%f",&c,1);
printf("Zadejte stranu d: ");
scanf_s("%f",&d,1);
obsah=(a+c)/(4*(a-c))*sqrtf((a+b-c+d)*(a-b-c+d)*(a+b-c-d)*(-a+b+c+d));
printf("Obsah lichobezniku=%.3f\n",obsah);
system("pause");
return 0;
}
program ke stažení
Pro učitele:
Pro lepší pochopení postupu výpočtu lze jednotlivé kroky počítat zvlášť.