第八课 程序设计的分支结构2
教学目标
(一)知识和技能 理解分支结构的含义
理解分支结构程序代码执行的基本过程
(二)过程与方法
在第一节课的基础上,多样化展示if语句的使用方法
(三)情感态度与价值观
通过解决实际的问题,提高学生将所学的知识应用于实践的能力
教学重点:分支结构程序运行的过程 教学难点:逻辑表达式的应用 课 时:2课时
教学过程
复习导入:分支结构的要领复习 新课引入:
例题:数字判定问题 【问题描述】 现在有一个整数,如果该整数大于10 并且小于等于20 则输出yes 否则输出no 【输入格式】 第一行:一个整数 【输出格式】 第一行:yes 或者 no 【输入样例】 12 【输出样例】 yes
思路分析: 沿用上节课课程的教学内容,有些学生可以作出如下思路的代码 #include #include using namespace std; int main() { int a; cin>>a; if(a>10){ if(a<=20){ cout<<”yes”; } } else{ cout<<”no”; } return 0; } 代码分析:这段代码存在一个逻辑上的错误,如果输入30,那么程序将不会输出任何值。教师的提问围绕着这个逻辑上错误展开,目的是测试学生是否真的已经理解了if语句的运转机能,并且由此引入了嵌套的if语句结构,尽量做到过度顺畅的引入新知识点。 请学生参与这个代码的修正工作,将最后正确的代码向学生展示。 代码修正: int main() { int a; cin>>a; if(a>10){ if(a<=20){ cout<<”yes”; } else{ cout<<”no”; } } else{ cout<<”no”; } return 0; } 代码改进: int main() { int a; cin>>a; if(a>10 && a<=20){ cout<<”yes”; } else{ cout<<”no”; } return 0; } 引入&&符号,引入逻辑表达式的概念
教师将逻辑表达式的功能与作用像学生展示,尤其是注意利用数轴的概念形象化地解释&&的用法
接下来使用另一个例子向学生介绍|| or 逻辑运算符 代码改进: int main() { int a; cin>>a; if(a%2==0 || a%3==0){ cout<<”yes”; } else{ cout<<”no”; } return 0; } 在总框架不变的情况下,利用逻辑表达式的变化让学生体会与思考其中的含义
学生在最后十分钟时上机练习
教学后记:学生利用头脑风暴,理清了if语句的结构,更加深入理解了if语句的嵌套作用,在学习完毕逻辑表达运算符之后,学生的编程能力会有进一步的提高。