浙教版信息技术必修一《数据与计算》 第二章 算法与问题解决 【知识结构体系】 【知识梳理】 一、算法的概念 (一)算法的定义 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 2.设计算法时,我们通常采用哪种方法来确保算法的正确性( ) A.代码审查 B.数学证明 C.测试 D.用户反馈 3.某算法的部分流程图如图所示 执行这部分流程,输入m,n的值为21、14,则变量n的值是( ) A.4 B.7 C.12 D.18 4.设计算法时,以下哪个不是重要的考虑因素( ) A.算法的时间复杂度 B.算法的空间复杂度 ... ...
~~ 您好,已阅读到文档的结尾了 ~~