[サイトマップ] [トップページ]

トップページ > 授業のページ > コンピュータプログラミングII >
プログラミング課題


更新日
5/8 Fri 22:25 第4回プログラミング課題は Google Classroom に掲載しています。
4/24 Fri 02:32

第3回課題

  1. [pe3-1.c] (必須) 2つのサイコロ振りをシミュレートして,出た目の和,および,それが偶数か奇数かを表示するプログラムを作りなさい。 プログラムは,出目の和が例えば 6 ならば
    6: Cho (Even)
    7 ならば
    7: Han (Odd)
    と表示するように作成する。

    プログラムではサイコロ振りを行う関数 roll_dice を定義すること。 roll_dice は 2 つのサイコロ振りを乱数でシミュレートし,合計を返すように定義する。

    関数 main では,関数 roll_dice を呼び出し,戻り値が 2 で割り切れるかどうかによって, サイコロの出目の和が偶数か奇数かを判定させること。

  2. (必須) 課題 1 のプログラムを次の三つのファイルに分割し,コンパイルして実行しなさい。
    • 関数 main の定義: pe3-2.c
    • 関数 roll_dice の定義: pe3-2-sub.c
    • 関数 roll_dice のプロトタイプ宣言(ヘッダファイル): pe3-2.h

  3. [pea3-1.c] 2つのサイコロの出目の和をユーザーが当てるゲームを作りなさい。

    プログラムは最初にサイコロを振る。 ユーザーは,サイコロの出目の和と等しくなるまで,キーボードから数の入力を繰り返す。 プログラムは,数が入力される度に,それがサイコロの出目より大きいか,小さいかを表示する。

    プログラムの動作は,例えば次のようになる。Input number に続く数がユーザーの入力である。

    Input number: 7
    Larger
    Input number: 5
    Smaller
    Input number: 6
    Hit! Dice 6, Count 3
    

    この問題では,前の問題で作成したファイル pe3-2-sub.c と pe3-2.h をそのまま使い,関数 main の入ったソースファイルのみを作成すること。



4/17 Fri 02:10

第2回課題

  1. [pe2-1.c](必須)変数 n に正の整数を読み込んで 1 + 2 + ... + n を求めて表示するプログラムを作りなさい。ただし,計算は関数 calc_sum を定義して使うこと。

    calc_sum は,引数として int 型の値を一つ受け取り,計算結果を int 型で返す関数として定義すること。

    計算は関数 calc_sum が行い,関数 main の本体では計算を行わないようにすること。 すなわち, 関数 main は,キーボードから変数 n に値を読み込み,関数 calc_sum の呼び出しによって計算結果を得て,その結果を表示するように作ること。

  2. [pe2-2.c] (必須) リスト 1.2 の関数 printline を,一行に表示する * の個数をパラメータを通じて受け取る関数に変更しなさい。 この printline を,関数 main から呼び出すことによって,キーボードから入力された個数の * を描くプログラムを作りなさい。

    さらに,関数 main の本体に適当な反復の構造を導入することによって, このプログラムを,キーボードから入力された整数値を一辺とする正方形を * を使って描くプログラムにしなさい。

    例えばキーボードから 3 を入力したときに,このプログラムは画面に次の出力をする。

    ***
    ***
    ***
    

  3. [pea2-1.c] 三つの実数を受け取って,それらを三辺の長さとする三角形が成立する かどうかを判定する 関数 istriangle を作りなさい。 istriangle は,三角形が成立するならば整数 1(真)を,成立しないならば 0(偽)を返すこととする。

    この関数を用いて, キーボードから読み込んだ 3 つの実数を三辺とする三角形が成立するかどうかに応じて, triangle あるいは non-triangle と表示するプログラムを作りなさい。

    ヒント: 三辺の長さを a, b, c とすると, a + b > c, b + c > a, c + a > b条件をすべて満たすならば,三辺は三角形を構成する



4/10 Fri 03:23

第1回課題

  1. [pe1-1.c](必須) 変数 a と b に標準入力(キーボード)から値を読み込み, それらの値を一度出力した後で,変数 ab に a と b の積を代入し,「? x ? = ?」(数の表示は小数点以下第2位まで)の形で結果を出力するプログラムの空白部分 (a) から (e) を埋めなさい。

    (変数,四則演算,scanf と printf による入出力)

    /* pe1-1.c: multiplication program */
    #include <stdio.h>
    
    int main()
    {
        double a, b, ab;
    
        scanf("%lf%lf", [(a)    ]);
        printf("a: %f\n", [(b)  ]);
        printf("b: %f\n", [(c)  ]);
    
        [(d)      ];
        [(e)                     ];
    
        return 0;
    }
    

  2. [pe1-2.c](必須)変数 n に正の整数を読み込んで 1 + 2 + ... + n を求めるプログラムの空白部分 (a) から (e) を埋めなさい。 なお,このプログラムは n までの和を求める途中の過程も表示する。

    (反復構造,合計を求めるアルゴリズム)

    /* pe1-2.c: summation program */
    #include <stdio.h>
    
    int main()
    {
        [(a) ]  i, n, sum;
    
        printf("Enter integer.\n");
        scanf([(b)        ]);
    
        sum = [(c) ];
        for (i = 1; [(d)         ]) {
            sum += [(e)  ]
            printf("%d\t%d\n", i, sum);
        }
    
        return 0;
    }
    

  3. [pea1-1.c] 変数 n に正の整数を読み込んで 1 + 1/2 + ... + 1/n を求めるプログラムを作りなさい。

    (データ型)





[サイトマップ] [トップページ]