第四课 累加求和
教学设计
教学目标:
1.理解累加的含义,掌握实现累加的方法。
2.掌握用For…EndFor循环语句实现累加求和的方法及过程。
3.学会应用For…EndFor循环语句解决与累加求和相似的计算问题。
教学重点:
是进一步熟悉For…EndFor循环语句的使用方法。
教学难点:
是用赋值语句实现累加计算,理解赋值语句:sum=sum+i。
教学过程:
一、设计算法和流程图
显示信息时经常要使用连接符“+”,例如:
GraphicsWindow.DrawText(100,100,"1+3+…+79="+sum)
TextWindow.WriteLine("1+3+…+79="+sum)
在这里,"1+3+…+79="是一个字符串,sum是一个代表数值的变量,它们之间的“+”号是一个连接符,不是运算符。
事实上,当字符串与数值相加时,加号就是连接符;当数值与数值相加时,加号就是运算符。可以让学生运行下面的语句领悟连接符的作用:
GraphicsWindow.DrawText(100,100,"1+2+…+100=?"+5050)
GraphicsWindow.DrawText(100,100,"1+2+…+100=?"+5050+1000)
GraphicsWindow.DrawText(100,100, 5050+1000)“
编写程序,计算:1+2+…+100将结果显示在图形窗口,用30号红色的字显示。
流程图:
显示的格式如下:
1+2+…+100=5050 程序如下:
Sum=0
For i=1 to 100 step 1
Sum=Sum+i
EndFor
GraphicsWindow.BrushColor="Red"
GraphicsWindow.FontSize=30
GraphicsWindow.DrawText(100,100,"1+2+…+100="+Sum)
二、显示信息
在small Basic中有两个显示信息的窗口,SmallBasic中最常用的对象
1、一个是图形窗口“GraphicsWindow”,可以绘图也可以显示文字信息。
2、一个是文本窗口“TextWindow”,这个窗口只能显示文字信息。
例如:
DrawLine是Draw Line,是画直线的意思;
DrawText是Draw Text,是显示文本的意思;
DrawResizedImage是Draw Resized Image,是画特定大小的图形的意思。
……
例如:在图形窗口显示1+3+5+.……+77+79的计算结果
sum=0
for i=1 to 79 step 2
sum=sum+i
Endfor
GraphicsWindow.Fontsize=30
GraphicsWindow.DrawText(100,80,"1+3+5+.……+77+79="+sum)
说明
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+5+.……+77+79="+sum)
注意:
1.对象名及操作都是保留字,不能写错。
2.程序中的小数点“·”、括号“( )”和双引号 “"” 均为英文符号,不能用中文符号。
3.Write、WriteLine的区别是:Write不换行,WriteLine换行。
4、表达式是由数值、变量、运算符、括号等按照一定的运算规则组成的式子,与数学中的计算式意义基本相同。表达式中不能出现字符或字符型变量,否则会出错。
练习:
1.编写程序,计算:90+85+80+…+20
将结果显示在文本窗口,显示格式如下:90+85+80+…+20=825 程序如下:
Sum=0
For i=90 to 20 step -5
Sum=Sum+i
EndFor
TextWindow.WriteLine("90+85+…+20="+Sum)
2、编写程序,计算
1+2+3+…+100=?
将结果显示在图形窗口,用30号红色的字显示。显示的格式如下:
1+2+3+…+100=5050
3.古印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋的发明者),问他要什么。达依尔回答:“陛下只要在棋盘的第一个格子中放1粒麦子,在第二个格子中放2粒,在第三格放4粒,以后每个格子中放的麦粒数都是前一个的两倍。如此放满64格,我就心满意足了。”国王心想,这不难办到。但一袋麦子很快用完了,一个仓库的麦子也用完了……国王心里没底了,到底要多少麦子呀? 请你编写程序计算需要多少麦子? 程序如下:
Sum=0
p=1
For i=1 to 64 step 1
Sum=Sum+p
j=2
j
EndFor
GraphicsWindow.DrawText(100,100,"总的麦粒数="+Sum)
结果:总的麦粒数=1844 6744 0737 0955 1615