プログラミング入門I 実習課題 2018.12.17

Back to text page


実習課題

  1. 約数探索

    2桁の正の整数を一つ乱数を用いて発生させ,その数の約数を全て表示するプログラムを作成せよ.

    Number: 78
    Divisors : 1 2 3 6 13 26 39 78 
    

    解答例

  2. カウンタ

    2桁の正の整数を乱数により10個発生させて,51以上の数が発生した場合には数字の後に * をつけ,発生回数を表示するプログラムを作成せよ.

     25 29 26 93* 21 78* 53* 99* 67* 16
    Frequency of numbers larger than 50: 5
    

    インクリメント演算子 ++ if を使用して,条件に合う度 にあらかじめ用意しておいたカウンタ変数の値を1ずつ増やします.

    解答例

  3. 乱数の精度

    100以下の正の整数を乱数を用いて100個発生させ,偶数が出た確率を表示するプログラムを作成せよ.

    60 25 29 9 28 98 48 25 57 84 26 74 65 13 29 60 40 84 26 57 71 81 74 28 99 74 26 13 45 17 30 56 41 59 16 68 8 63 92 16 98 70 89 62 82 70 21 73 53 98 30 75 30 3 54 29 76 31 41 72 48 22 79 88 80 94 8 40 8 51 55 5 72 96 18 5 17 90 78 69 87 59 96 69 61 1 97 88 32 37 11 31 58 41 70 90 34 29 29 93 
    
    Percentage of even numbers: 53.0 %
    

    解答例

  4. 約数の個数

    設問 i. のプログラムを改造して,最後に約数の個数も表示するプログラムとせよ.

    Number: 81
    Divisors : 1 3 9 27 81 
    Number of divisors: 5
    

    解答例

  5. 前問の応用

    2〜20までの整数を乱数により1つ発生させ,約数の個数の観点からそれが素数かどうかを判別するプログラムを作成せよ.素数の場合のみ, A prime number と表示するものとする.

    Number: 7
    A prime number
    

    解答例

  6. 条件式2の工夫

    サイコロを6が10回出るまで振りつづけるプログラムを作成せよ.ただし,ここでは break を使わないものとする.

    1 5 3 3 4 6 4 5 3 5 5 6 4 5 3 5 5 6 5 3 6 1 4 4 1 2 4 1 4 3 3 5 2 5 5 5 2 6 1 4 4 4 2 5 2 4 4 4 1 6 5 1 4 2 4 2 1 5 2 5 1 4 1 6 6 3 2 2 2 3 3 3 6 4 1 5 6
    

    ループを回す回数は決まっていないので,for 文の式1と式3の部分は記述できないことになります.よって,

    	for( ; hoge; )
    


    のように hoge のところを工夫することになります.カウンタで数えた変数を使用して考えましょう.

    解答例

  7. 条件式2の工夫その2

    サイコロを同じ目が3回続けて出るまで振りつづけるプログラムを作成せよ.ここでも break は使わないものとする.

    3 4 2 4 4 6 6 1 3 2 6 2 4 4 3 4 6 4 4 6 1 5 5 1 2 1 5 6 2 3 5 4 1 4 1 2 3 5 2 6 4 1 1 5 3 2 2 2
    

    ポイントはカウンタ変数のリセットです.

    解答例


Back to text page