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.
Module Module1
' 02.19 Výpočet obsahu lichoběžníku ze stran a,b,c,d
Sub Main()
Dim a, b, c, d, obsah As Double
Console.Write("Zadejte stranu a: ")
a = Console.ReadLine
Console.Write("Zadejte stranu b: ")
b = Console.ReadLine
Console.Write("Zadejte stranu c: ")
c = Console.ReadLine
Console.Write("Zadejte stranu d: ")
d = Console.ReadLine
If (a > 0) And (b > 0) And (c > 0) And (d > 0) And (b + c + d > a) Then
obsah=(a+c)/(4*(a-c))*Math.Sqrt((a+b-c+d)*(a-b-c+d)*(a+b-c-d)*(-a+b+c+d))
Console.WriteLine("Obsah lichobezniku= {0:0.000}", obsah)
Else
Console.WriteLine("Vypocet nelze provest")
End If
Console.ReadLine()
End Sub
End Module
program ke stažení
Pro učitele:
Pro lepší pochopení postupu výpočtu lze jednotlivé kroky počítat zvlášť.