プログラミング入門II 演習課題 2024.06.19

Back to text page


  1. 前回の演習問題 i. のモジュール化

    前回の演習問題をまずはモジュール化してみましょう.

    アルファベット表示の本体解答例 モジュール

    exp x の本体解答例 モジュール(階乗) モジュール(再帰)

    sin x の本体解答例 モジュール(再帰)

  2. 前問の改良 from の活用
  3. 前問でモジュール化を行いましたが,関数を使用する際の名前がモジュール名.関数名になって面倒ですので,from を使って簡略化しましょう.

    アルファベット表示の本体解答例

    exp x の本体解答例 モジュール(再帰)

    sin x の本体解答例 モジュール(再帰)

  4. 過去問のモジュール化 その1
  5. 5月8日の演習問題の i. の反復処理の部分をモジュール化したプログラムを作りましょう.

    from make_score import *
    from initialize import *
    from calc_total import *
    from print_list import *
    from sort_score import *
    
    score = make_score()
    score = initialize(score)
    score = calc_total(score)
    print_list(score)
    sort_score(score)
    print_list(score)
    

        No.   Eng  Math  Phys Total
        1    98    51    75   224 
        2    95    94     2   191 
        3     7    99    99   205 
        4    27    20    70   117 
        5    74    99    62   235 
        6    85    91    34   210 
        7    90    21    25   136 
        8    12    75    13   100 
        9    41    72    91   204 
       10    52    21    55   128 
    
      No.   Eng  Math  Phys Total
        5    74    99    62   235 
        1    98    51    75   224 
        6    85    91    34   210 
        3     7    99    99   205 
        9    41    72    91   204 
        2    95    94     2   191 
        7    90    21    25   136 
       10    52    21    55   128 
        4    27    20    70   117 
    

    本体

    make_score モジュール

    initialize モジュール

    print_list モジュール

    sort_score モジュール

  6. 順列と組み合わせ その1 順列
  7. 乱数により10から20の整数と5から8の範囲の整数を1つずつ発生させ,それぞれ mn とするとき,順列 mPn を求めるプログラムを作成しましょう.

    Number of permutaion 17P5: 742560
    

    5P3 = 5 x 4 x 3 でしたね.なお,自分の計算があっているかどうかは math.perm(m, n) で確認できます.

    解答例

  8. 順列と組み合わせ その1 組み合わせ
  9. 24個の要素の中から任意の個数の組み合わせを選ぶ場合の数を以下のように計算して求めるプログラムを作成しましょう.

    Number of combination of 24Cn for n from 0 to 24
     0        1
     1       24
     2      276
     3     2024
     4    10626
     5    42504
     6   134596
     7   346104
     8   735471
     9  1307504
    10  1961256
    11  2496144
    12  2704156
    13  2496144
    14  1961256
    15  1307504
    16   735471
    17   346104
    18   134596
    19    42504
    20    10626
    21     2024
    22      276
    23       24
    24        1
    Total case: 16777216
    

    組み合わせの公式はどうでしたでしょうか?こちらも答え合わせは math.comb(m, n) でできます.

    解答例


Back to text page