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:
Lichoběžník lze sestrojit, pokud součet délek stran
b,c,d je větší než délka strany
a.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a,b,c,d,s:real;
begin
write('Zadejte stranu a: ');
readln(a);
write('Zadejte stranu b: ');
readln(b);
write('Zadejte stranu c: ');
readln(c);
write('Zadejte stranu d: ');
readln(d);
if (a>0) and (b>0) and (c>0) and (d>0) and (b+c+d>a) then
begin
s:=(a+c)/(4*(a-c))*sqrt((a+b-c+d)*(a-b-c+d)*(a+b-c-d)*(-a+b+c+d));
writeln('Obsah lichobezniku=',s:0:3);
end
else
writeln('Vypocet nelze provest');
readln;
end.
program ke stažení
Pro učitele:
Pro lepší pochopení postupu výpočtu lze jednotlivé kroky počítat zvlášť.