资源简介 (共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.110111A【典型例题】2.设计算法时,我们通常采用哪种方法来确保算法的正确性( )A.代码审查 B.数学证明 C.测试 D.用户反馈C【典型例题】3.某算法的部分流程图如图所示执行这部分流程,输入m,n的值为21、14,则变量n的值是( )A.4 B.7 C.12 D.18B【典型例题】4.设计算法时,以下哪个不是重要的考虑因素( )A.算法的时间复杂度 B.算法的空间复杂度C.算法的颜色编码 D.算法的可扩展性5.在算法描述中,哪种方式最适合用于表达算法的步骤( )A.流程图 B.伪代码 C.自然语言 D.数学公式CB【典型例题】6.以下哪种算法设计方法适用于解决“排序”问题( )A.分治法 B.动态规划 C.贪心算法 D.回溯法7.在算法设计中,哪种方法可以帮助我们避免重复计算( )A.使用递归 B.使用循环C.使用备忘录技术 D.使用并行计算8.算法是解决问题的一系列明确步骤,它具有以下哪些特性( )A.有穷性 B.确定性 C.可行性 D.输入/输出ACABCDThanks主讲人:*** 展开更多...... 收起↑ 资源预览