3.2 算法及其描述 课件(共21张PPT)-高一信息技术课件(粤教版2019必修1)

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

3.2 算法及其描述 课件(共21张PPT)-高一信息技术课件(粤教版2019必修1)

资源简介

(共21张PPT)
3.2
算法及其描述
1
什么是算法
2
算法的描述
CONTENT
3.2.1 算法
高一(1)班下周要利用班会课举行班级活动,班主任给了班长50元,请他负责购买一些零食。班长到了小卖部,发现有三种小零食可以选择,价格分别是6元、5元和4元。他希望每种零食都买一点,且正好把班主任给的50元全部花光,那么他有多少种购买方案呢?
想一想
6元
5元
4元
3.2.1 算法
6元
5元
4元
50元
x包
y包
z包
6x+5y+4z=50
有多少组 解?
正整数
3.2.1 算法
6x+5y+4z=50有多少组正整数解?
想一想
这个问题能用数学中解三元一次方程式的方法求解吗?为什么?
有什么办法可以求解这个问题呢?
x、y、z的取值范围分别是多少?
1
2
1 ≤ x ≤ 8 1 ≤ y ≤10 1 ≤ z ≤12
3
1 ≤ x ≤ 6 1 ≤ y ≤ 8 1 ≤ z ≤ 9
3.2.1 算法
6x+5y+4z=50有多少组正整数解?
1 ≤ x ≤ 8 1 ≤ y ≤10 1 ≤ z ≤12
6× +5× +4× =50
x
y
z
t(正整数解的个数)
1
1
1
0
2
3

12
2
1

12

1
10
2
1
12
1
当等式成立时,t=t+1



8
10
12
输出 t 的值
既要保证所有组合都试过,又要避免重复代入某些组合
3.2.1 算法
求方程6x+5y+4z=50有多少组正整数解
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,则跳转到步骤③,否则继续步骤
结束
3.2.1 算法
1
算法
算法是指在有限的步骤内求解某一问题所使用的一组定义明确的规则。
通俗地说,算法就是计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
生活中的“算法”
制作美食
组装家具
算法有哪些特征?
3.2.1 算法
2
算法的特征
有穷性
确定性
数据输入
数据输出
可行性
1
2
3
4
5
一个算法所包含的计算步骤是有限的。
算法执行的每一个步骤必须有确切的定义,不能有模棱两可的情况。
一个算法有零个或多个数据输入。
一个算法有一个或多个数据输出,没有输出的算法是没有意义的。
每个步骤都可以在有限时间内完成。
3.2.1 算法
求方程6x+5y+4z=50有多少组正整数解
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,则跳转到步骤③,否则继续步骤
结束
有穷性
确定性
没有输入,但有多个输出:t,x,y,z
每一步都可以在有限时间内完成
3.2.2 算法的描述
算法是对解题过程的精确描述,需要用某种方法将其表示出来。
1
描述算法时常用的方法
自然语言描述法
用日常语言描述算法
优点:容易掌握
缺点:当算法中含有较多分支或循环操作较多时,使用自然语言难以将其描述出来;由于自然语言的歧义性,容易导致算法执行的不确定性。
不够简洁
不够准确
3.2.2 算法的描述
伪代码
用介于自然语言和计算机语言之间的文字和符号来描述算法。它不用图形符号,书写方便,易于理解,便于向计算机程序设计语言过渡。
不够实用
3.2.2 算法的描述
流程图
图形 名称 功能
开始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或输出
处理 表示算法中变量的计算与赋值
判断 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
3.2.2 算法的描述
求方程6x+5y+4z=50有多少组正整数解
3.2.2 算法的描述
代码段1
代码段2
顺序结构
代码段1
代码段2
条件
成立
不成立
选择结构
代码段
条件
成立
不成立
循环结构
3.2.2 算法的描述
2
三种基本控制结构
代码段1
代码段2
顺序结构
代码段1
代码段2
条件
成立
不成立
代码段
条件
成立
不成立
选择结构
循环结构
任何算法都可以用顺序、选择、循环这三种基本控制结构的组合来表示。
3.2.2 算法的描述
使用三种基本控制结构的组合来描述算法,可以改善算法的清晰度,提高算法的可读性,原因如下:
(1)以控制结构为单位,只有一个入口和一个出口,各单位之间接口简单,比较容易独立地理解每一单位;
(2)缩小了算法的静态描述与动态执行过程之间的差异,使得两者容易对应,易于理解。
顺序结构
选择结构
循环结构
总结
算法
算法的特征
有穷性
确定性
数据输入
数据输出
可行性
算法的描述
自然语言
流程图
伪代码
基本控制结构
顺序结构
选择结构
循环结构
常用方法
算法及其描述
0个或多个
1个或多个
拓展
高一(1)班下周要利用班会课举行班级活动,班主任给了班长50元,请他负责购买一些零食。班长到了小卖部,发现有三种小零食可以选择,价格分别是6元、5元和4元。他希望每种零食都买一点,且正好把班主任给的50元全部花光,那么他有多少种购买方案呢?
6元
5元
4元
(1)我们已经设计了解决这个问题的算法,计算机能“看懂”我们设计的算法流程图吗?
(2)接下来,我们应该怎么做呢?
想一想
拓展
程序运行结果
练习题
1、下面关于算法的描述,正确的是( )
A、算法不可以用自然语言描述
B、算法只能用流程图来描述
C、一个算法必须保证它的执行步骤是有限的
D、算法的流程图表示法有零个或多个输入,但只能有一个输出
C
2、求2+4+6+8+…+98+100= ,请你绘制流程图表示其算法。
开始
n=1
s=0
n≤50
输出s
结束
n=n+1
s=s+2n
N
Y

展开更多......

收起↑

资源预览