




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 素數(shù)是一個大于素數(shù)是一個大于2,且,且不能被不能被1和本身以外的和本身以外的整數(shù)整除的數(shù)。整數(shù)整除的數(shù)。 判別某數(shù)判別某數(shù)m是否為素數(shù)最簡單的方法是是否為素數(shù)最簡單的方法是: 對于對于m, 從從 i=2,3, ,判別,判別m能能否被否被i整除,只要有一個能整除,整除,只要有一個能整除,m不是素數(shù),不是素數(shù),否則否則m是素數(shù)。是素數(shù)。 求素數(shù)求素數(shù)m求求100以內(nèi)素數(shù)以內(nèi)素數(shù)在循環(huán)語句中如何表示一個數(shù)是否為素數(shù)?在循環(huán)語句中如何表示一個數(shù)是否為素數(shù)? 定義一個定義一個boolean型變量型變量flag, flag=true表示表示一個數(shù)為素數(shù),一個數(shù)為素數(shù), flag=false表示一個數(shù)不是
2、素數(shù)。表示一個數(shù)不是素數(shù)。解題思路:解題思路:(1)如何判斷一個數(shù))如何判斷一個數(shù)m是否為素數(shù);(是否為素數(shù);(m除以除以i=2 ).(2)使用循環(huán)語句找出)使用循環(huán)語句找出1100之間所有的素數(shù)。之間所有的素數(shù)。mprivate sub command1_click() dim i as integer, m as integer, n as integer dim flag as boolean : n=0 for m = 2 to 100 flag = true if flag=true then print m ; ” ” ; n=n+1 if n mod 10 = 0 then pr
3、int end if next mend sub判斷一數(shù)是否判斷一數(shù)是否為素數(shù),為素數(shù),用flag來標(biāo)注假定假定m為為素數(shù)素數(shù)根據(jù)根據(jù)flag來打印素數(shù)來打印素數(shù)for i = 2 to sqr(m) if (m mod i) = 0 then flag = falsenext i 在窗體上換行輸在窗體上換行輸出的方法,一行出的方法,一行固定輸出固定輸出10數(shù)字?jǐn)?shù)字常用算法常用算法1. 1. 累加、連乘累加、連乘 累加是在原有和的累加是在原有和的基礎(chǔ)上一次一次地每次基礎(chǔ)上一次一次地每次加一個數(shù)。加一個數(shù)。 sum = sum + i 連乘是在原有積連乘是在原有積的基礎(chǔ)上一次一次地的基礎(chǔ)上一次一
4、次地每次乘一個數(shù)每次乘一個數(shù) 。 t = t * i 算法是對某個問題求解過程的描述算法是對某個問題求解過程的描述 計算計算sum 1!2!3!10!private sub form_click() dim sum as long dim i as integer dim t as long sum = 0: t = 1 for i = 1 to 10 t = t * i sum = sum + t next i print 1!+2!+3!+.+10!=; sumend sub求自然對數(shù)求自然對數(shù)e e的近似值的近似值, ,要求其誤差小于要求其誤差小于0.000010.00001,近似公式為
5、近似公式為: : m1i0ii!11i!1 . !1.3!1! 211!11ei該例題涉及兩個問題:該例題涉及兩個問題: (1 1)用循環(huán)結(jié)構(gòu)求級數(shù)和的問題。本例)用循環(huán)結(jié)構(gòu)求級數(shù)和的問題。本例根據(jù)某項值根據(jù)某項值(t)(t)的精的精度度( (要求計算精度為要求計算精度為0.000010.00001)來控制循環(huán)的結(jié)束與否。來控制循環(huán)的結(jié)束與否。 (2 2)累加:)累加:e=e+t e=e+t 循環(huán)體外對累加和的變量清零循環(huán)體外對累加和的變量清零 e=0e=0 連乘:連乘:n=nn=n* *i i 循環(huán)體外對連乘積變量置循環(huán)體外對連乘積變量置1 1 n=1n=1級數(shù)級數(shù)t連乘積連乘積n累加和累加
6、和eprivate sub form_click()private sub form_click() dim i%, n&, t!, e!dim i%, n&, t!, e! e = 0: n = 1e = 0: n = 1 e e存放累加和、存放累加和、n n存放階乘存放階乘 i = 0: t = 1i = 0: t = 1 i i計數(shù)器、計數(shù)器、t t第第i i項的值項的值 do while t 0.00001do while t 0.00001 e = e + t e = e + t 累加累加 i = i + 1i = i + 1 n = n n = n * * i i
7、連乘連乘 t = 1.0 / nt = 1.0 / n loop loop print print 計算了計算了 ; i; ; i; 項的和是項的和是 ; e; eend subend sub窮舉法求水仙花數(shù)窮舉法求水仙花數(shù) 水仙花數(shù)是一個三位數(shù),它的每位數(shù)的水仙花數(shù)是一個三位數(shù),它的每位數(shù)的立方和剛好等于其本身。如立方和剛好等于其本身。如 153就是水仙就是水仙花數(shù)花數(shù) 153=13+53+33思考:找出思考:找出1000之內(nèi)的所有完數(shù)。之內(nèi)的所有完數(shù)。 完數(shù)的界定:完數(shù)的界定: 一個數(shù)恰好等于他的因子之和,這個數(shù)一個數(shù)恰好等于他的因子之和,這個數(shù)就稱為完數(shù)。如數(shù)字就稱為完數(shù)。如數(shù)字6,它的
8、因子是,它的因子是1、2、3,剛好有等式:,剛好有等式: 6=1+2+3 成立,所以成立,所以6就是一個完數(shù)。就是一個完數(shù)?;匚臄?shù):第一位數(shù)與最后一位數(shù)相等,第二位回文數(shù):第一位數(shù)與最后一位數(shù)相等,第二位數(shù)與倒數(shù)第二位數(shù)相等數(shù)與倒數(shù)第二位數(shù)相等第第n位數(shù)與倒數(shù)第位數(shù)與倒數(shù)第n位位數(shù)相等數(shù)相等 private sub command1_click() dim n as integer dim i as integer dim sum as integer for n = 1 to 1000 sum = 0 for i = 1 to n - 1 if n mod i = 0 then sum =
9、sum + i next i if sum = n then text1.text = text1.text & n & vbcrlf end if next n end sub完完數(shù)數(shù) private sub command1_click() dim num as string dim str as string dim i as integer num = text1.text str = for i = 1 to len(num) str = mid(num, i, 1) & str next i if str = num then label2.caption
10、= num & 是回文數(shù)是回文數(shù) else label2.caption = num & 不是回文數(shù)不是回文數(shù) end if end sub回回文文數(shù)數(shù) “遞推法遞推法”又稱為又稱為“迭代法迭代法”,其基本思想是把一個復(fù)雜的計算過程轉(zhuǎn)化為,其基本思想是把一個復(fù)雜的計算過程轉(zhuǎn)化為簡單過程的多次重復(fù)。每次重復(fù)都從舊值的基礎(chǔ)上遞推出新值,并由新值代簡單過程的多次重復(fù)。每次重復(fù)都從舊值的基礎(chǔ)上遞推出新值,并由新值代替舊值。替舊值。 實(shí)驗(yàn)實(shí)驗(yàn)d第第7題題:4.4.遞推法遞推法在若干個數(shù)中求最大值,一般先假設(shè)一個較小的數(shù)為最大值的初值,在若干個數(shù)中求最大值,一般先假設(shè)一個較小的數(shù)為最大值的
11、初值,若無法估計較小的值,則取第一個數(shù)為最大值的初值;然后將每一個若無法估計較小的值,則取第一個數(shù)為最大值的初值;然后將每一個數(shù)與最大值比較,若該數(shù)大于最大值,將該數(shù)替換為最大值;依次逐數(shù)與最大值比較,若該數(shù)大于最大值,將該數(shù)替換為最大值;依次逐一比較。一比較。例例 隨機(jī)產(chǎn)生隨機(jī)產(chǎn)生1010個個100100200200之間的數(shù),求最大值。之間的數(shù),求最大值。 private sub command1_click() dim max as integer,x as integer max = 100 for i = 1 to 10 x = int(rnd * 101 + 100) print x
12、 & “ ”; if x max then max = x next i print print 最大值最大值=; maxend sub5.5.最小、最大值最小、最大值 隨機(jī)輸入隨機(jī)輸入10名學(xué)生成績,將成績顯示在窗名學(xué)生成績,將成績顯示在窗體中。并顯示其中的最好及其序號。輸入體中。并顯示其中的最好及其序號。輸入輸出形式自定。輸出形式自定。例如:輸入例如:輸入85,74,62,37,98,77,65,77,69,81顯示:顯示:5號成績最好,號成績最好,98分分private sub form_click() dim i as integer, cj as integer dim ma
13、x as integer, maxn as integer max = 0: maxn = 0 for i = 1 to 10 cj = val(inputbox(請輸入第請輸入第 & i & 同學(xué)的成績同學(xué)的成績) print cj & ; if i mod 5 = 0 then print if cj max then max = cj: maxn = i next i print print 第第 & maxn & 號的得分最高,為號的得分最高,為 & maxend sub思考:思考:增加顯示最差成績和平均分增加顯示最差成績和平均分 4號成
14、績最差號成績最差, 37分分 平均分為,平均分為,xx private sub command1_click() 統(tǒng)計按鈕的事件過程統(tǒng)計按鈕的事件過程 dim str as string:dim zimu as integer:dim shuzi as integer dim qita as integer:dim i as integer:dim ccstr as string * 1 zimu = 0:shuzi = 0:qita = 0 str = text1.text for i = 1 to len(str) ccstr = mid(str, i, 1) select case cc
15、str case a to z, a to z zimu = zimu + 1 case 0 to 9 shuzi = shuzi + 1 case else qita = qita + 1 end select next i text2.text = zimu:text3.text = shuzi:text4.text = qita end sub輸入一個字符串,統(tǒng)計其中每個字母(不區(qū)輸入一個字符串,統(tǒng)計其中每個字母(不區(qū)分大小寫)出現(xiàn)的頻率。分大小寫)出現(xiàn)的頻率。 private sub text1_keypress(keyascii as integer) dim str$, i%, c
16、cstr$ dim n(26) as integer if keyascii = 13 then str = text1.text for i = 1 to len(str) ccstr = ucase(mid(str, i, 1) n(asc(ccstr) - 65 + 1) = n(asc(ccstr) - 65 + 1) + 1 next i for i = 1 to 26 if n(i) 0 then picture1.print chr(i + 65 - 1) & 出現(xiàn)了出現(xiàn)了 & n(i) & 次次 end if next i end if end subprivate sub command1_click() picture1.cls text1.text = end sub 清屏清屏是否已經(jīng)按下回車
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全環(huán)保論壇
- 學(xué)前教育專業(yè)產(chǎn)教融合
- 尿道口護(hù)理操作技術(shù)
- 個人工作業(yè)績報告【7篇】
- 2024年中小企業(yè)服務(wù)月的活動內(nèi)容
- 京東派遣合同標(biāo)準(zhǔn)文本
- 醫(yī)學(xué)臨床癥狀復(fù)習(xí)測試附答案
- 家具設(shè)計師二級復(fù)習(xí)試題及答案
- 個人房屋共同買賣合同標(biāo)準(zhǔn)文本
- 佛教用品連鎖合同標(biāo)準(zhǔn)文本
- 小學(xué)數(shù)學(xué)主題活動設(shè)計一年級《歡樂購物街》
- 年產(chǎn)120噸硫酸慶大霉素發(fā)酵車間設(shè)計
- RTCA DO-160G航空電氣電子設(shè)備電磁兼容測試
- 經(jīng)營店轉(zhuǎn)讓合同(4份范本)
- 中考英語典型陷阱題例析
- 《銀行有價單證及重要空白憑證管理辦法》pdf模版
- 中國文化概況概要課件
- JJG(晉) 13-2021 機(jī)動車區(qū)間測速儀
- 體外循環(huán)意外時麻醉醫(yī)生該做些什么?
- (完整word版)男襯衫的制作工藝
- 家和萬事興-善人道
評論
0/150
提交評論