2.1 算法概念及其描述 课件(共37张PPT) 2022—2023学年浙教版高中 信息技术必修1

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

2.1 算法概念及其描述 课件(共37张PPT) 2022—2023学年浙教版高中 信息技术必修1

资源简介

(共37张PPT)
2.1算法概念及描述
情境描述
分析问题:
解决方法:
第一次:先带羊过去;
第二次:把狼带过去,返程时再把羊带回来;
第三次:把白菜带过去;
第四次:最后把羊带过去.
寻找解决问题方法,可以称之为算法
一、算法的概念
计算机程序设计
二、算法的特征
问题:
1、判断抛物线y=5x2 +4x+6与X轴是否有交点。
2、设计 一个算法,要求输入X的一个值后,输出相应的绝对值 。
算法:
1、计算 =42 -4*5*6;
2、如果 >0,执行步骤3,否则执行步骤4;
3、输出有交点,结束;
4、输出无交点,结束。
分析项目 抛物线 绝对值
执行步骤个数
每一步是否明确可执行
是否有输入
是否有输出
4



4



二、算法的特征
有穷性:计算步骤是有限的
?死循环
确定性:每一个步骤必须有确切的定义
?随便
数据输入:必须有0个或多个数据输入
0个输入是算法本身给出了初始条件
数据输出:一个或多个数据输出
?无功而返
可行性:每个计算步骤都在有限时间内完成 ?
可以得出结果。原则上能精确运行,用纸和笔
做有限运算后可以完成。
01
05
04
02
03
算法的特征
三、算法的要素
算法的要素在洗衣机洗衣服时的体现
9
讨论交流:
哪些设备采用算法实现了自动化,并尝试说出这些设备实现自动化控制的算法。
1、描述算法的常用方式 。
2、流程图的基本图形及其功能。
3、三种基本控制结构。
四、算法的描述
案例分析
案例一.鸡兔同笼问题
一个笼子里有鸡和兔,
现在只知道里面一共
有35个头,94个脚,
鸡和兔各有多少只?
分析问题:
假设有a个头,b个脚,写出三种描述法。
1.用自然语言描述算法
设计算法:
①输入a和b的值;
②求X=b/2-a;
③求Y=2a-b/2;
④输出X和Y的值;
⑤结束。
易于理解
歧义
2、流程图
流程图是用图形表示算法的 一种常用工具,用流程图描述的算法直观易读,问题解决步骤清晰简洁,算法结构表达明确。
2、流程图的基本图形及其功能
图 形 名 称 功 能
开始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或输出
处理 表示算法中变量的计算与赋值
判断 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
2.用流程图描述算法
①输入a和b的值;
②求X=b/2-a;
③求Y=2a-b/2;
④输出X和Y的值;
⑤结束。
开始
输入 a,b的值
Y=2a-b/2
X=b/2-a
输出X,Y的值
结束
三种基本结构
顺序结构
选择结构
循环结构
开始
输入 a,b的值
Y=2a-b/2
X=b/2-a
输出X,Y的值
结束
顺序结构的特点:
1、每个步骤按照算法中出现的顺序依次执行。
2、每个步骤一定会被执行一次,而且只执行一次。
各个步骤按照先后顺序依次执行
(1)、顺序结构
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出BMI
计算体重指数BMI?
选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。
(2)、选择结构
判断你胖不胖?
判断你胖不胖?
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出“哇,你有点胖了哟”
BMI>24
输出“羡慕,你一点也不胖”
Y
N
我又举个栗子
循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。
(3)、循环结构
条件
Y
N
语句组
条件
语句组
Y
N
我要判断100个人胖不胖该怎么办?
我还举个栗子
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出“哇,你有点胖了哟”
BMI>24
输出“羡慕,你一点也不胖”
Y
N
N
n=0
Y
n=n+1
n<100
三种基本结构流程图
A
B
条件?
A
B


A
条件?


3.循环结构
2.分支结构
1.顺序结构
判断依据:分支结构:条件是否成立只判断1次
循环结构:条件是否成立往往判断多次
问题: 设计一算法,求和:1+2+3+…+20
算法:
第一步:从1开始将自然数1、2、 3、…、20逐个相加;
第二步:输出累加结果。
S=0
S=S+ 1
S=S + 2
S=S + 3

S=S + 20
i = i + 1
S=S + i
流程图如图
开始
i=1
s=0
i=i+1
s=s+1
i≤20
输出s
结束


用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
3.用伪代码描述算法
规避了程序设计 语言严格的书写格式,无歧义,结构性强。
不太适合完全没有程序设计基础的初学者。
3.用伪代码描述算法
Input a,b
x=b/2-a
y=2a-b/2
Print x,y
①输入a和b的值;
②求X=b/2-a;
③求Y=2a-b/2;
④输出X和Y的值;
⑤结束。
Python语言程序代码——鸡兔同笼
import math
a=float(input ("输入头的数量:"))
b=float(input ("输入脚的数量:"))
x=b/2-a
y=2*a-b/2
print("兔子的数量为:%0.2f"%x)
print("鸡的数量为:%0.2f"%y)
算法描述的方法 优势 不足
自然语言表示法 用人们日常所用的语言,比较容易掌握。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。
流程图表示法 用程序框图来描述,流程描述清晰简洁。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。
伪代码表示法 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。
算法三种描述方法的优劣对比
课堂小结
1、算法的定义
2、算法的基本特征
3、描述算法的方法
4、三种基本结构
顺序结构
自然语言
流程图
伪代码
选择结构
循环结构
例1判断一个数字是否为奇数或偶数,请画出流程图。
课堂练习:
例2 “若是本店会员,所有商品打85折,
否则无折扣”,用算法描述这一问题,合
适的算法结构是(  )
A.选择结构 B.循环结构
C.顺序结构 D.树形结构

2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)
2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)
例3 对输入的二个整数a和b,找出其中的较大者赋给c并输出。解决该问题的算法流程图如图所示,该流程图中虚线框部分的内容可为(  )
D
2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)
2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)

展开更多......

收起↑

资源预览