已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一部分題目一:編寫一程序找出并顯示19999之間的全部同構(gòu)數(shù)。所謂同構(gòu)數(shù)是指這樣的整數(shù),它恰好出現(xiàn)在其平方數(shù)的右邊:如 1,25等。1. 解題分析、方法:題目要求求同構(gòu)數(shù),就是求一個整數(shù),其平方所得到的整數(shù)的右邊包含這個數(shù)。我們可以以這樣一個解題思路去分析它:因為題目只要求求出1-9999中的同構(gòu)數(shù),我們可以先假設(shè)一個數(shù)n,先求出他的平方令其為e,接著我們就去看e的右邊是否等于n,先看它的個位,就是除以10之后的余數(shù)a,看a是不是等于n;不行,再檢查它右邊兩位,除以100所得的余數(shù)b,接著再檢測右邊3位和右邊4位數(shù)。如果其中有一個余數(shù)等于n,那么就符合條件,為同構(gòu)數(shù),否則不是。其中對1到9999分別進(jìn)行檢測,采用for循環(huán)語句。2. 源程序:Private Sub Command1_Click()Dim n, a, b, c, d As IntegerDim e As LongFor n = 1 To 9999e = n 2a = e Mod 10b = e Mod 100c = e Mod 1000d = e Mod 10000If a = n Or b = n Or c = n Or d = n ThenText1.Text = Text1.Text & Str(n)End IfNext nEnd Sub3. 運行結(jié)果:題目二:統(tǒng)計文本框中英文單詞的個數(shù),設(shè)計界面參考如下:1. 解題分析、方法:統(tǒng)計一段文字的單詞個數(shù),我認(rèn)為其中關(guān)鍵點是對字符的判斷,就是判斷字符是不是屬于字母,如果前一個字符屬于字符,而后面一個字符不是字符,那么它就是一個單詞。根據(jù)這個思路,首先先統(tǒng)計段落的總字符數(shù),然后再運用for逐個循環(huán)判斷每個字符與其后一個字符,如果滿足前一個字符屬于字符,而后面一個字符不是字符,那么它就是一個單詞,單詞數(shù)就加一,知道判斷完所有的字符,總的單詞數(shù)也就出來了。2. 源程序:Private Sub Command1_Click()N = 0m1 = text1.TextFor i = 1 To Len(m1)k1 = UCase(Mid(m1, i, 1)k2 = UCase(Mid(m1, i + 1, 1)If (A = k1 And k2 = Z) And (k2 Z) ThenN = N + 1End IfNext iText2.Text = Str(N)End Sub3. 運行結(jié)果:題目三:設(shè)計一個進(jìn)度條,用來指示程序結(jié)束的時間進(jìn)度,界面如下:1. 解題分析、方法: 要建立一個進(jìn)度條,首先先添加進(jìn)度條這個控件,然后將開始的progressbar中的 value值設(shè)為0,計時器每秒計時一次,每過一秒progressbar中value值加一(value的最大值為100)。用if語句實現(xiàn)上面的功能。2. 源程序:Private Sub Form_Load()ProgressBar1.Value = 0Timer1.Interval = 1000Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer()If ProgressBar1.Value 100 ThenProgressBar1.Value = ProgressBar1.Value + 10ElseEndEnd IfEnd Sub題目四:設(shè)計如圖所示界面:各按鈕功能如下,請給出以下四個按鈕的事件過程代碼。1. 解題分析、方法: 根據(jù)題目要求,有四個命令,除了執(zhí)行本身任務(wù)要求外,每一個命令都得考慮到一個共同點,當(dāng)書名未選定時,按這些命令,得跳出“未選中課本”。同時對于上移得考慮是否為最上面一本,下移得考慮是否為最下面一本,下榜得考慮是否有書,上榜還得考慮是否已輸入書名。當(dāng)輸入書名后,光標(biāo)要移回輸入書名那個text中,當(dāng)有點擊某本書時,顯示名次時??紤]到這些情況后,在根據(jù)一般思路便可以編寫出比較完善的程序。2. 源程序:Private Sub Command1_Click()If List1.ListCount = 0 Then MsgBox 列表無書Exit SubEnd IfSelect Case List1.ListIndex Case 0 MsgBox 已是第一本 Case -1 MsgBox 未選中書名 Case Else k = List1.ListIndex a = List1.List(k - 1) List1.List(k - 1) = List1.ListIndex List1.List(k) = a List1.Selected(k - 1) = True 光標(biāo)選擇list1的第k-1項End SelectEnd SubPrivate Sub Command2_Click()If List1.ListCount = 0 Then MsgBox 列表無書Exit SubEnd IfSelect Case List1.ListIndex Case List1.ListCount - 1 MsgBox 已是最后一本 Case -1 MsgBox 未選中書名 Case Else k = List1.ListIndex a = List1.List(k + 1) List1.List(k + 1) = List1.ListIndex List1.List(k) = a List1.Selected(k + 1) = TrueEnd SelectEnd SubPrivate Sub Command3_Click()If List1.ListCount = 0 Then MsgBox 列表無書Exit SubEnd IfIf List1.ListIndex = -1 Then MsgBox 未選中書名Else List1.RemoveItem List1.ListIndex End IfEnd SubPrivate Sub Command4_Click()If text1.Text = Then MsgBox 請輸入入榜書名 Else List1.AddItem Trim(text1.Text) 刪除text1中的前后空格 text1.SetFocus text1.SelStart = 0 text1.SelLength = Len(text1.Text) 光標(biāo)移到移到text1End IfEnd SubPrivate Sub List1_Click()Text2.Text = List1.ListIndex + 1End Sub題目五:用PSet方法在窗體上繪制一條的正弦曲線,要求坐標(biāo)原點在窗體中心,曲線顯示兩個周期長度。1. 解題分析、方法:在form1中作圖,首先得先設(shè)定坐標(biāo),根據(jù)題目要求坐標(biāo)原點在中心,且要求兩個周期。所以設(shè)置左上角的坐標(biāo)為(-360,-1),右下角坐標(biāo)為(360,1),接著在設(shè)置曲線的寬度,然后再寫出正弦函數(shù)的表達(dá)式,運用pset(x,y)式子畫點,因為畫點是一點一點的畫,所以要用到for這個循環(huán)函數(shù)。2. 源程序:Private Sub Form_Click()Scale (-360, 1)-(360, -1) 定義坐標(biāo)系DrawWidth = 2For x = -360 To 360y = 0.9 * Sin(x * 3.1415926 / 180)PSet (x, y)Next xEnd Sub3. 運行結(jié)果: 第二部分 設(shè)計一功能完整的計算器,實現(xiàn)如下圖所示按鈕(除”MC”,”MR”,”MS”,”M+”)及菜單功能,如圖: 1. 解題思路、分析: 對于我來說,設(shè)置一個完整的計算器是一個艱巨的任務(wù),一開始想了一小段時間,自己試著編了一些,但就是無法達(dá)到一個完整的計算器,于是,就到網(wǎng)上去下載了一些有關(guān)計算器的程序進(jìn)行參考分析。首先先定義一些量,比如說前后兩個操作數(shù)op1、op2,小數(shù)點是否真存在的量DecimalFlag,操作數(shù)個數(shù)NumOps,上一次按鍵的類型等。接著對窗體進(jìn)行初始化,同時設(shè)置所有變量為其初始。然后對各個鍵盤的命令進(jìn)行編寫程序,對0-9按鍵設(shè)置為一個按鍵命令組,編寫一個程序,同時加減乘除設(shè)置一個命令組,也編寫一個程序,其他按鍵都各自設(shè)置為一個命令,分別單獨進(jìn)行編寫程序。同時在多個命令中都要對顯示器中的小數(shù)點進(jìn)行分析,看它是否是真實存在。同時對于除法分母是否為0,也要加以考慮。2. 源程序:Option Explicit Dim Op1, Op2 前面輸入的操作數(shù) Dim DecimalFlag As Integer 小數(shù)點仍然存在嗎? Dim NumOps As Integer 操作數(shù)個數(shù) Dim LastInput 指示上一次按鍵事件的類型 Dim OpFlag 指示未完成的操作 Dim TempReadout 窗體的初始化過程 設(shè)置所有變量為其初始值 Private Sub Form_Load() DecimalFlag = False NumOps = 0 LastInput = NONE OpFlag = Text1.Text = Format(0, 0.) Decimal.Caption = Format(0, .) End Sub 退格鍵Private Sub Command1_Click()If Len(Text1.Text) = 1 ThenText1.Text = Format(0, 0.)DecimalFlag = FalseLastInput = NONEElse If Text1.Text = 0. Then Text1.Text = 0. DecimalFlag = FalseLastInput = NONE Else Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) End If End IfEnd SubPrivate Sub Command2_Click() CE (取消輸入) 按鈕的 Click 事件過程 Text1.Text = Format(0, 0.) DecimalFlag = False LastInput = CEEnd SubPrivate Sub Command3_Click() C (取消) 按鈕的 Click 事件過程 重新設(shè)置顯示并初始化變量 Text1.Text = Format(0, 0.) Op1 = 0 Op2 = 0 Form_LoadEnd SubPrivate Sub Command8_Click(Index As Integer) 數(shù)字鍵 (0-9) 的 Click 事件過程 向顯示中的數(shù)追加新數(shù) If LastInput NUMS Then Text1.Text = Format(0, .) DecimalFlag = False End If If DecimalFlag Then Text1.Text = Text1.Text + Command8(Index).Caption Else Text1.Text = Left(Text1.Text, InStr(Text1.Text, Format(0, .) - 1) + Command8(Index).Caption + Format(0, .) End If If LastInput = NEG Then Text1.Text = - & Text1.Text LastInput = NUMSEnd SubPrivate Sub Command11_Click(Index As Integer) 運算符 (+, -, x, /, =) 的 Click 事件過程 如果接下來的按鍵是數(shù)字鍵,增加 NumOps。 如果有一個操作數(shù),則設(shè)置 Op1。 如果有兩個操作數(shù),則將 Op1 設(shè)置為 Op1 與 當(dāng)前輸入字符串的運算結(jié)果,并顯示結(jié)果( CDbl 或 CSng 函數(shù)強(qiáng)制進(jìn)行雙精度或單精度算術(shù)運算) TempReadout = Text1.Text If LastInput = NUMS Then NumOps = NumOps + 1 End If Select Case NumOps Case 0 If Command11(Index).Caption = - And LastInput NEG Then Text1.Text = - & Text1.Text LastInput = NEG End If Case 1 Op1 = Text1.Text If Command11(Index).Caption = - And LastInput NUMS And OpFlag = Then Text1.Text = - LastInput = NEG End If 3-3=6 Case 2 Op2 = TempReadout Select Case OpFlag Case + Op1 = CDbl(Op1) + CDbl(Op2) Case - Op1 = CDbl(Op1) - CDbl(Op2) Case * Op1 = CDbl(Op1) * CDbl(Op2) Case / If Op2 = 0 Then MsgBox 除數(shù)不能為 0, 48, 計算器 Else Op1 = CDbl(Op1) / CDbl(Op2) End If Case = Op1 = CDbl(Op2) Case % Op1 = CDbl(Op1) * CDbl(Op2) End Select Text1.Text = Op1 Text1.Text = Format(Text1.Text, 0.#) NumOps = 1 End Select If LastInput NEG Then LastInput = OPS OpFlag = Command11(Index).Caption End IfEnd Sub Private Sub Command9_Click()Text1.Text = -Text1.Text Text1.Text = Format(Text1.Text, 0.#)End Sub Private Sub Command10_Click() 小數(shù)點 (.) 按鈕的 Click 事件過程 如果上一次按鍵為運算符,初始化 Text1.Text 為 0.; 否則顯示時追加一個小數(shù)點 If LastInput = NEG Then Text1.Text = Format(0, -0.) ElseIf LastInput NUMS Then Text1.Text = Format(0, 0.) End If DecimalFlag = True LastInput = NUMS End Sub Private Sub Command12_Click()Text1.Text = Sqr(Val(Text1.Text) Text1.Text = Format(Text1.Text, 0.#)End SubPrivate Sub Command13_Click() 百分比鍵 (%) 的 Click 事件過程 計算并顯示第一個操作數(shù)的百分?jǐn)?shù) Text1.Text = Text1.Text / 100 Text1.Text = Format(Text1.Text, 0.#) LastInput
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全【人事管理】
- 三角形的面積推導(dǎo)課件
- 第4單元 民族團(tuán)結(jié)與祖國統(tǒng)一 測試卷-2021-2022學(xué)年部編版八年級歷史下冊
- DBJT 13-317-2019 裝配式輕型鋼結(jié)構(gòu)住宅
- 《電鍍錫工藝學(xué)》課件
- 2024年大學(xué)生攝影大賽活動總結(jié)
- 《焊接基本知識》課件
- 中小學(xué)家長會122
- 美術(shù):源起與影響
- 醫(yī)療行業(yè)專業(yè)技能培訓(xùn)體會
- 成品出貨檢驗報告模板
- 藍(lán)色手繪風(fēng)美術(shù)學(xué)碩士畢業(yè)論文答辯ppt模板
- 鍋爐使用記錄三張表
- 五年級上冊書法教學(xué)設(shè)計-7《點與撇的分布》 湘美版
- 法院解凍協(xié)議書
- 《神筆馬良》教學(xué)課件
- 產(chǎn)品安規(guī)認(rèn)證知識培訓(xùn)課件
- 2023年湘潭市農(nóng)村信用社(農(nóng)村商業(yè)銀行)招聘員工參考題庫附答案解析
- 醫(yī)院職能科室管理考核標(biāo)準(zhǔn)
- 小學(xué)道德與法治《讀懂彼此的心》教案基于學(xué)科核心素養(yǎng)的教學(xué)設(shè)計及教學(xué)反思
- 意志力-Willpower教學(xué)講解課件
評論
0/150
提交評論