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

Back to text page


実習課題

  1. 2重ループの基本

    以下のように表示するプログラムを作成しましょう.

    ( 1, 1) ( 1, 2) ( 1, 3) ( 1, 4) ( 1, 5) ( 1, 6) ( 1, 7) ( 1, 8) ( 1, 9) ( 1,10)
    ( 2, 1) ( 2, 2) ( 2, 3) ( 2, 4) ( 2, 5) ( 2, 6) ( 2, 7) ( 2, 8) ( 2, 9) ( 2,10)
    ( 3, 1) ( 3, 2) ( 3, 3) ( 3, 4) ( 3, 5) ( 3, 6) ( 3, 7) ( 3, 8) ( 3, 9) ( 3,10)
    ( 4, 1) ( 4, 2) ( 4, 3) ( 4, 4) ( 4, 5) ( 4, 6) ( 4, 7) ( 4, 8) ( 4, 9) ( 4,10)
    ( 5, 1) ( 5, 2) ( 5, 3) ( 5, 4) ( 5, 5) ( 5, 6) ( 5, 7) ( 5, 8) ( 5, 9) ( 5,10)
    ( 6, 1) ( 6, 2) ( 6, 3) ( 6, 4) ( 6, 5) ( 6, 6) ( 6, 7) ( 6, 8) ( 6, 9) ( 6,10)
    ( 7, 1) ( 7, 2) ( 7, 3) ( 7, 4) ( 7, 5) ( 7, 6) ( 7, 7) ( 7, 8) ( 7, 9) ( 7,10)
    ( 8, 1) ( 8, 2) ( 8, 3) ( 8, 4) ( 8, 5) ( 8, 6) ( 8, 7) ( 8, 8) ( 8, 9) ( 8,10)
    ( 9, 1) ( 9, 2) ( 9, 3) ( 9, 4) ( 9, 5) ( 9, 6) ( 9, 7) ( 9, 8) ( 9, 9) ( 9,10)
    (10, 1) (10, 2) (10, 3) (10, 4) (10, 5) (10, 6) (10, 7) (10, 8) (10, 9) (10,10)
    

  2. 2重ループの基本その2

    以下のように表示するように変えましょう.

    ( 1, 1)
    ( 2, 1) ( 2, 2)
    ( 3, 1) ( 3, 2) ( 3, 3)
    ( 4, 1) ( 4, 2) ( 4, 3) ( 4, 4)
    ( 5, 1) ( 5, 2) ( 5, 3) ( 5, 4) ( 5, 5)
    ( 6, 1) ( 6, 2) ( 6, 3) ( 6, 4) ( 6, 5) ( 6, 6)
    ( 7, 1) ( 7, 2) ( 7, 3) ( 7, 4) ( 7, 5) ( 7, 6) ( 7, 7)
    ( 8, 1) ( 8, 2) ( 8, 3) ( 8, 4) ( 8, 5) ( 8, 6) ( 8, 7) ( 8, 8)
    ( 9, 1) ( 9, 2) ( 9, 3) ( 9, 4) ( 9, 5) ( 9, 6) ( 9, 7) ( 9, 8) ( 9, 9)
    (10, 1) (10, 2) (10, 3) (10, 4) (10, 5) (10, 6) (10, 7) (10, 8) (10, 9) (10,10)
    

    内側の for 文の式2がポイントです.
  3. 2重ループの基本その3

    これではいかがでしょう?

    ( 1, 1) ( 1, 2) ( 1, 3) ( 1, 4) ( 1, 5) ( 1, 6) ( 1, 7) ( 1, 8) ( 1, 9) ( 1,10)
            ( 2, 2) ( 2, 3) ( 2, 4) ( 2, 5) ( 2, 6) ( 2, 7) ( 2, 8) ( 2, 9) ( 2,10)
                    ( 3, 3) ( 3, 4) ( 3, 5) ( 3, 6) ( 3, 7) ( 3, 8) ( 3, 9) ( 3,10)
                            ( 4, 4) ( 4, 5) ( 4, 6) ( 4, 7) ( 4, 8) ( 4, 9) ( 4,10)
                                    ( 5, 5) ( 5, 6) ( 5, 7) ( 5, 8) ( 5, 9) ( 5,10)
                                            ( 6, 6) ( 6, 7) ( 6, 8) ( 6, 9) ( 6,10)
                                                    ( 7, 7) ( 7, 8) ( 7, 9) ( 7,10)
                                                            ( 8, 8) ( 8, 9) ( 8,10)
                                                                    ( 9, 9) ( 9,10)
                                                                            (10,10)
    

    内側の for 文が2つになります.
    解答例

  4. 2重ループと乱数の組み合わせ

    1から9までの整数を乱数により10回発生させ,以下のようにその数値に相当する位置に * を表示するプログラムを作成しましょう.

       1 2 3 4 5 6 7 8 9
    1: *
    9:                 *
    4:       *
    7:             *
    5:         *
    5:         *
    6:           *
    1: *
    5:         *
    3:     *
    

    解答例

  5. 完全数

    自分自身を除く約数の総和が自分自身と一致する数を「完全数」といい,6や28が該当します.では,3桁の完全数を探すプログラムを作成してみましょう.さらに4桁ではどうでしょうか?

    自分自身を除く,というのが,当然ですが大事です.
  6. 素数探索2

    3桁の正の整数を乱数により発生させ,その数未満の最大の素数とその数より大きい最小の素数を探すプログラムを作成しましょう.

    Random number: 537
    Maximum prime number below 537: 523
    Minimum prime number above 537: 541
    

    break を使わない方法で考えてみましょう.
  7. 2次元座標上へのプロット

    1から5の範囲の整数を2つ乱数により発生させ,それらを xy 座標とする.その座標を以下のように表示するプログラムを作成せよ.

    (2, 4)
    
    5|           
    4|   *       
    3|           
    2|           
    1|           
    0----------
     0 1 2 3 4 5
    


Back to text page