仕事の内容が少し変わった今日この頃

本来の仕事があるのに、生徒を監視しなきゃいけなくなった今日この頃。
言っても聞かないですね、今の大学生は。
いや、今の大学生と言ったら真面目に授業を受けている大学生の人に失礼ですね。
去年・または今年に私が通ってる大学に入学してきたやつ、とでも言いますか。
対象学年が1年や2年なのですが、本当に聞き分けがない。
今までの学生なら注意したら、たとえ嫌々でもちゃんとしてくれたんですけどねぇ。
そっちがその気ならこっちもっていう話になってきちゃうんですよね。
最終手段としては利用権と単位取得権剥奪。
私にはその権限はありませんが、学生証を提示させてそれを情報管理室に申告することはできますし、単位も担当教員が認めたら剥奪できます。
情報演習室の利用権を剥奪したら、就職案内等の学内サービスは一切受けれなくなりますからね。
生徒にとっては大きな痛手となります。
もっとも、その本人がそれを把握してなければその場では何の効果もないわけで、後々激しく後悔するだけなんですが。
また、単位取得権剥奪も痛いですね。
該当科目だけとはいえ、基礎科目ですから落としてると後々厄介なんですよ、この授業。
たとえば就職活動しなきゃいけないのに、出席しなきゃいけない。
強行して休んだとしても、出席取ってるので後々大変なことになるっていうパターンになります。
今までそういう人何人も見てきました。
普通の授業とは違ってプログラムの実習が絡みますからね。
出席して何ぼっていう授業の怖いところです。
 
というか、この授業に関してはほとんど覚えることないような気がしますがね。
例えばFortranなら
 
*******************************************************************************
*  入力した数値の平均を求めるプログラム
*  0を入力したら終了
*******************************************************************************
C—+—-+—-+—-+—-+
      IMPLICIT NONE
      INTEGER I
      REAL VALUE,AVE,SUM
 
      !— 変数初期化 —
      VALUE = 0.0
      AVE = 0.0
      SUM = 0.0
      I = 0
     
      !— 表示 —
      WRITE(*,*) ‘Please input number.’
     
      !— 入力した数値を加算 (0が入力されたら終了) —
      DO
          READ(*,*) VALUE
          IF (VALUE.EQ.0) EXIT
          SUM = SUM + VALUE
          I = I + 1
      END DO
 
      !— 加算した結果を入力された数値の個数で割って平均を求める —
      AVE = SUM / REAL(I)
 
      !— 平均値の結果を表示 —
      WRITE(*,*) ‘Ave. = ‘,AVE
     
      STOP
      END
*******************************************************************************
* プログラム終了
*******************************************************************************
というプログラムがあったとします。
とりあえず、上から説明。(緑はコメントアウトしているところ)
 
IMPLICIT NONE :
  暗黙の型宣言。この程度ならあえて明示する必要もないかなと。
 
INTEGER I :
  整数型変数 I を宣言
 
REAL VALUE,AVE,SUM :
  実数型変数 VALUE,AVE,SUM を宣言
 
VALUE = 0.0
SUM = 0.0
AVE = 0.0
I = 0
  変数の初期化
 
WRITE(*,*) ‘Please input number.’
  コマンドラインに「Please input number」と表示。フォーマットなし。
 
DO – END DO
 ループ文。DO – END DO内の文を条件を満たすまで実行。この場合は条件未指定。
 
READ(*,*) VALUE
  キーボードから数値を読み込み、変数 VALUE に代入。
 
IF(VALUE.EQ.0) EXIT
  VALUE の値が 0 (VALUE = 0)であれば終了。この場合はDO – END DOを抜け出すために使用。EQは=のこと。
 
SUM = SUM + VALUE
  SUMの内容(数値)とVALUEの内容(数値)を加算したものをSUMに代入する。
 プログラムにおける = は代入の意。決してイコールではない。
 
I = I + 1
  Iの内容(数値)に1を加算する。ループ内で使用するとカウンタとして使える。
 
AVE = SUM / REAL(I)
  加算結果 SUM の内容を入力された数値の個数 I で割って平均値を出してAVEに代入。
 
WRITE(*,*) ‘Ave. = ‘,AVE
  AVEの内容を表示。
 
STOP END
  Fortranの終了規則。
 
Fortranを知らない人には何のこっちゃわからないと思いますが、以下のことがわかればこの授業の課題はほとんど解けますね。
 
  • 1文字目が C 、または * であればコメント行とみなす。! の後ろの文も同様。
  • Fortranは大文字と小文字の区別はしない。
  • Fortranのプログラム文は1行の7文字目から始めて72文字目までに収めること。
  • コマンドラインに文字列を出力したいときはWRITE文を使用して、表示したい文字列を ” で囲う。
  • コマンドラインに変数の内容を出力したいときもWRITE文を使用する。
  • キーボードから数値等を入力したいときはREAD文を使用する。
  • プログラムを終了するときは STOP文とEND文で終わる。
DO文やIF文も知ってなければ解けない場合もありますが、基本的なことを理解していればなんとか解ける問題が多かったりします。
というか、教科書見ていいんだからDO文やIF文は自分で調べてねっていう領域だったりしますが。
実行結果は以下の通り。
————————————————–
G:\Fort>g77 ave.f -o ave && ave
 Please input number.
1
2
3
4
5
6
7
8
9
10
0
 Ave. =  5.5
————————————————–
 
 
ちなみに上のプログラム、C言語ならこうなります。
/******************************************************************************
*  入力した数値の平均値を求めるプログラム
*  0を入力したら終了
******************************************************************************/
#include<stdio.h>
int main(void)
{
    int i;
    double value,ave,sum;
 
    //— 変数初期化 —
    value = 0.0;
    ave = 0.0;
    sum = 0.0;
    i = 0;
 
    //— 表示 —
    printf("Please input number:\n");
 
    //— 入力した値を加算 (0が入力されたら終了) —
    for(;;){
        scanf("%lf",&value);
        if (value == 0) break;
        sum = sum + value;
        i = i++;
    }
 
    //— 加算した結果を入力された数値の個数で割って平均値を求める —
   
ave = sum / i;
 
    //— 平均値の結果を表示 —
    printf("Ave. = %lf",ave);
 
    return 0;
}
/******************************************************************************
*プログラム終了
******************************************************************************/
ついでに実行結果。
————————————————–
G:\cprog>vc ave.c
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80×86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
ave.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.
/out:ave.exe
ave.obj
Please input number:
1
2
3
4
5
6
7
8
9
10
0
Ave. = 5.500000
————————————————–
私の大学にはgccがインストールされているものと、されていないものがありまして、今使ってるものはインストールされていませんので今回はVC使いました。
VCもバッチファイルで vc ソースファイル名 を入力したら勝手にオブジェクトを生成して実行ファイルを作るようになっていますので自動実行みたいな形になってますがご容赦を。
説明は…ダルいので割愛します。
 
まぁ、ぶっちゃけCも
 
#include <stdio.h>
printf();
scanf();
 
なんかを覚えててくれればなんとかなるような問題しか出してないんですが。
演習で同じような問題やってから課題出してますからね。
ちょこっと式とか変えたら解けるようになってたりするんですよ。
しかしまぁ、聞いてないのが多いですので毎年単位を落とす奴が約1割~2割程度います。
授業を聞いてなくてもできるのなら文句言いませんけど、聞いてない上にできないのはマズいっしょ。
というわけで、ネットやゲームしてるやつがいないか監視しなければならなくなったわけです。
 
授業ぐらい真面目に聞けっての。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中