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

Back to text page


  1. 最大値

    教科書にも例がありますが,ここでは max() 関数を使用して,ランダムに発生させた10個の乱数の最大値を表示するプログラムを関数を利用して作りましょう.乱数は2桁の正の整数とします.

    58 12 85 86 30 15 78 89 27 69 
    Maximum number: 89
    

    引数にリストを与えるのは教科書 p.254 にあります.
    解答例

  2. 最大値と最小値

    今度は同じような乱数があるとき,最大値と最小値の両方を返すプログラムとしましょう.

    32 65 34 32 91 66 23 96 50 64 
    Maximum number: 96
    Minimum number: 23
    

    解答例1

    解答例2(複数の値返却)

  3. 等比数列

    初項と漸化式が以下で与えられる等比数列があるとき,第 n 項を答えるプログラムを再帰を利用して作成してみましょう.ここで,n は10から20までの整数を乱数により発生させるものとします.

    a1 = 2.5
    an = 1.5 an-1

    a_20 = 5542.0945501327515
    

    解答例

  4. 円周率の計算

    昨年度のプログラミング入門 I で行った円周率の計算のプログラムにおいて,素数を探す部分を関数にしたものに変更してみましょう.

        2: 2.8284271247461903
        3: 3.0
        5: 3.0618621784789726
        7: 3.0935921676911455
       11: 3.106455392270532
       13: 3.1156870779784582
       17: 3.1210915695996455
     
      以下,略
    

    やり方はいろいろあると思いますが,今回の解答例では素数であるかどうかを返す関数としてみました.
    解答例

  5. カプレカ数

    以前に行ったカプレカ数探索の関数版を作ってみましょう.3桁もしくは4桁の正の整数を乱数により発生させて,それぞれの桁数のカプレカ数を求めるプログラムを作成しましょう.なお,今回は数字の並べ替えの部分を関数にすることとしましょう.

    850 -  58 = 792
    972 - 279 = 693
    963 - 369 = 594
    954 - 459 = 495
    954 - 459 = 495
    
    
    
    7720 -  277 = 7443
    7443 - 3447 = 3996
    9963 - 3699 = 6264
    6642 - 2466 = 4176
    7641 - 1467 = 6174
    7641 - 1467 = 6174
    
    3桁の場合 4桁の場合

    いろんな関数やメソッドを使用して実現します.例えば,数字の並べ替えは一度文字列にすると sorted() が使えますが,また数値に戻すためには,join() や int() などの関数が必要です.

    f文字列で出力する場合に表示桁数を変数の値で指定する場合には,中括弧 { } で変数を囲んで実現できます.

    digit = 3
    num = 12
    
    print(f'{num:{digit}}')
    

    解答例

  6. 表示の関数化

    1から100までの整数をランダムに5個発生させて,それらのうちの偶数どうしと奇数どうしの組を表示するプログラムを作成しましょう.ペアを表示する部分を関数とするものと,ペアを探すことだけを関数とする方法がありますが,いずれにしても偶数用と奇数用の2つの関数にします.

    Numbers:  99  31  25  76  68 
    
    Even pairs: 76-68 
    Odd pairs: 99-31 99-25 31-25
    

    表示させる関数とする場合には戻り値はありません.また,今回は値の重複は気にしないこととします.
    解答例1(表示させる関数)

    解答例2(ペアを返す関数)


Back to text page