VB程序設計的常用算法教案
算法(algorithm):計算機解題的基本思想方法和步驟。算法的描述:是對要解決一個問題或要完成一項任務所采取的方法和步驟的描述,包括需要什么數據(輸入什么數據、輸出什么結果)、采用什么結構、使用什么語句以及如何安排這些語句等。通常使用自然語言、結構化流程圖、偽代碼等來描述算法。
一、計數、求和、求階乘等簡單算法
此類問題都要使用循環,要注意根據問題確定循環變量的初值、終值或結束條件,更要注意用來表示計數、和、階乘的變量的初值。
例:用隨機函數產生100個[0,99]范圍內的隨機整數,統計個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數并打印出來。
本題使用數組來處理,用數組a(1 to 100)存放產生的確100個隨機整數,數組x(1 to 10)來存放個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數。即個位是1的個數存放在x(1)中,個位是2的個數存放在x(2)中,……個位是0的個數存放在x(10)。
將程序編寫在一個gettjput過程中,代碼如下:
public sub gettjput()
dim a(1 to 100) as integer
dim x(1 to 10) as integer
dim i as integer, p as integer
'產生100個[0,99]范圍內的隨機整數,每行10個打印出來
for i = 1 to 100
a(i) = int(rnd * 100)
if a(i) < 10 then
form1.print space(2); a(i);
else
form1.print space(1); a(i);
end if
if i mod 10 = 0 then form1.print
next i
'統計個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數,并將統計結果保存在數組x(1),x(2),...,x(10)中,將統計結果打印出來
for i = 1 to 100
p = a(i) mod 10 ' 求個位上的數字
if p = 0 then p = 10
x(p) = x(p) + 1
next i
form1.print "統計結果"
for i = 1 to 10
p = i
if i = 10 then p = 0
form1.print "個位數為" + str(p) + "共" + str(x(i)) + "個"
next i
end sub
二、求兩個整數的最大公約數、最小公倍數
分析:求最大公約數的算法思想:(最小公倍數=兩個整數之積/最大公約數)