プログラミング入門    情報科学演習 実習課題 2016.12.12

Back to text page


実習課題

  1. while ループ基本

    1桁の正の整数を乱数を用いて10回発生させて表示するプログラムを while 文を用いて作成しましょう.

    6 6 4 9 2 6 9 6 7 2
    

  2. 基本その2

    上のように1桁の乱数を発生させますが,発生した乱数の合計が100を超えたら終了するプログラムに変更しましょう.

     4 3 7 2 7 3 8 9 3 2 5 5 8 4 5 8 1 4 1 4 3 3 7
    Sum of above numbers: 106
    
    

  3. 引き算

    100から20以上30以下の範囲の乱数を順に引いていき,答えが負になったら終了するプログラム を while 文で作成しましょう.

    100 - 29 = 71
    71 - 22 = 49
    49 - 29 = 20
    20 - 23 = -3
    

  4. 前問のアレンジ

    前問のプログラムを改造して,引いていく数は1から20の範囲の整数とし,最後はちょうど0になるまで終わらないようにするものを while 文で作成しましょう.

    100 - 18 = 82
    82 - 19 = 63
    63 - 16 = 47
    47 - 16 = 31
    31 - 12 = 19
    19 - 9 = 10
    10 - 9 = 1
    1 - 10 = -9 NG
    1 - 2 = -1 NG
    1 - 1 = 0
    

  5. 2次元表示

    以下のように2次関数を表示するプログラムを while 文を用いて作成しましょう.

    ***************************
    ******************
    ***********
    ******
    ***
    **
    ***
    ******
    ***********
    ******************
    ***************************
    

  6. 素因数分解

    3桁の整数を乱数を用いて発生させて素因数分解を行なうプログラムを while 文を用いて作成しましょう.

    Decomposition of 960 into prime numbers
    2 2 2 2 2 2 3 5
    

  7. ペナルティーマークからのキック戦

    現在までに学習している知識で作成可能ではありますが,大変難しい課題を一つ出しておきます.興味ある人は挑戦してみてください.

    サッカーにおける「ペナルティーマークからのキック戦」をシミュレートするプログラムを作成しましょう.先攻と後攻がありますが,勝敗が決した時点で途中でも終わるのがルールですし,5人まで蹴って同点の場合はそこからサドンデスに移るのもルールです.とりあえずゴール成功率を7割くらいにして作成してみましょう.

    Liverpool FC - Sanfrecce HFC
               x - x 
               x - o 
               x - o 
               x
    
    Winner is Sanfrecce HFC!
    

    5回目までと6回目以降で処理を分ける必要があります.また,無限ループにしておいて break で抜ける処理を必要とします.

Back to text page