三角形が_equilateral_、isosceles、_scalene_のどれであるかを判定します。
_equilateral_な三角形は、3辺の長さがすべて同じです。
_isosceles_な三角形は、少なくとも2辺の長さが同じです。(正確に2辺の長さが同じと定義されることもありますが、この演習では少なくとも2辺とします。)
_scalene_な三角形は、すべての辺の長さが異なります。
三角形として成り立つためには、すべての辺の長さが0より大きい必要があり、さらに任意の2辺の長さの和が、残りの1辺の長さ以上でなければなりません。
_退化三角形_は、2辺の長さの和が3辺目の長さと等しい三角形です。たとえば1, 1, 2です。
この演習では、退化三角形のテストを含めないことにしました。
そうしたケースに対応してもかまいませんし、そのまま無視しても問題ありません。
式で表すと、次のようになります。
a、b、cを三角形の辺とします。
このとき、次の3つの式がすべて成り立つ必要があります。
a + b ≥ c
b + c ≥ a
a + c ≥ b
三角不等式を参照してください。
enum文を使うと、強く型付けされたラベルの集合を作ることができます。この列挙型をコードの中で使えば、文字列を解析したり、スペルミスを確認したりする必要はありません。
列挙型は、内部的には0から始まる整数として表現されます。デフォルトでは、PowerShellはリストの最初のラベルに0を割り当て、残りのラベルには連続する整数を割り当てます。
例:
Enum Fruits {
APPLE #default internal value 0
ORANGE #default internal value 1
MANGO #default internal value 2
}
$myFavFruit = [Fruits]::APPLE
Write-host $myFavFruit => APPLE
PowerShellのenumについて詳しく知りたい場合は、Enumモジュールをチェックしてみてください。