浙教版必修一 3.3简单算法及其程序实现 课件

文档属性

名称 浙教版必修一 3.3简单算法及其程序实现 课件
格式 pptx
文件大小 1.1MB
资源类型 试卷
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-11-11 11:29:54

图片预览

文档简介

(共21张PPT)
第三章 算法的程序实现
3.3 简单算法及其程序实现
学习目标
1.熟悉解析算法、枚举算法,感受算法的效率。
2.能用程序实现简单算法,解决实际问题。
本节介绍如何使用Python程序设计语言来描述两种常用的算法。
知识点一:解析算法及其程序实现(数学表达式)
新课讲授
基本思想:根据问题的前提条件与所求结果之间的关系(已知与未知之间的关系),找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。
用解析算法编程来解决问题过程
1.分析问题、建立数学模型
已知
问题
求解问题
解析表达式
关键
2.设计算法
4.调试运行程序
3.编写程序
1.确保数学表达式的正确
2.正确描述该数学表达式
下面将通过一个求解圆周长及面积的实例来体验解析算法的程序实现过程。
r=5
抽象与建模:
已知条件是什么?
要求的解是什么?
已知与结果之间的表达式怎么写?
____________
r=5
______ ___
_________ ___
print('圆的面积为:',s)
print('圆的周长为:',c)
import math
s=math.pi*r**2
c=2*math.pi*r
如何增强程序的灵活性?
import math
__________________
s=math.pi*r**2
c=2*math.pi*r
print('圆的面积为:',s)
print('圆的周长为:',c)
r=int(input("请输入圆的半径:"))
输入的半径r<=0时,输入的半径还有效吗?
import math
r=int(input("请输入圆的半径:"))
s=math.pi*r**2
c=2*math.pi*r
print('圆的面积为:',s)
print('圆的周长为:',c)
print("输入的半径无效!")
if r>0:
else:
知识点二:枚举算法及其程序实现(一一列举)
基本思想:把问题所有可能的解一一列举,然后判断每一个列举出的可能解是否为正确的解。
不能遗漏任何一个可能解,尽可能地缩小解的列举范围,提高算法的效率
用枚举算法编程来解决问题过程
枚举
筛选
一一列举可能的解
逐一判断正确的解
循环结构
今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?注意:雉兔至少有一只。
抽象与建模:
枚举:一一列举可能的解,枚举范围是多少?
鸡的数量:1~34
筛选:逐一判断得到正确的解,判断条件是什么?
鸡兔共35个头:chicken+rabbit==35
鸡兔共94只脚:2*chicken+4*rabbit==94
for chicken in range(1, 35):
for rabbit in range(1, 35):
if(chicken+rabbit==35 and2*chicken+4*rabbit==94):
print('鸡有',chicken,'只')
print('兔有',rabbit,'只')
能不能进一步优化程序?
循环执行 次
34*34
for chicken in range(1, 35):
rabbit=35-chicken
if 2*chicken+4*rabbit==94:
print('鸡有',chicken,'只')
print('兔有',rabbit,'只')
循环执行 次
34
小节:
解析算法:根据已知与未知之间的关系,找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。
枚举算法:把问题所有可能的解一一列举,然后判断每一个列举出的可能解是否为正确的解。
1.Python语言属于( )。
A.机器语言 B.汇编语言
C.高级语言 D.数学语言
2. 下列表达式中,值不是1的是( )
A.5//3
B.17%2
C.3/2
D.1**3
随堂练习
C
C
3. 'ab'+'d'*2 结果是:( )
A abd2 B abdd
C abdabd D ababdd
4. 整型变量x中存放了一个三位数,要得到该数的十位,正确的Python表达式是( )
A.x//10/10
B.x//10%10
C.x/10%10
D.x%10/10
B
B
abc解析:
a=x//100(百位)
b=x//10%10(十位)
c=x%10(个位)
5.与数学表达式 对应的Python表达式是( )
A 2*(c+d)/a+b B 2*(c+d)/(a+b)
C 2(c+d)/(a+b) D 2*c+d/a+b
6. Python表达式中,可以使用( )控制运算的优先顺序。
A.圆括号()
B.方括号[]
C.花括号{}
D.尖括号<>
B
A
2(c+d)
a+b
7.关系表达式的值有两个,True和False,当关系表达式成立,其值为( );关系表达式不成立,其值为( )。 ( )
A.True False B.True True
C.False False D.False True
8.下列选项中合法的标识符是( )。
A._7e_b B.break
C._a b D.7vb
A
A
9.a=“.dzx,8h”
len(a)是
greeting=“ dz ,nh”
greeting[3]是
10.b=[“tfboys”,“王源”,“王俊凯”, “易烊千玺”]
print(b[0:2]) 取出元素
print(b[1:2]) 取出元素
7
['tfboys','王源']
’ ’
['王源']
11.a_dict = {“演员”: “山鸡”, “年龄”: 26, “体重”: 70, “身高”: 185,“代表作”:”丽州风云之我是传奇” }
print(a_dict[“演员”])
print(a_dict[“身高”])
print(a_dict[“代表作”])
a_dict[“代表作”]
山鸡
185
丽州风云之我是传奇
”丽州风云之我是传奇”
12.计算以下函数值
chr(90)
ord(‘h’)
abs(-1.5)
str(‘2’)
13.在Python中,实现多分支选择结构的一般的格式是( )
A.if B.if-else
C.if-elif-else D.if嵌套
‘Z’
104
1.5
‘2’
C
14.Python语言同一级别语句块的标记是( )
A . 分号 B . 逗号 C. / D. 缩进
15.
x =int(input('请输入一个数字:'))
if x % 3 ==0 and x % 7 == 0:
print('True')
else:
print('False')
若程序运行后输入25,打印出的值为
D
False
16.编写程序:求1-10所有偶数的和。
sum = 0
for i in range(2,11,2):
sum = sum+i
print("1-10所有偶数的和是:",sum)