内容正文:
第四章 程序设计基础
4.3 运用选择结构描述问题求解过程
一、主题与课时
1.主题:运用选择结构描述问题求解过程
2.课时:2课时
二、教情分析
1.课标解读
掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过运用选择结构解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
2.学情分析
学生在学习本节课内容之前已了解Python的运行环境,并且能够熟练地打开和使用Python编程软件,有了一定算法基础和程序设计语言的基础知识,能熟练使用输入输出语句并了解程序的顺序结构,能够编写简单程序。
3.导学目标
(1)能够掌握程序的选择结构设计的基本流程;
(2)能够掌握Python程序设计语言的选择结构的单分支if语句、双分支if语句、if语句的嵌套以及if…elif…else语句的一般格式及使用方法。
(3) 能够运用选择结构描述问题的求解过程。
三、核心素养指向
1. 信息意识:在解决问题的过程中,能选择恰当的方式进行有效交流。根据实际解决问题的需要,恰当选择数字化工具,具备信息安全意识。
2. 计算思维:能提取问题的基本特征,进行抽象处理,并用基本算法设计解决问题的方案,能使用Python语言实现这一方案。
3. 数字化学习与创新:针对特定的学习任务,运用一定的数字化学习策略管理学习过程与资源,完成任务,创作作品。
4. 信息社会责任:在信息活动中,具有信息安全意识,尊重和保护个人及他人的隐私。
四、学习重难点
1. 重点: 掌握顺序结构的基本流程;单分支if、双分支if和多分支if语句的格式和使用方法。
2. 难点:能利用选择结构程序思想解决实际问题。
五、教学过程
课时1 if语句的应用
1. 课前预习
预习任务1:单分支if语句的格式:
if 条件表达式:
语句A
预习任务2:双分支if语句的格式:
if 条件表达式:
语句A
else:
语句B
2. 课中学习
导入环节:
对于读入的一个整数a,判断其是奇数还是偶数?
(1)单分支if语句的使用
分析问题:
① 确定输入的整数
② 判断其是奇数还是偶数
设计算法:
根据上面的分析,解决问题的算法描述如下:
①输入整数a;
②如果a%2==0,则输出是偶数;
③如果a%2==1,则输出是奇数;
④结束。
编写程序:
print("请输入一个整数:")
a = int(input())
if a % 2 == 0:
print(a,"是偶数")
if a % 2 == 1:
print(a,"是奇数")
调试运行:
(2)双分支if语句的使用
设计算法:
根据上面的分析,解决问题的算法描述如下:
①输入整数a;
②如果a%2==0,则输出是偶数;否则输出是奇数;
③结束。
编写程序:
print("请输入一个整数:")
a = int(input())
if a % 2 == 0:
print(a,"是偶数")
else:
print(a,"是奇数")
调试运行:
(3)探究一:项目小组成员在某购物网站上看到三种笔记本的优惠费用各不相同,笔记本1、笔记本2、笔记本3每本分别优惠a元、6元和c元,编程输出其优惠的最大值。
分析问题:
对于读入的三个数a、b、c,设其中的最大数为m,先找出a和b中最大的数赋给m,然后再将m与c比较,从而找了三个数中最大的数。
设计算法:
算法描述一(单分支if语句):
①输入三个数a、b、c;
②如果a>b,则m=a;
③如果a<b,则m=b;
④如果c>m,则m=c;
⑤ 输出m的值;
⑥ 结束。
算法描述二(双分支if语句):
① 输入三个数a、b、c;
② 如果a>b,则m=a;否则m=b;
③ 如果c>m,则m=c;
④ 输出m的值;
⑤ 结束。
编写程序:
单分支if语句
双分支if语句
调试运行:
总结归纳:
掌握单分支if语句、双分支if语句的一般格式及使用方法。并会应用if语句解决实际问题。
3. 课后拓展
作业布置:完成课堂练习题。
拓展阅读和实践:阅读教材80页的多分支选择结构的格式和执行过程,完成拓展题。
拓展题:根据用户的成绩输出对应的等级:90分及以上为A,80-89分为B,70-79分为C,60-69分为D,69分以下为E。
六.反思与改进
1. 学生反思:学生对自己学习过程的反思和总结。
2. 教师反思:通过学生的课堂参与度和课后作业完成情况来评估学生对单分支if语句、双分支if语句理解的深度。 对学生的编程实践进行点评,指出优点和需要改进的地方。强调和练习选择结构格式中关键词都是小写,表达式后必须加英文状态下的冒号,语句或语句组都有缩进,而且缩进要保留一致。
附:课堂练习题
1、以下语句格式正确的是( )。
A、if age < 18;
B、if age < 18:
C、if age < 18。
D、if age < 18.
2、一名高中生在以下程序输入自己的年龄会得到的结果是( )
s = input("请输入一个数字")
print("s是个小于10的数字" if int(s)<10 else "s是大于10的数字")
A、请输入一个数字 B、s是个小于10的数字
C、s是大于10的数字 D、自己年龄的数值
3、选择结构不包含( )
A、单分支 B、双分支 C、多分支 D、群分支
4、条件是由条件表达式来构成的。条件表达式的值有( )种。
A、1 B、2 C、3 D、4
5、在Python中,实现多分支选择结构的较好方法是( )。
A、if B、if-else C、if-elif-else D、if嵌套
6、执行下列程序以后的结果是( )
print("请输入3个数:")
x=int(input("x= "))
y=int(input("y= "))
z=int(input("z= "))
temp=0
if x>y:
temp=y
y=x
x=temp
if x>z:
temp=z
z=x
x=temp
If y>z:
temp=z
z=y
y=temp
print(x,y,z)
A、从小到大排序 B、从大到小排序
C、都变成最大的数 D、都变成最小的数
7、关于结构化程序设计所要求的基本结构,以下描述错误的是( )
A、重复(循环) B、选择(分支) C、goto跳转 D、顺序
8、下面if语句统计满足“性别 (gender) 为男、职称(rank) 为副教授、年龄(age)小于40岁”条件的人数,正确的语句为( )。
A、if(gender=="男" or age<40 and rank=="副教授"): n+=1
B、if(gender=="男" and age<40 and rank=="副教授"): n+=1
C、if(gender=="男" and age<40 or rank=="副教授"): n+=1
D、if(gender=="男" or age<40 or rank=="副教授"): n+=1
9、下列程序运行后,在键盘输入100,则程序的运行结果是( )。
x=int(input("Please input x:"))
if x<0 or x>=20:
print(x//10)
elif 0<=x<5:
print(x)
elif 5<=x<10:
print(3*x-5)
elif 10<=x<20:
print(0.5*x-2)
A、10 B、100 C、295 D、48
10、下列程序执行后的结果是( )。
a=1
if a<0:
print("a<0")
print("a<0")
elif a<1:
print("0<a<1")
else:
print("a>=1")
A、a<0 B、0<a<1 C、a>=1 D、a>0
课时2 if…elif…else语句的运用
1. 课前预习
预习任务1:复习单分支if语句、双分支if语句的格式及使用方法。
单分支if语句的格式:
if 条件表达式:
语句A
双分支if语句的格式:
if 条件表达式:
语句A
else:
语句B
任务一:
1.将下列代码填充或修改,并调试运行看是否正确。
#单分支结构 if....
score = 85
_____ score >=80;
(
捆绑在一起的语句块
) Print(“优秀!”)
print(score)
print(“结束”)
2.上面代码调试运行成功后,将score = 85修改为score = 70,观察运行结果。
单分支if语句中,条件表达式为真,则执行下方语句;若条件表达式为假,则不执行,而是跳出if语句结构,执行下方的其它语句。
任务二:
1、 将下列代码填充或修改,并分别输入85、70运行,观察运行结果。
#双分支结构 if....else
score = ___(input(“请输入成绩:”))
___ score>=80;
Print(“优秀”)
Else;
Print(“良好”)
单分支if语句中,条件表达式为真,则执行下方语句A;若条件表达式为假,则执行else下方语句B。
任务三:
1.将下列代码填充或修改,并调试运行看是否正确。
#多条件判断 and or
(1)如果成绩大于80或大于90则输出good。
a = 88
If a>80 ___ a<90:
print(“good”)
(2)判断输入的一个整数能否同时被3 和 7 整除,若能,则输出“Yes”;否则输出“No”。
n= (input("请输入一个整数:"))
if n%3==0 ___ n%7==0:
print("Yes")
else:
print("No")
预习任务2:多分支语句的一般格式及使用方法
if 表达式1:
语句1
elif 表达式2:
语句2
…
elif 表达式N:
语句N
else:
语句N+1
说明:
条件表达1为真True执行语句组1,否则依次判断表达式2、3……N,只要其中有一个为真True,即执行对应的语句组并不再接着进行判断,如果所有表达式都为假False,执行else后的语句组。当有三个及以上的判断选择时,可以使用多分支选择结构。
3. 课中学习
导入环节:根据用户的成绩输出对应的等级:90分及以上为A,80-89分为B,70-79分为C,60-69分为D,69分以下为E。
算法:
score = int(input(‘请输入成绩:’))
if score>=90:
print(“A”)
score>=80:
print(“B”)
elif score>=70:
print(“C”)
elif score>=60:
print(“D”)
else:
print(“E”)
活动一:某商场做促销打折活动,消费金额500元以内打8.8折;大于500元(含500元)且小于1000元打8折;1000 元以上(含1000元)打7折。小曲使用Python 编写了下面程序,第4行下划线处应填写的代码是 。
x=float(input("消费金额:"))
if x<500:
s=x*0.88
x<1 000:
s=x*0.8
else:
s=x *0.7
print("应付金额为:",s)
总结归纳:分支的基本结构
1.单分支if语句、双分支if语句和多分支if语句的格式及使用方法。
单分支if语句的格式:
if 条件表达式:
语句A
双分支if语句的格式:
if 条件表达式:
语句A
else:
语句B
多分支if语句的格式:
if 表达式1:
语句1
elif 表达式2:
语句2
…
elif 表达式N:
语句N
else:
语句N+1
3. 课后拓展
作业布置:观察教材83页的三个程序,分析、讨论哪一种更好。
将程序3输入到python运行环境中,并简化修改正确后调试运行。了解闰年的判断方法,年份整除100或不整除100但能整除4的年份均为闰年。
六.反思与改进
1. 学生反思:学生对自己学习过程的反思和总结。
2. 教师反思:反复强调和练习选择结构格式中关键词都是小写,表达式后必须加英文状态下的冒号,语句或语句组都有缩进,而且缩进要保留一致。
4
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$