- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分支结构算法的实现教学设计
井冈山大学附属中学 章晓莹
教学目标:
1、知识与技能:理解程序设计分支结构基本思想;掌握分支结构语句特点
2、过程与方法:学会用算法分析问题;能够使用分支结构编写简单的程序解决具体问题
3、情感态度与价值观:体会用结构化方法解决数学问题的便捷性;明确结构化在程序设计中的重要作用;激励尝试使用多种方法解决问题;培养良好的编程习惯和态度。
教学重点:
1、理解程序设计的分支结构基本思想;
2、熟悉IF语句和CASE语句,掌握IF语句的运用;
教学难点:
1、分支结构实现语句的格式和功能;
2、编写简单的程序的过程;
3、变量的特点。
教学方法:
任务驱动法、演示法、讲解法、师生互动法
课时安排:一课时
教学设计:
1、教学对象分析
本课适用于高中二年级学生。这一阶段的学生具备一定的数学基础和具有一定的比较、归纳能力,是一个正处在抽象逻辑思维已初步形成并继续发展的阶段。学习分支结构程序设计就是要在这些基础上,借助具体事务为载体,了解程序解决问题的条件与办法。在学习本课之前,学生已经掌握pascal程序的编写与运行方法,了解顺序程序结构的执行流程。
2、教学需要分析
本节课在有多媒体教学软件的机房上课。通过再度开发课程资源(《 HYPERLINK /?斐※斐※课※件※园※资※源 信息技术》第四册第四章第二节《分支结构算法的实现》)和充分利用学生发言的现场事件进行有效讲授,激发学生的探究热情,努力创设师生之间的互动场景,使学生在讨论中协作学习,在发言中共享学习成果。
本节课在教师设疑、讲解和学生分析、讨论、发言等基础上进行的,主要运用的教学方法是任务驱动法。教师讲解的过程就是不断地“否定”前面的结论,提出新问题(任务)、请同学们分析问题,提出解决方案,帮助学生解决问题的过程。
在授课过程中,要根据课堂现场发生的事件,随时调整教学内容,当学生的讨论发言偏离本节课的教学目标和内容时,要机智处理。
教学过程:
导入:
1、阅读句子,总结规律。
如果天气好,就去打球,否则留在家里。
如果答对了,就会得分,否则就会扣分。
如果……就……(否则……)
2、在Pascal中,这种根据不同的情况转向不同的分支来处理的程序结构就是分支结构。
If……then……(else……)
(学生讨论、发言,教师引导他们注意if?、then、?else三个词,并为这些按条件语句的一般形式划分部分)
【学生归纳】
条件语句的一般形式:
格式一:if? 条件 then 语句组
格式二:if? 条件 then? 语句组1 else 语句组2
【教师说明】
格式一功能:当条件满足时执行then后语句组,否则跳过此行执行下一行。
格式二功能:当条件满足时执行语句组1,否则执行语句组2。
例题讲解
编写程序,实现人机对话,电脑显示“你快乐吗?(Y OR N)”,如果按“Y”,就回答“我很高兴”,否则就回答“太糟了”。
流程图
编写程序
PROGRAM ex1;
VAR a:char;
BEGIN
Writeln(‘Are you happy?’);
Write(‘a=’);
Readln(a);
IF a=‘y’
THEN writeln (‘I am happy’)
ELSE writeln (‘too bad’)
END.
上机任务
输入三个正数,输出最大数
(1)分析题目,设问,引导学生思考:
在现实中,如果要求三个正数中的最大数,我们很容易做到;但是,如果有一千个数或更多的数,就需要较长的时间,而且容易出错。如果用Pascal按一定的算法编写程序,就可以准确地在短时间内求出一千个数或更多数中的最大数,那我们应该如何编写程序呢?
(2)分析算法:
归纳算法:两数分别做比较,用中间量保存当前最大数,最后求出最大数。
①max←0
②输入a、b、c的值
③如果maxa则max←a
④如果maxb则max←b
⑤如果maxc则max←c
⑥输出max
(3)按流程图编写出程序,调试程序,观察结果。
PROGRAM ex2;
Var a,b,c max:integer;
BEGIN
Writeln(‘Please input a b c’);
Write(‘a=’);Readln(a);
Write(‘b=’);Readln(b);
Write(‘c=’);Readln(c); Max:=0;
If maxa then max:=a;
If maxb then max:=b;
If maxc then max:=c;
Writeln(‘The max is’ ,max)
END.
程序运行:
当程序运行后(Ctrl+
文档评论(0)