Tips -> Script
--------------------
Scr.001 試験問題自動作成CGI

ここで紹介するスクリプトは、"-----...."で区切られたテキスト(問題集)を、練習問題化するCGI(Perl)です。サンプルを用意しました。こちらからどうぞ。

情報処理試験対策で作って見ました

秋の情報処理試験(テクニカルエンジニア「ネットワーク」)を受けようと思いまして、WWWをうろうろしていたところ、KIKIさんの「KIKIの情報処理試験の部屋」というWebページに出会いました。ここには、過去問が纏まって置いてあり、しかも、解答や解説へのリンクまで整理されています。(これなら午前中の問題集はいらないだろうと、午後の問題集だけ買ってしまいました...大丈夫だろうか??)

さっそく、ネットワークスペシャリストのTEXT形式の問題集を入手し勉強を開始したのですが、「うーん。出来れば4択のクイズ形式になってるとうれしいなぁ」などと我が儘な思いにかられ、フリーウェアを探しはじめたのでした。しかし、どうもピッタリくるものがありません。

「じゃぁ適当に作るかぁ...」と作り始めたのがここで紹介するスクリプトです。スクリプトの内容を見ていただけると思いますが、私はPerlやCGIについては素人です。あまりスマートなロジックにはなっていませんが、徐々に勉強して修正して行きたいと思いますのでご了承下さい。

なお、事前にこのようなスクリプトを公開してよいかKIKIさんに打診したところ快く承諾下さいました。この場を借りてお礼申し上げます。本当にありがとうございました(多謝)。


仕 様

KIKIさんのWebページで入手できるTEXT形式の問題集は、下記のように"-----.....----"で問題が区切られています。当スクリプトではこの問題形式を入力とし、練習形式/テスト形式の2種類の出題形式に変換するようになっています。動作サンプルを用意しましたのでこちらから参照してください。

スクリプトの入力となる問題形式
問題集の見出し

----------------------
問題見出し

問題

----------------------
問題見出し

問題

...
...
...

※実際には、この形式になっていない部分が若干ありましたので、手で修正して使用しています。


設置方法

1.スクリプトと問題集の入手

まず、スクリプトと問題集を入手してください。スクリプトは下記のリンクから入手可能です。問題集は、KIKIさんのWebページから入手願います。

※スクリプトは、自由に使って頂いて結構ですが、当スクリプトによって起こったいかなる問題についても、当方で責任をもつものではありません。全て自己責任においてご利用下さい。

2.ファイル構成
cgi-bin\ (cgiを置くディレクトリ)
  |
  +→ syutudai.cgi (syutudai.txtから拡張子を変更する)
  +→ config       (環境設定用ファイル)
  +→ text\        (問題/解答ファイル格納ディレクトリ)
       |
       +→mondai01.txt (問題ファイル)
       +→mondai02.txt
       +→mondai03.txt
       +→kaitou01.txt (解答ファイル)
       +→kaitou02.txt
       +→kaitou03.txt
syutudai.cgi 上記で入手したsyutudai.txtを拡張子を変更し、syutudai.cgiにします。
また1行目と9行目を環境に合わせて修正してください。
 1 #!/usr/local/bin/perl   ← perlのパス
...
 8 # 環境設定
 9 $syutudai_cgi = "cgi-bin/syutudai.cgi";  ← syutudai.cgiの格納場所
10 $cfg_file = "config";
11 @sentakusi = ("", "ア", "イ", "ウ", "エ", "オ");
config 環境に合わせて下記の通り作成してください。
<パラメタ形式>
通番,出題トップページ,問題ファイル名,解答ファイル名
...
<設定例>
1,/~tomo/siken.html,text/mondai01.txt,test/kaitou01.txt
2,/~tomo/siken.html,text/mondai02.txt,test/kaitou02.txt
3,/~tomo/siken.html,text/mondai03.txt,test/kaitou03.txt
text\ 問題ファイル/解答ファイルを格納するディレクトリを作成します。
問題ファイル TEXT形式の問題集。configの記述と同じファイル名で格納します。問題の内容は、上述した「スクリプトの入力となる問題形式」を前提としていますので、若干の修正が必要かもしれません。("----"と問題見出しの間に空行があるパターンが見受けられました、その場合空行を削除してください)
解答ファイル 問題集の解答を羅列したファイル。
1行に解答を羅列して記述します。例えば、問1の解答がア、問2がイ、問3がアとした場合、「アイア」と記述したテキストファイルを作成します。

呼び出し方法

syutudai.cgiの呼びだしには、下記の通りパラメタの指定が必要です。(サンプルのソースも参考にしてください)

<a href="cgi-bin/syutudai.cgi?cfg=1&type=1&no=1>

「cfg=」には、configファイル上の該当する通番を指定します。「type=」は、1を指定すると練習問題形式となり、2を指定するとテスト形式となります。「no=」には開始問題番号を指定します。


Webサーバが無い時には...

Webサーバがなくても、w3m(テキスト型のブラウザ)のLocal-CGI機能を使うことで、当スクリプトを起動することが可能です。(TeraTerm越しにw3mを使ってみるとこんな感じになります)

詳しい設定方法は、後日アップしようと思いますので、少々お待ち下さい。

[戻る]