第二章 算法与问题解决 (复习课件) (21张PPT) -高中信息技术必修1数据与计算(浙教版2019)

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

第二章 算法与问题解决 (复习课件) (21张PPT) -高中信息技术必修1数据与计算(浙教版2019)

资源简介

(共21张PPT)
1.算法与问题解决
主讲人:***
浙教版信息技术必修一《数据与计算》
【知识体系】
【知识梳理】
一、算法的概念
(一)算法的定义
1. 广义定义
“算法”指的是解决问题或完成任务的一系列步骤。广义的算法中,需要解决的问题不仅仅指传统意义上的计算任务(算术),也可以是社会生活中各种事务的处理。
2. 计算机科学领域定义
“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。这些需要解决的问题不仅包含了数值计算,还包含了非数值计算的数据处理。
【知识梳理】
一、算法的概念
(二)算法的特征
1.有穷性:一个算法的处理步骤必须是有限的。
2.可行性:每一步的操作与要求都是可行的,并且能够在有限时间内完成。
3.确定性:每一步的执行描述必须是明确的
4.0个或多个输入
5.1个或多个输出
【知识梳理】
一、算法的概念
(三)算法的要素
1.数据
用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。
2.运算
在对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。
3.控制转移
在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这时就需要运用控制转移来执行不同的操作。
【知识梳理】
二、算法的描述
(一)自然语言
1.定义:自然语言是人们在日常生活中交流使用的语言,通俗易懂
2.变量:数据会发生改变,由字母、数字、下划线等组成的一串字符表示
3.输入:参与算法运算的数据可通过“输入”获得
【知识梳理】
二、算法的描述
(二)流程图
1.流程图描述算法结构清晰、寓意明确。
2.常用的流程图基本图形
【知识梳理】
二、算法的描述
(三)伪代码
伪代码由于语法比较接近计算机程序设计语言,所以描述的算法更加紧凑简练,也便于进一步转化为相应的计算机程序。
【知识梳理】
二、算法的描述
(四)计算机程序设计语言
为了让计算机帮助人们真正解决问题,需要将算法用某种计算机程序设计语言来描述,这个过程称为程序编写(或称代码编写)。
计算机程序设计语言经历了“机器语言→汇编语言→高级语言”的发展历程。
1.机器语言:用“0”“1”组成,机器执行效率高但可读性差、维护性差。
2.汇编语言:用特定的助记符表示各个机器指令,提升效率。
3.高级语言:接近人们日常用语的符号来表示各类指令,如Basic、C、C++、Java等。
【知识梳理】
三、算法的控制结构
(一)顺序结构
1.每个步骤按照算法中出现的顺序依次执行。
2.每个步骤一定会被执行一次,而且只执行一次。
【知识梳理】
三、算法的控制结构
(二)分支结构
1.首先进行条件判断,根据条件满足与否来决定执行哪个分支。
2.在一个分支结构中,必定有一个分支被执行,其他的分支则被忽略。
【知识梳理】
三、算法的控制结构
(三)循环结构
算法执行过程中,在条件控制下,某些操作步骤需要重复执行(循环)的控制结构称为循环结构。
循环结构的重复执行(循环)并不是没有限制的,而是在条件控制下的一种可控的重复。当需要重复处理的条件不满足时,重复处理必须能及时结束。这样才符合算法的有穷性特征。
【知识梳理】
四、用算法解决问题的过程
(一)抽象与建模
1.提炼核心要素并加以确定或假设
2.用数学符号描述解决问题的计算模型
【知识梳理】
四、用算法解决问题的过程
(二)设计算法
1.设计原则:遵循算法的特征、围绕算法的要素设计算法
2.步骤:输入数据——处理数据——输出处理结果
【知识梳理】
四、用算法解决问题的过程
(三)描述算法
用流程图描述算法
【典型例题】
1.某算法的流程图如图所示,执行这部分流程,若输入的值为59,则输出s的值为( )
A.000100 B.111011 C.001000 D.110111
A
【典型例题】
2.设计算法时,我们通常采用哪种方法来确保算法的正确性( )
A.代码审查 B.数学证明 C.测试 D.用户反馈
C
【典型例题】
3.某算法的部分流程图如图所示
执行这部分流程,输入m,n的值为21、14,则变量n的值是( )
A.4 B.7 C.12 D.18
B
【典型例题】
4.设计算法时,以下哪个不是重要的考虑因素( )
A.算法的时间复杂度 B.算法的空间复杂度
C.算法的颜色编码 D.算法的可扩展性
5.在算法描述中,哪种方式最适合用于表达算法的步骤( )
A.流程图 B.伪代码 C.自然语言 D.数学公式
C
B
【典型例题】
6.以下哪种算法设计方法适用于解决“排序”问题( )
A.分治法 B.动态规划 C.贪心算法 D.回溯法
7.在算法设计中,哪种方法可以帮助我们避免重复计算( )
A.使用递归 B.使用循环
C.使用备忘录技术 D.使用并行计算
8.算法是解决问题的一系列明确步骤,它具有以下哪些特性( )
A.有穷性 B.确定性 C.可行性 D.输入/输出
A
C
ABCD
Thanks
主讲人:***

展开更多......

收起↑

资源预览