設問
二つの正の整数 r と a を乱数として発生させる.r を円Oの半径,a を正方形Sの一辺の長さとするとき,どちらかの 図形がもう一方を内包するかどうかを判定するスクリプトを作成せよ.結果の表 示には printf を用いることとし,次のような3種類の表示形式とす る.
内包とは,下図のような状態を言う.
円Oの半径は1,正方形Sの辺の長さは4 正方形S は 円O を内包する. |
または,
円Oの半径は10,正方形Sの辺の長さは6 円O は 正方形S を内包する. |
または,
円Oの半径は2,正方形Sの辺の長さは3 お互いに内包しない. |
なお,円周率πは Rubyにあらかじめ PI という定数で登録されている.また,平方根は sqrt(数値) のようにすれば求められる関数が用意されている.ただ し,これらを使うには,スクリプトの先頭で,
include Math |
というおまじないを必ず入れておくこと.
include Math r = rand(10) + 1 s = rand(10) + 1 str1 = "円O" str2 = "正方形S" printf "%sの半径は%d,%sの辺の長さは%d\n", str1, r, str2, s sl = s / sqrt(2) if r >= sl printf "%s は %s を内包する.\n", str1, str2 elsif 2 * r <= s printf "%s は %s を内包する.\n", str2, str1 else printf "お互いに内包しない.\n" end |
設問
二つの正の整数 r と a を乱数として発生させる.r を円Oの半径,a を正方形Sの一辺の長さとするとき,どちらかの 図形がもう一方を内包するかどうかを判定するスクリプトを作成せよ.結果の表 示には printf を用いることとし,次のような3種類の表示形式とす る.
内包とは,下図のような状態を言う.
円Oの半径は1,正方形Sの辺の長さは4 正方形S は 円O を内包する. |
または,
円Oの半径は10,正方形Sの辺の長さは6 円O は 正方形S を内包する. |
または,
円Oの半径は2,正方形Sの辺の長さは3 お互いに内包しない. |
なお,円周率πは Rubyにあらかじめ PI という定数で登録されている.また,平方根は sqrt(数値) のようにすれば求められる関数が用意されている.ただ し,これらを使うには,スクリプトの先頭で,
include Math |
というおまじないを必ず入れておくこと.
include Math r = rand(10) + 1 s = rand(10) + 1 str1 = "円O" str2 = "正方形S" printf "%sの半径は%d,%sの辺の長さは%d\n", str1, r, str2, s sl = s / sqrt(2) if r >= sl printf "%s は %s を内包する.\n", str1, str2 elsif 2 * r <= s printf "%s は %s を内包する.\n", str2, str1 else printf "お互いに内包しない.\n" end |
Back |