浙教版(2020)八年级信息技术上册 第六课多分支结构程序设计课件(25张PPT)

文档属性

名称 浙教版(2020)八年级信息技术上册 第六课多分支结构程序设计课件(25张PPT)
格式 pptx
文件大小 6.0MB
资源类型 教案
版本资源 浙教版
科目 信息技术(信息科技)
更新时间 2022-03-19 20:26:12

图片预览

文档简介

(共25张PPT)
第6课
多分支结构程序设计
知识回顾
2
分支结构
if <条件> :
<语句块1>
else:
<语句块2>
认识多分支结构
3
True
False
图书馆
学校
商场
认识多分支结构
4
图书馆
学校
商场
认识多分支结构
5
在选择情况较多时,我们可以使用多分支结构去解决问题。
多分支结构
6
给出一个百分制成绩,要求输出成绩等级A、B、C、D和E。90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E。
嵌套
if - elif 条件语句
7
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
.
.
.
elif <条件n>:
<语句块n>
else:
<语句块n+1>
if - elif 条件语句
8
给出一个百分制成绩,要求输出成绩等级A、B、C、D和E。90分以上为A,89~80为B,79~70为C,69~60为D,60分以下为E。
# 百分制转换成A~E等级制
score = float(input('请输入成绩(0-100):'))
if score>=90:
print('A')
elif score>=80:
print('B')
elif score>=70:
print('C')
elif score>=60:
print('D')
else:
print('E')
if score>=90:
print('A')
else:
if score>=80:
print('B')
else:
if score>=70:
print('C')
else:
if score>=60:
print('D')
else:
print('E')
求最大的数——问题分析
9
比较三个数a、b、c,输出其中最大的数。
a
b
c
如何找出三个数中的最大数?请同学们尝试使用自然语言进行描述。
求最大的数——算法设计
输入:输入三个数a、b、c
处理:如果a大于b和c,则a最大
否则如果b大于c,则b最大
否则c最大
输出:输出最大数
求最大的数——编写代码
11
# 找出三个数中最大的数
a = float(input('第1个数:'))
b = float(input('第2个数:'))
c = float(input('第3个数:'))
if a>b and a>c:
print('三个数中最大数为', a)
elif b>c:
print('三个数中最大数为', b)
else:
print('三个数中最大数为', c)
亲身体验
12
比较三个数a、b、c,输出其中最小的数。
先用自然语言描述一下执行过程,然后试着在纸上绘制流程图,再编写程序代码,调试运行。
13
开动脑筋
你还有其它方法找出三个数中的最大数或最小数吗?想一想并动手试试看!
能否使用多分支结构,找出n(n≥10)个数中的最大数?
1、取一变量max,将最大值赋给max
2、使用max()函数
3、使用列表存放三个数,再用max()函数
4 简易计算器
14
(1)问题分析
(2)算法设计
(3)编写代码
(4)调试运行
编写程序,实现算术四则运算的简易计算器功能。
4.1 问题分析
15
1
+
1
= 2
运算数:x
运算数:y
运算符:op
运算结果:c
4.2 算法设计
16
自然语言描述:
输入数据:x、 y、 op 输出数据:运算结果c
输入:
处理:
输出:
数字x、数字y、 运算符号op(+、-、*、/)
根据输入的运算符号执行运算操作
输出运算结果
4.3 代码编写
# 简易计算器(四则运算)
x = float(input('请输入第一个运算数:'))
y = float(input('请输入第二个运算数:'))
op = input('请输入运算符(+-*/):')
c = 0
if op=='+':
c = x + y
print('运算结果为:', c)
elif op=='-':
c = x - y
print('运算结果为:', c)
elif op=='*':
c = x * y
print('运算结果为:', c)
elif op=='/':
c = x / y
print('运算结果为:', c)
else:
print('运算符输入有误!')
17
4.4 调试运行
elif op=='/':
if y!=0:
c = x / y
print('运算结果为:', c)
else:
print('除数不能为零!')
18
保存文件后,按F5运行程序。
# 简易计算器(四则运算)
x = float(input('请输入第一个运算数:'))
y = float(input('请输入第二个运算数:'))
op = input('请输入运算符(+-*/):')
c = 0
if op=='+':
c = x + y
print('运算结果为:', c)
elif op=='-':
c = x - y
print('运算结果为:', c)
elif op=='*':
c = x * y
print('运算结果为:', c)
elif op=='/':
c = x / y
print('运算结果为:', c)
else:
print('运算符输入有误!')
4.5 程序修改
19
# 简易计算器(四则运算)
x = float(input('请输入第一个运算数:'))
y = float(input('请输入第二个运算数:'))
op = input('请输入运算符(+-*/):')
c = 0
if op=='+':
c = x + y
print('运算结果为:', c)
elif op=='-':
c = x - y
print('运算结果为:', c)
elif op=='*':
c = x * y
print('运算结果为:', c)
elif op=='/':
if y!=0:
c = x / y
print('运算结果为:', c)
else:
print('除数不能为零!')
else:
print('运算符输入有误!')
异常
20
异常处理
21
try/except语句格式:
try:
<正常时执行语句块>
except:
<异常时执行语句块>
try:
c = x / y
print('运算结果为:', c)
except:
print('除数不能为零!')
异常处理演示
22
# 简易计算器(四则运算)
x = float(input('请输入第一个运算数:'))
y = float(input('请输入第二个运算数:'))
op = input('请输入运算符(+-*/):')
c = 0
if op=='+':
c = x + y
print('运算结果为:', c)
elif op=='-':
c = x - y
print('运算结果为:', c)
elif op=='*':
c = x * y
print('运算结果为:', c)
elif op=='/':
try:
c = x / y
print('运算结果为:', c)
except:
print('除数不能为零!')
else:
print('运算符输入有误!')
# 简易计算器(四则运算)
x = float(input('请输入第一个运算数:'))
y = float(input('请输入第二个运算数:'))
op = input('请输入运算符(+-*/):')
c = 0
if op=='+':
c = x + y
print('运算结果为:', c)
elif op=='-':
c = x - y
print('运算结果为:', c)
elif op=='*':
c = x * y
print('运算结果为:', c)
elif op=='/':
if y!=0:
c = x / y
print('运算结果为:', c)
else:
print('除数不能为零!')
else:
print('运算符输入有误!')
课堂总结
23
try/except语句格式:
try:
<正常时执行语句块>
except:
<异常时执行语句块>
异常处理
多分支结构
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
.
.
.
elif <条件n>:
<语句块n>
else:
<语句块n+1>
# 输入名次
mc=int(input('参加运动会项目名次(1-6):'))
# 计算并输出得分
if mc==1:
print('得分为:7分')
elif mc==2:
print('得分为:5分')
elif mc==3:
print('得分为:4分')
elif mc==4:
print('得分为:3分')
elif mc==5:
print('得分为:2分')
elif mc==6:
print('得分为:1分')
else:
print('输入的名次不在1-6范围!')
随堂练习
1. 学校运动会比赛取前六名成绩,其中第一名得7分,第二名得5分,第三名得4分,第四名得3分,第五名得2分,第六名得1分。
24
# 输入名次
mc = int(input('参加运动会项目名次(1-6):'))
# 利用列表,计算得分
lst = [7,5,4,3,2,1]
if mc>=1 and mc<=6:
df = lst[mc-1]
print('项目得分为:', df)
else:
print('输入的名次不在1-6范围!')
随堂练习
2. 在程序划线处填空,利用列表实现相同的功能。
25
可以使用try/expect语句来改写程序代码吗?怎么修改?