主要內容:
1 迴圈結構的另一種形式:
do….loop形式
掌握語法形式,執行流程
求1到100的和通過for—next形式轉化為do—loop形式
2 迴圈結構的巢狀
舉例方法來介紹
掌握巢狀時的執行流程
常見的演算法要掌握
一 do—loop形式之一
1 語法:
do [while | until 條件]
迴圈體loop
2執行流程:
如果是while,當條件為真的時候就執行迴圈體
如果時until,當條件為假的時候就執行迴圈體
舉例1 :求1到100的和,用do—loop形式來實現
方法一:用do while---loop
private sub command1_click()
dim sum as integer
sum = 0
i = 1 '迴圈變數的初值
do while i <= 100 '迴圈變數的終值
sum = sum + i
i = i + 1 '迴圈變數的步長
loop
print "i = "; i
print "1+2+...+100="; sum
end sub
說明:用while的時候,當條件一直為真的時候,就一直執行迴圈體
方法二:用do until---loop
private sub command1_click()
dim sum as integer
sum = 0
i = 1 '迴圈變數的初值
do until i > 100 '迴圈變數的終值
sum = sum + i
i = i + 1 '迴圈變數的步長
loop
print "i = "; i
print "1+2+...+100="; sum
end sub
方法三:while和until都沒有的情況下,
則表示條件永遠為真,結果就是造成了死迴圈(無限次重複),此時在迴圈體需要有跳出迴圈體的語句,用exit來跳出
private sub command1_click()
dim sum as integer
sum = 0
i = 1 '迴圈變數的初值
do sum = sum + i
i = i + 1 '迴圈變數的步長
if i > 100 then
exit do
end if
loop
print "i = "; i
print "1+2+...+100="; sum
end sub
一 do—loop形式之二
1 語法:
do 迴圈體
loop [while | until 條件]
2執行流程:
迴圈體至少執行1次,執行完第一次後再來判斷條件是否成立
如果是while,則條件成立時,繼續執行迴圈體
如果是until,則相反
分析下列程式的執行結果
private sub command1_click()
dim sum as integer
sum = 0
i = 1 '迴圈變數的初值
do sum = sum + i
i = i + 1 '迴圈變數的步長
loop while i > 100 (分析while寫在 do的後面和寫在while的後面的區別)
print "1+2+...+100="; sum
end sub
舉例 :求1到100的和,用do—loop形式來實現
private sub command1_click()
dim sum as integer
sum = 0
i = 1 '迴圈變數的初值
do sum = sum + i
i = i + 1 '迴圈變數的步長
loop while i <= 100
print "1+2+...+100="; sum
end sub
上機題目1
我國現在有人口13億,按人口增長0.8%計算,多少年後我國的人口數將超過26億?
private sub command1_click()
dim p as double
dim year as integer
p=13
do while p i<= 26
p = p * (1+0.008)
year = year + 1
loop
print 「year =」;year
print 「p =」;p
end sub
二迴圈的巢狀:
1 巢狀:
在乙個迴圈體中又有乙個迴圈,就構成了迴圈的巢狀
2 執行流程:
外迴圈每執行1次,內迴圈就要從頭開始執行
舉例:分析下列程式的執行結果
private sub command1_click()
for j = 1 to 5 step 1 '外迴圈
for i = 1 to 3 step 1 '內迴圈
print "你好"
next i
next j
end sub
舉例:分析下列程式的執行結果
private sub command1_click()
for j = 1 to 4 step 1 '外迴圈
for i = 1 to j step 1 '內迴圈
print "你好"
next i
next j
end sub
舉例3 :
從文字框裡輸入乙個整數,判斷這個整數是否是質數,如果是,就輸出:是質數,如果不是,就輸出:不是質數
思路:1 質數的條件:
除了1和它本身外的數中,如果還有因子的話,就表示不是質數,否則就表示是質數 ,假設這個數放在x變數中,則就從2,3,4,….x-1中找能否被x整除的數
for i = 2 to x – 1 step 1
2 i從2開始直到x-1為止,用x mod i 是否為0來判斷
如果有乙個為0了,就表示不是質數
3 表示是或者不是,只有兩種情況,在程式中一般用乙個變數(邏輯變數)的值是true(是)和false(不是) 來描述
private sub command1_click()
dim x as integer
dim flag as boolean
x = val(
flag = true '一般需要有個初值
for i = 2 to x - 1 step 1
if x mod i = 0 then
flag = false
exit for
end if
next i
'根據flag的值來做相應的處理
if flag = true then
= "是質數"
else
= "不是質數"
end if
end sub
教材57頁例4-19
dim x as integer
dim flag as boolean
for x = 3 to 100 step 1
flag = true '一般需要有個初值
for i = 2 to x - 1 step 1
if x mod i = 0 then
flag = false
exit for
end if
next i
'根據flag的值來做相應的處理
if flag = true then
print x
end if
next x
上機題目2:
從文字框裡輸入乙個任意長度的整數,求這個整數的各位數字之和
選做題目:
google的面試題:對於乙個給定的整數n,假定有這麼乙個函式f(n):它計算書寫從1到n之間的所有整數時總共書寫的1的個數。
例如f(1)=1,f(13)=6。問題:除了n=1之外,當再次出現f(n)=n時,n=?
解釋:為什麼f(13)=6呢?因為書寫1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13這13個整數時一共書寫了6個1。
第5 1課迴圈控制結構
例如 for i 100 相當於 while i 100 6 3個表示式都可以省略。例如 for 語句 相當於 while 1 語句 7 表示式1可以是設定迴圈變數的初值的賦值表示式,也可以是其他表示式。例如 for sum 0 i 100 i sum sum i 8 表示式1和表示式3可以是乙個簡...
第7週第2次課教案
教材內容 1 發展下肢彈跳與力量能力的有關練習。2 跳躍遊戲練習及創新。認知目標 學習竹竿舞,基本掌握竹竿舞的基本步法和節奏。技能目標 通過有關跳躍練習,發展下肢力量 提高跳躍能力。情感目標 通過遊戲練習,讓學生體驗活動的樂趣,並能培養學生的團隊 精神和創新意識。運運動量 教學目標 結構時間 教學內...
第2課二次根式
複習教學目標 1 知道平方根,算術平方根,立方根的含義,能說出二次根式的兩條運算法則。2 會用根號表示並會求數的平方根,算術平方根,立方根,會進行簡單的二次根式的四則運算,會對簡單的二次根式進行化簡,能估算乙個無理數的大致範圍並能比較大小。3 在解題過程中體會數形結合思想,由特殊到一般的數學思想,並...