必修模块《算法与程序设计》2.4
2.4.1作业要求
一、内容复习
格式:
For 循环变量=初值 To 终值 Step 步长值
语句组(循环体)
Next 循环变量
例如:
For i = 0.5 To n Step 0.5
Print i
Next i
二、 利用循环实现 累加 累乘 计数 字窜连接功能
1、累加器
格式:S=S+I (I为循环变量)
经常用于有规律的加法运算
例题1:计算s=1+2+3+...+100
S=0 For I=1 to 100 S=S+I Next i
例题2: 计算s=1+3+5+...+99 |
S=0 For I=1 to 50 S=s+2*I-1 Next i 执行过程分析: |
I=? | S=s+2*I-1 (表达式) | S=? |
I=1 | S=0+1 | 1 |
I=2 | S=1+3 | 4 |
I=3 | S=1+3+5 | 9 |
I=4 | S=1+3+5+7 | |
I=n | S=1+3+5+….2*n-1 |
2、记数器.:
格式:N=N+1 经常用于统计个数
例题:统计1到1000之间既能被3整除又能被7整除的数的个数
N=0 For I=1 to 1000 If I mod 3=0 and I mod 7=0 then n=n+1 Next i |
3、累乘计算
格式:T=T*I (I为循环变量)
例题:计算t=1*2*3*...*10 T=1 For I=1 to 10 T=T*I Next i |
三、 学生任务2(编写程序)
1题目 编程求s=2+4+6+8+….n
要求: 自行设计所需要的控件,编写正确的程序
2题目 编程求s=0.5+1+1.5+2+2.5+3+…+n
要求: 自行设计所需要的控件,编写正确的程序
[趣味问题]:国际象棋的棋盘是正方形的,上面有8×8共64个方格。相传是印度宰相达依尔发明的。国王罕舍要重赏他,说:“你想得到什么,我都可以给你。”宰相想了想,就说:“那就请你在棋盘的第1格赐我1粒麦子,在第2格赐我2粒,在第3格赐我4粒,第4格赐我8粒,以后每格中的麦粒是前一格的2倍,这样放完64格,我就感激不尽了。”国王听了,觉得宰相的要求并不高。说道:“好吧,你能如愿所偿的。”然而,国王却不知道这个数字有多么的巨大!
请问,国王能兑现他的许诺吗?共要多少麦子赏赐他的宰相?合多少立方米?
(1立方米麦子约1.42╳108粒)
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
264 |
[补充程序]
M = 1
S = 1
For i = ______ To _____
M = ____
S = ____
Next i
Print “一共要放”; s; “颗麦子”
[讨论]
1.84467440737096E+19
1850亿亿粒麦子有多重?如果一粒麦子长1毫米,所有的麦子加起来可能达到750亿公吨,远远超过国王的粮仓里所储存的麦子。事实上,以目前世界小麦生产水平,也要150年才能生产这么多。