第二章 课时1 算法的概念及描述 浙教版(2019)必修1(课件 学案 教案三份打包)

资源下载
  1. 二一教育资源

第二章 课时1 算法的概念及描述 浙教版(2019)必修1(课件 学案 教案三份打包)

资源简介

课时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-1
B.①y←x2-1  ②y←2x-1
C.①y←2x-1  ②y←x2-1
D.①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.通过算法让计算机解决问题时,数据、运算及控制转移成为算法的要素
答案 ABE
3.关于算法,下列叙述正确的是 (  )
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-…-100
C.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中的最大值A
C.该算法属于分支结构
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
知识梳理
1
1.算法
“算法”是指________________________________。在计算机科学领域,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机______________________、__________的集合。
解决问题或完成任务的一系列步骤
有序执行的、无歧义的
有限步骤
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-1
C.①y←2x-1 ②y←x2-1 D.①x←x2-1 ②y←2x-1
B
自然语言 第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,y
if x  z←(y-x)/2
Else
  z←(x-y)/2
输出z
关于上述算法,下列说法正确的是 (  )
A.不符合“可行性”特征
B.无法用流程图来描述
C.运用了循环结构的控制转移
D.z为正整数x与y差的一半
随堂检测
3
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
解析 本题主要考查的是算法的描述方法。本题算法的描述方法是自然语言。
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.12
4
巩固与提升
基础巩固
能力提升
A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的实数解
B.计算某个班级英语成绩的平均分
C.列出方程y=2x+1的所有实数解
D.根据矩形的长和宽求面积
C
解析 C选项不符合算法有穷性特征。
2.(多选)下列关于算法的描述,正确的有 (   )
A.广义地讲,“算法”指的是解决问题或完成任务的一系列步骤
B.算法有多种不同的描述方式
C.不能用算法描述“输出所有素数”是因为这不符合算法特征中的“确定性”
D.算法的第一个执行步骤必须是数据输入
E.通过算法让计算机解决问题时,数据、运算及控制转移成为算法的要素
ABE
3.关于算法,下列叙述正确的是 (  )
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-…-100
C.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
解析 本题考查算法的表示。如果条件A=B时,会产生死循环,因此算法违反了有穷性原则,不能完全实现找出A和B中的最大值A。
下列有关上述算法的说法,正确的是 (  )
A.该算法违反了算法有穷性原则
B.该算法实现了找出A和B中的最大值A
C.该算法属于分支结构
D.该算法无法使用流程图来描述
9.某算法描述如下:
①将0赋值给变量Num,将10赋值给变量Max,将9赋值给变量i
②若i除以3余2、除以5余3、除以7余2,则将变量Num的值增加1并输出i
③变量i的值增加1,若变量Num小于变量Max,则转②
④结束
D
A.该算法是用自然语言来描述的
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、n
r ←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-1
B.①y←x2-1  ②y←2x-1
C.①y←2x-1  ②y←x2-1
D.①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.10
C.11 D.12

展开更多......

收起↑

资源列表