プログラミング入門I 実習課題 2025.11.17

Back to text page


解答例は後日アップしますので,それまでお待ちください.

  1. 連続する数の表示
  2. 二桁の正の整数を乱数により2個発生させ,その間の整数を順に表示するプログラムを作成しましょう.

    Integers between 69 and 84
    70 71 72 73 74 75 76 77 78 79 80 81 82 83
    

    最初に値の入れ替えを行う可能性があります.
    手順
    
    2つの乱数発生
    小さい順にソート
    for 文の range 関数を2つの乱数にして作成
    数の表示の際には改行しない
    

    解答例1(値の入れ替えを使用)

    解答例2(sorted 関数使用)

  3. 平均値
  4. 例題 ii. を改造して,出てきた乱数の平均値(小数第1位まで表示)を求めるプログラムを作成しましょう.

    18 random numbers with 3 digits: 791 404 897 553 951 642 579 654 107 498 249 530 601 906 681 470 180 789
    The mean of above numbers: 582.3

    小数第1位までにするための f 文字列のやり方は,教科書 p.159 の List 6-17 を参考にしてください.
    手順
    
    範囲内の乱数発生
    和の値を入れておく変数を初期化
    for 文の開始
    数の表示の際には改行しない
    乱数を和に加算
    for 文終了時に改行
    和を最初の乱数で除して平均値を表示
    

    解答例

  5. 階乗計算
  6. 10 から 20 までの整数をどれか一つ乱数を用いて発生させ,その数の階乗を求めるプログラムを作成しましょう.

    The factorial of 16 is 20,922,789,888,000.
    

    類算代入演算子 *= を使います.
    手順
    
    乱数発生
    階乗の値を入れる変数の初期化
    for 文の開始
    変数に逐次 for 文内で定義した変数をかける
    結果の表示
    

    解答例

  7. 約数探索
  8. 5桁の正の整数を乱数により1個発生させ,その数の約数を全て表示するプログラムを作成しましょう.

    Divisors of 62898: 1 2 3 6 11 22 33 66 953 1906 2859 5718 10483 20966 31449 62898
    

    乱数を for 文内で定義した変数で割り切れたら(余りが0なら)約数ですね.

    解答例

  9. 文字の表示
  10. アルファベットの大文字か小文字をランダムに20文字表示させるプログラムを if 文を使用しないで作成しましょう.

    wjcSuNDVUxAkoPBowpSr
    

    大文字の文字コードは10進数で65から90まででした.大文字の文字コードに32を足すと,対応する小文字のコードになります.足すか足さないかも乱数です.

    解答例1 f文字列使用

    解答例2 chr 関数使用

  11. 位取り
  12. 10桁の正の整数を乱数により1つ発生させます.次にその数の各位の数字を取り出すプログラムを作成しましょう.

    Random number with 10 digits: 5057731731
    Each digit of above number: 5 0 5 7 7 3 1 7 3 1 
    

    例えば,4321を1000で割る( // 演算子)と 4 になるので,1000の位の数が出てきます.1000で割った余りにすると 321 になるので,今度はそれを 100 で割ると 3 が出てきます.要は割る数である10のべき乗数を順に小さくしていく処理を for 文で実行させます.

    解答例

  13. 最大値
  14. 2桁の正の整数を乱数により20個発生させ,その最大値を求めるプログラムを作成しましょう.

    30 53 36 13 64 75 77 33 57 94 96 70 87 76 72 53 23 62 91 42 
    The maximum number of above numbers: 96
    

    最大値を入れておく変数を1つ用意して,乱数を発生させる度に値の比較を毎回行います.

    解答例


Back to text page