背景デザイン画像1 背景デザイン画像2

Portfolio

空欄補充問題生成ツールの仕組みをメモ

MENU

 概要 

追記

このツールを改良してアプリにしました。 リンクなども以下のリポジトリに移動しています。 そのため当ページのリンクは無効になっているので閲覧できません m(_ _)m

概要

卒研で空欄補充問題生成・採点ツールを作成したので仕様をメモ

使い方のマニュアルっぽい記事です。技術的な内容の説明は以下でしてます。
元プログラムから空欄補充問題を生成する(2)

仕様(空欄補充問題の生成)

1. 以下のフォルダにある「seisei」フォルダをダウンロード
生成・採点ツール

2. seiseiディレクトリ内に移動して以下を実行
python c_tool.py

education/seisei/dataの.cファイルの中から空欄補充問題にする.cファイルを入力する形式です。
data

「data」ディレクトリに予め空欄にする.cファイルを追加する必要があります。

3. education/seisei/result/prob.cに空欄補充問題が生成される
prob.c




左図はc_tool.pyの実行結果です。

education/seisei/data/6-1.cを空欄補充問題にしています。

空欄にする変数の決定方法

education/seisei/result/bsg.txtの単語から上位半分
bsg.txt

空欄にする数式記号の決定

education/seisei/result/bsg2.txtの単語から上位半分
bsg2.txt

以下に該当する場合は空欄にしない
  • 「空欄にしない構文」に出現している

  • 同じ行に別の空欄が生成されている

この過程で空欄生成できる箇所が無くなってしまう変数名(数式記号)がある。


以下、空欄補充問題のサンプル(著作権などでアウトなサンプルは除外)
サンプル

仕様(空欄補充問題の採点)

1. 以下のフォルダにある「saiten」フォルダをダウンロード
生成・採点ツール

2. education/saiten/input/c_fileに受講生の解答プログラムを格納
c_file

3. education/saiten/input/txt_fileに解答プログラムの実行結果を格納
txt_file

4. saitenディレクトリ内に移動して以下を実行
python c_tool.py

5. education/saiten/outputに採点結果が格納される
output


下図はc_tool.pyの実行結果です。



write : output/100*.txt

採点結果の記録が完了したことを示しています。


別解の可能性があるプログラム

別解の可能性あり」と表示し、その下に別解の可能性があるファイル名を列挙します。


空欄以外の箇所が変更されているプログラム

制約違反のファイル一覧」と表示し、その下に空欄以外の箇所が変更されているファイル名を列挙します。