プログラミング入門II 演習課題 2024.04.10

Back to text page


  1. 乱数の基本

    10以上20以下の整数をどれか一つ乱数により発生させるプログラムを作成しましょう.

    A random number between 10 and 20: 12
    

    解答例

  2. 四則演算の基本

    3桁の正の整数と2桁の正の整数を乱数により発生させ,それらを mn とするとき,加減乗除とさらに剰余算を行うプログラムを作成しましょう.

    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
    

    解答例

  3. 円の面積

    1から10までの整数のどれか1つを乱数により発生させ,それを円の半径とするとき,円の面積を求めるプログラムを作成しましょう.

    Radius: 9
    Area of a circle with radius 9: 254.468790
    

    解答例

  4. 値の入れ替え

    2桁の正の整数を2つ乱数により発生させ,一度それらを表示させた後で次の行で値を入れ替えて表示するプログラムを作成しましょう.

    Two random numbers: 26 and 35
    Exchanged: 35 and 26
    

    Python などオブジェクト指向言語特有の多重代入を活用しましょう.教科書 p.70 の List 3-31 に例があります.

    解答例

  5. 文字種の指定

    アルファベットの大文字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 の前につけます.

    解答例

  6. if 文の基本

    2桁の正の整数を乱数を用いて2つ発生させ,さらにもう一つ2桁の正の整数を発生させ,それが最初の2つの整数の間に入る場合にINと表示するプログラムを作成しましょう.

    Boundary: 24 -- 83
    43: IN
    
    範囲内の場合

    Boundary: 29 -- 31
    28:
    
    範囲外の場合

    解答例

  7. if-else 文の基本

    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
    

    解答例

  8. 文字コード

    65から122までの整数のどれか一つを乱数により発生させ,それがアルファベットの大文字か小文字か,もしくは記号かを答えるプログラムを作成しましょう.

    Character: F
    Upper case letter
    

    Character: k
    Lower case letter
    

    Character: ]
    Symbol
    

    解答例

  9. if - else 発展

    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
    

    解答例

  10. 各月の日数

    1から12までの整数を乱数で発生させて,その月の日数(閏年では無いときの)を 答えるプログラムを作成しましょう.

    Month:  2
    Days:  28
    

    Month:  4
    Days:  30
    

    Month: 10
    Days:  31
    

    月の表示が2桁分用意されていることに注意してください.右揃えになっていますね.

    教科書 p.61 の List 3-19 にある in 演算子を使うと文字数を少なく書けます.

    解答例

  11. 今回も Liverpool FC 対サンフレッチェ広島FCの夢の対決をシミュレートしましょう.0~3の範囲の整数を乱数により2つ発生させて,それぞれを両チームの得点とします.勝ち負け,もしくは,引き分けの表示を行うプログラムを作成しましょう.

    Liverpool 0 - 1 Sanfrecce 
    Winner: Sanfrecce Hiroshima FC
    

    引き分けの場合は2行目にDrawと表示させましょう.
    解答例

  12. うるう年判定

    うるう年の判定は if 文の例題としてよく使用されるものですので,ここでも試してみましょう.

    うるう年は以下のように規定されています.

    西暦年が4で割り切れる時,ただし,100で割り切れる年は除外する.しかし,400で割り切れる年はうるう年とする.

    1800以上2100以下の整数を乱数により1つ発生させそれを西暦年とするとき,その年がうるう年かどうか判定するプログラムを作成せよ.

    Year: 1820
    A leap year
    

    Year: 1999
    Not a leap year
    

    場合分けをしっかり考えてからプログラムしてください.
    解答例

  13. 位取り

    3桁の正の整数を乱数により一つ発生させます.また,0から9の範囲の整数を2個発生させ,最初の3桁の整数にあとから発生させた数字が含まれるかどうかを判定するプログラムを作成しましょう.

    Does 243 include 2 or 6?
    Yes
    

    Does 341 include 8 or 0?
    No
    

    数字の取り出しは除算と剰余算を組み合わせて行います.
    解答例


Back to text page