1、12算法及算法的表示方法算法及算法的表示方法1算法的概念算法的概念算法就是对解题方法的精确而完整的描述,即解决问题的方法算法就是对解题方法的精确而完整的描述,即解决问题的方法和步骤。除了有和步骤。除了有“计算计算”的问题外,日常生活中解决问题也经常要的问题外,日常生活中解决问题也经常要用到算法。用到算法。2算法的特算法的特征征有穷性:执行步骤是有限的。有穷性:执行步骤是有限的。确定性:每个步骤的含义应是确切的。确定性:每个步骤的含义应是确切的。可行性:每个步骤是可行的,并且能在有限的时间内完成。可行性:每个步骤是可行的,并且能在有限的时间内完成。有有0个或多个输入:初始数据可从外界输入,也可含
2、于算法个或多个输入:初始数据可从外界输入,也可含于算法之中。之中。有一个或多个输出:算法一定要有结果且以一定方式输出。有一个或多个输出:算法一定要有结果且以一定方式输出。3算法的三种表示算法的三种表示自然语言自然语言自然语言是指人们在日常生活中使用的语言,用自然语言描述自然语言是指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和简洁性,容易产生歧义。的算法通俗易懂,但缺乏直观性和简洁性,容易产生歧义。流程图流程图流程图也称程序框图,它是算法的一种图形化的表示方法,与流程图也称程序框图,它是算法的一种图形化的表示方法,与自然语言相比,它描述的自然语言相比,它描述的 算法形
3、象、直观,更容易理解。最常用的算法形象、直观,更容易理解。最常用的流程图构件有:流程图构件有:处理框处理框( ):框中须指出要处理的内容,该框有一个入口和:框中须指出要处理的内容,该框有一个入口和一个出口。一个出口。输入输出框输入输出框( ):用来表示数据的输入或计算结果的输出。:用来表示数据的输入或计算结果的输出。判断框判断框( ):用来表示分支情况,有一个输入,一个以上出:用来表示分支情况,有一个输入,一个以上出口。口。连接框连接框( ):用于连接画不下而中断的流程线。:用于连接画不下而中断的流程线。流程线流程线( ):指出流程控制方向,即动作次序。:指出流程控制方向,即动作次序。起始框起
4、始框( ):用来表示程序的开始和结束。:用来表示程序的开始和结束。伪代码伪代码伪代码是介于自然语言和计算机程序语言之间的一种算法伪代码是介于自然语言和计算机程序语言之间的一种算法描述,没有严格的语法限制,也是专业软件开发人员描述算法的描述,没有严格的语法限制,也是专业软件开发人员描述算法的一种常用方法。一种常用方法。用三种算法表示方式之一来表示算法,在描述算法时要注用三种算法表示方式之一来表示算法,在描述算法时要注意算法与程序之间的联系和区别。意算法与程序之间的联系和区别。4算法的三种基本结构算法的三种基本结构顺序结构:在算法执行流程中,执行完一个处理步骤后,依顺序结构:在算法执行流程中,执行
5、完一个处理步骤后,依次序执行下一个步骤。次序执行下一个步骤。选择结构:也称分支结构或判断结构。在算法执行程序中,选择结构:也称分支结构或判断结构。在算法执行程序中,对某个情况对某个情况e进行判断,当结果为真时,执行进行判断,当结果为真时,执行Y指向流程线下的步骤指向流程线下的步骤1,否则执行,否则执行N指向流程线下的步骤指向流程线下的步骤2。循环结构:在算法执行流程中,对某个情况循环结构:在算法执行流程中,对某个情况e进行判断,当进行判断,当结果为真时,执行结果为真时,执行Y指向流程线下的步骤指向流程线下的步骤1, 然后再次判断情况然后再次判断情况e,如,如果结果还为真,则再次执行步骤果结果还
6、为真,则再次执行步骤1,并继续判断情况,并继续判断情况e,重复上述过,重复上述过程,程, 直到判断的结果为假,执行直到判断的结果为假,执行N指向流程线下的其他语句。指向流程线下的其他语句。本节的学习实际上大部分是对第一册基础部分的复习,同学们本节的学习实际上大部分是对第一册基础部分的复习,同学们需要掌握算法的特征及算法的几种基本结构。考查方式为选择题与需要掌握算法的特征及算法的几种基本结构。考查方式为选择题与填空题填空题。1下列关于算法的描述,正确的是下列关于算法的描述,正确的是()A一个完整的算法必须有输出一个完整的算法必须有输出B一个完整的算法至少有一个输入一个完整的算法至少有一个输入C算
7、法只能采用自然语言或流程图这两种方式表示算法只能采用自然语言或流程图这两种方式表示D用流程图方式表示算法的好处就是形象直观,但容易产生用流程图方式表示算法的好处就是形象直观,但容易产生歧义歧义A A2下列问题不能用算法描述的是下列问题不能用算法描述的是()A已知已知a、b、c的值,求一元二次方程的值,求一元二次方程ax2bxc0(a0) 的实数解的实数解B计算某个班级信息技术成绩的平均分计算某个班级信息技术成绩的平均分C列出方程列出方程y8x2的所有实数解的所有实数解D根据矩形的长和宽求面积根据矩形的长和宽求面积C C3求一元二次方程实数根的算法中,在方程不存在实数根的求一元二次方程实数根的算
8、法中,在方程不存在实数根的情况下,要求输出情况下,要求输出“方程无实数根方程无实数根”。这一要求主要体现了算法特。这一要求主要体现了算法特征中的征中的 ()A有穷性有穷性B可没有输入可没有输入C有输出有输出D确定性确定性C C4下列能准确表达下列能准确表达“如果明天不下雨,那么我们去打篮球如果明天不下雨,那么我们去打篮球”的伪代码是的伪代码是()AIf(明天下雨明天下雨)Then(我们不去打篮球我们不去打篮球)BIf(明天不下雨明天不下雨)Then(我们去打篮球我们去打篮球)Else(我们不去打篮球我们不去打篮球)CIf(明天下雨明天下雨)Then(我们不去打篮球我们不去打篮球)Else(我们
9、去打篮球我们去打篮球)DIf(明天不下雨明天不下雨)Then(我们去打篮球我们去打篮球)D D5下面是一段用伪代码表示的算法:下面是一段用伪代码表示的算法:caabbc输出输出a,b关于该算法的作用,下列叙述正确的是关于该算法的作用,下列叙述正确的是()A交换了原来交换了原来a,b的值的值 B让让a与与b相等相等C变量变量c与与a,b相等相等 Da,b仍是原来的值仍是原来的值A A6计算圆面积的算法描述如下:计算圆面积的算法描述如下:输入圆半径输入圆半径r计算圆面积计算圆面积S(计算公式为计算公式为Sr2)输出结果输出结果结束结束上述算法描述的方法属于上述算法描述的方法属于()A流程图流程图B
10、伪代码伪代码C自然语言自然语言D机器语言机器语言C C7已知已知s1 2n,计算使,计算使s大于大于9999的最小的最小n值,算法值,算法如下:如下:变量变量s赋初值赋初值0,变量,变量n赋初值赋初值0将将n的值增加的值增加1将将s的值加上的值加上n的值,结果存放在的值,结果存放在s中中如果如果s的值大于的值大于9999则转,否则转则转,否则转输出输出n的值的值上述算法描述中步的控制结构是上述算法描述中步的控制结构是()A顺序结构顺序结构 B选择结构选择结构C循环结构循环结构 D树型结构树型结构C C8在解决将二十四计时制转换为十二计时制的问题时,可在解决将二十四计时制转换为十二计时制的问题时
11、,可以采用的算法如下:当时间数小于以采用的算法如下:当时间数小于12点时,输出成点时,输出成hh:mm:ss AM形式,当时间数大于形式,当时间数大于12点时,将时间数减去点时,将时间数减去12后,再输出后,再输出hh:mm:ss PM形式。该问题算法的结构是形式。该问题算法的结构是 ()A循环结构循环结构 B顺序结构顺序结构C树型结构树型结构 D分支结构分支结构D D请回答下列问题:请回答下列问题:该算法的结构属于该算法的结构属于_。如果图中缺少这个框如果图中缺少这个框 ,则流程图中所表示的算法违反了算法特征的则流程图中所表示的算法违反了算法特征的_。图中的横线处应填写的是图中的横线处应填写
12、的是_。9计算计算S135799的算法的流程图如下图所示:的算法的流程图如下图所示:循环结构循环结构算法必须算法必须有输出有输出算法必须有输出算法必须有输出KKK K+2+210算法的执行流程有顺序结构、循环结构和分支结构。分析下图所示的算法的执行流程有顺序结构、循环结构和分支结构。分析下图所示的流程图,在右边框中用自然语言或伪代码表示该算法。流程图,在右边框中用自然语言或伪代码表示该算法。自然语言描述该算法如下:自然语言描述该算法如下:开始开始S1,N8S2*N+1NN-1如果如果N=1,那么转,那么转,否则转,否则转输出输出S结束结束请回答下列问题:请回答下列问题:该算法的结构属于该算法的
13、结构属于_。程序运行结束后,程序运行结束后,y的值为的值为_。11用流程图描述的算法如下图所示:用流程图描述的算法如下图所示:26选择结构(或分支结构)选择结构(或分支结构)请回答下列问题:请回答下列问题:该算法采用的结构是该算法采用的结构是_。在图中输出框内应该入在图中输出框内应该入的内容是的内容是_。在图中输出框内应该入在图中输出框内应该入的内容是的内容是_。12某旅游景点的售票规则如下:周一至周五早上某旅游景点的售票规则如下:周一至周五早上7点前免票,点前免票,7点后门票点后门票10元。双休日门票元。双休日门票15元。根据该规则购票的算法流程图如图所示:元。根据该规则购票的算法流程图如图
14、所示:免门票免门票选择结构(或分支结构)选择结构(或分支结构)门票门票10元元13下面是一个计算变量下面是一个计算变量s值的算法:值的算法:变量变量s赋初值赋初值0,变量,变量c赋初值赋初值0变量变量i依照自然数的规律从依照自然数的规律从1连续变化到连续变化到99,如果,如果i能被能被3整整除,则除,则ssi,cc1如果如果i99则转,否则转则转,否则转输出输出s的值的值输出输出c的值的值请回答下列问题:请回答下列问题:该算法的结构属于该算法的结构属于_。请写出变量请写出变量s的代数表达式的代数表达式_。变量变量c的作用为的作用为_。循环结构循环结构s=3+6+9+99统计统计100以内能被以内能被3整除数的个数整除数的个数14小李设计一个程序求数的算术平方根,程序调试阶段的界面截图如下图所示:小李设计一个程序求数的算术平方根,程序调试阶段的界面截图如下图所示:(1)造成该程序出错的原因,主要是该算法违背了算法的造成该程序出错的原因,主要是该算法违背了算法的_特征。特征。(2)为避免再次出现类似错误,请补充完整流程图中的部分。为避免再次出现类似错误,请补充完整流程图中的部分。_。_。x0?”后,依次输入后,依次输入8,0,12,算法的输出结果为,算法的输出结果为_。0130