Navigace: Hlavní stránka -> BASIC -> 02 Jednoduché výpočty s podmínkou -> 02.19 Obsah lichoběžníku ze zadaných stran

MENU

02.19 Obsah lichoběžníku ze zadaných stran

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ášť.