情報科学演習
2011.10.31

Back to index page



  1. 本日の作業内容

  2. 課題の提出について

    相変わらず件名や添付ファイル名の間違い,解答用紙の不使用が多く見られます. 注意してください.

    以下は問題のあるプログラムの例です.

            #include <stdio.h>
            #include <stdlib.h>
            #include <time.h>
    
            main()
            {
    
            srand((unsigned) time(NULL));
    
            int a, b, c, d;
    
            a = rand() % 10 + 81;
            b = rand() % 10 + 11;
            c = a / b;
            d = a % b;
    
            printf("My student number: s114099\n");
            printf("Quotient of %d divided by %d   %d\n", a, b, c);
            printf("Residue of %d divided by %d   %d\n", a, b, d);
    
            printf("-------------------------------------\n");
    
            return(0);
            }
    

    インデントがおかしいですね.また,printf の中で桁数指定をしてい ないので,問題のように答えが右揃えにならない場合があります.

    main()
    {
            srand((unsigned) time(NULL));
            int a, b, c, d, e, f;
            a = rand() % 10 + 81;
            b = rand() % 10 + 11;
            c = a / b;
            d = a % b;
            e = a;
            f = b;
    
            printf("My student number: s114099\n");
    
            printf("Quotient of %d divided by %d:    %d\n",a, b, c);
            printf("Residue of %d divided by %d:    %d\n",e, f, d);
    
            return(0);
    }
    

    この解答も右揃えになっていませんが,それ以外に不要な変数 e f が定義されています.無駄は省きましょう.

  3. 前回の復習

    1. 乱数

      乱数の自在な利用法について実習しましたが,理解できていない人も多く見られ ました.とにかく,以下のことを覚えるだけですので,慣れてください.

    2. 代入

      四則演算を始めとして,ある値をそれ以後も使用したいときには,値を変数に入 れておく必要があります.その作業が代入です.等号の記号により,等号演算子 の右側の値が左側の変数に入ります.

    3. 四則演算

      四則演算について学習しました.プログラミング言語では剰余が重要ということ を説明しましたが,今後も頻繁に使用するので注意してください.

    4. printf の使い方

      教科書の例題2.6や2.7に出てくる printf の複数行にわたる表現です が,この授業では使用しないようにしましょう.動作の理解が進みにくい表現で あるとともに,今後全角スペースの誤使用などの問題が出ることも予想されます ので,以下のように1行ずつ printf を使用するようにしましょう.

      	    printf("Various operation of 11 and 3\n");
      	    printf("Sum = %d\n", c);
      	    printf("Difference = %d\n", d);
      	    printf("Product = %d\n", e);
      	    printf("Quotient = %d\n", f);
      	    printf("Residue = %d\n", g);
      

    5. ファイル名の付け方

      ファイル名にはスペースや括弧などを使用しないで下さい.結局は扱いにくくな るので損をします.また,日本語も使用しない方がコマンド操作で効率的ですの で,アルファベット小文字を基本に,間を開けたいときにはアンダースコア _ などを活用しましょう.

  4. 浮動小数点数

    教科書p.18から実数の計算が始まりますが,実数は正確には浮動小数点数 (Floating point number)と言います.小数点が移動可能な数ということですね. 扱える桁数が決まっているので,精度良く計算するためには「倍精度」の数で定 義する必要があります.また,有効数字を明確にするための指数表現が printf で出力する場合に用意されていますので,必要に応じて使用しましょ う.なお,この授業では浮動小数点数はほとんど使用しません.基本的には整数 型の演算を最後まで行っていく予定です.

  5. 四則演算

    浮動小数点数にも加減乗除の四則演算が可能です.ただし,剰余は使用できませ ん.それと注意するのは,整数と実数の間の演算です.これらは基本的には実数 になります.

    1 / 3 => 0
    1 / 3.0 => 0.333333....

    また,printf で表示する際に,実数を %d で 指定すると,データが壊れることがありますので,注意してください.

  6. 実習

    実習の演習問題は当日ご案内します.

  7. 次回の予習範囲

    教科書のp.25まで予習をしてきてください.

  8. 宿題

    授業の終わりに宿題の案内を行います.た だし,問題を見ることができるのは11月1日以降です.


目次ページに戻る