情報科学演習
2010.6.21

Back to index page



  1. 本日の作業内容

  2. 前回の課題について

    宿題に関してですが,依然として提出の不備が後を絶ちません.提出は慎重にお 願いします.内容に関しては,次にあげるような問題点が多く見られました.

    • 繰り返し回数

      繰り返し回数は,本田のゴールでしたので背番号18に対応して,18回でなければ ならないのに,そうなっていないものがかなり見られました.減点しています.

    • インデントについて

      字下げが適切でないものも非常に多く見られます. 教科書や解答例を見て理解してください.for 文や if 文が出てきたら,インデントを必ず行うのはもちろんですが,その際 に同じレベルの文を同じ幅の字下げで表すことと,閉じ括弧も開始位置の レベルに応じて揃えることも忘れないでください.

  3. 前回の復習

    for 文では変数の値が1ずつのように一定間隔で増加したり減少した りする要素を含む繰り返しを実現できます.まだまだ慣れていないので混 乱が見られますが,基本中の基本ですので,使えるようになりましょう.

  4. 反復処理

    教科書のp.37からp.41までの for 文を練習します.for 文 にはp.39にあるように特殊な表現も出てきます.たくさん使って慣れて覚えるよ うにしましょう.それにはたくさん演習を行うことです.

  5. 実習

    1. 剰余の活用 その1

      先週の実習iiiでは約数がたくさんある数が発生した場合,表示が横に長くて見づら いですね.5つずつで改行するようにしましょう.例えば,下記のように表 示されるものではどうすれば良いでしょうか?

      Obtained number: 774
      Divisors:    1   2   3   6   9
                  18  43  86 129 258
                 387 774
      

      解答例(31行)

    2. 剰余の活用 その2

      画面に次のように表示するプログラムを作りましょう.

       1
          2
             3
                4
       5
          6
             7
                8
       9
         10
            11
               12
      13
         14
            15
               16
      17
         18
            19
               20
      

      解答例(19行)

      別解(17行)

    3. 二重ループ

      for 文の中にまた for 文を入れることも可能です.以下の ように表示するプログラムを作ってみましょう.

        1
        1  2
        1  2  3
        1  2  3  4
        1  2  3  4  5
        1  2  3  4  5  6
        1  2  3  4  5  6  7
        1  2  3  4  5  6  7  8
        1  2  3  4  5  6  7  8  9
        1  2  3  4  5  6  7  8  9 10
        1  2  3  4  5  6  7  8  9 10 11
        1  2  3  4  5  6  7  8  9 10 11 12
        1  2  3  4  5  6  7  8  9 10 11 12 13
        1  2  3  4  5  6  7  8  9 10 11 12 13 14
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
      

      解答例(16行)

    4. 剰余の活用 その3 素数探索 (2重ループの活用その2)

      100までの整数の内の素数を探すプログラムを作りましょう.結果表示は下記の ように単純で構いません.

      Prime numbers under 100
      1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
      

      解答例(23行)

    5. カレンダー (剰余の活用その4)

      以下に示すように6月のカレンダーを表示させてみましょう.

      Su Mo Tu We Th Fr Sa
             1  2  3  4  5
       6  7  8  9 10 11 12
      13 14 15 16 17 18 19
      20 21 22 23 24 25 26
      27 28 29 30
      

      解答例(20行)

    6. PK戦

      オランダ対日本の仮想PK戦をつくりましょう.一応,オランダに敬意を表して, オランダのPKが入る確率を90%,日本を70%にしてみましょう.また,勝敗の決定 に関しては6人目以降のサドンデスは無しにして,5本目までとします.(決着が 付かなかった場合には Draw とだけ表示) 残りのキッ クを蹴っても勝ちが無くなった段階でPK戦は終了するのがサッカーのルールです.

      「PK戦」と言うとき,正式には「ペナルティーマークからのキック戦」と言い, 「ペナルティーキック合戦」というのは正式名称ではありませんので注意してくだ さい.(って,どうでもいいか)

      NDL JPN
       o   o
       o   x
       o   x
       o
      
      The winner is the Netherlands.
      

      解答例(61行)

  6. 宿題

    授業の最後に宿題の案内をしますので,注意していて下さい.なお,前回から適 切なインデント(字下げ)や空行の入っていない解答は減点していますので,注意して ください.基本的には教科書や解答例などにあるように,タブや空行を使用してブロッ クごとの区別がつきやすいように字の先頭位置を揃えてください.


目次ページに戻る