こちらの問題の回答です🐜
回答例
スクリプト例と出力結果です。
<スクリプト例>calctriangle.jl
function istriangle(a, b, c) if a >= (b + c) ret = false elseif b >= (c + a) ret = false elseif c >= (a + b) ret = false else ret = true end return ret end function calccos(a, b, c) ret = (a^2 + b^2 - c^2) / (2. * a * b) return ret end function calcsin(a, b, c) ret = sqrt(1 - (calccos(a, b, c))^2) return ret end function calctriangle(a, b, c) # 三角形が成立するかどうか flag = istriangle(a, b, c) if flag == false # 成立しない場合はfalseを戻す ret == false else # 成立する場合は面積を計算 sinC = calcsin(a, b, c) ret = 0.5 * a * b * sinC end return ret end function main() # 3辺の長さ a, b, c = 5, 3, 4 ret = calctriangle(a, b, c) println(ret) end if abspath(PROGRAM_FILE) == @__FILE__ main() end
<出力結果>
0.6
まず、三角形の成立条件を見て、成立する場合は面積を求めます。一応、三角形の面積の公式を載せておきます。
すでにおわかりかと思いますが、この三角形は直角三角形です。従って、プログラムの計算結果も正しいことがすぐにわかりますね。
回答例は以上です。
続きはこちら。