3.2 算法及其描述 课件 高中信息技术粤教版(2019)必修1

文档属性

名称 3.2 算法及其描述 课件 高中信息技术粤教版(2019)必修1
格式 pptx
文件大小 5.7MB
资源类型 试卷
版本资源 粤教版(2019)
科目 信息技术(信息科技)
更新时间 2024-12-02 13:29:27

图片预览

文档简介

(共36张PPT)
信息技术王凤龙
灵璧县第二中学 王凤龙
灵璧县第二中学 王凤龙
粤教版普通高中教科书
信息技术 必修1
3.2 算法及其描述
灵璧县第二中学 王凤龙
学习内容(P48)
问题思考
杯子A
杯子B
杯子C
有3个同样大小装饮料的杯子,杯子A装雪碧,杯子A装可乐,杯子C是空杯。请用语言描述如何将杯子A和杯子B中的饮料相互交换呢?
信息技术王凤龙
信息技术王凤龙
信息技术王凤龙
杯子A
杯子C
杯子C
杯子A
杯子A
杯子B
杯子C
问题解决
杯子B
杯子B
杯子A
杯子B
杯子C
① 将杯子A的饮料倒入杯子C中
② 将杯子B的饮料倒入杯子A中
③ 将杯子C的饮料倒入杯子B中
经典/常见算法之“变量互换算法”
程序
实现
信息技术王凤龙
信息技术王凤龙
信息技术王凤龙
杯子A
杯子C
杯子C
杯子A
杯子A
杯子B
杯子C
问题解决
杯子B
杯子B
杯子A
杯子B
杯子C
① 将杯子A的饮料倒入杯子C中
② 将杯子B的饮料倒入杯子A中
③ 将杯子C的饮料倒入杯子B中
经典/常见算法之“变量互换算法”
程序
实现
算法与程序的关系:算法是解决问题的方法与步骤,是程序设计的"灵魂"与"核心" ,而程序是算法的计算机代码的具体实现。
分析问题
设计算法
编写程序
调试运行
信息技术王凤龙
信息技术王凤龙
算法工程师
各大互联网公司的算法工程师享有优厚的待遇,但同时也有着较高的技术要求
以上数据来自于BOSS直聘
以上数据来自于BOSS直聘
信息技术王凤龙
一、算法的概念
广义、狭义
P48
信息技术王凤龙
算法的概念
算法有广义和狭义之分。广义的算法是指解决问题或完成任务所需要的一系列步骤,其执行者往往是人。
西红柿炒鸡蛋做法
合肥旅游计划
自动挡汽车启动步骤
信息技术王凤龙
算法的概念
算法有广义和狭义之分。狭义的算法特指计算机解决问题的步骤,是能够被计算机机械执行的动作或指令的有限集合。
① 开始
② 令t=1,s=1;
③ s = s × t;
④ t = t + 1;
⑤ 如果 t<10,则转到步骤③;
⑥ 否则,输出 s的值;
⑦ 结束
输入 a,b,c
Δ = b**2 - 4*a*c
if (Δ < 0)
输出 方程无实根
else if (Δ == 0)
x = -b / (2*a)
输出 方程有两个相等的实根:x
else if (Δ > 0)
x1 = (-b + 求平方根(delta)) / (2*a)
x2 = (-b - 求平方根(delta)) / (2*a)
输出 方程有两个不相等的实根:x1、x2
求10的阶乘 算法
求两个数的最大值 算法
解一元二次方程 算法
信息技术王凤龙
算法的特征
下列两个都是“求前100项正整数和”的算法,哪个正确、可行呢?
算法A
算法B
信息技术王凤龙
二、算法的特征
有穷性、确定性、可行性、数据输入、数据输出
P49
信息技术王凤龙
算法执行的每一个步骤的表述
都必须是确定的,无歧义的
算法的特征
有穷性
一个算法的执行步骤必须是有限的
算法的每一个步骤都是可执行的
并且能在有限的时间内完成
求所有正整数的和
求前100项正整数的和
输出所有5的倍数
输出100以内所有5的倍数
确定性
可行性
加入若干糖浆
加入少许珍珠
加入适量奶茶
摇一摇……
加入30克糖浆
加入80g珍珠
加入140ml奶茶
摇一摇……
给我来一杯中杯的椰果奶茶
系统等待若干秒
系统等待0.5秒
写出π的值
写出π的值,精确到小数点后六位

算法的特征
0个或多个输入
算法可以有零个或多个输入
1个或多个输入
算法至少有一个或多个输出
输出不仅可以是数值、文本,也可以是图形、图像、视频、
声音、文件、电子信号、页面跳转等
信息技术王凤龙
0个输入
2个输入
输入除了是文本、数值,还可以是图片、视频、声音、
文件、生物特征、电子信号、传感器信号等
信息技术王凤龙
三、算法的描述
自然语言、流程图★、伪代码
P49
信息技术王凤龙
信息技术王凤龙
出租车计费算法 设计
出租车计费规则包含以下几个方面:
1. 初始费用:也就是起步价,前3公里(含3公里的)的费用固定为8元。
2. 里程费用:行驶超过3公里后,每增加1公里将按2元计费。
请你根据上述场景描述设计出租车计费的算法?
设定出租车行驶的公里数为s,所需费用为money。根据题意可知,当s≤3时,money=10,当s>3时,money= 8+(s-3)*2,求出money的值即为所需的费用。
分析问题
信息技术王凤龙
用【自然语言】描述算法
自然语言是人们在日常生活中交流使用的语言,如汉语、英语等。自然语言描述算法通俗易懂,容易掌握。但当步骤较多时,用自然语言就难以将其清晰地描述出来,并且由于自然语言本身的特征,导致描述时容易出现歧义和难以理解。
输入行驶里程s;
money = 0;
如果s≤3,则money = 10;否则,money = 8+(s-3)*2;
输出费用money
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则转步骤5,否则继续步骤;
y=y+1;
如果y≤10则转步骤4,否则继续步骤j;
x=x+1;
如果x≤8则转步骤3,否则继续步骤!2;
结束。
自然语言描述 出租车计费算法
自然语言描述 求方程6x+5y+4z=50正整数解算法
这门没有锁
我不是吃素的
有歧义和难理解
穷举法
信息技术王凤龙
用【流程图】描述算法
流程图是通过规定的图形和带有箭头的流程线来描述算法的一种方法。相对于自然语言,流程图在描述算法时具有直观形象、结构清晰、简洁明了等优点。因此,流程图广泛应用于项目管理、软件开发、工程、教育等各个领域。
图 形 名 称 功 能
开始/结束框 表示算法的开始或结束
输入/输出框 表示算法中变量的输入或输出
处理框 表示算法中变量的计算和赋值
判断框 表示算法中的条件判断
流程线 表示算法中的流向
流程图描述 出租车计费算法
流程图的基本图形及其功能
信息技术王凤龙
用流程图描述算法 运行
题1
题2
若输入11、25,则上述流程图输出________
上述流程图的输出结果为________
14
24
s t
1 2
2 3
6 4
24 5
若输入36、28,则上述流程图输出________
8
信息技术王凤龙
伪代码
求方程6x+5y+4z=50正整数解的流程图算法
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;
输出解x、y、z;}
给出解的个数t
Python程序
信息技术王凤龙
信息技术王凤龙
用【伪代码】描述算法
伪代码是一种用介于自然语言和计算机语言之间的文字和符号来描述算法的方式,其风格很像计算机程序设计语言,但又不是真正的可以被计算机理解的代码。相对于自然语言和流程图,伪代码结构清晰、格式紧凑,更易于向计算机程序过渡。
伪代码描述 出租车计费算法
输入公里数 s
money = 0
if (s<=3) :
{money = 8;}
else
{money = 8+(s-3)*2;}
输出 money
python语言编写的程序
C语言编写的程序
信息技术王凤龙
信息技术王凤龙
算法的描述
描述方式 特点 优点 缺点
自然语言 序号标注+大量文字 通俗易懂、容易掌握 不易描述,容易歧义
流程图 各种图形 直观形象、简洁清晰 绘制较繁琐,占空间较大
伪代码 程序代码+极少量文字 结构清晰、便于过渡 需要一定的编码基础
输入行驶里程s;
money = 0;
如果s≤3,则money = 10;否则,money = 8+(s-3)*2;
输出费用money
输入公里数 s
money = 0
if (s<=3)
money = 8
else
money = 8+(s-3)*2
输出 money
自然语言
流程图
伪代码
信息技术王凤龙
信息技术王凤龙
四、算法的三种基本控制结构
顺序结构、选择结构、循环结构
P52
信息技术王凤龙
算法的三种基本控制结构
任何复杂的算法都可以使用以下三种基本控制结构组合表示
顺序结构
选择结构
循环结构
自上而下一条线
有分支、无回路
有分支、有回路
信息技术王凤龙
算法的三种基本控制结构 判断
选择结构
求两个数的最大值 算法
顺序结构
求圆的周长和面积 算法
循环结构
求4的阶乘 算法
信息技术王凤龙
信息技术王凤龙
总结
信息技术王凤龙
信息技术王凤龙
真题练习(1/5)
A. 自然语言
B. 机器语言
C. 流程图
D. 伪代码
1、以下不属于算法的描述方式的是 ( )
B
2、用介于自然语言和计算机语言之间的文字和符号来描述,并且便于向计算机程序设计语言过渡的算法是 ( )
A. 自然语言
B. 机器语言
C. 流程图
D. 伪代码
A. 输入边长,求正方形的面积
B. 求前一百项正整数和
C. 求两个数的最大公约数
D. 输出所有3的倍数
3、下列问题不能用算法描述的是 ( )
D
D
信息技术王凤龙
4、算法的输出结果至少应有 ( )
A.0个
B. 1个
C. 2个
D. 3个
信息技术王凤龙
真题练习(2/5)
B
灵璧县第二中学 王凤龙
5、API是指空气污染指数,右图图1虚线部分的程序
框图应该是 ( )
A.
B.
D.
C.
图1
D
信息技术王凤龙
灵璧县第二中学 王凤龙
6、右图图2流程图使用的算法控制结构是 ( )
A. 顺序结构
B. 选择结构
C. 循环结构
图2
7、若用户输入5、9、7,则右图图2流程图的
输出结果为 ( )
A. 9
B. 5
C. 7
信息技术王凤龙
真题练习(3/5)
B
A
8、右图图3流程图使用的算法控制结构是 ( )
A. 顺序结构
B. 选择结构
C. 循环结构
信息技术王凤龙
真题练习(4/5)
C
灵璧县第二中学 王凤龙
图3
9、右图图3流程图的输出结果为 ( )
A. 9、18
B. 12、18
C. 9、30
C. 12、30
B
K S
0 0
3 3
6 9
9 18
12
10、小明设置了一个每天早上都响的闹钟。平时闹钟响后,他会关掉闹钟然后起床,但如果是周末他会关掉闹钟睡到自然醒,下面流程图中(1)、(2) 处分别应该填入 ( )
信息技术王凤龙
真题练习(5/5)
A
灵璧县第二中学 王凤龙
A. 是(Y)、否(N)
B. 否(N)、是(Y)
C. 是(Y)、是(Y)
C. 否(N)、否(N)
信息技术王凤龙
信息技术王凤龙
信息技术王凤龙
信息技术王凤龙
常见算法思想:穷举法
穷举法又称为暴力破解法。其基本思想是穷尽题目条件范围所有可能是解的情况,从而找到符合题目要求的解。因此,穷举法适用于题目解的个数有限且可以一一列举的情况。
用户输入一个数字,猜这个数是多少
输出1000~9999范围内所有能
被13和17同时整除的整数
鸡兔同笼,共有35个头,94只脚。求鸡和兔各多少只
以上解题程序均使用python语言编写
信息技术王凤龙
信息技术王凤龙
常见算法思想:解析法
穷举法是通过找出解决问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解的方法,具体表现为利用成熟的数量关系、公式和定理来解析各种问题。
以上解题程序均使用python语言编写
输入圆的半径,求圆的周长和面积
利用求根公式解一元二次方程
鸡兔同笼
信息技术王凤龙
作业
利用思维导图软件整理本节课知识
第三章 算法基础
信息技术王凤龙
信息技术王凤龙
附页:流程图应用
考试报名流程图
工业生产流程图
项目管理流程图
信息技术王凤龙
信息技术王凤龙
附页:程序运行结果
求方程6x+5y+4z=50正整数解的Python程序
程序运行结果
信息技术王凤龙
本节课到此结束