2016-09-25 102 views
0

嗨那裏我需要寫算法,讀取一個三角形的最大角度和從左邊,右邊,然後底部的三邊。然後根據這些結果輸出特定的角度/側面三角形。三角形類型的基本算法

具體的三角形是急性斜角,右斜角,鈍角斜角,急性等腰,右側等腰,鈍角等腰三角形和等邊三角形。

我們必須編寫一個僞代碼的基本算法。我真的不知道從哪裏開始,任何幫助將不勝感激。

+0

我建議通過繪製決策樹開始 – samgak

回答

0

你只需要拿出了一系列的測試,以適用於三角形。想象一下,你正在設計一個工廠的佈局,這些三角形正在通過一系列工人的傳送帶。每個工人都可以檢查一些關於三角形的東西,然後根據其類型將其放入一個垃圾箱中,或者將其移動到另一個傳送帶上,以便通過更多的工人進行更多的測試。

例如,您可以通過檢查所有邊是否相等來輕鬆測試它是否等邊,如果是,則可以輸出並在那裏停止。

如果不是,那麼它必須是斜角或異體。

如果最大角度小於90度,則爲銳角。如果它等於90度,那麼它是一個直角三角形,如果它大於90度,那麼它是鈍的。

如果兩邊的長度相等,那麼它就是等角點,否則就是斜角。

首先根據這些標準勾畫出決策樹或流程圖。然後把它變成僞代碼。

+0

謝謝,這是有道理的!我會放棄它 –

0

您應該能夠使用正弦定律,然後通過案例分析來確定您給定的三角形是哪種類型的三角形。

+0

該算法只是應該讀取最大的角度並閱讀兩側,並從那裏它將匹配它與相應的三角形。 –

0

從容易的開始。等邊三角形有3個相等的邊。

所以:

function isEquilateral(left, right, bottom) { 
     return left === right == bottom; 
    ); 
+0

該算法只是應該讀取最大的角度並閱讀兩側,並從那裏將它與相應的三角形匹配。 –

+0

那麼如果所有方面都相等,那麼這個三角形就是等邊的嗎?角度也是60°,但這不是必需的。 –