成績処理のプログラムを作成した話 その2

目次

公開日 2023-05-08 更新日 -

出欠の記録とマウス

出欠統計の入力画面

成績処理というと点数・評価などが思い浮かぶと思いますが、出席・欠席の記録やその集計処理もなかなか手間のかかるものです。次の目標は出欠の記録です。

先に作った成績とは入力にかなりの違いがあります。キーボードから入力する方式で作った試作品を何度かボツにして、マウスを使うように作り直しました。

Windows95が出る前で、マウスもあまり一般的でない時代です。ワープロソフト「一太郎」の姉妹ソフトとして出ていた図形プロセッサ「花子」(1987)と、言図というグラフィックソフトの操作感から影響を受けて作成しています。

入力位置(生徒と項目)のマウスによる選択
大部分の生徒が欠席しないので、入力する必要のない欄を飛ばしていくのが効率的です。
クリックによる増減入力
入力位置の選択をしてからキーボードで入力するのでは面倒です。
左クリックで+1, 右クリックで-1
訂正が楽になります。当時はまだ右クリックにコンテキストメニューの役をさせるといった習慣もなく、対等でした。
10の位のクリックで±10, 100の位のクリックで±100
これにより、10を超す数値の入力も楽になる他、9あたりでも+10,-1で楽ができます。
保存・印刷などの機能もマウスで選択
ファイル名もクラス名+月にして選択します。一切キー入力がなくなります。

入力の様子をアニメーションで紹介

12を入力する例で操作法を説明します。

まず、10の位でクリックして10としたあと、1の位でクリックして加算しています。13で行き過ぎたことに気がついて右クリックで12に戻しています。

最後は消去です。値が負になると、0にして表示をしなくなります。これを利用して100の位の右クリックで12を一発で消去できます。

sample

実際に試してみる

Javascriptで試せるように作りました。

a a a

開発当時はマウスで入力欄を選択してキーボードで値を入力するのが一般的だったと記憶しています。その中で「言図」というソフトは解像度や図形の大きさの入力に左クリックで増、右クリックで減という珍しいインターフェースでした。クリック位置で桁を考慮というのもあったと思います。

その後、数値入力はキーボード入力欄の右側に小さな上下の三角(▲▼)がついて、左クリックだけを使って1つずつの加減ができるというのが標準的になりました。

画面全体の様子

上と同じスクリーンショットを再掲します。

このプログラムを作ったのがN88-BASIC(86)上で、その後DOS上のN88-BASICコンパイラ、Windows上のF-BASICと移植を繰り返しています。なるべく古いものを振り返りたかったのですが、見つかった最古の資料は、F-BASICに移植した2003年のものです。PC-9801のMS-DOSが動くものが手近にないので、この画像は、古いノートPCに残っていたF-BASIC版をWindows2000で動かしたものです。生徒の名前は新たに架空のものを作っていますので実在の生徒ではありません。

真中と右端に妙な空欄がありますが、これは指導要領の改定によって入力項目が減ったために詰めたものです。出席しなかった授業の時間数が「欠課」ですが、このうち部活遠征など校長がやむなしと認める欠課の数を記録する欄がありました。

人数は45人まで。23人で右の列に移動するのは悔しいところですが、作成当時は1クラスが42ぐらいまででしたから20×2にはできず、PC-9800シリーズの画面の制約上25×2にもできず、泣く泣くの設定でした。

出欠統計の入力画面

PC-9800シリーズのグラフィックはテキスト画面に8色(例の黒赤青緑紫黃水色白)で、グラフィック画面(ビットマップ)は2563色から4096色をパレットに選んで中間色も出せるようになっていたと記憶します。グラフィック画面は描画速度の問題から罫線を引いてその他はほとんど触らず、文字はもっぱらテキスト画面で表示していました。

入力中の生徒名を白でハイライト表示したくて、通常の生徒は水色という選択をしました。IBM-PCではそれぞれの色にハイライト色があって羨ましく思っていました。

保存・印刷などの機能の選択

次の図は、下の[ファイル]の文字部分をクリックしてファイル関係のメニューを出したところです。本来は背景の部分も枠で囲って中の生徒を分ける罫線も消すのがよいのですが、テキスト画面だけで処理をしています。BASICにはこういうものを扱うライブラリが一切ありません。手抜きですが、テキスト部分はきちんと書き直しされて必要十分で動作も速くできています。

ファイルメニューを開く

こちらの図は、保存の確認画面です。グラフィック画面にボタンを描いてテキスト画面に文字を当てています。クリックするとボタンは周りの影が白黒が逆になり引っ込んだ視覚効果をだします。これも当時はサブルーチンを書いて自分でやらなければなりませんでした。懐かしい思い出です。

保存の確認