1、2.1算法的概念及描述2.1.1算法的概念1、“算法算法”的定义(算法是什么)的定义(算法是什么)广义地讲,“算法”指的是解决问题或完成任务的一系列步骤集合 在计算机科学领域,“算法”指的是用计算机解决问题 而需要让计算机有序执行、无歧义、有限的步骤集合2.1算法的概念及描述否否是是2.1.1算法的概念2、算法的特征、算法的特征、有穷性、可行性、确定性、0个或多个输入、1个或多个输出一个算法的步骤必须是有限的,不能是无限的。一个算法中的每一步操作与要求都应该是算法执行者(人或者机器)可以实施的,同时在现实环境中能做到并且能在有限的时间内完成。算法中对于每个步骤的执行描述必须是明确的。如果问题求
2、解时所有数据都是不变且已知的,则所需数据包含在算法中,不必再在执行时输人数据。如果一些初始数据需要在算法执行时临时获取以适应不同情形的问题,则算法需要包1个或多个输人。算法的核心价值就是解决问题,而解的终极目标就是需要知道结果究竞如何2.1.2算法的描述方式(或算法的呈现方式)算法的特征课堂习题1.下面关于算法的描述,正确的是()A.一个算法只能有一个输入B.算法只能用框图来表示C.一个算法的执行步骤可以是无限的D.一个完整的算法,不管用什么方法来表示,都至少有一个输出结果 2.1.1算法的概念3、算法三要素、算法三要素、数据、运算、控制转移(选择、循环)用算法解决问题时,必须明确参与运算的初
3、始数据、运算时产生的中间数据以及解决问题后的结果数据对数据计算和判断在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这就需要用对结果数据判断并进行选择执行或循环执行。2.1.2算法的描述方式(或算法的呈现方式)算法设计者只有使用合理的方式将算法描述出来,执行者(或计算机)才能根据其描述步骤执行出结果。常见的算法描述方式有:自然语言、流程图、伪代码、计算机程序设计语言。任何一种算法描述必须遵循算法的五个特征和三要素。2.1.2算法的描述方式(或算法的呈现方式)1、自然语言:人们在日常生活中交流的语言,如:普通话、方言、英语等。2.1.2算法的描述方式(或算法的呈现方式)2、流程
4、图:用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号。开始输入flag的值flag=1?指示灯为指示灯为输出“空车位空车位”输出“非空车位”结束开始或结束符输入或输出框flag=1?条件判断框处理框连接线连接点否是2.1.2算法的描述方式(或算法的呈现方式)流程图课堂习题1.求矩形面积s的部分流程图如下图所示,矩形的长、宽分别用变量a、b表示,对于框和框的作用,下列说法正确的是()A.框用于输入a和b的值,框用于输出s的值B.框用于输出a和b的值,框用于输出s的值C.框用于输入a和b的值,框用于输入s的值D.框用于输出a和b的值,框用于输入s的值2.1.2算法的描述方式(或算法
5、的呈现方式)流程图课堂习题2.有流程图如下图所示,其功能是将键盘输入的数进行相加,当输入的数为0时输出它们的和,则图中虚线部分的内容是()A、B、C、D、2.1.2算法的描述方式(或算法的呈现方式)流程图课堂习题3.有部分流程图结构如下,其算法结构属于()A.顺序结构 B.重复结构 C.分支结构 D.循环结构2.1.2算法的描述方式(或算法的呈现方式)流程图课堂习题4.如下图所示的流程图,算法执行时,若输入n的值为3,则输出s的值是()A.6 B.8 C.9 D.152.1.2算法的描述方式(或算法的呈现方式)3、伪代码:伪代码指的是一种比较接直观简洁、符号接近计算机程序代码的算法描述。根据它很容易转换为相应的计算机语言代码格式1:If 格件 then (语句序列1)Else (语句序列2)格式2:If 格件 then (语句序列1)条件判断语句循环语句格式:while 条件 (循环体,即:一个或语句序列)2.1.2算法的描述方式(或算法的呈现方式)停车场车位算法用伪代码表示flag车位探测结果;If flag=1 then (指示灯为绿色 输出“空车位”)Else (指示灯为红色 输出“非空车位)