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

Back to text page


基本的な知識だけでプログラムは組めるのですが,処理を実際に組み立てるのは相当考える必要があります.そのため,適宜フローチャートをお見せすることにします.

  1. 2次元リストの並べ替え
  2. 英語,数学,物理のテストの点数を乱数を用いて1から100の範囲の整数で発生させますが,それを10人分用意して表示します.次に,合計点の高い順に並べ替えて表示するプログラムを作成しましょう.

      No.   Eng  Math  Phys Total
        1     2    44    81   127
        2    41    50    12   103
        3    98    62    14   174
        4    35    98    16   149
        5    27    57    32   116
        6    74    99    37   210
        7    94    43    78   215
        8    59    44    42   145
        9    28    20    58   106
       10    75    40     1   116
    
      No.   Eng  Math  Phys Total
        7    94    43    78   215 
        6    74    99    37   210 
        3    98    62    14   174 
        4    35    98    16   149 
        8    59    44    42   145 
        1     2    44    81   127 
        5    27    57    32   116 
       10    75    40     1   116 
        9    28    20    58   106 
        2    41    50    12   103
    

    フローチャート

    解答例

  3. ピーマン袋詰め選別
  4. スーパーなどで袋詰めされたピーマンを見たことがあると思います.大体4個くらい入っているのが通常ですが,そこに詰められているピーマンの合計の重量はほとんど同じになっています.それを実現しているのは,いくつか機種によって違いはありますが,基本的には12個をランダムに取り出して,その中から合計が指定された重量になる4個を選び出して抜き取り袋詰めをし,空いたところにまたピーマンを入れてという作業を繰り返して,同じ重量の袋を次々に作っています.

    上記の操作をシミュレートするプログラムを作成してみましょう.40から60の整数を乱数により12個発生させ,その中の4個の合計が200になる組み合わせを選ぶことを行うプログラムを作りましょう.

    Weight of 12 green peppers: 44 43 43 51 55 47 45 56 56 43 57 46
    Selected: 44 43 56 57 ==> 200g
    

    フローチャート

    解答例

  5. 松江市の気温
  6. 気象庁が公表している2024年の日ごとの気温データを使用して,昨年の最高気温と最低気温について調べるプログラムを作成しましょう.

    ちょっと量が多いので,以下に示すリストをあらかじめ用意しておきましたので,それを使用します.

    temp_data = [[10.9, 13.7, 10.7, 11.6, 15.2, 12.8, 8.3, 6.7, 11.4, 7.6, 10.7, 11.1, 9.1, 11.2, 9.6, 8.3, 12.7, 13.0, 9.7, 9.4, 9.8, 10.6, 3.3, 1.8, 2.6, 4.8, 8.1, 6.8, 9.6, 11.9, 10.5], [3.7, 0.7, 6.6, 3.3, 1.5, 7.4, 1.0, 1.2, 1.7, 4.3, 1.4, 6.7, 2.5, -1.9, 4.2, -0.7, -2.7, 6.8, 8.1, 8.2, 5.5, 3.1, -2.4, -2.4, -0.3, 0.7, 0.9, 1.7, 0.9, 2.2, 2.4], [8.6, 7.8, 7.8, 10.3, 7.6, 8.3, 6.9, 8.0, 11.2, 10.8, 6.8, 12.2, 15.1, 20.6, 21.2, 8.8, 12.8, 20.1, 20.1, 15.2, 8.9, 7.8, 6.6, 8.0, 9.9, 9.5, 8.8, 10.2], [3.4, 2.9, 4.7, 4.3, 4.2, 3.5, 3.0, 3.2, 3.0, 3.6, 1.9, 1.6, -0.4, 7.0, 6.3, 2.9, -0.9, 0.5, 9.8, 8.0, 7.2, 5.6, 3.6, 3.7, 3.5, 4.7, 4.4, 4.4], [11.4, 6.0, 10.9, 14.2, 7.6, 9.9, 10.1, 10.1, 6.3, 11.0, 15.7, 10.7, 12.9, 16.7, 16.8, 20.5, 17.4, 10.9, 13.7, 9.9, 7.6, 12.2, 17.3, 11.9, 12.0, 10.1, 13.9, 18.6, 19.0, 20.2, 17.1], [1.9, 0.2, 1.4, 4.4, 5.6, 6.8, 5.4, 4.5, 1.7, -1.5, 1.1, 6.2, 4.7, 3.0, 3.9, 6.4, 8.9, 3.7, 2.9, 1.7, 0.8, 0.0, 8.0, 9.7, 9.9, 5.3, 2.7, 5.4, 12.4, 12.5, 10.9], [18.2, 23.3, 15.6, 15.9, 14.4, 19.7, 23.2, 21.1, 14.3, 14.4, 23.0, 23.1, 23.6, 26.9, 25.9, 25.1, 23.9, 20.0, 24.5, 23.0, 17.0, 16.4, 17.9, 17.1, 22.5, 26.2, 25.8, 25.7, 22.6, 18.5], [7.2, 6.0, 13.0, 10.5, 8.4, 5.8, 8.7, 10.3, 7.7, 3.6, 6.2, 10.5, 9.6, 10.2, 13.0, 15.9, 12.6, 11.3, 9.6, 12.1, 14.0, 13.8, 13.8, 13.9, 11.7, 11.5, 15.2, 13.0, 15.8, 15.3], [16.3, 18.7, 24.7, 27.4, 30.4, 27.7, 20.7, 14.7, 19.2, 25.7, 28.7, 22.6, 20.6, 21.2, 26.7, 18.2, 23.5, 27.6, 24.0, 26.1, 21.2, 22.3, 29.0, 26.0, 22.0, 31.5, 27.0, 20.4, 23.8, 27.3, 22.7], [11.8, 11.6, 8.7, 11.2, 13.0, 16.2, 13.6, 9.9, 8.0, 8.8, 12.6, 15.5, 10.6, 8.1, 11.0, 12.2, 12.3, 10.8, 14.0, 14.9, 15.3, 15.6, 16.5, 16.9, 14.8, 14.1, 20.1, 14.5, 13.9, 12.3, 15.9], [27.1, 23.1, 22.9, 22.2, 23.6, 25.1, 28.1, 29.9, 23.2, 27.8, 29.6, 31.4, 31.2, 32.0, 32.7, 28.6, 27.9, 27.7, 32.7, 29.3, 30.8, 29.9, 25.4, 29.7, 26.7, 28.1, 26.4, 23.9, 29.3, 31.1], [14.2, 15.0, 15.2, 15.9, 14.8, 16.0, 17.3, 17.2, 18.7, 18.4, 18.9, 18.9, 19.9, 20.0, 21.2, 21.4, 19.7, 18.6, 18.8, 21.2, 21.0, 22.6, 23.5, 23.8, 22.0, 21.1, 19.6, 21.1, 20.3, 23.8], [28.9, 28.9, 33.8, 29.6, 32.3, 31.2, 32.5, 31.3, 29.4, 30.3, 25.5, 27.8, 31.2, 25.7, 25.9, 28.4, 30.5, 33.3, 31.7, 32.1, 34.2, 33.1, 34.5, 32.7, 35.0, 37.2, 35.6, 33.6, 32.8, 32.1, 33.4], [24.6, 23.9, 24.0, 25.3, 23.9, 25.8, 25.6, 26.8, 23.1, 22.4, 22.4, 22.6, 22.2, 23.0, 22.5, 23.1, 24.6, 23.6, 25.5, 25.3, 25.0, 27.1, 26.5, 23.8, 25.9, 26.2, 26.1, 26.6, 27.2, 27.4, 27.2], [34.1, 34.2, 34.5, 34.6, 32.8, 32.9, 32.7, 33.9, 33.6, 32.3, 33.3, 33.2, 33.4, 33.5, 32.8, 31.9, 31.9, 33.4, 34.6, 36.1, 36.6, 38.2, 37.4, 36.0, 32.2, 35.7, 35.6, 31.4, 27.5, 31.4, 32.0], [26.1, 25.5, 27.0, 27.7, 25.8, 26.9, 25.5, 23.9, 26.3, 25.1, 23.8, 25.0, 26.6, 26.0, 27.4, 26.0, 24.5, 23.9, 26.0, 26.4, 26.1, 26.5, 28.6, 26.6, 24.7, 24.0, 25.6, 25.6, 24.7, 24.4, 24.6], [31.3, 32.5, 30.7, 30.6, 32.0, 33.2, 33.5, 32.8, 31.2, 35.8, 33.5, 34.2, 33.7, 35.1, 33.1, 32.4, 33.5, 34.6, 35.2, 35.2, 29.5, 26.0, 26.6, 27.8, 29.3, 29.1, 29.1, 27.4, 27.5, 27.8], [23.1, 22.3, 24.0, 22.7, 22.4, 21.6, 24.6, 25.0, 25.6, 24.8, 25.6, 25.4, 25.8, 24.7, 26.7, 26.4, 26.6, 26.2, 25.8, 25.8, 24.5, 22.2, 19.8, 18.6, 20.6, 21.0, 22.4, 23.3, 20.9, 20.9], [28.7, 22.3, 21.6, 22.8, 24.1, 26.2, 21.0, 20.4, 23.8, 24.1, 23.6, 24.2, 24.9, 28.2, 28.1, 25.8, 25.7, 29.0, 26.7, 19.5, 22.2, 21.5, 23.3, 22.3, 22.3, 22.4, 22.6, 17.9, 20.4, 22.4, 20.5], [20.5, 16.5, 18.0, 17.1, 16.2, 16.9, 18.1, 17.2, 16.8, 14.6, 13.3, 13.5, 14.2, 16.3, 19.9, 20.4, 20.0, 19.3, 13.0, 14.2, 13.0, 18.3, 15.8, 14.2, 13.8, 14.8, 15.4, 15.3, 14.4, 13.7, 12.2], [18.1, 19.7, 21.3, 22.7, 18.9, 16.4, 15.5, 17.2, 19.3, 18.7, 21.1, 20.9, 19.0, 18.8, 19.2, 20.6, 18.9, 13.3, 11.6, 15.9, 17.6, 16.9, 12.6, 13.1, 14.7, 17.8, 12.3, 12.1, 12.1, 12.6], [13.4, 17.8, 11.8, 9.9, 14.7, 10.7, 9.4, 7.3, 8.5, 10.5, 11.6, 9.1, 11.4, 8.3, 14.3, 13.7, 12.5, 8.7, 6.9, 4.7, 8.0, 8.2, 7.2, 5.6, 4.5, 7.3, 7.2, 6.1, 6.3, 7.7], [14.3, 17.8, 15.9, 13.0, 12.0, 12.7, 10.7, 9.3, 9.3, 13.2, 13.0, 10.0, 11.5, 7.7, 8.9, 8.7, 9.3, 10.3, 8.1, 8.8, 7.5, 8.0, 9.8, 12.0, 11.9, 10.4, 8.4, 6.3, 7.7, 9.0, 11.1], [7.5, 6.1, 8.1, 7.1, 8.1, 7.9, 7.6, 3.8, 4.3, 4.1, 5.0, 4.7, 4.7, 2.0, 4.8, 6.1, 4.4, 2.6, 0.8, -0.2, 4.8, 3.0, 3.2, 4.8, 1.3, 6.9, 5.5, 2.2, 2.9, 2.1, 3.6]]
    
    month = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
    

    最高気温と最低気温を記録した日と併せて以下のように表示することとします.

    The highest temperature: August 22, 38.2 degree Celsius
    The lowest temperature:  January 17, -2.7 degree Celsius
    

    リストの構成ですが,内側に24個のリストがあり,先頭から1月の最高気温,1月の最低気温,2月の最高気温,という並びになっていて,最後は12月の最低気温です.

    内側のリストのデータ数は月によって当然変わっていますので,そこにも注意してください.
    解答例


Back to text page