资源描述
《循环结构程序设计 FOX/NEXT 循环语句》说课稿
一、教材分析
QBASIC语言是国内外广泛使用的,易于学习和掌握的计算机高级语言,本课程是计算机专业的专业基础课,也是入门课。我今天所要讲的内容《循环结构程序设计 FOX/NEXT 循环语句》是选取职业高中课本《QBASIC程序设计》第三章《程序设计基础》第五节的循环结构程序设计。这一章从增强学生的切身感受、激发学生兴趣入手,深入浅出地介绍程序设计的三大结构——顺序结构、分支结构和循环结构的基本知识,以及编程时所用语句的定义方法,通过QBASIC程序设计软件,让学生真正了解到程序设计的方法。
本节课是程序设计的第三个课时,在学习本节课之前,学生已经初步具备利用QBASIC语句编写顺序结构和分支结构的程序的能力,这节课可以说,是原有基础上的一个再提高,程序设计离不开设计思想,作为一名计算机老师,不仅要传授给学生计算机知识,更重要的是传授给学生程序设计思想、程序设计意识,因此本节课在教学中力图向学生传授程序设计的思想。
二、教学目标
在教学过程中,充分发挥学生的主体作用,调动学生的学习积极性,有效地培养学生的分析问题、解决问题的能力,主要体现下面三个目标:
1、知识目标:能过FOR/NEXT语句的学习,理解循环过程,能写出简单的循环程序。
2、能力目标:培养学生分析问题,解决问题的能力。
3、情感目标:激发学生学习热情,培养学生学习的积极性。
三、教学重点、难点、关键
本着课程标准,在吃透教材的基础上,我确立了如下的教学重点、难点、关键
重点:掌握FOR/NEXT循环语句的格式,并能运用它来编写程序。
难点:解决问题的思路和方法(算法),流程图制作,确定循环变量和循环体。
关键:会画流程图,能独立编写程序。
四、教学方法及教学手段
1、教学方法
QBASIC语言是一门理论与实践性都很强的学科,它要求教学不能仅仅满足于使学生掌握一些理论知识,而应着力于发展学生的能力(特别是自学和创新能力),培养学生全面思考问题,养成科学思维的习惯。这是一节面向学生,面向新教材,遵循从易到难,由浅到深的循序渐进的开放式课堂教学。我采用分析法、演示法、实验法和讨论法等多种教学方法,充分体现了学生是教学活动中的主体,而教师通过对学生参与学习的启发、调整、激励来体现自己的主导作用,使学生在协作学习中目标明确、态度积极、气氛活跃,注意培养学生掌握结构化程序设计思想。
2、教学手段
教室、计算机房、多媒体教室结合使用,有效地利用各种教学手段,充分调动学生的积极性,以期达到良好的教学效果。
五、教学对象分析
学习本节课前,学生已经对顺序结构程序和分支结构程序有关语句有一定的了解,对这些内容复习加强巩固的同时,指出它在顺序执行、选择执行程序中有一定的优势,但要将某项任务转化为重复多次去执行某一项操作时,它就有一定的困难,并提出改进的设想和办法,从而激发学生探求新知的欲望。结合本课程的内容特点和学生的现状,除了教育学生养成“课前仔细预习,上课认真听讲,课后及时复习”的习惯之外,在教学过程中还应该充分体现学生的主体地位,充分调动学生的学习积极性,做到教材让学生看,思路让学生想,疑难让学生析,错误让学生议,实验让学生做,问题让学生自己主动解决。这样才能更好地培养学生的逻辑思维能力、自学能力和动手实践能力。
六、教学过程
1、
[复习提问]
同学们,我们学习了QB语言的一些基本语句,下面我们一起来编写一个程序:打印5个竖排的“*”。
[设问]:
同学们做得很好,那么,我想画10行,100行,1000行“*”呢?难道就这样顺序写下去吗?这样编写是不是太繁琐了。如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢?能!通过我们今天学习的FOR/NEXT循环语句,就可以很容易的实现这个愿望。
循环变量←初值
语句序列
循环变量←循环变量+步长
循环变量超
过终值吗?
N
Y
1、给出上例的程序代码,并通过流程图加以理解 :
CLS
FOR I=1 TO 5 STEP 1
PRINT “*”
NEXT I
END
[分析]:
循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。但重复一般都是有条件的,即在满足FOR语句中的条件下才执行循环体,否则退出循环体。下面我们就来看一下FOR/NEXT循环语句的格式:
格式:
FOR〈循环变量名〉=〈循环变量初值〉TO〈循环变量终值〉STEP〈循环变量增量〉
〈语句序列(循环体)〉
NEXT 〈循环变量〉
说明:
1)当步长(循环变量增量)为1时,STEP 1可省略不写;
2)语句序列(循环体)中可以含有任意多条语句,也可无
任何语句,称为空循环;
3)语句序列中可以含有循环结构;
4)FOR语句与NEXT语句必须成对出现,缺一不可。
5)FOR语句与NEXT语句的循环变量是同一变量。
6)有时需中途退出循环,这时用EXIT FOR命令。
在上例中,FOR语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;I是循环变量,它的值在执行过程中是变化的,它的初值为1,终值为5,循环增量(步长)为1。
2、设置“陷阱”,深化理解语句格式
1)学生分成七组讨论,然后每组完成一题,发现错误并纠正。(给出七组题目见附页)
2) 教师收集结果并作分析。
3、请同学们阅读下面程序,写出结果并上机验证,画出流程图,说明程序功能。示题:
for i=1 to 3 step 1
print i
next i
end
[程序执行过程分析]
第几次
循环
循环开始时i的值
执行NEXT之后i的值
i与终值
比较
执行下一次循环否?
1
2
3
1
2
3
2
3
4
<3
=3
>3
执行
执行
停止执行
出示流程图卡片:见附页图1。
cls
s=0
for x=1 to 100
s=s+x
next x
print s
功能:求1到100的和
4、阅读下面程序,深化对程序的理解。
cls
for i=20 to 10 step –2
print i
next i
功能:输入出20,18,16,14,12,10六个数
5、突破难点,尝试独立编程。
刚才我们通过分析阅读已有程序,对循环结构又有了进一步理解,但我们不能仅局限在看懂、读懂程序上,我们的目的是要自己完成程序设计。
首先要进行审题,认真分析题目需要解决什么问题,达到什么目的(算法);
然后从已知条件出发,分析经过哪些处理才能解决问题。再把分析出来的处理步骤用流程图表示出来(流程图);
最后用QB语言描述出各个解题步骤,程序设计就不会让你束手无策(编写代码)。
下面我们就参照例题,按照老师介绍的程序设计步骤,试着自己来编制2个程序:
1) 依次在屏幕上打印2、4、6、…、20的平方。
2) 求出满足每位数字的平方之和等于它本身的所有三位数。
6、总结本节内容,布置课外作业
各学科的内容之间都是有联系的,都不是孤立的,同学们要把知识动态化,多角度、多方式地去思考,掌握知识的内在联系,提高解题能力,开阔自己的视野。
作业:1)循环变量的值可以是小数吗?为什么?
2)求1+1/2+1/3+1/4+…+1/10的值。
3)打印出由数字1、2、3所组成的所有三位数(各位数字允许重复)。
7、板书设计
8、教学所思
9、教学评价
1)、学生能否完成教师布置的课堂操作,能完成多少?
2)、学生能否把解题的思路和方法(算法)、流程图和QB代码有机联系起来,能否进行自主学习及互相合作,进行创新?
3)、学生与教师配合是否默契,自主学习积极性是否高涨?
七、教学效果预评估及学生素质培养情况预想
通过本课程的学习,学生应建立循环程序设计的思想,掌握QBASIC的循环语句的格式,掌握一定的QBASIC语言循环语句编程技巧和能力,并具有较强的实验上机操作能力,为以后学习专业课奠定必要的基础。此外,学生还应养成发现问题、提出问题的科学思维的习惯,提高解决问题的能力,并初步具备创新意识。
附页:
1)打印1~5这5个数
cls
for i=1 to 5 step –1
print i
next i
[步长应为1]
2) 打印5~1这5个数
cls
for i=5 to 1
print i
next i
[步长为-1,不能省,应for i=5 to 1 step –1]
3) 打印1~5这5个数
cls
for i=1 to 5
print “i”
next i
[i加上引号,就变成了字符串,应把引号去掉]
4) s=0
for x=1 to 10
s=s+x
if s>20 then
exit
end if
print x
next x
[退出FOR循环语句为EXIT FOR]
5) 打印1~5这5个数
cls
for n=1 to 5
print n
[FOR与NEXT必须成对出现,不能缺省]
6) 打印1~5这5个数
cls
for 1 to 5
print n
next n
[循环变量n要赋值,for n=1 to 5]
7) 打印1~5这5个数
cls
for i=1 to 5
print i
next j
[FOR语句与NEXT语句的循环变量应是同一变量。]
i←1
Print i
i←i+1
i超过1
N
Y
流程图:
(图1)
展开阅读全文