情報領域演習第一:P演習

電気通信大学情報理工学域I類 (情報系)
2023年度後学期


[一覧に戻る]


課題F0

これは,C言語に関する課題の進め方を理解するためのものである.

各課題には「問題」,「入力仕様」,「出力仕様」,「例」,「提出法」が書いてある.場合によっては「ヒント」も書いてある.例えば,「問題」は次のように与えられる.

問題

2つの整数 a, b を入力として,その和 a+b を出力するCプログラムを作成せよ.
この問題の場合,「入力仕様」は与えられる整数 a と b がどのような整数なのか定める.この仕様を満たさない入力は与えられないと仮定してよい.(つまり,仕様を満たさない入力が与えられたときに何をするのかは考えなくてよい.)

入力仕様

一方,「出力仕様」は作成するプログラムが出力するものの形式を定める.

出力仕様

「例」はターミナルで実行した際の様子を示す.

作成したプログラムのファイル名をf0.cとしたときの実行例
% gcc f0.c
% ./a.out 2 5
7
% ./a.out -20 15
-5
提出法については最後に説明する.

進め方

  1. まず,Emacsなどのエディタを使ってプログラムを作成する.例えば,f0.cというファイル名で,次の内容を持つファイルを作成する.Emacsを起動するためには,ターミナルで,「emacs &」と入力すればよい.
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[]) {
      int a = atoi(argv[1]);
      int b = atoi(argv[2]);
      printf("%d\n", a+b);
      return 0;
    }
    
  2. プログラムを作成したら,「例」通りにプログラムが動くのか試す.ターミナル上でコンパイルして,プログラムを実行してみよ.
    % gcc f0.c
    % ./a.out 2 5
    7
    % ./a.out -20 15
    -5
    
    「例」に書かれているものだけではなく,自分で考えた例についても実行して,正しく動いていそうか確認するとよい.
  3. 例通りに動いていることを確認したら,チェッカを動かして,本当によいか確認する.チェッカの動かし方は「提出法」に書いてある.

    提出法

    CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
    % ~ta001026/enshu1p/checker_f0.rb ファイル名
    
    例えば,f0.cというファイルを作成したならば,次のコマンドを実行する.
    % ~ta001026/enshu1p/checker_f0.rb f0.c
    
    「Submission successfully completed.」と表示されれば,提出が完了したことになる. それ以外の表示がされている場合は,プログラムにおかしなところ (バグ) があるか,入力したコマンドが間違っている.確認して,提出完了となるまで試してみよ.分からない場合は,教員かTAに質問をせよ.

    なお,チェッカではCED上で提出されるプログラムをコンパイルし,実行する.どの課題においても,コンパイルは「gcc -Wall -std=c99 -lm」というコマンドとオプションで行われる.


[一覧に戻る]