‖一括処理部品集6‖kuuranti.html 《戻る》 《玄関へ》
《 空欄を埋めさせる問題をl作る。 》
【内容】
「空欄のところの数値は?」の数値列(虫食い)問題を自動作成する。
問題は1行が10マス、5行までとし、1行の虫食い箇所の最大値を指定できる。
【用例】
・・・・・・・・・
名札 空欄値は
&TBL1=#連結(&DAPA,"空欄値.TBL") /*
データ表
&TBL2=#連結(&DAPA,"空欄値条件設定.TBL") /*
データ表
&WFM2=#連結(&DAPA,"空欄値条件設定01CB.WFM")
&WFM1=#連結(&DAPA,"空欄値01CB.WFM")
・・・・・・・・・
表
表 &TBL2 表番号=2,使用フォーム=&WFM2 @
フォーム形式編集 ガイド="キャンセル:ESC
終了:f・4(表示)/Q フォーム⇔表:HOME ",画面消去=しない
条件 (&SM=1) 分岐 START
&マス行数=[マス行数],&先頭値=[先頭値],&変化分=[変化分],&虫くい数=[虫くい数] A
表
表 &TBL1 表番号=1,使用フォーム=&WFM1 B
手続き実行 空欄値初期化
手続き実行 表初期化
手続き実行 空欄値入力 C
手続き実行 虫くい発生 D
フォーム形式編集 ガイド="キャンセル:ESC
終了:f・4(表示)/Q フォーム⇔表:HOME ",画面消去=しない E
・・・・・・・・・
名札 空欄値初期化
置換 [空欄値]="",[空欄値B]=""
手続き終了
名札 空欄値入力 C
&LN=&マス行数*10
絞り込み 行数=&LN
置換 [空欄値]=&先頭値+(#連番-1)*&変化分,[空欄値B]=&先頭値+(#連番-1)*&変化分
位置指定 行番号=先頭
繰り返し &N=1,&LN
&YOKO[&N]=[空欄値],&YOKOB[&N]=[空欄値B]
ジャンプ 行番号=次行
繰り返し終了
手続き終了
名札 虫くい発生 D
繰り返し &N=1,&虫くい数
&虫1=#乱数(10)+1,&YOKO[&虫1]=""
&虫1=#乱数(10)+11,&YOKO[&虫1]=""
&虫1=#乱数(10)+21,&YOKO[&虫1]=""
&虫1=#乱数(10)+31,&YOKO[&虫1]=""
&虫1=#乱数(10)+41,&YOKO[&虫1]=""
繰り返し終了
手続き終了
・・・・・・・・・
【解説】
@ 出題の行数、先頭値、増・減分、虫食い数などの条件を設定します。

A 条件値を変数に取り込みます。
B、C 条件に見合うデータを作成します。
さらに、データを配列変数に取り込みます。

D 虫食いを乱数発生させ、配列変数の値を変更(未定義に)します。
虫食いの最大数は条件設定値です。フォームの各行に虫食いを作成しておきます。
E フォームを使って問題を表示します。表示されている数値は配列変数(&YOKO[
])からのものです。

正解を表示するには空欄の枠内をクリックします。この場合に表示される数値は配列変数(&YOKOB[
])からのものです。(イベントファイル参照)
再度空欄にしたい場合は空欄枠直上の番号(ラベル)をクリックします。なお、行単位でクリアすることもできます。

出題した問題を直ちに印刷することもできます。

END
of FILE 《戻る》 《玄関へ》