999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用Visual Basic實(shí)現(xiàn)20以內(nèi)加減法出題器

2017-09-22 10:18:36張玄同
科技傳播 2017年17期

張玄同

摘 要 利用Visual Basic中的標(biāo)簽、文本框和命令按鈕等基本控件編寫“20以內(nèi)加減法練習(xí)”程序。實(shí)現(xiàn)出題、判斷正誤、統(tǒng)計(jì)練習(xí)者正確率、結(jié)束練習(xí)、結(jié)束程序的功能。

關(guān)鍵詞 任意;加減法練習(xí);開始答題;結(jié)束答題;結(jié)束程序

中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2017)194-0085-03

高二上學(xué)期學(xué)習(xí)《算法與程序設(shè)計(jì)》這門課,老師讓學(xué)生在Visual Basic編程環(huán)境下學(xué)習(xí)編寫一些功能簡(jiǎn)單易實(shí)現(xiàn)的程序,筆者對(duì)此也很有興趣。筆者想到了小學(xué)時(shí)每天要做算術(shù)練習(xí),如果能有程序自動(dòng)為小學(xué)生出題,家長(zhǎng)就不用為孩了買練習(xí)冊(cè)了,于是筆者試著編寫了能夠幫助小學(xué)生練習(xí)20以內(nèi)任意兩個(gè)正整數(shù)的加減法練習(xí)程序。

筆者利用Visual Basic中的標(biāo)簽、文本框和命令按鈕等基本控件實(shí)現(xiàn)了“20以內(nèi)加減法練習(xí)”程序。其中自動(dòng)出題的兩個(gè)數(shù)不能被修改,所以用標(biāo)簽控件顯示,減號(hào)和等號(hào)也是用標(biāo)簽控件顯示,而最后的答題區(qū)需要答題者在此輸入答案,文本框控件具有這個(gè)功能,所以筆者選擇了文本框控件,為了讓答題者能了解如何答題,我在下面用標(biāo)簽控件給出的操作提示。程序運(yùn)行界面如圖1所示。

當(dāng)練習(xí)者單擊“開始答題”按鈕時(shí)程序隨機(jī)出題,這時(shí)練習(xí)者可以在等號(hào)后的答題區(qū)輸入答案,如果輸入錯(cuò)誤可以進(jìn)行修改,確認(rèn)答案正確后,敲鍵盤上的“Enter”鍵提交答案,程序會(huì)對(duì)練習(xí)者的答案進(jìn)行正誤判斷并把結(jié)果顯示在列表框中,以供練習(xí)者查看,并自動(dòng)進(jìn)入下一題的練習(xí)。如果練習(xí)者想停止答題,可單擊“結(jié)束答題”按鈕,程序會(huì)在列表框下顯示練習(xí)者本次練習(xí)的情況統(tǒng)計(jì),即共做了幾題,對(duì)了幾題,錯(cuò)了幾題,如圖2所示。如需繼續(xù)練習(xí),可再次單擊“開始答題”按鈕;如果要結(jié)束程序運(yùn)行,可單擊“結(jié)束程序”按鈕。程序代碼如下:

因?yàn)榇痤}總數(shù)、答對(duì)的題目數(shù)和答錯(cuò)題目數(shù)要被兩個(gè)事件過程用到,所以要在通用代碼段變聲明這4個(gè)變量:

Dim t As Integer, y As Integer, n As Integer

答題者單擊“開始答題”按鈕,程序就開始第一次隨機(jī)出題。程序的隨機(jī)出題功能是利用了Visual Basic中的隨機(jī)函數(shù)Rnd來實(shí)現(xiàn)的,其中包括運(yùn)算數(shù)的隨機(jī)出現(xiàn)和加減法運(yùn)算符的隨機(jī)出現(xiàn)。為了做到被減數(shù)一定要不小于減數(shù),筆者用了一個(gè)循環(huán)語句(Do While…Loop),當(dāng)被減數(shù)小于減數(shù)時(shí)就重新隨機(jī)產(chǎn)生減數(shù),直到符合減法運(yùn)算的要求為止。“開始答題”按鈕(Command1)的單擊事件過程代碼如下:

Private Sub Command1_Click()

Dim c As Integer

t = 0

y = 0

n = 0

List1.Clear

Label5.Caption = “”

Randomize

Label1.Caption = Int(Rnd * 21)

Label3.Caption = Int(Rnd * 21)

c = Int(Rnd * 10) + 1

If c Mod 2 = 0 Then

Label2.Caption = “+”

Else

Label2.Caption = “-”

End If

If Label2.Caption = “-” Then

Do While Val(Label1.Caption) < Val(Label3.Caption)

Label3.Caption = Int(Rnd * 21)

Loop

End If

Text1.SetFocus

End Sub

如果答題者想中止練習(xí),可以單擊“結(jié)束答題”按鈕。結(jié)束答題的同時(shí)程序會(huì)給出答題的正誤情況及正確率?!敖Y(jié)束答題”按鈕(Command2)單擊事件過程代碼:

Private Sub Command2_Click()

Dim p As Single

p = y / t * 100

Label5.Caption = "共" & t & "道題," & "對(duì)了" & y & "道題,錯(cuò)了" & n & "道題。" & "正確率" & p & "%"

Label1.Caption = “”

Label3.Caption = “”

End Sub

如果答題者想停止練習(xí),可以單擊“結(jié)束程序”按鈕,“結(jié)束程序”按鈕(Command3)代碼:

Private Sub Command3_Click()

End

End Sub

答題者輸入完答敲回車鍵表示提交答案。輸入答案和敲回車鍵都是按鍵的動(dòng)作,所以用到文本框的按鍵事件過程。那么按鍵的動(dòng)作是在輸入答案還是結(jié)束答題呢?就要看答題者按的是否是“回車”鍵,鍵盤上的每一個(gè)鍵對(duì)應(yīng)的都有編碼,回車鍵的編碼是13,所以我用if語句判斷被按下鍵的編碼是否是13,如果是13,再判斷答案是否正確,如果答正確就把各標(biāo)簽及文本框的內(nèi)容連接成一個(gè)字符串最后再串上"√",否則在最后串上”×”。t表示答題總數(shù),y表示答對(duì)的題數(shù),n表示答錯(cuò)的題數(shù),每完成一道題,答題的總數(shù)就t加上1,如果答對(duì)了y的值就加上1,如果答錯(cuò)了n的值就加上1。由于此題已完成,所以要緊接著隨機(jī)出下一道題,這部分代碼和“開始答題”按鈕的出題部分代碼相同。文本框的按鍵事件過程代碼:

Private Sub Text1_KeyPress(KeyAscii As Integer)endprint

If KeyAscii = 13 Then

If Label2.Caption = “+” Then

If Val(Label1.Caption) + Val(Label3.Caption) = Val(Text1.Text) Then

List1.AddItem Label1.Caption & Label2.Caption & Label3.Caption & "=" & Text1.Text & "√"

y = y + 1

Else

List1.AddItem Label1.Caption & Label2.Caption & Label3.Caption & “=” & Text1.Text & “×”

n = n + 1

End If

Else

If Val(Label1.Caption) - Val(Label3.Caption) = Val(Text1.Text) Then

List1.AddItem Label1.Caption & Label2.Caption & Label3.Caption & "=" & Text1.Text & "√"

y = y + 1

Else

List1.AddItem Label1.Caption & Label2.Caption & Label3.Caption & “=” & Text1.Text & “×”

n = n + 1

End If

End If

Text1.Text = “”

Randomize

c = Int(Rnd * 10) + 1

If c Mod 2 = 0 Then

Label2.Caption = “+”

Else

Label2.Caption = “-”

End If

Label1.Caption = Int(Rnd * 21)

Label3.Caption = Int(Rnd * 21)

If Label2.Caption = “-” Then

Do While Val(Label1.Caption) < Val(Label3.Caption)

Label3.Caption = Int(Rnd * 21)

Loop

End If

t = t + 1

End If

End Sub

非常感謝老師帶領(lǐng)學(xué)生認(rèn)真學(xué)習(xí)了這門課,讓筆者對(duì)Visual Basic程序設(shè)計(jì)有了初步的認(rèn)識(shí)。由于筆者學(xué)習(xí)Visual Basic編程時(shí)間不長(zhǎng),水平有限,對(duì)很多知識(shí)還沒有掌握,可能程序還有需要改進(jìn)的地方,筆者會(huì)在以后的學(xué)習(xí)中繼續(xù)努力。希望筆者設(shè)計(jì)的這個(gè)程序能夠幫助到需要的人。

參考文獻(xiàn)

[1]信息技術(shù)(選修1算法與程序設(shè)計(jì))[M].上海:上??萍冀逃霭嫔纾?017.

[2]沈祥玖.VB程序設(shè)計(jì)[M].2版,北京:高等教育出版社,2003.endprint

主站蜘蛛池模板: 毛片久久久| 日韩成人在线网站| 幺女国产一级毛片| 一区二区三区高清视频国产女人| 91视频日本| 国产H片无码不卡在线视频| 国产女人18水真多毛片18精品| 国产香蕉在线| 在线视频一区二区三区不卡| 四虎国产精品永久一区| 成人午夜视频网站| 中文字幕久久波多野结衣| 亚洲六月丁香六月婷婷蜜芽| 成人国产精品一级毛片天堂| 日韩欧美国产综合| 最新国产成人剧情在线播放| 欧美在线国产| 亚洲伊人久久精品影院| 国产极品嫩模在线观看91| 国产日本视频91| 青草视频在线观看国产| 国产一级无码不卡视频| 免费 国产 无码久久久| 2020久久国产综合精品swag| 波多野结衣久久精品| 激情五月婷婷综合网| 无码网站免费观看| 又爽又黄又无遮挡网站| www.av男人.com| 亚洲视频三级| 亚洲美女久久| 国产91线观看| 欧美日韩午夜| 国产精品手机在线播放| 国产情侣一区二区三区| 国内精品免费| 爱做久久久久久| 国产乱人伦偷精品视频AAA| 亚洲一区免费看| 青青草原国产av福利网站| 黄色网站不卡无码| 色婷婷亚洲综合五月| 国产区人妖精品人妖精品视频| 欧美不卡视频一区发布| 欧美一区二区三区国产精品| 久久公开视频| 亚洲精品少妇熟女| 欧美国产精品拍自| 97超级碰碰碰碰精品| 国产亚洲视频免费播放| 色综合国产| 亚洲成人精品| 国产高潮视频在线观看| 久热精品免费| 国产XXXX做受性欧美88| 91精品在线视频观看| 91探花在线观看国产最新| 国产成人精品一区二区秒拍1o| 欧美成a人片在线观看| 亚洲an第二区国产精品| 99精品热视频这里只有精品7| 久久久久免费精品国产| 视频一本大道香蕉久在线播放| 午夜日b视频| 国产亚洲一区二区三区在线| 色呦呦手机在线精品| 波多野结衣一二三| 国产尤物在线播放| 色综合久久88色综合天天提莫 | 91系列在线观看| 日韩一级二级三级| 91破解版在线亚洲| 成人中文字幕在线| 黄色国产在线| 91视频区| 国产欧美精品专区一区二区| аⅴ资源中文在线天堂| 国产成人AV男人的天堂| 国产国拍精品视频免费看| 欧美亚洲网| 国产综合日韩另类一区二区| 国产成人免费视频精品一区二区|