10以上20以下の整数をどれか一つ乱数により発生させるプログラムを作成しましょう.
A random number between 10 and 20: 12 |
3桁の正の整数と2桁の正の整数を乱数により発生させ,それらを m と n とするとき,加減乗除とさらに剰余算を行うプログラムを作成しましょう.
Integer m and n: 663, 87 m + n = 750 m - n = 576 m * n = 57681 m / n = 7 <= int m / n = 7.620690 <= float m % n = 54 |
1から10までの整数のどれか1つを乱数により発生させ,それを円の半径とするとき,円の面積を求めるプログラムを作成しましょう.
Radius: 9 Area of a circle with radius 9: 254.468790 |
2桁の正の整数を2つ乱数により発生させ,一度それらを表示させた後で次の行で値を入れ替えて表示するプログラムを作成しましょう.
Two random numbers: 26 and 35 Exchanged: 35 and 26 |
Python などオブジェクト指向言語特有の多重代入を活用しましょう.教科書 p.70 の List 3-31 に例があります.
アルファベットの大文字1文字と小文字1文字を乱数により発生させて,文字コード(10進と16進の両方)とともに表示させましょう.
Upper case letter: Z -- 90 0x5a Lower case letter: y -- 121 0x79 |
教科書のp.199にはASCIIコード表が載っています.文字コード(16進数)を確認することができます.
16進数を 0x をつけて表示するには,{hoge:#x} のようにハッシュ # を16進を表す記号 x の前につけます.
2桁の正の整数を乱数を用いて2つ発生させ,さらにもう一つ2桁の正の整数を発生させ,それが最初の2つの整数の間に入る場合にINと表示するプログラムを作成しましょう.
Boundary: 24 -- 83 43: IN |
Boundary: 29 -- 31 28: |
2桁の正の整数を乱数により1つ作成し,その数が50以上の場合にはGreater than or equal to 50と,小さい場合にはLess than 50と答えるプログラムを作成しましょう.
Random number: 65 Greater than or equal to 50 |
Random number: 45 Less than 50 |
65から122までの整数のどれか一つを乱数により発生させ,それがアルファベットの大文字か小文字か,もしくは記号かを答えるプログラムを作成しましょう.
Character: F Upper case letter |
Character: k Lower case letter |
Character: ] Symbol |
1,2,もしくは3のどれかを乱数により発生させることを3回行い,3つとも全部同じ数字だったら Miracle! と,2つが同じだったら One pair と表示するプログラムを作成しましょう.
Random numbers: 2 2 2 Miracle! |
Random numbers: 1 3 3 One pair |
Random numbers: 2 1 3 |
1から12までの整数を乱数で発生させて,その月の日数(閏年では無いときの)を 答えるプログラムを作成しましょう.
Month: 2 Days: 28 |
Month: 4 Days: 30 |
Month: 10 Days: 31 |
月の表示が2桁分用意されていることに注意してください.右揃えになっていますね.
教科書 p.61 の List 3-19 にある in 演算子を使うと文字数を少なく書けます.
Liverpool 0 - 1 Sanfrecce Winner: Sanfrecce Hiroshima FC |
引き分けの場合は2行目にDrawと表示させましょう.解答例
うるう年の判定は if 文の例題としてよく使用されるものですので,ここでも試してみましょう.
うるう年は以下のように規定されています.
西暦年が4で割り切れる時,ただし,100で割り切れる年は除外する.しかし,400で割り切れる年はうるう年とする.
1800以上2100以下の整数を乱数により1つ発生させそれを西暦年とするとき,その年がうるう年かどうか判定するプログラムを作成せよ.
Year: 1820 A leap year |
Year: 1999 Not a leap year |
場合分けをしっかり考えてからプログラムしてください.解答例
3桁の正の整数を乱数により一つ発生させます.また,0から9の範囲の整数を2個発生させ,最初の3桁の整数にあとから発生させた数字が含まれるかどうかを判定するプログラムを作成しましょう.
Does 243 include 2 or 6? Yes |
Does 341 include 8 or 0? No |
数字の取り出しは除算と剰余算を組み合わせて行います.解答例