編程(Programming)是編定程序的中文簡(jiǎn)稱,就是讓計(jì)算機(jī)代碼解決某個(gè)問(wèn)題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過(guò)程。為了使計(jì)算機(jī)能夠理解(understand)人的意圖,人類就必須將需解決的問(wèn)題的思路、方法和手段通過(guò)計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計(jì)算體系之間交流的過(guò)程就是編程。 【實(shí)例名稱】 JS代碼編寫(xiě)在線考試(二) 【實(shí)例描述】 在線考試有很多種方法實(shí)現(xiàn),本例通過(guò)一個(gè)包含正確答案的數(shù)組判斷用戶選擇的答案與數(shù)組內(nèi)容是否匹配,實(shí)現(xiàn)最終的考試效果。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標(biāo)題頁(yè)-本站(www.xue51.com)</title>
<script language="JavaScript">
var Total_Question = 4 // 考題的數(shù)量
var msg = ""
// 正確答案-保存在數(shù)組中
var Answer = new Array(Total_Question)
Answer[0] = "TCP/IP"
Answer[1] = "網(wǎng)關(guān)"
Answer[2] = "Microsoft"
Answer[3] = "網(wǎng)絡(luò)信息服務(wù)"
function GetSelectedButton(ButtonGroup)//獲取用戶的選擇
{
for (var x=0; x < ButtonGroup.length; x++)
if (ButtonGroup[x].checked) return x
return 0
} function ReportScore(correct)
//顯示最終的考試結(jié)果
{
var SecWin =
window.open("","scorewin","scrollbars,width=300,height=220")
var MustHave1 = "<HTML><HEAD><TITLE>測(cè)驗(yàn)成績(jī)報(bào)告-本站(www.xue51.com)
</title></HEAD><BODY>"
var Percent = "<H2>測(cè)驗(yàn)成績(jī) : "+Math.round(correct/Total_Question*100)
+ "</H2><HR>"
lastscore=Math.round(correct/Total_Question*100)
if (lastscore == "100"){
msg = MustHave1 +Percent + "<font color='red'>恭喜,全部答對(duì)了!</font>
<p>" + msg + "<input type='button' value='close'
onclick=javascript:window.close()></BODY></HTML>"}
else {
msg = MustHave1 +Percent + "<font color='red'>正確答案:</font>
<p>" + msg + "<input type='button' value='close'
onclick=javascript:window.close()></BODY></HTML>"
}
SecWin.document.write(msg)
//輸出提示信息
msg = ""
//清空信息提示
} function Score()
{
var correct = 0
var wrong = 0
for (number=0; number < Total_Question; number++)
{
var form = document.forms[number]
// 循環(huán)獲取每一個(gè)問(wèn)題
var i = GetSelectedButton(form.q1)
//獲取問(wèn)題中的選擇項(xiàng)
if (form.q1[i].value == "1")
//如果選擇1,表示選擇正確
{ correct++ }
else
{ wrong++
//錯(cuò)誤的變量+1
msg += "Question "+(number+1)+"."
+Answer[number]+"<BR>"
}
}
ReportScore(correct)
//輸出最終結(jié)果 }
</script> </head>
<body>
<table width="75%" border="0" align="center">
<tr>
<td>
<form>
三個(gè)非常簡(jiǎn)單的問(wèn)題:<p>
(1)Internet上使用的網(wǎng)絡(luò)協(xié)議是:__________
<br>
<input type="radio" name="q1" value="0" checked>FTP
<input type="radio" name="q1" value="1">TCP/IP
<input type="radio" name="q1" value="0">HTTP
<br><br> </form> <form>
(2)GateWay是指:__________
<br>
<input type="radio" name="q1" value="0" checked>網(wǎng)橋
<input type="radio" name="q1" value="0">集線器
<input type="radio" name="q1" value="1">網(wǎng)關(guān)
<input type="radio" name="q1" value="0">路由器
<br><Br> </form> <form>
(3)ASP.NET是哪個(gè)公司的產(chǎn)品:__________
<br>
<input type="radio" name="q1" value="0" checked>IBM
<input type="radio" name="q1" value="1">Microsoft
<input type="radio" name="q1" value="0">SUN
<br><Br> </form> <form>
(4)IIS(Internet Information Server)的中文是:__________
<br>
<input type="radio" name="q1" value="0" checked>在線網(wǎng)站管理
<input type="radio" name="q1" value="1">網(wǎng)絡(luò)信息服務(wù)
<input type="radio" name="q1" value="0">網(wǎng)絡(luò)虛擬路由器
<br><Br> </form> <form>
<div align="center">
<input type="button" name="Submit"
value="看看成績(jī)" onClick="Score()" class="pt9">
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
【運(yùn)行效果】  【難點(diǎn)剖析】 本例的重點(diǎn)是將考題答案保存在一個(gè)數(shù)組“Answer”中,其目的是當(dāng)用戶選擇錯(cuò)誤時(shí)給出正確的答案。判斷用戶選擇是否錯(cuò)誤,是通過(guò)判斷單選框的返回值,如果為“1”則表示選擇正確。如果選擇錯(cuò)誤,通過(guò)“Answer[索引],,的方式獲取正確的答案。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:在線考試JS代碼(二) 進(jìn)行本實(shí)例源碼下載
使用編程語(yǔ)言寫(xiě)的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |