资源简介 课时1 算法的概念及描述课时目标1.理解算法的定义、特征及要素。2.初步掌握使用自然语言、流程图、伪代码描述简单算法,了解常用的计算机程序设计语言。3.掌握绘制简单算法的流程图。1.算法“算法”是指解决问题或完成任务的一系列步骤。在计算机科学领域,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。2.算法的特征①有穷性:一个算法的处理步骤必须是有限的。②可行性:算法中的每一步操作与要求都应该是现实中可以实施,能在有限的时间内完成。③确定性:算法中对于每一步的执行描述必须是明确的。④有0个或多个输入:算法被执行时,初始数据可以从外部获取,也可以包含在算法中。⑤有1个或多个输出:算法必须包含至少一个输出,以告诉外界问题求解的结果。3.算法的要素用计算机解决问题,本质上是以“数据计算”的方式来实现的。①数据:用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。②运算:在对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。③控制转移:在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,需要运用控制转移来执行不同的操作。4.常见的算法描述方式常见的算法描述方式有自然语言、流程图、伪代码、程序设计语言等。5.流程图流程图用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行的方向。常见的流程图基本图形及功能图形 名称 功能开始/结束符 表示算法的开始或结束输入/输出框 表示算法中数据的输入或输出处理框 表示算法中数据的运算处理判断框 表示算法中的条件判断流程线 表示算法中的流向连接点 表示算法中的转接6.伪代码的语法约定(1)条件判断语句格式1:if条件then (语句序列1) else (语句序列2)格式2:if条件then (语句序列1)(2)循环语句格式:while条件 (循环体)例1 下列关于算法的概念及描述,说法正确的是 ( )A.算法的一个步骤可以被执行多次B.算法必须包括一个或多个输入C.算法就是数学运算方法D.算法只能用自然语言进行描述答案 A解析 本题考查算法的概念和特征。A选项循环结构可以实现多次执行同一步骤。B选项可以没有输入。C选项算法还包含解决问题的方法和步骤,数学运算方法是建模。D选项算法可以用自然语言、流程图、伪代码等方法来表示。变式训练1 下列关于算法及算法的特征的描述,正确的是 ( )A.算法必须使用计算机借助用某种语言实现B.自然语言不能用来表示算法,而流程图可以C.任何一个算法都必须有数据输入D.算法必须有问题求解的结果,包含至少一个输出答案 D解析 本题考查算法的特征及其描述方式。广义的算法指的是解决问题的方法和步骤,不是所有的算法都需要计算机语言来实现,A选项错误。B选项错误,算法的描述方法有自然语言、流程图、伪代码及计算机语言。C选项,算法的特征可以没有输入,但是必须要有输出。例2 计算机编程解决“斐波那契数列(每一项都是前两项之和)”问题的过程由以下4个步骤组成:①用Python中的循环结构编写程序②调试运行程序,发现错误并进行修正③设计算法:设计输入、处理、输出等一系列算法④抽象与建模:用数学符号F(0)=F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)描述解决问题的计算模型正确的顺序是 ( )A.①②③④ B.③④①② C.④③②① D.④③①②答案 D解析 本题考查算法的表示。先抽象建模,再设计算法,接编写程序,最后调试运行程序。变式训练2 “梅森素数”指的是符合条件m=2p-1,其中指数p与整数m均为素数。小李想找出10000以内所有的“梅森素数”,设计算法过程如下:①设计核心算法:如何判断素数②调试运行程序,重点检测边界条件③借助Python语言,具体编程实现④将问题抽象成条件的判断与素数的判断,并完成建模下列选项中,解决该问题的过程正确次序是 ( )A.①②③④ B.②①④③C.④①③② D.①④②③答案 C解析 本题考查算法的表示。抽象建模是第一步,设计算法是第二步,计算机编程实现是第三步,调试程序是最后一步。例3 某算法的自然语言描述与流程图表示分别如下:自然语言第1步:输入一个实数x第2步:判断x与0的大小关系,若x<0,则y=2x-1,否则y=x2-1第3步:输出y的值第4步:算法结束则流程图中处理框①、②处可分别填入的是 ( )A.①y←x2-1 ②x←2x-1B.①y←x2-1 ②y←2x-1C.①y←2x-1 ②y←x2-1D.①x←x2-1 ②y←2x-1答案 B解析 对于同一个算法,可以用不同的表示方法来描述。分析自然语言描述和流程图描述,可知自然语言中的第2步,对应着流程图中的判断部分。由自然语言可知,处理框①和②处的功能是求y的值。在执行过程中,当条件“x<0 ”不成立时,会执行①,否则会执行②。对照自然语言描述,处理框②处是在求解当“x<0 ”成立时的y值,即“y←2x-1”;处理框①处是在求解当“x<0 ”不成立时的y值,即“y←x2-1”。因此,答案为B。变式训练3 某算法的自然语言描述与流程图表示分别如下:自然语言输入a、b的值如果a≥b,则c←a×(b+1),否则c←a×(b-1)输出c的值算法结束则流程图中处理框①、②处可分别填入的是 ( )A.①c←b×(a-1) ②b×(a+1)B.①b×(a+1) ②c←b×(a-1)C.①a×(b+1) ②c←a×(b-1)D.①c←a×(b-1) ②c←a×(b+1)答案 D解析 本题采用伪代码和流程图来描述算法。从伪代码可知,处理框①和②处的功能是求c的值。在执行过程中,当条件“a≥b”成立时,会转向②处执行,否则,转向①处执行,即处理框①处的代码为c←a×(b-1),②处的代码为c←a×(b+1)。因此,答案为D。变式训练4 下列能准确表达“如果明天不下雨,那么我们骑车去郊游”的伪代码是 ( )A.if (明天下雨) then (我们骑车去郊游)B.if (明天不下雨) then (我们骑车去郊游) else (我们不去郊游)C.if (明天下雨) then (我们不去郊游) else (我们骑车去郊游)D.if (明天不下雨) then (我们骑车去郊游)答案 D解析 本题主要考查的是用伪代码来表示条件判断语句。题目要表达的意思仅是“如果明天不下雨,那么我们骑车去郊游”;如果明天下雨,我们可能不去郊游,也可能是通过其他交通工具去郊游。因此,答案为D。变式训练5 某算法用伪代码描述如下。输入两个正整数x,yif x关于上述算法,下列说法正确的是 ( )A.不符合“可行性”特征B.无法用流程图来描述C.运用了循环结构的控制转移D.z为正整数x与y差的一半答案 D解析 本题要求对算法及其描述进行全面的理解。题中用伪代码描述的算法,其每一个步骤都有明确的作用和含义,符合“可行性”等算法特征。本题算法可以用自然语言、流程图等方式来描述。由伪代码可知,该算法运用了分支结构的控制转移。为了保证x、y的差为正,需要对x与y的大小关系进行判断,z为正整数x与y差的一半,因此,答案为D。 1.算法就是解决问题的方法和步骤,下列关于算法的描述,正确的是 ( )A.算法是对程序的描述,程序决定算法B.一个问题的算法是唯一的,而程序可以有多个C.算法只能用流程图表示D.到超市购物的一系列活动流程与策略就是所谓的算法答案 D解析 本题考查算法的相关知识。A选项算法决定程序而非程序决定算法,用计算机编程解决问题时先设计算法,再用程序语言来编程实现算法;B选项一个问题的算法可以有多个,而程序也可以有多个;C选项算法有多种表示方法,自然语言,流程图,伪代码以及程序语言。2.求100以内所有能被3整除的自然数之和,算法如下:①1赋值给变量i;②判断i除以3的余数是否为0,若是,则将该数累加到变量sum中;③将变量i加1,若i小于或等于100,转②;④输出变量sum的值;⑤算法结束。该算法采用的描述方法属于 ( )A.流程图 B.伪代码C.自然语言 D.计算机程序语言答案 C解析 本题主要考查的是算法的描述方法。本题算法的描述方法是自然语言。3.不能用算法描述“输出所有完全平方数”,是因为该任务不符合算法特征中的 ( )A.确定性 B.有0个或多个输入C.有穷性 D.有1个或多个输出答案 C解析 本题主要考查算法的特征。输出所有完全平方数,是无穷的,因此它违背了算法的有穷性特征。4.下列步骤是用计算机解决物质密度计算问题时经历的三个阶段:①编制计算机程序,用计算机进行处理,并调试程序②设计“根据物质的质量与体积计算密度”的算法③获取物质的质量与体积,找出其与物质密度的关系,建立计算模型上述阶段的正确顺序是 ( )A.③②① B.③①② C.①②③ D.①③②答案 A解析 本题考查计算机解决问题的一般过程。用计算机解决问题时,由于实际问题情境的复杂性,需要先对实际问题进行抽象与建模,再根据建立的计算模型设计算法,并将算法用合适的方式加以准确描述。5.某算法的流程图如图所示,执行该算法,当x的值为4时,则输出y的值为 ( )A.9 B.10 C.11 D.12答案 B解析 本题主要考查的是流程图。输入的x的值为4,不满足条件“x≤0 ”,因此执行y←3x-2,y=10,因此答案为B。一、基础巩固 1.下列问题不能用算法描述的是 ( )A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的实数解B.计算某个班级英语成绩的平均分C.列出方程y=2x+1的所有实数解D.根据矩形的长和宽求面积答案 C解析 C选项不符合算法有穷性特征。2.(多选)下列关于算法的描述,正确的有 ( )A.广义地讲,“算法”指的是解决问题或完成任务的一系列步骤B.算法有多种不同的描述方式C.不能用算法描述“输出所有素数”是因为这不符合算法特征中的“确定性”D.算法的第一个执行步骤必须是数据输入E.通过算法让计算机解决问题时,数据、运算及控制转移成为算法的要素答案 ABE3.关于算法,下列叙述正确的是 ( )A.解决任何一个具体问题只有一种算法B.流程图是算法的一种表示形式C.一种算法只能用一种程序语言来实现D.算法是解题方法的精确描述,它可以有无限个步骤答案 B解析 解决问题的算法可以有多个。4.用于求变量s的值的算法如下:①变量s的初值是0,变量n的初值是1。②若变量n的值大于100,则转到步骤⑤。③s←s+(-1)n-1×n。④n的值增加1,转到步骤②。⑤输出s的值。⑥结束。下列数学表达式中,其计算结果与上述算法执行后变量s的值相等的是 ( )A.1+2+3+…+100 B.-1-2-3-…-100C.1-2+3-4+…-100 D.-1+2-3+4…+100答案 C解析 随着n的变化,(-1)n-1实现1和-1之间的交替变化,当n大于100时,结束运行。5.用伪代码描述算法:①输入a、b的值;②c←a;③a←b;④b←c;⑤输出a、b的值;当输入a的值为3,b的值为5时,输出结果中a和b的值分别为 ( )A.3 5 B.3 3 C.5 5 D.5 3答案 D解析 算法实现两个变量值发生交换。6.关于下面流程图功能的描述正确的是 ( )A.输入一个数,输出它的相反数B.输入一个数,若其小于或等于0,则输出该数的相反数C.输入一个数,输出其绝对值D.输入一个数,若其大于0,则输出该数本身,若其小于0,则输出该数的相反数答案 C解析 本题主要考查的是对算法及对流程图功能的理解。7.古代数学家欧几里得在《几何原本》中提出“辗转相除法”,利用该算法可以求出任意两个正整数的最大公约数。用“辗转相除法”计算正整数m和n的最大公约数的步骤如下:①输入两个正整数m和n②若m③以m除以n,相除得到的余数为r④若r=0,则输出n的值,算法结束;否则执行步骤⑤⑤令m=n,n=r,返回步骤③继续执行。若输入的两个正整数分别为243、78,则输出的结果是 ( )A.78 B.9 C.3 D.6答案 C解析 本题考查理解自然语言表述的算法并运用。辗转相除法计算两个正整数的最大公约数,教材上也有体现。8.某算法用伪代码描述如下:下列有关上述算法的说法,正确的是 ( )A.该算法违反了算法有穷性原则B.该算法实现了找出A和B中的最大值AC.该算法属于分支结构D.该算法无法使用流程图来描述答案 A解析 本题考查算法的表示。如果条件A=B时,会产生死循环,因此算法违反了有穷性原则,不能完全实现找出A和B中的最大值A。二、能力提升9.某算法描述如下:①将0赋值给变量Num,将10赋值给变量Max,将9赋值给变量i②若i除以3余2、除以5余3、除以7余2,则将变量Num的值增加1并输出i③变量i的值增加1,若变量Num小于变量Max,则转②④结束对于上述算法,下列说法错误的是 ( )A.该算法是用自然语言来描述的B.该算法符合有穷性的特征C.该算法最后输出10个数值D.该算法转换成流程图只需用到一个选择框答案 D解析 该算法是用自然语言来描述的,从③语句来看,是一个循环结构,循环变量是Num,他的初值是0,条件是小于10,每次递增1,那么Num取值范围是0-9,从②语句来看,把符合三个条件的i输出,同时变量Num增加1,可见输出10个数据。这是一个循环结构包含选择结构,因此有两个判断框。10.统计投硬币1000次出现正面这一概率实验的算法步骤如下:①将i,k分别赋初值0;②用随机函数产生一个数来模拟硬币的正反面,若随机数在[0,0.5)之间,k的值加1;③i的值加1,若i<1000,则转②;④输出结果k/1000,结束。对于上述算法,下列说法错误的是 ( )A.变量k代表正面次数B.该算法的循环结构内部包含了选择结构C.该算法主要体现了枚举思想D.该算法没有输入,因此不符合算法的基本特征答案 D解析 题目中描述随机数在[0,0.5)之间,k的值加1,输出结果k/1000,因此k表示正面的次数。从语句③来看,是一个循环结构,从语句②来看,是一个选择结构,在1000次模拟正反面实验中统计正面出现次数。算法可以没有输入,但必须有输出。11.描述某算法的伪代码如下。输入两个正整数m、nr ←m除以n的余数while r≠0 (m←n,n←r,r←m除以n的余数)输出n(1)执行上述算法,如果输入m、n的值分别为24、16,那么输出n的值为 。 (2)请用流程图描述上述算法。答案 (1)8(2)解析 本题主要考查的是对算法及其描述进行全面的理解。题目用伪代码描述算法,其功能是求正整数m、n的最大公约数。四种算法描述方法的优缺点对比自然语言 流程图 伪代码 计算机语言优点 通俗易懂 结构清晰、寓意明确 直观简洁、写法灵活 能让计算机理解并执行缺点 容易产生歧义 情况复杂时,过多的流程线影响算法的理解 错误不易排查,计算机无法理解并执行 有一定程序设计语言基础的人才能看懂(共42张PPT)课时1 算法的概念及描述第二章 算法与问题解决1.理解算法的定义、特征及要素。2.初步掌握使用自然语言、流程图、伪代码描述简单算法,了解常用的计算机程序设计语言。3.掌握绘制简单算法的流程图。目 录CONTENTS知识梳理01例题精析02随堂检测03巩固与提升04知识梳理11.算法“算法”是指________________________________。在计算机科学领域,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机______________________、__________的集合。解决问题或完成任务的一系列步骤有序执行的、无歧义的有限步骤2.算法的特征①有穷性:一个算法的处理步骤必须是______的。②________:算法中的每一步操作与要求都应该是现实中可以实施,能在有限的时间内完成。③确定性:算法中对于每一步的执行描述必须是______的。④__________________:算法被执行时,初始数据可以从外部获取,也可以包含在算法中。⑤__________________:算法必须包含至少一个输出,以告诉外界问题求解的结果。有限可行性明确有0个或多个输入有1个或多个输出3.算法的要素用计算机解决问题,本质上是以“数据计算”的方式来实现的。①______:用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。②______:在对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。③__________:在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,需要运用控制转移来执行不同的操作。数据运算控制转移4.常见的算法描述方式常见的算法描述方式有自然语言、________、伪代码、______________等。流程图程序设计语言5.流程图流程图用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行的方向。常见的流程图基本图形及功能图形 名称 功能开始/结束符 表示算法的开始或结束输入/输出框 表示算法中数据的输入或输出处理框 表示算法中数据的运算处理判断框 表示算法中的条件判断流程线 表示算法中的流向连接点 表示算法中的转接6.伪代码的语法约定(1)条件判断语句格式1:if条件then (语句序列1) else (语句序列2)格式2:if条件then (语句序列1)(2)循环语句格式:while条件 (循环体) 自然语言 流程图 伪代码 计算机语言优 点 通俗易懂 结构清晰、寓意明确 直观简洁、写法灵活 能让计算机理解并执行缺 点 容易产生歧义 情况复杂时,过多的流程线影响算法的理解 错误不易排查,计算机无法理解并执行 有一定程序设计语言基础的人才能看懂四种算法描述方法的优缺点对比例题精析2例1 下列关于算法的概念及描述,说法正确的是 ( )A.算法的一个步骤可以被执行多次B.算法必须包括一个或多个输入C.算法就是数学运算方法D.算法只能用自然语言进行描述A解析 本题考查算法的概念和特征。A选项循环结构可以实现多次执行同一步骤。B选项可以没有输入。C选项算法还包含解决问题的方法和步骤,数学运算方法是建模。D选项算法可以用自然语言、流程图、伪代码等方法来表示。变式训练1 下列关于算法及算法的特征的描述,正确的是 ( )A.算法必须使用计算机借助用某种语言实现B.自然语言不能用来表示算法,而流程图可以C.任何一个算法都必须有数据输入D.算法必须有问题求解的结果,包含至少一个输出解析 本题考查算法的特征及其描述方式。广义的算法指的是解决问题的方法和步骤,不是所有的算法都需要计算机语言来实现,A选项错误。B选项错误,算法的描述方法有自然语言、流程图、伪代码及计算机语言。C选项,算法的特征可以没有输入,但是必须要有输出。D例2 计算机编程解决“斐波那契数列(每一项都是前两项之和)”问题的过程由以下4个步骤组成:①用Python中的循环结构编写程序②调试运行程序,发现错误并进行修正③设计算法:设计输入、处理、输出等一系列算法④抽象与建模:用数学符号F(0)=F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)描述解决问题的计算模型正确的顺序是( )A.①②③④ B.③④①② C.④③②① D.④③①②解析 本题考查算法的表示。先抽象建模,再设计算法,接编写程序,最后调试运行程序。D变式训练2 “梅森素数”指的是符合条件m=2p-1,其中指数p与整数m均为素数。小李想找出10000以内所有的“梅森素数”,设计算法过程如下:①设计核心算法:如何判断素数②调试运行程序,重点检测边界条件③借助Python语言,具体编程实现④将问题抽象成条件的判断与素数的判断,并完成建模下列选项中,解决该问题的过程正确次序是( )A.①②③④ B.②①④③ C.④①③② D.①④②③解析 本题考查算法的表示。抽象建模是第一步,设计算法是第二步,计算机编程实现是第三步,调试程序是最后一步。C例3 某算法的自然语言描述与流程图表示分别如下:则流程图中处理框①、②处可分别填入的是 ( )A.①y←x2-1 ②x←2x-1 B.①y←x2-1 ②y←2x-1C.①y←2x-1 ②y←x2-1 D.①x←x2-1 ②y←2x-1B自然语言 第1步:输入一个实数x 第2步:判断x与0的大小关系,若x<0,则y=2x-1,否则y=x2-1 第3步:输出y的值 第4步:算法结束解析 对于同一个算法,可以用不同的表示方法来描述。分析自然语言描述和流程图描述,可知自然语言中的第2步,对应着流程图中的判断部分。由自然语言可知,处理框①和②处的功能是求y的值。在执行过程中,当条件“x<0 ”不成立时,会执行①,否则会执行②。对照自然语言描述,处理框②处是在求解当“x<0 ”成立时的y值,即“y←2x-1”;处理框①处是在求解当“x<0 ”不成立时的y值,即“y←x2-1”。因此,答案为B。变式训练3 某算法的自然语言描述与流程图表示分别如下:则流程图中处理框①、②处可分别填入的是 ( )A.①c←b×(a-1) ②b×(a+1) B.①b×(a+1)②c←b×(a-1)C.①a×(b+1)②c←a×(b-1) D.①c←a×(b-1)②c←a×(b+1)D自然语言 输入a、b的值 如果a≥b,则c←a×(b+1),否则c←a×(b-1) 输出c的值 算法结束解析 本题采用伪代码和流程图来描述算法。从伪代码可知,处理框①和②处的功能是求c的值。在执行过程中,当条件“a≥b”成立时,会转向②处执行,否则,转向①处执行,即处理框①处的代码为c←a×(b-1),②处的代码为c←a×(b+1)。因此,答案为D。变式训练4 下列能准确表达“如果明天不下雨,那么我们骑车去郊游”的伪代码是 ( )A.if (明天下雨) then (我们骑车去郊游)B.if (明天不下雨) then (我们骑车去郊游) else (我们不去郊游)C.if (明天下雨) then (我们不去郊游) else (我们骑车去郊游)D.if (明天不下雨) then (我们骑车去郊游)解析 本题主要考查的是用伪代码来表示条件判断语句。题目要表达的意思仅是“如果明天不下雨,那么我们骑车去郊游”;如果明天下雨,我们可能不去郊游,也可能是通过其他交通工具去郊游。因此,答案为D。D变式训练5 某算法用伪代码描述如下。解析 本题要求对算法及其描述进行全面的理解。题中用伪代码描述的算法,其每一个步骤都有明确的作用和含义,符合“可行性”等算法特征。本题算法可以用自然语言、流程图等方式来描述。由伪代码可知,该算法运用了分支结构的控制转移。为了保证x、y的差为正,需要对x与y的大小关系进行判断,z为正整数x与y差的一半,因此,答案为D。D输入两个正整数x,yif x z←(y-x)/2Else z←(x-y)/2输出z关于上述算法,下列说法正确的是 ( )A.不符合“可行性”特征B.无法用流程图来描述C.运用了循环结构的控制转移D.z为正整数x与y差的一半随堂检测31.算法就是解决问题的方法和步骤,下列关于算法的描述,正确的是 ( )A.算法是对程序的描述,程序决定算法B.一个问题的算法是唯一的,而程序可以有多个C.算法只能用流程图表示D.到超市购物的一系列活动流程与策略就是所谓的算法D解析 本题考查算法的相关知识。A选项算法决定程序而非程序决定算法,用计算机编程解决问题时先设计算法,再用程序语言来编程实现算法;B选项一个问题的算法可以有多个,而程序也可以有多个;C选项算法有多种表示方法,自然语言,流程图,伪代码以及程序语言。2.求100以内所有能被3整除的自然数之和,算法如下:①1赋值给变量i;②判断i除以3的余数是否为0,若是,则将该数累加到变量sum中;③将变量i加1,若i小于或等于100,转②;④输出变量sum的值;⑤算法结束。该算法采用的描述方法属于( )A.流程图 B.伪代码C.自然语言 D.计算机程序语言C解析 本题主要考查的是算法的描述方法。本题算法的描述方法是自然语言。A.确定性 B.有0个或多个输入C.有穷性 D.有1个或多个输出C解析 本题主要考查算法的特征。输出所有完全平方数,是无穷的,因此它违背了算法的有穷性特征。4.下列步骤是用计算机解决物质密度计算问题时经历的三个阶段:①编制计算机程序,用计算机进行处理,并调试程序②设计“根据物质的质量与体积计算密度”的算法③获取物质的质量与体积,找出其与物质密度的关系,建立计算模型上述阶段的正确顺序是( )A.③②① B.③①② C.①②③ D.①③②A解析 本题考查计算机解决问题的一般过程。用计算机解决问题时,由于实际问题情境的复杂性,需要先对实际问题进行抽象与建模,再根据建立的计算模型设计算法,并将算法用合适的方式加以准确描述。5.某算法的流程图如图所示,执行该算法,当x的值为4时,则输出y的值为 ( )B解析 本题主要考查的是流程图。输入的x的值为4,不满足条件“x≤0 ”,因此执行y←3x-2,y=10,因此答案为B。A.9 B.10 C.11 D.124巩固与提升基础巩固能力提升A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的实数解B.计算某个班级英语成绩的平均分C.列出方程y=2x+1的所有实数解D.根据矩形的长和宽求面积C解析 C选项不符合算法有穷性特征。2.(多选)下列关于算法的描述,正确的有 ( )A.广义地讲,“算法”指的是解决问题或完成任务的一系列步骤B.算法有多种不同的描述方式C.不能用算法描述“输出所有素数”是因为这不符合算法特征中的“确定性”D.算法的第一个执行步骤必须是数据输入E.通过算法让计算机解决问题时,数据、运算及控制转移成为算法的要素ABE3.关于算法,下列叙述正确的是 ( )A.解决任何一个具体问题只有一种算法B.流程图是算法的一种表示形式C.一种算法只能用一种程序语言来实现D.算法是解题方法的精确描述,它可以有无限个步骤B解析 解决问题的算法可以有多个。4.用于求变量s的值的算法如下:①变量s的初值是0,变量n的初值是1。②若变量n的值大于100,则转到步骤⑤。③s←s+(-1)n-1×n。④n的值增加1,转到步骤②。⑤输出s的值。⑥结束。下列数学表达式中,其计算结果与上述算法执行后变量s的值相等的是( )A.1+2+3+…+100 B.-1-2-3-…-100C.1-2+3-4+…-100 D.-1+2-3+4…+100C解析 随着n的变化,(-1)n-1实现1和-1之间的交替变化,当n大于100时,结束运行。5.用伪代码描述算法:①输入a、b的值;②c←a;③a←b;④b←c;⑤输出a、b的值;当输入a的值为3,b的值为5时,输出结果中a和b的值分别为( )A.3 5 B.3 3 C.5 5 D.5 3D解析 算法实现两个变量值发生交换。6.关于下面流程图功能的描述正确的是 ( )A.输入一个数,输出它的相反数B.输入一个数,若其小于或等于0,则输出该数的相反数C.输入一个数,输出其绝对值D.输入一个数,若其大于0,则输出该数本身,若其小于0,则输出该数的相反数C解析 本题主要考查的是对算法及对流程图功能的理解。7.古代数学家欧几里得在《几何原本》中提出“辗转相除法”,利用该算法可以求出任意两个正整数的最大公约数。用“辗转相除法”计算正整数m和n的最大公约数的步骤如下:①输入两个正整数m和n②若m③以m除以n,相除得到的余数为r④若r=0,则输出n的值,算法结束;否则执行步骤⑤⑤令m=n,n=r,返回步骤③继续执行。若输入的两个正整数分别为243、78,则输出的结果是( )A.78 B.9 C.3 D.6C解析 本题考查理解自然语言表述的算法并运用。辗转相除法计算两个正整数的最大公约数,教材上也有体现。8.某算法用伪代码描述如下:A解析 本题考查算法的表示。如果条件A=B时,会产生死循环,因此算法违反了有穷性原则,不能完全实现找出A和B中的最大值A。下列有关上述算法的说法,正确的是 ( )A.该算法违反了算法有穷性原则B.该算法实现了找出A和B中的最大值AC.该算法属于分支结构D.该算法无法使用流程图来描述9.某算法描述如下:①将0赋值给变量Num,将10赋值给变量Max,将9赋值给变量i②若i除以3余2、除以5余3、除以7余2,则将变量Num的值增加1并输出i③变量i的值增加1,若变量Num小于变量Max,则转②④结束DA.该算法是用自然语言来描述的B.该算法符合有穷性的特征C.该算法最后输出10个数值D.该算法转换成流程图只需用到一个选择框解析 该算法是用自然语言来描述的,从③语句来看,是一个循环结构,循环变量是Num,他的初值是0,条件是小于10,每次递增1,那么Num取值范围是0-9,从②语句来看,把符合三个条件的i输出,同时变量Num增加1,可见输出10个数据。这是一个循环结构包含选择结构,因此有两个判断框。10.统计投硬币1000次出现正面这一概率实验的算法步骤如下:①将i,k分别赋初值0;②用随机函数产生一个数来模拟硬币的正反面,若随机数在[0,0.5)之间,k的值加1;③i的值加1,若i<1000,则转②;④输出结果k/1000,结束。对于上述算法,下列说法 的是( )A.变量k代表正面次数B.该算法的循环结构内部包含了选择结构C.该算法主要体现了枚举思想D.该算法没有输入,因此不符合算法的基本特征D解析 题目中描述随机数在[0,0.5)之间,k的值加1,输出结果k/1000,因此k表示正面的次数。从语句③来看,是一个循环结构,从语句②来看,是一个选择结构,在1000次模拟正反面实验中统计正面出现次数。算法可以没有输入,但必须有输出。11.描述某算法的伪代码如下。输入两个正整数m、nr ←m除以n的余数while r≠0 (m←n,n←r,r←m除以n的余数)输出n(1)执行上述算法,如果输入m、n的值分别为24、16,那么输出n的值为 。 (2)请用流程图描述上述算法。解析 本题主要考查的是对算法及其描述进行全面的理解。题目用伪代码描述算法,其功能是求正整数m、n的最大公约数。答案 (1)8(2)课时1 算法的概念及描述课时目标1.理解算法的定义、特征及要素。2.初步掌握使用自然语言、流程图、伪代码描述简单算法,了解常用的计算机程序设计语言。3.掌握绘制简单算法的流程图。1.算法“算法”是指____________________________。在计算机科学领域,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机______________、____________、____________的集合。2.算法的特征①有穷性:一个算法的处理步骤必须是________________的。②____________________:算法中的每一步操作与要求都应该是现实中可以实施,能在有限的时间内完成。③确定性:算法中对于每一步的执行描述必须是________的。④____________________:算法被执行时,初始数据可以从外部获取,也可以包含在算法中。⑤____________________:算法必须包含至少一个输出,以告诉外界问题求解的结果。3.算法的要素用计算机解决问题,本质上是以“数据计算”的方式来实现的。①________:用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。②__________:在对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。③____________:在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,需要运用控制转移来执行不同的操作。4.常见的算法描述方式常见的算法描述方式有自然语言、________、伪代码、________________等。5.流程图流程图用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行的方向。常见的流程图基本图形及功能图形 名称 功能开始/结束符 表示算法的开始或结束输入/输出框 表示算法中数据的输入或输出处理框 表示算法中数据的运算处理判断框 表示算法中的条件判断流程线 表示算法中的流向连接点 表示算法中的转接6.伪代码的语法约定(1)条件判断语句格式1:if条件then (语句序列1) else (语句序列2)格式2:if条件then (语句序列1)(2)循环语句格式:while条件(循环体)四种算法描述方法的优缺点对比自然语言 流程图 伪代码 计算机语言优点 通俗易懂 结构清晰、寓意明确 直观简洁、写法灵活 能让计算机理解并执行缺点 容易产生歧义 情况复杂时,过多的流程线影响算法的理解 错误不易排查,计算机无法理解并执行 有一定程序设计语言基础的人才能看懂 例1 下列关于算法的概念及描述,说法正确的是( )A.算法的一个步骤可以被执行多次B.算法必须包括一个或多个输入C.算法就是数学运算方法D.算法只能用自然语言进行描述听课笔记: 变式训练1 下列关于算法及算法的特征的描述,正确的是( )A.算法必须使用计算机借助用某种语言实现B.自然语言不能用来表示算法,而流程图可以C.任何一个算法都必须有数据输入D.算法必须有问题求解的结果,包含至少一个输出例2 计算机编程解决“斐波那契数列(每一项都是前两项之和)”问题的过程由以下4个步骤组成:①用Python中的循环结构编写程序②调试运行程序,发现错误并进行修正③设计算法:设计输入、处理、输出等一系列算法④抽象与建模:用数学符号F(0)=F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)描述解决问题的计算模型正确的顺序是( )A.①②③④ B.③④①②C.④③②① D.④③①②听课笔记: 变式训练2 “梅森素数”指的是符合条件m=2p-1,其中指数p与整数m均为素数。小李想找出10000以内所有的“梅森素数”,设计算法过程如下:①设计核心算法:如何判断素数②调试运行程序,重点检测边界条件③借助Python语言,具体编程实现④将问题抽象成条件的判断与素数的判断,并完成建模下列选项中,解决该问题的过程正确次序是( )A.①②③④ B.②①④③C.④①③② D.①④②③例3 某算法的自然语言描述与流程图表示分别如下:自然语言第1步:输入一个实数x第2步:判断x与0的大小关系,若x<0,则y=2x-1,否则y=x2-1第3步:输出y的值第4步:算法结束则流程图中处理框①、②处可分别填入的是( )A.①y←x2-1 ②x←2x-1B.①y←x2-1 ②y←2x-1C.①y←2x-1 ②y←x2-1D.①x←x2-1 ②y←2x-1听课笔记: 变式训练3 某算法的自然语言描述与流程图表示分别如下:自然语言输入a、b的值如果a≥b,则c←a×(b+1),否则c←a×(b-1)输出c的值算法结束则流程图中处理框①、②处可分别填入的是( )A.①c←b×(a-1) ②b×(a+1)B.①b×(a+1) ②c←b×(a-1)C.①a×(b+1) ②c←a×(b-1)D.①c←a×(b-1) ②c←a×(b+1)变式训练4 下列能准确表达“如果明天不下雨,那么我们骑车去郊游”的伪代码是( )A.if (明天下雨) then (我们骑车去郊游)B.if (明天不下雨) then (我们骑车去郊游) else (我们不去郊游)C.if (明天下雨) then (我们不去郊游) else (我们骑车去郊游)D.if (明天不下雨) then (我们骑车去郊游)变式训练5 某算法用伪代码描述如下。输入两个正整数x,yif x关于上述算法,下列说法正确的是( )A.不符合“可行性”特征B.无法用流程图来描述C.运用了循环结构的控制转移D.z为正整数x与y差的一半1.算法就是解决问题的方法和步骤,下列关于算法的描述,正确的是( )A.算法是对程序的描述,程序决定算法B.一个问题的算法是唯一的,而程序可以有多个C.算法只能用流程图表示D.到超市购物的一系列活动流程与策略就是所谓的算法2.求100以内所有能被3整除的自然数之和,算法如下:①1赋值给变量i;②判断i除以3的余数是否为0,若是,则将该数累加到变量sum中;③将变量i加1,若i小于或等于100,转②;④输出变量sum的值;⑤算法结束。该算法采用的描述方法属于( )A.流程图 B.伪代码C.自然语言 D.计算机程序语言3.不能用算法描述“输出所有完全平方数”,是因为该任务不符合算法特征中的( )A.确定性 B.有0个或多个输入C.有穷性 D.有1个或多个输出4.下列步骤是用计算机解决物质密度计算问题时经历的三个阶段:①编制计算机程序,用计算机进行处理,并调试程序②设计“根据物质的质量与体积计算密度”的算法③获取物质的质量与体积,找出其与物质密度的关系,建立计算模型上述阶段的正确顺序是( )A.③②① B.③①②C.①②③ D.①③②5.某算法的流程图如图所示,执行该算法,当x的值为4时,则输出y的值为( )A.9 B.10C.11 D.12 展开更多...... 收起↑ 资源列表 课时1 算法的概念及描述 学案 浙教版(2019)必修1.doc 课时1 算法的概念及描述 教案 浙教版(2019)必修1.doc 课时1 算法的概念及描述 课件(共42张ppt)浙教版(2019)必修1.pptx