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

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


[一覧に戻る]


課題F0

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

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

問題

問題:2つの整数a, bを入力として,その和 a+b を出力するCプログラムを作成せよ.
この問題の場合,「入力仕様」は与えられる整数 a と b がどのような整数なのか定める.この仕様を満たさない入力は与えられないと仮定してよい.(つまり,仕様を満たさない入力が与えられたときに何をするのかは考えなくてよい.) ここで,「標準入力から与えられる」という部分は「scanfを用いて読み込む」ということだと思えばよい. (標準入力というものが何であるのか,ということは,講義『オペレーティングシステム論』で扱うべき内容である.)

入力仕様

一方,「出力仕様」は作成するプログラムが出力するものの形式を定める. ここで,「標準出力に行う」というのは,「printfを用いて行う」ということだと思えばよい. (標準出力というものが何であるのか,ということは,講義『オペレーティングシステム論』で扱うべき内容である.)

出力仕様

「例」は入力と出力の対応を示している.

入力   => 出力
2 5    => 7
-20 15 => -5
提出法については最後に説明する.

進め方

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

    提出法

    CED (CentOS) にて,プログラムを作成したディレクトリで以下を実行せよ.
    % ~oa000833/enshu1p/checker_f0.rb ソースファイル名
    
    例えば,f0.cというファイルを作成したならば,次のコマンドを実行する.
    % ~oa000833/enshu1p/checker_f0.rb f0.c
    
    ここで「%」はコマンドプロンプトを意味するので,入力してはならない.

    「Submission successfully completed.」と表示されれば,提出が完了したことになる. それ以外の表示がされている場合は,プログラムにおかしなところ (バグ) があるか,入力したコマンドが間違っている.確認して,提出完了となるまで試してみよ.分からない場合は,教員かTAに質問をせよ.


[一覧に戻る]


[Teaching Top] [Top]
okamotoy@uec.ac.jp