(共23张PPT)
累加求和
第四课
[前情回顾]
上一节课,我们为了减少程序中命令的重复,优化算法,学习了循环词句,大家回顾一下:
For…EndFor循环语句流程图:
循环变量=初值
执行循环语句中间的语句组
循环变量增加一个步长
循环变量超过终值?
是
否
画正12边形的程序及流程图:
开始
i=1
画一条边,右转30度
i增加1
i 12
是
否
≤
结束
循环语句
S=12
Length=50
E=360/s
For i=1 to S Step 1
Turle.Move(Length)
Trutle.Turn(E)
EndFor
循环变量
步长
终值
累加求和
1+2+3+4+5+6+7+8+9+10=?
2+4+6+8+10+12+14+16=?
1+2+3+4+5+6+7+┅ +89=?
1+3+5+7 +┅ +77+79=?
像这样重复做加法的过程叫累加求和
下面这些算式,大家能快速的算出来吗?
1.上面这些例子是不是有规律排列重复做加法的过程?
2. 可以用上节课学的For…EndFor循环语句吗?
一.设计算法和流程图
变量就像一个存放数据的”盒子”,因此,我们用变量sum来存放累加的结果。
1+2+3+4+┅+89 可以用如下的算法来计算:
1.先将存放数据的“盒子”清空:sum=0
2.将第一个数据“1”放入“盒子”中:sum=sum+1
3.将第2个数据“2”放入“盒子”中:sum=sum+2
4.将第3个数据“3”放入“盒子”中:sum=sum+3
……
一直把所有的数据都放入“盒子”中,
当把所有的数据都放入了变量sum这个“盒子”中,变量sum才是我们要的结果。
sum
0
sum
1
sum
0
sum
1
sum
3
+ 2
sum
6
sum
3
+ 3
+ 1
=
=
=
……
特别指出:
赋值语句“sum=sum+1”虽然看上去是一个数学等式,但它的含义与我们数学中的等式是完全不同的:
1.赋值词句的左边必须是一个变量.
2.赋值词句右边的“sum”和左边的“sum”的值是不一样的。
设计算法流程图
开始
sum=0
sum=sum+1
sum=sum+2
……
sum=sum+89
结束
顺
序
结
构
图1
开始
sum=0
i=1
i=i+1
sum=sum+i
结束
i<=89
是
否
循
环
结
构
图2
●上面图1的流程图是顺序结构,虽然算法简单,但重复的语句很多,程序太长。如果采用图2的循环结构,程序就简洁的很多。
●用For…EndFor循环语句可以很简单地实现图2的算法,程序如下:
sum=0
For i=1 to 89 step 1
sum=sum+i
EndFor
小试牛刀:
⑴2+4+6+8+10+┅+100=?
⑵1+4+7+10 +┅+51=?
⑶90+85+80+┅+20=?
⑷-1-3-5- ┅ -99=?
1.它们的步长分别是( ) 、( )、 ( )、 ( )
2.它们的循环语句及步长分别是( ) 、( )、 ( )、 ( )
二.显示信息
上面累加的结果算出来了,那么怎样将结果显示出来呢?
1.一个是“图形窗口”,对象名称叫“GraphicsWindow”,这个窗口既可以绘图也可以显示文字信息。
2、另一个窗口叫“文本窗口”,对象名称叫“TextWindow”,这个窗口只能显示文字信息。
◎在Small Basic中有两个显示信息的窗口:
下面的程序在图形窗口显示1+3+5+…+79的计算结果:
sum=0
For i=1 to 79 step 2
sum=sum+i
EndFor
GraphicsWindow.FontSize=30
GraphicsWindow.DrawText(100,80,"1+3+5…+79=" + sum)
运行程序,显示结果如图
字体大小设置
100是纵坐标,80是横坐标
+是连接符
DrawText操作格式:
GraphicsWindow.DrawText(x,y,text)
作用是在坐标(x,y)显示文本text。
如果只显示文字,我们也可以将结果显示在文本窗口。例如:
sum=0
For i=1 to 79 step 2
sum=sum+i
EndFor
TextWindow.WriteLine(“1+3+79=”+sum)
1、GraphicsWindow.DrawText(x,y,text)
GraphicsWindow.DrawText(100,80, “1+2+…+89=”+ sum)
2、TextWindow.WriteLine( text )
TextWindow.WriteLine(“1+2+…+89=” + sum)
注意:1.GraphicsWindow.DrawText操作格式有坐标(x,y),而TextWindow.WriteLine没有。
2. GraphicsWindow.DrawText和TextWindow.WriteLine都要显示文本text。
两种显示结果
你知道吗?
1、表达式是由数值、变量、运算符、括号等按照一定的运算规则组成的式子,与数学中的计算意义基本相同。表达式中不能出现字符或字符型变量,否则会出错。
例如:150+”100”是错误的。因为150是数值型数字,而”100”字符弄数字。
2.作为输出操作的参数,可以将字符与数值型变量通过“+”连接起来,例如:
TextWindow.WriteLine(“1+2+…+89=” + sum)
GraphicsWindow.DrawText(100,80, “1+2+…+89=”+ sum)
这里sum前的“+”是连接的意思,不同于数学运算“+”号。
小试牛刀:
1.猜一猜TextWindow对象和各种属性和操作的含义,再与素材目录中的说明相对照,看看你猜对了多少?
小试牛刀
2.编写程序,计算:90+85+80 +…+20
将结果显示在图形窗口,显示格式如下:
90+85+80 +…+20=825
sum=0
For i=90To 20 Step -5
sum=sum+i
EndFor
GraphicsWindow.FontSize=30
GraphicsWindow.BrushColor="blue"
GraphicsWindow.DrawText(100,80 ,”90+85+80 +…+20="+sum)
程序如下:
小试牛刀
3.编写程序,计算:
1+2+3 +…+100
将结果显示在文本窗口,显示格式如下:
1+2+3 +…+100=5050
sum=0
For i=-1 To 100 Step 1
sum=sum+i
EndFor
TextWindow.WriteLine(“1+2+3 +…+100="+sum)
程序如下:
4.编写程序,计算:-1-3-5- ┅ -99,将结果显示在图形窗口,用30号蓝色的字显示。显示格式如下:
-1-3-5- ┅ -99=-2500
小试牛刀
GraphicsWindow.FontSize=30
GraphicsWindow.BrushColor="blue"
提示如下:
课堂小结
一、设计算法和流程图
1.用For…EndFor循环语句实现累加求和。
2.赋值语句:sum=sum+i
注意:
(1)赋值语句等号的左边必须是一个变量。
(2)赋值词句右边的“sum”和左边的“sum”的值是不一样的。
二、显示信息
1.图形窗口GraphicsWindow.DrawText(x,y,text)
2.文本窗口TextWindow.WriteLine(text)
累
加
求
和