※ ChatGPTを利用し、要約された質問です(原文:▲▲JavaScriptに詳しい人見てください▲▲)
JavaScriptの計算練習プログラムを作成する方法
このQ&Aのポイント
JavaScriptを使用して、計算練習プログラムを作成する方法について説明します。
フォームを使用して、10問の足し算問題を表示し、解答と正誤を入力するためのテキストボックスを用意します。
正解を保存する配列を準備し、答え合わせボタンのイベントハンドラから参照できるようにします。
▲▲JavaScriptに詳しい人見てください▲▲
いつもお世話になります。
恐れ入りますがお力添えお願い致します。
フォーム(名前は f とする)を使用して、
10問の足し算問題を画面に表示して計算練習できるようにする。
問題は1~10の自然数同士の足し算とする。
各問題ごとに,問題を表示するテキストボックス(名前は p1 ~ p10 とする)
解答を入力するためのテキストボックス(名前は a1 ~ a10 とする)
○×をつけるためのテキストボックス(名前は c1 ~ c10 とする)を用意する。
答え合わせをするためのボタンと
正答数,誤答数を表示するテキストボックス(名前は ok, ng とする)を用意する。
プログラム内部では,正解を保存するための配列(変数名は sol とする)を用意し
乱数を用いて 第1問 ~ 第10問 を生成するとともに
それらの正解を sol[1] ~ sol[10] に保存する。
ユーザは,解答欄(a1 ~ a10)に解答を記入し,答え合わせボタンをクリックする。
答え合わせボタンがクリックされると,各問題(iとする)について,解答欄(ai)の内容と
正解(sol[i])の内容を照合して,正誤欄(ci)に○×をつけ,同時に正答数・誤答数をカウントする。
10問全てに○×をつけた後,正答数(ok),誤答数(ng)を表示する。
今回は,問題を作成してフォーム(テキストボックス)に表示するだけとし
答え合わせのためのコードなどは実装しない.したがって
答え合わせボタンのイベントハンドラは記述しなくて良い。
ただし,配列 sol を用意して,そこに正解を保存するところまでは作成すること。
正解を保存する配列は,(今後作成する)答え合わせボタンのイベントハンドラからも参照されるので, 変数 sol は大域変数とすること。
問題の生成には myRandom(n) 関数を用いてもよい。
と言う課題です
雛形は以下のように作りました。
<title>JavaScript Task 8-1, prototype</title>
<script type="text/javascript">
<!--
/* 配列 sol は大域変数としてここで記述しておく方がよい・・? */
/* 関数 myRandom(n) を定義するなら,このあたりでするべき・・・? */
function initialize() {
/* ここで問題を作成して p1 ~ p10 に書きこむ */
/* 各問題の正解を配列 sol に保存する */
}
//-->
</script>
<body onload="initialize();">
<h1>計算練習プログラム (2)</h1>
<form name="f" action="">
<table border="1">
<tr><td>番号</td><td>問題</td><td>解答</td><td>正誤</td></tr>
<tr><td>1</td>
<td><input name="p1" size="9" type="text" readonly></td>
<td><input name="a1" size="3" type="text"></td>
<td><input name="c1" size="3" type="text" readonly></td></tr>
<tr><td>2</td>
<td><input name="p2" size="9" type="text" readonly></td>
<td><input name="a2" size="3" type="text"></td>
<td><input name="c2" size="3" type="text" readonly></td></tr>
<tr><td>3</td>
<td><input name="p3" size="9" type="text" readonly></td>
<td><input name="a3" size="3" type="text"></td>
<td><input name="c3" size="3" type="text" readonly></td></tr>
<tr><td>4</td>
<td><input name="p4" size="9" type="text" readonly></td>
<td><input name="a4" size="3" type="text"></td>
<td><input name="c4" size="3" type="text" readonly></td></tr>
<tr><td>5</td>
<td><input name="p5" size="9" type="text" readonly></td>
<td><input name="a5" size="3" type="text"></td>
<td><input name="c5" size="3" type="text" readonly></td></tr>
<tr><td>6</td>
<td><input name="p6" size="9" type="text" readonly></td>
<td><input name="a6" size="3" type="text"></td>
<td><input name="c6" size="3" type="text" readonly></td></tr>
<tr><td>7</td>
<td><input name="p7" size="9" type="text" readonly></td>
<td><input name="a7" size="3" type="text"></td>
<td><input name="c7" size="3" type="text" readonly></td></tr>
<tr><td>8</td>
<td><input name="p8" size="9" type="text" readonly></td>
<td><input name="a8" size="3" type="text"></td>
<td><input name="c8" size="3" type="text" readonly></td></tr>
<tr><td>9</td>
<td><input name="p9" size="9" type="text" readonly></td>
<td><input name="a9" size="3" type="text"></td>
<td><input name="c9" size="3" type="text" readonly></td></tr>
<tr><td>10</td>
<td><input name="p10" size="9" type="text" readonly></td>
<td><input name="a10" size="3" type="text"></td>
<td><input name="c10" size="3" type="text" readonly></td></tr>
</table>
<input value="答え合わせ" type="button"><br>
正答数:<input name="ok" size="3" type="text" readonly>
誤答数:<input name="ng" size="3" type="text" readonly>
</form>
</body>
function initialize()の中身をどうしたらいいのかが分かりません。
お礼
難しいけど わかりました☆ ありがとうです♪