情報科学演習 実習課題 2013.01.07

Back to text page


実習課題

  1. 配列の基本

    2桁の乱数を5つ発生させて,それらを値に持つ配列を作成してから,値を順に表 示するプログラムを作成せよ.

    71 33 60 90 62
    

    配列の作成にも for ループを使用します.乱数を5回発生させるので, 5回繰り返すループを作ります.そのとき,例えば配列の名前を ary とすると,ary[i] に乱数を代入することで,配列の作成が出来ます.

    表示させるときも for 文を使用して下さい.
  2. 配列の基本2

    前問を改造して,逆順に表示する行を追加せよ.

    42 91 57 58 53
    53 58 57 91 42
    

  3. 配列の基本3

    前問を改造して,50以上の数だけを表示する行を追加せよ.

    26 70 39 15 64
       70       64
    

  4. 部分的な要素の和

    設問 i を改造して,要素の最後から何個かの和を取って表示するよう にせよ.和を取る個数は配列の要素の範囲内の2個以上とし,乱数を発生させて 決める.

    54 97 13 57 61
    Sum of last 3 elements: 131
    
    

  5. 要素の循環

    設問 i をさらに改造して,発生させる乱数の個数を10個とし,最後の 行は要素をずらして表示する.ずらす量は,やはり乱数により決めるものとし, 3から7の範囲の乱数を発生させてずらすようにせよ.

    97 38 59 42 71 57 72 94 10 56
    
    Shift array by 4 elements
    72 94 10 56 97 38 59 42 71 57
    

    循環させるためのポイントは剰余です.
  6. サイコロの目の出現頻度

    サイコロを100回振ることをシミュレートする.以下のように出現頻度を数えて 表示するプログラムを配列を用いて作成せよ.

      1  2  3  4  5  6
     11 20 15 20 16 18
    

    サイコロの目の出現回数を入れておく配列 dice を用意しておいて, 目に従って,dice[1] から dice[6] を1ずつ増やしていくこ とで,出現頻度の格納された配列が作成できます.ただし,配列は初期化してお かないといけないので,以下に示す初期化を行っておいてください.

        dice[7] = {0, 0, 0, 0, 0, 0, 0};
    


    なお,上の例で要素が7つ分用意されているのは,配列の要素の添字は0から始まるので,サイコロの目と合わせるために0番目を捨 てているためです.

    また,このプログラムの特徴は if 文を使用しないことです.それと, 表示作業にも for 文を使用しましょう.
  7. サイコロの目の出現割合

    前問を改造して,以下のように出現割合も表示するようにせよ.サイロを振る回数 を10000回に増やすとどうなるかも確認せよ.

        1     2     3     4     5     6
     1698  1647  1679  1666  1692  1618
    0.170 0.165 0.168 0.167 0.169 0.162
    


Back to text page