粤教版信息技术必修一第三章《算法基础》课件(共43张PPT)

资源下载
  1. 二一教育资源

粤教版信息技术必修一第三章《算法基础》课件(共43张PPT)

资源简介

(共43张PPT)
信息技术必修一《数据与计算》
第三章 算法基础
人工解决问题的过程
算法基础
体验计算机解决问题的过程
计算机解决问题的过程
算法
算法的描述
数据的输入与输出
顺序结构的应用
计算机程序与程序设计语言
算法及其描述
体验计算机解决问题的过程
01
探究
Q: 学期结束时,老师打算花50块钱购买一些笔记本奖励表现优秀的同学,请班长小明帮忙,小明决定同时买三种单价分别为6元、5元、4元的笔记本,钱刚好花完,请问可以有多少种方案?
人工解决问题
1. 提取题干信息:
总金额:50元
笔记本单价:6元、5元、4元
要求:钱刚好花完、同时买三种笔记本
①明确问题给出的条件
2. 转换为数学方程,并列出可能的解:
方程:6x+5y+4z=50
方案 x y z 6x+5y+4z
一 1 4 6 50
二 1 8 1 50
三 2 2 7 50
四 2 6 2 50
五 3 4 3 50
六 4 2 4 50
七 6 2 1 50
可能的解:
②根据经验和知识确定解决问题的方法
③解决问题
人工解决问题
人工解决问题的过程:
明确问题给出的条件--根据经验和知识确定解决问题的方法--解决问题
但当花费的钱数需刚好为n时,数据量很大,人工处理效率很低。
因此我们需借助计算机工具,通过编制计算机程序来解决问题。
计算机解决问题
1. 提取问题需求情况和已知条件:
需求情况:同时购买三种类型且总价为50元的笔记本
已知条件:笔记本价格分别为6元、5元、4元
①分析问题
2. 给出解决问题的详细方法和步骤:
①6元的笔记本数量x最少为1,最多为8;5元的笔记本数量y最少为1,最多为10;3元的笔记本数量z最少为1,最多为12。
②让三类笔记本的数量x,y,z作为变量,在各自值域内变化、组合。
③笔记本总价每刚好为50,则让方案数t自加1。
②设计算法
计算机解决问题
3. 选择一种计算机语言工具来编写程序:
t=0
for x in range(1,9):
for y in range(1.11):
for z in range(1,13):
if x*6+y*5+z*4==50:
t=t+1
print(“方案数为”,t,“个”)
③编写程序
4. 运行程序,检验程序执行效果:
如果程序出错,可根据计算机提示的出错信息修改程序,重新调试运行
④调试运行程序
练一练
P27第2题:用计算机编程来求某一方程的解,通常的步骤是( )
①调试运行程序 ②分析问题 ③设计算法 ④编写程序
A. ②③④①
B. ①③④②
C. ③②④①
D. ②④③①
A
解析:计算机解决问题的过程:分析问题--设计算法--编写程序--调试运行程序
练一练
2. P28第7题:一位爱好程序设计的同学想通过程序设计解决“韩信点兵”的问题,
他制定的如下工作步骤,更为恰当的是( )
①调试运行程序 ②分析问题 ③设计算法 ④问题解决 ⑤编写程序
A. ①②③④⑤
B. ②③④⑤①
C. ④②③⑤①
D. ②③⑤①④
D
解析:计算机解决问题的过程:分析问题--设计算法--编写程序--调试运行程序
练一练
3. P28第8题:交通警察到达交通事故现场,开展工作的一般思路是( )
①观察分析现场 ②收集必要的信息 ③进行判断和推理 ④给出处理方案
A. ②①③④
B. ①③②④
C. ③①②④
D. ①②③④
A
算法及其描述
02
算法
特征
有穷性:一个算法在执行有穷步之后必须结束,即一个算法所包含的计算步骤是有限的。
确定性:算法执行的每一个步骤必须有确切的定义。
数据输入:一个算法必须有零个或多个数据输入。
数据输出:一个算法必须有一个或多个数据输出。
可行性:每个计算步骤都可以在有限时间内完成。
指在有限步骤内求解某一问题所使用的一组定义明确的规则。
是用计算机求解某一问题的方法,是能被机械执行的动作或指令的有穷集合。
练一练
4. P27第3题: 下面关于算法的特征,描述不正确的是( )
A. 有穷性:算法必须在有穷步之内结束
B. 确定性:算法的每一步必须确切地定义
C. 输入:算法必须至少有一个输入
D. 输出:算法必须至少有一个输出
C
解析:一个算法应是必须有0个或多个数据输入
算法的描述
算法是对解题过程的精确描述,需要使用某种方法将其表示出来
自然语言
流程图
伪代码
用自然语言描述算法
例:若求方程6x+5y+4z=50的正整数解的个数t,则解决问题的算法步骤用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。
特点:通俗易懂,易于理解,
但文字冗长,容易产生歧义性
t=0;
x=1;
y=1;
z=1;
如果满足式子6x+5y+4z=50,则解的个数加1(t=t+1),并输出一个解(输出t,x,y,z的值);
z=z+1;
如果z<=12,则转步骤⑤,否则继续⑧;
y=y+1;
如果y<=10,则转步骤④,否则继续⑩;
x=x+1;
如果x<=8,则转步骤③,否则继续(12)
结束
用流程图描述算法
特点:清晰简洁,直观易读
但所占篇幅较大
例:若求方程6x+5y+4z=50的正整数解的个数t,则解决问题的算法步骤用流程图描述算法,就是用流程框图来描述算法的一种表示方法。
图形形状各异,功能不同
流程图的基本图形及其功能
图形 名称 功能
逻辑非运算
开始/结束
表示算法的开始或结束
输入/输出
表示算法中变量的输入或输出
处理
表示算法中变量的计算与赋值
判断
表示算法中的判断
连接点
表示算法中的转接
流程线
表示算法中的流向
用伪代码描述算法
特点:书写方便,格式紧揍
但语句不容易规范
例:若求方程6x+5y+4z=50的正整数解的个数t,则解决问题的算法步骤用伪代码描述算法,就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
t=0
for x in range(1,9):
for y in range(1,11):
for z in range (1,13):
if x*6+y*5+z*4==50;
t=t+2
print(x,y,z) #输出三个整数x,y,z
print(‘方程的解一共有’,t, ‘种可能’)
算法三种描述方法的优劣对比
算法描述的方法 优势 不足
自然语言描述 通俗易懂,易于理解 文字冗长,容易产生歧义性
流程图描述 清晰简洁,直观易读 所占篇幅较大
伪代码描述 书写方便,格式紧凑 语句不容易规范
逻辑非运算
练一练
5. P29第13题:下列流程图符号属于输入框的是( )
A. B. C. D.
B
解析:A代表处理,C代表开始,D代表判断
练一练
6. 判断题:用自然语言描述算法,比用流程图更清晰简洁( )
B
解析:流程图描述算法比自然语言更清晰简洁
7. 判断题:使用流程图描述算法存在歧义性,容易导致算法执行的不确定性( )
B
8. 判断题:算法只能用流程图来描述( )
B
解析:存在歧义性的算法描述是自然语言
解析:算法描述有自然语言、流程图和伪代码
程序的三种基本控制结构
在前面的用流程图描述算法中,用到了以下三种基本控制结构;
任何复杂的算法都可以用这三种基本控制结构组合起来表示。
顺序结构
顺序结构是最简单的一种结构,表示程序中的各步操作按出现的先后顺序执行。
它的执行顺序是自上而下,依次执行
BMI=体重 / (身高)2
输入框身高、体重
选择结构
选择结构表示程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。
选择结构有单选择、双选择和多选择三种。
N
Y
BMI>25
输出:体重正常
输出:已超重
循环结构
循环结构表示程序反复执行某个或某些操作,直到判断条件为假(或真)时才可终止循环。
循环结构可以减少程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。
k=50
z=z+1
k=6x+5y+4z
z<=12
Y
Y
N
N
练一练
9. 以下不是程序的基本控制结构的是( )
A. 顺序结构 B. 选择结构
C. 循环结构 D. 组合结构
D
10. 判断:在选秀活动中,三个评委为每一位选手亮灯打分。如果三个评委都亮
绿灯,则选手可进入下一轮比赛;如果两个评委亮绿灯,则选手进入待定席;如
果红灯数超过两盏,则选手被淘汰。这种情形最适合用循环结构来描述算法( )
B
选择结构
练一练
11. 下列对算法描述中的三种基本控制结构的叙述,不正确的是( )
A. 顺序结构表示程序按语句出现的先后顺序从上到下顺序执行,每条语句可能执行多次
选择结构表示程序根据判断条件选择其中的一条分支执行,程序执行过程
中有可能有的语句一次都不会被执行
循环结构 表示程序反复执行某个或某些操作,循环结构一定要终止循环的
条件
D. 在一个算法描述中,三种基本控制结构可以混合使用
A
执行一次
计算机程序与程序设计语言
03
1. 计算机程序的定义
计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。
简而言之,计算机程序就是指计算机可以识别运行的指令集合。
2. 计算机的基本组成
计算机的五大组成部分:运算器、控制器、存储器、输入设备、
输出设备。
运算器
(内)存储器
控制器
输入设备
输出设备
数据流
控制流
程序
数据




响应
信号








响应
信号












3. 计算表示和存储指令或数据所采用的形式
什么?计算机只认识 0 和 1 ?
计算内部采用二进制形式表示和存储指令或数据。
计算机的工作过程实际上是周而复始地获取指令、执行指令的过程。
计算机程序设计语言的定义
计算机程序设计语言:是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。
计算机程序设计语言的发展经历了:
机器语言
汇编语言
高级语言
计算机程序设计语言的发展
10110000
00001001
00000100
00001000
11110100
机器语言
MOV AL,9
ADD AL,8
HLT
汇编语言
Print(9+8)
高级语言
例如:命令计算机完成“9+8”的加法运算,对应的计算机程序设计语言为:
计算机程序设计语言
任务2:自主阅读教材P55-P57,总结3种程序设计语言的特点
语言类型 是否需要翻译 (编译) 优势 不足
1 机器语言
2 汇编语言
3 高级语言
3种计算机程序设计语言的特点
语言类型 是否需要翻译 (编译) 优势 不足
1 机器语言 否 能被计算机接受和执行,运算效率最高 程序难以理解,移植性差
2 汇编语言 是 针对计算机特定硬件而编制的汇编语言程序,比机器语言容易理解,效率仍十分高 不能被计算机直接运行,移植性不好
3 高级语言 是 接近于数学语言或人的自然语言,易于理解,移植性好 不能被计算机直接运行
课堂练习
12. 高级语言更接近自然语言,并不特指某种语言,也不依赖于特定的计算机系统,
因而更容易掌握和使用,通用性也更好。以下不属于高级语言的是( )
A. Java语言 B. Python语言 C. 汇编语言 D. C语言
C
13. 计算机能直接识别、理解执行的语言是( )
A. 汇编语言 B. Python语言 C. Basic语言 D. 机器语言
D
课堂练习
04
课堂练习
14. 下面关于算法的描述,正确是( )
A. 算法不可以用自然语言描述
B. 有些复杂算法用流程图可能无法描述
C. 一个算法必须保证它的执行步骤是有限的
D. 算法的流程图表示法可以有零个或多个输入,但只能有一个输出
C
解析:算法可以用自然语言、流程图描述;算法至少有一个或多个输出。
课堂练习
15. P27第1题:算法的重要特征不包括( )
A. 有穷性 B. 确定性 C. 数据输出 D. 唯一性
D
16. P27第4题:关于算法,下列叙述不正确的是( )
A. 解决任何一个具体问题可以有多种算法
B. 流程图是算法的一种表示形式
C. 为了解决问题,设计算法时可以不用考虑时间成本和空间成本
D. 判断一个算法的优劣要看算法解决问题的执行效率
C
课堂练习
17. P29第14题:以下流程图描述的算法,其执行结果是:( )
A. 7,18 B. 4,18
C. 7,2 D. 3,11
A
课堂练习
18. 设计程序计算矩形的面积和周长:输入矩形的长和宽(单位:cm),输出
矩形的面积和周长。其中定义整型变量a,b分别表示矩形的长和宽,变量s,c分
别表示矩形的面积和周长,请把流程图中编号为①②的两处补充完整。

a*b

(a+b)*2
开始
s=①
输入变量a,b
c=②
输出变量a,b
结束
课堂练习
19. P32第38题:利用辗转相除法求最大公约数

r==0
开始
求m除以n的余数r
输入m,n
m=n
输出m
结束
n=r





r=m%n
例如:输入m=16, n=12
当第一次循环时:
r=m%n=16%12=4
m=n=12
n=r=4
r==0不成立,继续循环
当第二次循环时:
r=m%n=12%4=0
m=n=4
n=r=0
r==0成立,循环结束
最后输出m的值就是最大公约数

展开更多......

收起↑

资源预览