课件55张PPT。教师用书独具演示演示结束算法的概念 步骤 程序 步骤 用算法解决问题 算法的基本思想 一系列可操作或可计算 算法 算法的特征 确定性 有穷性 可行性 输入 输出 通用性 算法概念的理解 求正约数的算法设计 解方程(组)问题的算法设计 分步求和(积)问题的算法设计 课时作业(十)课件58张PPT。教师用书独具演示演示结束算法框图 操作的内容 先后顺序 起始 结束 数据 结果 给定条件 方向 另一页 另一部分 理解 顺序结构 步骤 选择结构 结果 变量与赋值 不同数值 b=a 新值 设计含顺序结构的算法 设计含有选择结构的算法框图 用赋值语句设计算法 课时作业(十一)课件53张PPT。教师用书独具演示演示结束循环结构的概念 反复执行某一步骤 开始 结束 循环体 循环结构的基本模式 图2-2-10 循环变量 初始 反复执行 循环体 终止 利用循环结构解决累加(乘)问题 代数运算问题的算法设计 利用循环结构解决筛选问题 图2-2-11 图2-2-12 图2-2-13 图2-2-14 图2-2-15 课时作业(十二)课件63张PPT。教师用书独具演示演示结束条件语句 条件语句 If语句 复合If语句 条件语句的简单应用 复合If语句的应用 条件语句的实际应用 课时作业(十三)课件52张PPT。教师用书独具演示演示结束循环语句 循环次数 For语句 循环体 Do Loop 循环体 条件为真 基本语句描述算法的优点 直观 清楚 明了 程序语言 编写程序 For语句的基本应用 Do Loop语句的应用 Do Loop语句与条件语句的综合应用 课时作业(十四)第二章 算法初步
§1算法的基本思想
(教师用书独具)
●三维目标
1.知识与技能
(1)通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;
(2)能够用语言叙述算法;
(3)会写出将自然数分解成素因数乘积的算法;
(4)会写出求两个自然数的最大公因数的算法和两个自然数的最小公倍数的算法.
2.过程与方法
通过对物品价格的猜测,体会猜测者的基本思路,得到一个一般步骤,而这个步骤就是一个算法.结合具体问题,模仿算法步骤,写出将自然数分解成素因数乘积的算法和求两个自然数的最大公因数的算法,从而体会算法的基本思想,了解算法的含义.
3.情感、态度与价值观
通过本节的学习,使学生对算法的思想有一个初步的认识,体会算法的基本思想——程序化思想,在归纳概括中培养学生的逻辑思维能力,从而进一步体会算法与现实世界的密切关系.
●重点难点
重点:体会算法的思想,了解算法的含义;
难点:能够用语言来叙述算法.
(教师用书独具)
●教学建议
学习是在原有知识的基础上,在新旧知识的相互作用过程中,通过同化和顺应,使自身的认知结构得以转换和发展.结合本节课的具体内容,采用启发式教学法,小组合作学习法,计算机辅助教学等教学法.本节课按照“提出问题—解决问题”的思路来设计教学程序,以学生为主体,在合作中学习和体会算法的基本思想,发展学生的创造性思维.同时考虑不同学生的个性差异和发展层次,让各层次学生都得到发展.通过多媒体演示提高课堂效率,进一步体现算法思想.
●教学流程
创设问题情境,引出问题:如何用自然语言叙述用二分法求近似解的过程?引导学生回顾用二分法求近似解的步骤,并尝试用自然语言叙述?通过引导,让学生自主探究,发现算法的概念及特征?通过例1的讲解让学生进一步明确算法的特征
?通过例2及例3的讲解,让学生进一步体会算法设计的关键及应注意的问题?归纳整理,进行课堂小结,整体把握本节知识?完成当堂双基达标,巩固所掌握的知识,并进行反馈、矫正
课标解读
1.通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义及其基本特征(重点).
2.通过分析具体问题,抽象出算法的过程,培养抽象概括能力、语言表达能力和逻辑思维能力(难点).
3.通过算法的学习,进一步让学生体验到数学与现实世界的关系、数学与计算机技术的关系、提高学生学习数学的兴趣.
算法的概念
【问题导思】
电视娱乐节目中,有一种有趣的“猜数”游戏:竞猜者如在规定的时间内猜出某种商品的价格(或重量等),就可获得该件商品.
现有一商品,价格在0~8 000元之间,采取怎样的策略才能在较短的时间内猜出正确的答案呢?
解决这个问题有多种途径,其中一种较好的方法是:
第一步 报“4 000”.
第二步 若主持人说:“高了”(说明答数在0~4 000之间),就报“2 000”;否则(答数在4 000~8 000之间)报“6 000”.
第三步 重复第二步的报数方法,直至得到正确结果.
1.竞猜者每一步的报价有一定的规则吗?
【提示】 有,报价为上一个有效范围的中间值.
2.猜出这种商品的步骤是有限的吗?
【提示】 是.
算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用计算机帮助完成的.
算法的基本思想
在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.这种解决问题的思想方法称为算法的基本思想.
算法的特征
1.确定性:算法的每一步必须是确切定义的,且无二义性,算法只有唯一的一条执行路径,对于相同的输入只能得出相同的输出.
2.有穷性:一个算法必须在执行有穷次运算后结束.在所规定的时间和空间内,若不能获得正确结果,其算法也是不能被采用的.
3.可行性:算法中的每一个步骤必须能用实现算法的工具——可执行指令精确表达,并在有限步骤内完成,否则这种算法也是不会被采纳的.
4.输入:算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤.
5.输出:算法一定能得到问题的解,有一个或多个结果输出,达到求解问题的目的,没有输出结果的算法是没有意义的.
此外,还要求算法应具有通用性:算法应适用于某一类问题中的所有个体,而不是只能用来解决一个具体问题.
算法概念的理解
有下列说法:
①从济宁到乌鲁木齐旅游,先坐火车,再坐飞机抵达;
②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;
③方程x2-1=0有两个实根;
④求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果是10.
其中,算法的个数为( )
A.1 B.2 C.3 D.4
【思路探究】 结合算法的概念和特征→逐一验证→得出结论
【自主解答】 ①中说明了从济宁到乌鲁木齐的行程安排,完成任务;②中给出了一元一次方程这一类问题的解决方法;④中给出了求1+2+3+4的一个过程,最终得出结果;对于③这个问题,并没有说明如何去算.故①②④是算法,③不是算法.
【答案】 C
1.本题中的说法涉及生活中的方法和数学中的解题过程,①②④均体现了算法的特点,即符合“一系列步骤”.
2.判断一个说法是否是算法,关键是看它有无步骤,且每步是否是明确、有效,能否在有限步之内完成.
对算法的理解不正确的是( )
A.一个算法包含的步骤是有限的
B.一个算法中每一步都是明确可操作的,而不是模棱两可的
C.算法在执行后,结果应是明确的
D.一个问题只可以有一个算法
【解析】 由算法的不唯一性可知D错.
【答案】 D
求正约数的算法设计
求18的所有正约数,请设计两种算法.
【思路探究】 分别对1,2,3,…,18逐一检验或者对18进行因数分解,写出相关步骤即可.
【自主解答】 法一 1.1是18的正约数,将1列出;
2.2是18的正约数,将2列出;
3.3是18的正约数,将3列出;
4.4不是18的正约数,将4删除;
…
18.18是18的正约数,将18列出.
法二 1.18=2×9;
2.18=2×32;
3.列出18的所有正约数,1,2,3,32,2×3,2×32.
1.解决一个问题可以有多个算法,可以选择其中最优的,最简单的步骤的算法.
2.本例两种算法都符合题意,但法二运用了因数分解原理,这样步骤就比法一少了许多,因此更为科学.本题体现了算法的特征:(1)一个算法往往具有代表性,能够解决一类问题;(2)算法不是唯一的;(3)两个算法里面各自体现了不同的思想内涵.
设计一个算法,求出840×1 764的最大公约数.
【解】 算法步骤如下:
1.将840进行质因数分解得840=23×3×5×7;
2.将1 764进行质因数分解得1 764=22×32×72;
3.确定它们的公共质因数:2,3,7;
4.确定公共质因数2,3,7的指数分别为:2,1,1;
5.最大公约数为22×31×71=84.
解方程(组)问题的算法设计
写出解方程x2-4x-5=0的一个算法.
【思路探究】 本题是求一元二次方程的解的问题,方法很多,只要把平时的固有解法有条理、清晰地写出来,即为解该方程的算法.下面分别用因式分解法、配方法和求根公式法写出这个问题的三个算法.
【自主解答】 算法1:
1.将方程左边因式分解,得(x-5)(x+1)=0;①
2.由①,得x-5=0或x+1=0;②
3.由②,可得x=5或x=-1.
算法2:
1.移项,得x2-4x=5;①
2.①式两边同时加4并配方,得(x-2)2=9;②
3.②式两边开平方,得x-2=±3;③
4.解③式,得x=5或x=-1.
算法3:
1.计算方程的根的判别式,并判断其符号:Δ=(-4)2-4×1×(-5)=35>0;
2.将a=1,b=-4,c=-5代入求根公式x=,得x1=5,x2=-1.
1.本题体现了算法的不唯一性.
2.比较以上三个算法,可以看出算法3最简单,步骤最少,并且具有通用性.因此我们在设计算法时,首先考虑是否有公式可以利用.利用公式解决问题是最理想的方法,有时要综合各方面的因素选择一种比较好的算法.
写出解方程组的一个算法.
【解】 算法1:
1.将方程②的两边同时乘以3,得3x+3y=-3;③
2.将方程①和③的两边分别相加,方程左、右两边再同时除以5,得x=1;④
3.将x=1代入②,方程两边再同时加-1,得y=-2;
4.输出结果
算法2:
1.将方程②中的y移项,用y的式子表示x得x=-1-y;③
2.将③代入①,并化简,得y=-2;④
3.将④代入③,得x=1;
4.输出结果
分步求和(积)问题的算法设计
写出求1+2+3+4+5+6的一个算法.
【思路探究】 可以按逐一相加的程序进行,也可以利用公式1+2+…+n=进行,也可以根据加法运算律简化运算过程.
【自主解答】 算法1:
1.计算1+2得到3;
2.将第1步中的运算结果3与3相加得到6;
3.将第2步中的运算结果6与4相加得到10;
4.将第3步中的运算结果10与5相加得到15;
5.将第4步中的运算结果15与6相加得到21;
算法2:
1.取n=6;
2.计算;
3.输出运算结果.
1.对于数值型计算问题的算法,可以借助数学公式采用数学计算的方法,将过程分解成清晰的步骤,使之条理化即可.
2.应注意多个数进行四则运算时应分步计算,依次进行,直到算出结果.
写出求2×4×6×8×10的一个算法.
【解】 算法步骤如下:
1.计算2×4,得到8;
2.将第一步的运算结果8与6相乘,得到48;
3.将第二步的运算结果48与8相乘,得到384;
4.将第三步的运算结果384与10相乘,得到3 840.
无分类讨论或不全面致误
设计一个解方程ax2+bx+c=0的算法.
【错解】 小华采用的算法描述如下:
1.计算Δ=b2-4ac;
2.若Δ<0,则输出“方程无实根”;
3.若Δ>0,则输出方程的根.
【错因分析】 上述算法中有两处错误:
第一步是没有考虑a是否为0,显然a=0时,方程无判别式,上述算法无效;
第二步错误是漏掉了Δ=0的情况.
【防范措施】 解方程时首先要考虑方程的类型,x的最高次幂的系数是否为0,若是二次方程讨论Δ时一定要全面.
【正解】 1.输入a,b,c的值.
2.若a=0,b≠0,则输出方程的根x=-;
若a=b=0,c≠0,则输出“方程无实根”;
若a=b=c=0,则输出“方程有无数个实根”.
3.若a≠0,计算Δ=b2-4ac:
若Δ<0,则输出“方程无实根”;
若Δ≥0,则输出方程的根x1=,x2=.
1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性.
2.算法设计的要求
(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.
(2)要使算法尽量简单,步骤尽量少.
(3)要保证算法正确,且算法步骤能够一步一步执行,每一步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.
1.下列关于算法的说法中,正确的是( )
A.算法就是某个问题的解题过程
B.算法执行后可以不产生确定的结果
C.解决某类问题的算法不是唯一的
D.算法可以无限地操作下去
【解析】 算法是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的、有效的,而且能够在有限步内完成.算法与一般意义上具体问题的解法既有联系,又有区别,它们之间是一般与特殊,抽象与具体的关系.解决某一问题的算法不是唯一的,故选C.
【答案】 C
2.下列语句表达中是算法的有( )
①从济南到巴黎,可以先乘火车到北京,再坐飞机抵达;②利用公式S=ah,计算底为1、高为2的三角形的面积;③x>2x+4;④求M(1,2)与N(-3,-5)两点连线所在直线的方程,可先求MN的斜率,再利用点斜式求得方程.
A.1个 B.2个
C.3个 D.4个
【解析】 ①②④表达的是算法,③表达的不是算法.
【答案】 C
3.比较两个实数a与b的大小的一个算法为:
(1)若a-b>0,则a>b;
(2)________________;
(3)若a-b<0,则a请将上面的算法补充完整.
【答案】 若a-b=0,则a=b
4.求两底半径分别为2和4,高为4的圆台的表面积及体积,写出该问题的算法.
【解】 算法步骤如下:
1.取r1=2,r2=4,h=4;
2.计算l=;
3.计算s=πr+πr+π(r1+r2)·l与V=π(r+r+r1r2)h;
4.输出运算结果.
一、选择题
1.下列对算法的理解不正确的是( )
A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)
B.算法要求是一步步执行,每一步都能得到唯一的结果
C.算法一般是机械的,有时要进行大量重复的计算,它们的优点是一种通法
D.任何问题都可以用算法来解决
【解析】 并不是所有的问题都可以用算法来解决,只有步骤明确,且是有限运算等才可以用算法解决.
【答案】 D
2.计算下列各式中的s值,能设计算法求解的是( )
(1)s=1+2+3+…+100;
(2)s=1+2+3+…+100+…;
(3)s=1+2+3+…+n(n≥1且n∈N).
A.(1)(2) B.(1)(3)
C.(2)(3) D.(1)(2)(3)
【解析】 (1)(3)能设计算法求解.但(2)不能设计算法求解.原因是s是无限多个正整数相加,步骤无限步,不符合算法的特征.
【答案】 B
3.想泡茶喝,当时的情况是:火已经生起了,凉水和茶叶也有了,开水没有,开水壶要洗,茶壶和茶杯要洗,下面给出了四种不同形式的算法过程,你认为最好的一种算法是( )
A.洗开水壶,灌水,烧水,在等待水开时,洗茶壶、茶杯、拿茶叶,等水开了后泡茶喝
B.洗开水壶,洗茶壶和茶杯,拿茶叶,一切就绪后,灌水,烧水,坐等水开后泡茶喝
C.洗开水壶,灌水,烧水,坐等水开,等水开后,再拿茶叶,洗茶壶、茶杯,泡茶喝
D.洗开水壶,灌水,烧水,再拿茶叶,坐等水开,洗茶壶、茶杯,泡茶喝
【解析】 解决一个问题可以有多种算法,可以选择其中最优、最简单、步骤尽可能少的算法.选项中的四种算法中都符合题意.但算法A运用了统筹法原理,因此这个算法要比其余的三种算法科学.
【答案】 A
4.给下面一个算法:
(1)给出三个数x、y、z;
(2)计算M=x+y+z;
(3)计算N=M;
(4)得出每次计算结果.
则上述算法是( )
A.求和 B.求余数
C.求平均数 D.先求和再求平均数
【解析】 由算法过程可知,M为三数之和,N为这三数的平均数,故选D.
【答案】 D
5.下面是某个问题的算法过程:
1.比较a与b的大小,若a<b,则交换a,b的值;
2.比较a与c的大小,若a<c,则交换a,c的值;
3.比较b与c的大小,若b<c,则交换b,c的值;
4.输出a,b,c.
该算法结束后解决的问题是( )
A.输入a,b,c三个数,按从小到大的顺序输出
B.输入a,b,c三个数,按从大到小的顺序输出
C.输入a,b,c三个数,按输入顺序输出
D.输入a,b,c三个数,无规律地输出
【解析】 通过第1步和第2步可以发现,a为最大值,通过第3步可以看出,c为最小值,可知输出的三个数是按从大到小的顺序输出.
【答案】 B
二、填空题
6.在下面求15和18的最小公倍数的算法中,其中不恰当的一步是________.
(1)先将15分解素因数:15=3×5;
(2)然后将18分解素因数:18=32×2;
(3)确定它们的所有素因数:2,3,5;
(4)计算出它们的最小公倍数:2×3×5=30.
【解析】 正确的应该是:先确定素因数的指数:2,3,5的指数分别为1,2,1;然后计算出它们的最小公倍数:2×32×5=90.
【答案】 (4)
7.下列是用“二分法”求方程x2-5=0的近似解的算法,请补充完整.
1.令f(x)=x2-5,给定精度d.
2.确定区间(a,b),满足f(a)f(b)<0.
3.取区间中点m=________.
4.若f(a)f(m)<0,则含零点的区间为(a,m);否则,含零点的区间为(m,b).将新得到的含零点的区间仍记为(a,b).
5.判断(a,b)的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
【解析】 区间(a,b)的中点,就是a与b的平均数.
【答案】
8.给出下列算法:
1.输入x的值.
2.当x>4时,计算y=x+2;否则执行下一步.
3.计算y=.
4.输出y.
当输入x=0时,输出y=________.
【答案】 2
三、解答题
9.解关于x的方程ax+2=0(a∈R),写出算法.
【解】 算法如下:
(1)移项,得ax=-2.
(2)当a≠0时,x=-,输出x,结束算法;当a=0时,输出方程无实根,结束算法.
10.写出求a、b、c三个数中最小的数的算法.
【解】 (1)比较a、b的大小,若a(2)比较m与c的大小,若m(3)输出结果.
11.某节目中有一种“猜数”游戏:竞猜者在规定的时间内猜出某种商品的价格就可获得该件商品.现有一商品,价格在0~8 000元之间,采取怎样的策略才能在较短的时间内说出正确的答案呢?
【解】 算法步骤如下:
第一步:报“4 000元”.
第二步:若主持人说“高了”(说明答数在1~4 000之间),就报“2 000元”,否则(答数在4 000~8 000之间)报“6 000元”.
第三步:重复第二步的报数方法,取中间数,直至得到正确结果.
(教师用书独具)
被我国著名数学家华罗庚教授用作“统筹法”的引子的“烧开水泡壶茶喝”的问题:某人想泡壶茶喝,火已经生了,凉水和茶叶都有了.需要做的是洗烧水壶,洗茶壶和茶杯,烧开水.洗烧水壶需要1分钟,烧开水需要15分钟,洗茶壶需要1分钟,洗茶杯需要1分钟,泡茶需要1分钟.这个人为了尽快喝到茶水,应该怎样安排“烧开水泡壶茶喝”的步骤?最短多长时间后这个人能喝到茶水?
【自主解答】 这个人为了尽快喝到茶水的算法步骤是:
1.洗烧水壶;
2.烧开水;
3.在等待烧开水的过程中,分别依次完成洗茶壶、洗茶杯;
4.泡茶.
因此,最短17分钟后这个人才能喝到茶水.
田忌赛马的故事人人皆知:齐国大将田忌与齐威王约定赛马,他们把各自的马分成上、中、下三等.比赛的时候,上等马对上等马,中等马对中等马,下等马对下等马.由于齐威王每个等级的马都比田忌的强,三场比赛下来,田忌都失败了.田忌垂头丧气正准备离开马场时,他的好朋友孙膑招呼他过来,拍着他的肩膀说:“从刚才的情形看,齐威王的马比你的马快不了多少,你再同他赛一次,我有办法让你取胜.”请你设计出孙膑用同样的马使田忌获胜的算法.
【解】 在齐威王的马比田忌的马快不了多少的情况下,孙膑采用的算法如下:
第一步:让田忌拿下等马对齐威王的上等马,第一场输了;
第二步:让田忌拿上等马对齐威王的中等马,胜了第二场;
第三步:让田忌拿中等马对齐威王的下等马,又胜了一场.
§2算法框图的基本结构及设计
2.1 顺序结构与选择结构
2.2 变量与赋值
(教师用书独具)
●三维目标
1.知识与技能
(1)了解算法框图的概念,掌握各种框图符号的功能.
(2)了解顺序结构和选择结构的概念,能用算法框图表示顺序结构和选择结构.
2.过程与方法
(1)通过学习算法框图的各个符号的功能,培养学生对图形符号语言和数学文字语言的转化能力.
(2)学生通过模仿、操作、探索,经历设计算法框图表达解决问题的过程,在具体问题的解决过程中理解流程图的结构.
3.情感、态度与价值观
学生通过动手,用算法框图表示算法,进一步体会算法的基本思想,体会数学表达的准确与简洁,培养学生的数学表达能力和逻辑思维能力.
●重点难点
重点:各种算法框图功能,算法的顺序结构与选择结构.
难点:选择结构的算法框图.
(教师用书独具)
●教学建议
学生首次接触算法框图,根据教学内容、教学目标和学生的认知水平,本节课主要采取问题导入式教学,即“创设情境,提出问题——讨论问题,提高方案——交流方案,解决问题——模拟练习,运用问题——归纳总结,完善认识”,通过对问题的探究过程让学生掌握新知识,同时在解决问题的过程中掌握新知识的应用和解题过程,提高学生独立解题的能力.
在教师的引导下,充分发挥学生的主观能动性,从问题入手,通过分析问题、交流方案、解决问题、运用问题的探索过程,让学生全程参与到问题的探索中,一方面注重培养学生严谨的逻辑思维能力和语言组织能力,另一方面,通过交流方案提高学生的合作意识,共同来完成教学目标.
●教学流程
创设情境,提出问题,以问题为切入点开展教学,引发学生思考,调动学生学习的积极性?引导学生分析用自然语言描述的算法的优缺点.引入流程图的概念及特征?引导学生对学过的分段函数及顺序结构观察、思考交流它们之间的联系与区别?通过例1的教学引导学生掌握画算法框图规则及应用顺序结构设计算法的技巧和方法,体会框图在设计中的优越性?通过例2及其变式训练的讲解,使学生进一步明确选择结构的特征,认识选择结构?通过例3及变式训练,使学生掌握用赋值语句设计算法掌握如何设置变量和给变量赋值?归纳小结,完善认识引导学生进一步理解顺序结构、选择结构及算法框图,归纳作算法框图的步骤,整体把握本节所学知识?学生独立完成当堂双基达标,巩固本节所学知识,并进行反馈、矫正
课标解读
1.明确框图的概念,掌握各框图的符号功能.
2.理解顺序结构与选择结构的概念和功能(重点).
3.能够用顺序结构与选择结构描述简单问题(难点).
算法框图
1.算法框图由一些图框和带箭头的流程线组成,其中的图框表示各种操作,图框内的文字和符号表示操作的内容,带箭头的线表示操作的先后顺序.
2.图框的名称及功能:
图形符号
名称
符号表示的意义
终端框
(起止框)
算法框图的起始或结束
输入、
输出框
数据的输入或结果的输出
处理框
赋值、执行计算语句、结果的传送
判断框
根据给定条件判断
流程线
流程进行的方向
连接点
连接另一页或另一部分的算法框图
注释框
帮助理解算法框图
顺序结构
【问题导思】
已知球的半径为R.
1.设计一个算法,求球的表面积和体积.
【提示】 第一步,输入球半径R.
第二步,计算S=4πR2.
第三步,计算V=πR3.
第四步,输出S,V.
2.上述算法有何特点?
【提示】 按照顺序从上到下进行.
按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.其算法框图如下:
选择结构
【问题导思】
2012年元旦期间,某商品进行团购优惠活动:购买5件或5件以下,每件88元;超过5件,超过的部分按每件8折优惠.
1.若某人购买x件,试写出购物总费用y与购买件数x的关系式.
【提示】 y=
2.设计上述问题的算法时,应注意什么?
【提示】 注意判断购买的件数对购物费用的影响.
3.上述问题若画算法框图,只用顺序结构能完成吗?
【提示】 不能.
在一个算法中,有时需要进行判断,判断的结果决定后面的步骤,像这样的结构通常称为选择结构.其算法框图如下:
变量与赋值
变量
赋值
定义
在研究问题的过程中可以取不同数值的量称为变量.
在算法中把变量a的值赋予变量b,这个过程称为赋值,记作b=a,其中“=”称为赋值符号
作用
使算法的表述简洁、清楚
当赋予一个变量新值的时候,原来的值将被新值取代
设计含顺序结构的算法
一次考试中,某同学的语文,数学,英语,物理,化学的成绩分别是a,b,c,d,e.设计一个计算该同学的总分和平均分的算法,并画出算法框图.
【思路探究】 先算出总分,再算平均分,最后输出结果,因此只用顺序结构就能表达出算法.
【自主解答】 算法步骤如下:
1.输入该同学的语文,数学,英语,物理,化学的成绩:a,b,c,d,e;
2.计算S=a+b+c+d+e;
3.计算W=;
4.输出S和W.
算法框图如图所示:
1.解决本题时,可先写出解决该问题的方法步骤,然后写成算法步骤,再根据算法步骤画出相应的算法框图.
2.顺序结构是按步骤依次执行的一种算法结构,它不含有选择判断,不循环执行,是最简单且任何结构都少不了的基本结构.
已知圆的半径,设计一个算法求圆的周长和面积的近似值,并用算法框图表示.
【解】 算法步骤如下:
1.输入圆的半径R;
2.计算L=2πR;
3.计算S=πR2;
4.输出L和S.
框图如图所示:
设计含有选择结构的算法框图
已知函数y=写出求该函数函数值的算法,并画出算法框图.
【思路探究】 (1)该函数是分段函数,因此当给出一个自变量x的值时,需先判断x的范围,然后确定利用哪一段的解析式求函数值.
(2)画程序框图时,必须采用选择结构,因为函数解析式分了三段,所以需要两个判断框,即进行两次判断.
【自主解答】 算法步骤如下:
1.输入x;
2.如果x<0,则y=2x-1,输出y;否则,执行第三步;
3.如果x<1,则y=x2+1,输出y;否则,执行第四步;
4.y=x3+2x;
5.输出y.
程序框图如图所示:
1.设计算法框图时,首先设计算法分析(自然语言),再将算法分析转化为算法框图(图形语言).如果已经非常熟练地掌握了画算法框图的方法,那么可以省略算法分析直接画出算法框图.
2.在处理分段函数问题的过程中,当x取不同范围内的值时,函数值也不同,因此当给出一个自变量x的值时,必须先判断x的范围,所以在算法框图中需要设计选择结构.
已知函数y=输入自变量x的值,设计算法求对应函数值,并画出算法框图.
【解】 算法步骤如下:
(1)输入x;
(2)若x>0,则y=-x+1,并转到(4);否则执行(3);
(3)若x=0,则y=0;否则y=x+3;
(4)输出y.
算法框图如图所示:
用赋值语句设计算法
设计一个算法,使得任意输入的3个整数按从大到小的顺序输出,画出框图.
【思路探究】 可采用赋值语句对经历大小比较之后的变量重新赋值,赋值后再与另一个数比较.
【自主解答】 用a、b、c表示输入的3个整数,为了节约变量,把它们重新排列后,仍用a、b、c表示,并使a≥b≥c,具体算法步骤为:
1.输入3个整数a、b、c;
2.将a与b比较,并把小者赋予b,大者赋予a;
3.将a与c比较,并把小者赋予c,大者赋予a,此时a已是三者中最大的;
4.将b与c比较,并把小者赋予c,大者赋予b,此时a、b、c已按从大到小的顺序排列好;
5.按顺序输出a、b、c.
框图如图所示.
用赋值语句编写算法时,应注意以下两点:
(1)赋值号左边只能是变量名字,而不是表达式,并且赋值号左右不能互换.
(2)不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等),如y=x2-4=(x+2)(x-2).
给定三个函数y1=x2-1,y2=2x-1,y3=-x2+3x,对于给出的一个x值,分别计算它们的函数值,并输出它们中最大的一个,设计一个解决该问题的算法,并画出算法框图.
【解】 算法步骤如下:
1.输入x;
2.y1=x2-1;
3.y2=2x-1;
4.y3=-x2+3x;
5.如果y2≥y1,则y1=y2,否则执行第六步;
6.如果y3≥y1,则y1=y3,否则执行第七步;
7.输出最大值y1.
算法框图如图所示:
对如何赋值不明确致误
运行如图2-2-1所示的算法,输出的结果是________. a=1
b=2
a=a+b
输出 a
图2-2-1
【错解】 由于赋值语句为a=1,
所以输出a=1.
【答案】 1
【错因分析】 本题易出现把赋值语句a=1直接输出的错误.
【防范措施】 1.明确赋值语句的含义,即赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量.
2.仔细审题,明确题意,认真计算.
【正解】 第三个赋值语句要求把a和b相加,
得到的和再作为a,
故此时a=1+2=3.
【答案】 3
1.顺序结构是由若干个依次执行的步骤组成的,语句与语句之间,框与框之间按从上到下的顺序进行,不会发生程序步骤的跳转.这是最简单的结构,也是任何一个算法都离不开的基本结构.如图所示的两个框是依次执行的,只有在执行完步骤甲所指定的操作后,才能执行步骤乙中的操作.
2.选择结构中必含有判断框,当算法执行到此判断框给定的条件时,根据条件真假选择不同的执行框(步骤甲或步骤乙),如图.需要注意的是,无论所给的条件真假,只能执行步骤甲或步骤乙中的一个.不可以既执行甲又执行乙,也不可以两者皆不执行.
3.为变量赋值时只能把数值赋予变量,而不能把变量赋予数值,即“=”号左边必须是变量,而右边是数值或表达式.
1.下列赋值语句中正确的是( )
A.4=M B.x+y=10
C.A=B=2 D.N=N2
【解析】 赋值语句左边只能是变量名称,而不是表达式.同时在赋值语句中只能给一个变量赋值,不能出现两个或两个以上的“=”.
【答案】 D
2.下列问题中,可以只用顺序结构就能解决的是( )
A.求关于x的方程ax2+bx+c=0的根
B.求函数f(x)=的值
C.求1+4+7+10+13的值
D.时钟的运行
【解析】 A项还应用到选择结构,B项也应用到选择结构,D项应用到循环结构.
【答案】 C
3.执行下列赋值语句后,变量A=________.
A=1
A=A+1
A=2A
【解析】 ∵A=1,A=A+1,∴A=2,A=2A=4.
【答案】 4
4.已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出该问题的一个算法,并画出算法框图.
【解】 (1)输入点的坐标x0,y0及直线方程的系数A、B、C;
(2)计算z1=Ax0+By0+C;
(3)计算z2=A2+B2;
(4)计算d=;
(5)输出d.
其算法框图如图所示:
一、选择题
1.如图2-2-2所示的算法框图,当输入x=2时,输出的结果是( )
A.4 B.5
C.6 D.13
【解析】 当x=2时,
y=2×2+1=5,
∴b=3y-2=3×5-2=13.
【答案】 D
图2-2-2 图2-2-3
2.如图2-2-3所示的算法框图,其功能是( )
A.输入a,b的值,按从小到大的顺序输出它们的值
B.输入a,b的值,按从大到小的顺序输出它们的值
C.求a,b中的最大值
D.求a,b中的最小值
【解析】 由算法框图知C正确.
【答案】 C
3.阅读如图2-2-4所示的算法框图,若输入R=8,则输出a=( )
图2-2-4
A.8 B.4
C.2 D.1
【解析】 当输入8时,b==2,a=2×2=4,故输出的a=4.
【答案】 B
4.(2012·温州高一检测)给出一个如图2-2-5所示的算法框图,若要使输入的x的值与输出的y的值相等,则x的可能值的个数为( )
图2-2-5
A.1 B.2 C.3 D.4
【解析】 该算法框图的功能是已知函数
y=
输入x的值,输出对应的函数值,
则当x≤2时,x=x2,
解得x=0或1;
当2解得x=3;
当x>5时,x=,
解得x=±1(舍去),
即x=0或1或3.
【答案】 C
5.已知函数f(x)=|x-3|,以下算法框图(如图2-2-6所示)表示的是给定x值,求其相应函数值的算法.
图2-2-6
其中①和②处分别应填的内容是( )
A.x≥3,y=x-3 B.x<3,y=x-3
C.x>3,y=x-3 D.x≤3,y=|x-3|
【解析】 由于f(x)=|x-3|=,
结合框图可知,条件①满足时,y=3-x,
∴①处应填x<3,
②处应填y=x-3,故选B.
【答案】 B
二、填空题
6.如图2-2-7(1)是计算(2)中空白部分面积的一个框图,则①中应填________.
(1) (2)
图2-2-7
【解析】 依题意知,①处应填空白处面积的计算公式,由平面几何知识可得空白部分的面积S=π()2-[a2-π()2]=a2-a2.
【答案】 S=a2-a2
7.某算法的算法框图如图2-2-8所示,则y与x满足的关系式是________.
图2-2-8
【解析】 观察算法框图,发现:
当x>1时,有y=x-2;
当x≤1时,有y=2x,
故y=.
【答案】 y=
8.阅读图2-2-9的算法框图,判断下列说法:
图2-2-9
①该框图中含有顺序结构和选择结构;
②该框图中只含有选择结构;
③当输入x=2时,输出结果为2;
④当输出结果为0时,输入x=-2.
其中正确的说法是________.
【解析】 由框图可知,该算法框图中含有顺序结构和选择结构,故①正确,②不正确;当x=2时,由于2>2不成立,应输出2+2=4,故③不正确;当输出结果为0时,由于0<2,∴x+2=0,
故x=-2,所以④正确.
【答案】 ①④
三、解答题
9.写出过两点P1(2,0)、P2(0,3)的直线方程的一个算法,并画出算法框图.
【解】 算法:第一步,a=2,b=3;
第二步,计算+=1;
第三步,输出结果.
算法框图如图所示:
10.已知关于x的一元二次方程ax2+bx+c=0(a≠0),设计一个算法判断方程是否有实数根.写出算法步骤,并画出算法框图.
【解】 算法步骤如下:
1.输入a,b,c;
2.计算W=b2-4ac;
3.判断W≥0是否成立,若成立,输出“方程有实数根”;若不成立,输出“方程无实数根”.
算法框图如图所示:
11.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元时,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费,设计算法,要求输入汇款额x(元)时,输出银行收取的手续费y(元),画出算法框图.
【解】 算法框图如图所示:
(教师用书独具)
(2013·西安高一检测)观察所给程序框图如图,说明它所表示的函数.
【自主解答】 由框图中的选择结构知函数为分段函数.
y=
(2012·郑州高一检测)儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m但不超过1.4 m,则买半票,若超过1.4 m,则买全票.试设计一个购票的算法,并画出算法框图.
【解】 算法步骤如下:
1.输入儿童的身高h(单位:m);
2.若h≤1.1,则输出“免票乘车”;若1.1算法框图如图所示:
2.3 循环结构
(教师用书独具)
●三维目标
1.知识与技能
学生能理解循环结构概念;把握循环结构的三要素;循环的初始状态、循环体、循环的终止条件;能识别和理解循环结构的框图以及功能;能运用循环结构设计程序框图以解决简单的问题.
2.过程与方法
通过由实例对循环结构的探究与应用过程,培养学生的观察类比,归纳抽象能力;参与运用算法思想解决问题的过程,逐步形成算法分析,算法设计,算法表示,程序编写到算法实现的程序化算法思想;培养学生严密精确的逻辑思维能力;掌握循环结构的一般意义及应用方法;培养由特殊到一般,再到特殊,及具体,抽象,具体的螺旋上升式的认识事物的能力并发现解决问题的方法.
3.情感、态度与价值观
通过师生、生生互动的活动过程,培养学生主动探究、勇于发现的科学精神,提高数学学习的兴趣,体验成功的喜悦.
通过实例,培养学生发现、提出问题的意识,积极思考,分析类比,归纳提升,并能创造性地解决问题;感受和体会算法思想在解决具体问题中的意义,提高算法素养;经历体验发现、创造和运用的历程与乐趣,形成在继承中提高、发展,在思辨中观察、分析并认识客观事物的思维品质;体会数学中的算法与计算机技术建立联系的有效性和优势体现;培养学生的逻辑思维能力,形式化的表达能力,构造性解决问题的能力,培养学生程序化的思想意识,为学生的未来和个性发展及进一步学习做好准备.
●重点难点
重点:循环结构的概念、功能、要素、框图及应用.
难点:描述和应用循环结构时,三要素的准确把握和正确表达.
(教师用书独具)
●教学建议
学生已经学习了算法的概念、顺序结构、选择结构及简单的赋值问题.高一学生形象思维、感性认识较强,理性思维、抽象认识能力还很薄弱,因此教学中选择学生熟悉的,易懂的实例引入,通过对例子的分析,使学生逐步经历循环结构设计的全过程,学会有条理的思考问题,表达循环结构,并整理成算法框图.鉴于本节课抽象程度较高,难度较大.将通过精心设置的一个个问题链,激发学生的求知欲,最终在老师的指导下发现问题、解决问题.为了充分调动学生的积极性,使学生变被动学习为主动学习,本课时拟用问题探究式教学法.
●教学流程
创设情境,抽象概念,提出问题:如何设计算法求值1×2×3×…×100?引导学生分析逐步运算的利弊,由学生历经提出解法尝试过程,引发认知冲突,为新的知识奠定基础?循序渐进,深入探究,使学生经历问题的抽象过程和新算法的构建过程,引出循环结构的概念及特征?通过例1及变式训练,使学生掌握解决累加、累乘问题的方法与技巧
?通过例2及其变式训练的讲解,使学生掌握代数运算问题的算法设计?通过例3的教学使学生明确循环结构在实际生活中的作用,激发学生学习的兴趣?学生独立完成当堂双基达标,巩固本节所学知识,并进行反馈矫正
课标解读
1.了解循环结构的概念,掌握循环结构的特点及功能(重点).
2.能运用算法框图表示循环结构,并通过模仿、操作、探索设计循环结构解决问题(难点).
循环结构的概念
【问题导思】
伦敦举办了2012年第30届夏季奥运会,你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属吗?对竞选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得主办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.
1.上述投票选举城市申办奥运会是算法吗?
【提示】 是.
2.该算法若用框图表示,只有顺序结构与选择结构可以吗?
【提示】 不可以.
3.在该算法中,要多次重复操作,那么控制重复操作的条件及重复的内容是什么?
【提示】 控制重复操作的条件为是否有城市得票超过总票数的一半,重复的内容是淘汰得票最少的城市.
1.定义
按照一定条件,反复执行某一步骤的算法结构称为循环结构,反复执行的部分称为循环体.
2.循环变量
控制着循环的开始和结束的变量,称为循环变量.
3.循环的终止条件
决定是否继续执行循环体的判断条件,称为循环的终止条件.
循环结构的基本模式
在画出循环结构的算法框图之前,需要确定三件事:
1.确定循环变量和初始条件;
2.确定算法中反复执行的部分,即循环体;
3.确定循环的终止条件.
这样,循环结构的算法框图的基本模式如图所示:
图2-2-10
利用循环结构解决累加(乘)问题
设计一个算法,求1+2+22+…+249的值,并画出算法框图.
【思路探究】 解答本题可由累加问题入手,计数变量顺次加1,然后确定循环变量及初始条件,再依据算法步骤画出框图.
【自主解答】 算法如下:
(1)S=0;
(2)i=0;
(3)S=S+2i;
(4)i=i+1;
(5)如果i不大于49,返回重新执行(3)、(4),否则执行(6);
(6)输出S的值.
算法框图如图:
1.本题中由于加数众多,不宜采用逐一相加的思路,进行这种运算都是通过循环结构实现的,方法是引进两个变量i和S.其中i一般称为计数变量,用来计算和控制运算次数,S称为累积变量,它表示所求得的和或积,它是不断地将前一个结果与新数相加或相乘得到的.这两个变量的表示形式一般为i=i+m(m为每次增加的数值)和S=S+A(A为所加的数)或S=S*A(A为所乘的数).
2.如果算法问题中涉及到的运算进行了多次重复,且参与运算的数前后有规律可循,就可以引入变量以参与循环结构.
3.在不同的循环结构中,应注意判断条件的差别及计数变量和累加(乘)变量的初值与运算框先后关系的对应性.
(2013·成都高一检测)设计求1×2×3×4×…×2 012的算法.
【解】 算法如下:
1.设m的值为1;
2.设i的值为2;
3.如果i≤2 012,则执行第四步,否则转去执行第六步;
4.计算m乘i并将结果赋给m;
5.计算i加1并将结果赋给i,转去执行第三步;
6.输出m的值并结束算法.
算法框图,如图所示:
代数运算问题的算法设计
画出求 的值的算法框图.
【思路探究】 (1)找循环变量i每次递增1,故只需式子i=i+1.
(2)设置循环体,观察这个数的特点是从里向外根号依次增多还多乘一个2,可以设置为A=.
(3)设置循环的终止条件i>5.
【自主解答】
1.这类比较特殊的数要注意找规律,本题的规律是对2开方,然后乘2再开方重复进行直到满足要求为止.
2.设计的关键是循环体的设置及循环的终止条件.
画出求(共6个2)的值的算法框图.
【解】 算法框图如下:
利用循环结构解决筛选问题
给出以下10个数:5,9,80,43,95,73,28,17,60,36,要求把大于40的数找出来并输出,试画出解决该问题的算法框图.
【思路探究】 可以考虑从第1个数开始与40比较大小,共需比较10次,可以设计一个计数变量来控制比较的次数.利用循环结构来设计算法.
【自主解答】
1.本题的算法设计中用了选择结构及循环结构.选择结构用于判断输入的数是否大于40,循环结构用于控制输入的数的个数.
2.在设计算法时,循环结构和选择结构可以综合应用.
(2012·课标全国卷)如果执行如图2-2-11所示的程序框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( )
图2-2-11
A.A+B为a1,a2,…,aN的和
B.为a1,a2,…,aN的算术平均数
C.A和B分别是a1,a2,…,aN中最大的数和最小的数
D.A和B分别是a1,a2,…,aN中最小的数和最大的数
【解析】 由于x=ak,且x>A时,将x值赋给A,因此最后输出的A值是a1,a2,…,aN中最大的数;由于x=ak,且x【答案】 C
忽略计数变量与循环次数致误
如图2-2-12,是某一算法的程序框图,根据该框图指出这一算法的功能.
图2-2-12
【错解】 求S=++++的值.
【错因分析】 本题忽略了计数变量与循环次数,没有明确循环体在循环结构中的作用,以及循环终止条件决定是否继续执行循环体.
【防范措施】 在循环过程中要明确循环的次数,明确起始数据和其后面数据的变化规律.
【正解】 在该程序框图中,S与n为两个累加变量,k为计数变量,所以该算法的功能是求+++…+的值.
1.设计一个算法框图算法的一般步骤
(1)用自然语言表述算法步骤;
(2)确定每一个算法步骤所包含的逻辑结构,并用相应的算法框图表示,得到表示该步骤的算法框图;
(3)将所有步骤的算法框图用流程线连接起来,并加上终端框,得到表示整个算法的算法框图.
2.循环结构的关键是要理解“累加变量”和“计数变量”,累加变量常用S表示,计数变量常用i表示.每循环一次,S和i都发生变化,根据判断框内的循环条件,直到中止循环为止.
1.如图2-2-13所示算法框图中的循环体是( )
图2-2-13
A.A B.C
C.ABCD D.BD
【解析】 循环体是反复执行的部分,是BD,
故选D.
【答案】 D
2.(2013·天津高考)阅读如图2-2-14所示的程序框图,运行相应的程序.若输入x的值为1,则输出S的值为( )
图2-2-14
A.64 B.73 C.512 D.585
【解析】 程序框图执行过程如下:x=1,S=0,S=1,S<50?x=2,S=9,S<50?x=4,S=73>50,跳出循环,输出S=73.
【答案】 B
3.(2013·广东高考)执行如图2-2-15所示的程序框图,若输入n的值为4,则输出s的值为________.
图2-2-15
【解析】 第一步运算结果:s=1,i=2(i≤4成立);第二步运算结果:s=2,i=3(i≤4成立);第三步运算结果:s=4,i=4(i≤4成立);第四步运算结果:s=7,i=5(i≤4不成立),程序结束,故输出s的值为7.
【答案】 7
4.求1+2+3+4+…+110的值,写出算法步骤画出算法框图.
【解】 算法步骤:
(1)i=1,sum=0;
(2)sum=sum+i;
(3)i=i+1;
(4)如果i≤110,则执行第二步,否则执行下一步;
(5)输出sum.
算法框图如图所示:
一、选择题
1.(2013·重庆高考)执行如图2-2-16所示的程序框图,则输出的k的值是( )
图2-2-16
A.3 B.4 C.5 D.6
【解析】 k=1,s=1+02=1;k=2,s=1+12=2;k=3,s=2+22=6;k=4,s=6+32=15,k=5,s=15+42=31>15.故输出k=5,选C.
【答案】 C
2.(2013·辽宁高考)执行如图2-2-17所示的程序框图,若输入n=10,则输出S=( )
图2-2-17
A. B. C. D.
【解析】 因为S=,i=4<10,所以S=+=,i=6<10,所以S=+=,i=8<10,所以S=+=,i=10=10,所以S=+=,i=12>10,输出S=.
【答案】 A
3.如图2-2-18所示框图表示的算法的功能是( )
图2-2-18
A.计算小于100的奇数的连乘积
B.计算从1开始的连续奇数的连乘积
C.从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数
D.计算1×3×5×7×…×n≥100时的最小的n值
【解析】 由框图知s=1×3×5×…×n.又因为循环结束的条件是s≥100,故其算法功能为:计算1×3×5×…×n≥100时的最小的n值.
【答案】 D
4.(2013·山东高考)执行两次如图2-2-19所示的程序框图,若第一次输入的a的值为-1.2,第二次输入的a的值为1.2,则第一次,第二次输出的a的值分别为( )
图2-2-19
A.0.2,0.2 B.0.2,0.8
C.0.8,0.2 D.0.8,0.8
【解析】 由程序框图可知:当a=-1.2时,∵a<0,
∴a=-1.2+1=-0.2,a<0,
a=-0.2+1=0.8,a>0.
∵0.8<1,输出a=0.8.
当a=1.2时,∵a≥1,
∴a=1.2-1=0.2.
∵0.2<1,输出a=0.2.
【答案】 C
图2-2-20
5.某算法框图如图2-2-20所示,若输出的S=57,则判断框内为( )
A.k>4 B.k>5
C.k>6 D.k>7
【解析】 k=1时,k=k+1=2,
S=2S+k=2×1+2=4;
k=2时,k=k+1=2+1=3,
S=2S+k=2×4+3=11;
k=3时,k=k+1=4,S=2S+k=2×11+4=26;
k=4时,k=k+1=5,S=2S+k=2×26+5=57.
此时S=57,循环结束,k=5,所以判断框内应填“k>4”,故选A.
【答案】 A
二、填空题(每小题5分,共10分)
6.(2013·江苏高考)如图是一个算法的流程图,则输出的n的值是________.
图2-2-21
【解析】 算法流程图执行过程如下:
n=1,a=2,a<20;
a=8,n=2,a<20;
a=26,n=3,a>20.
输出n=3.
【答案】 3
7.如图2-2-22所示的算法框图的功能是计算2×4×6×…×100的值,则处理框内应填________.
图2-2-22
【解析】 参与求积的因数皆为正偶数,故i的变化应保持始终是偶数,故i=i+2.
【答案】 i=i+2
8.如图2-2-23是统计该6名队员在最近三场比赛中投进的三分球总数的算法框图,则图中判断框应填________,输出的s=________.
图2-2-23
【解析】 观察算法框图可以看出,判断框内的条件满足时才执行循环体,所以判断框应填i≤6,输出的s是这6名队员成绩的和,即s=a1+a2+a3+a4+a5+a6.
【答案】 i≤6 a1+a2+a3+a4+a5+a6
三、解答题
9.计算下面的和:+++…+,画出其算法框图.
【解】 算法框图如图所示:
10.某高中男子体育小组的50 m赛跑成绩(单位:s)为6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5,7.6,6.3,6.4,6.4,6.5,6.7,7.1,6.9,6.4,7.1,7.0.设计一个算法,从这些成绩中搜索出小于6.8 s的成绩,并画出流程图.
【解】 体育小组共20人,要解决该问题必须对运动员进行编号,设第i个运动员编号为Ni,成绩为Gi.可以设计下面的算法.
算法如下:
第一步,i=1;
第二步,输入Ni,Gi;
第三步,如果Gi<6.8,则输出Ni、Gi,并执行第四步,否则,也执行第四步;
第四步,i=i+1;
第五步,如果i>20,则结束,否则返回第二步.
算法框图如图所示:
11.阅读如图2-2-24所示的算法框图,若输入n0=0, 则输出的结果为多少?
图2-2-24
【解】 当n0=0时,n=0,
n=n+1=0+1=1,
m==20∈N,且20≠1,所以输出m=20;
n=1+1=2,m==10,且10≠1,输出10;
n=2+1=3,m=?N,
n=3+1=4,
m==5∈N,且5≠1,∴输出m=5;
n=4+1=5,m==4∈N,且4≠1,∴输出m=4;
n=6,7,8时均不输出,n=9时,n+1=10,m=2∈N,且2≠1,输出m=2.
n=11,12,13,14,15,16,17,18时均不输出,
n=19时,n+1=20,m=1∈N,结束.
∴综上,输出的结果为20,10,5,4,2.
(教师用书独具)
设计一个算法,计算12-22+32-42+…+992-1002的值,并画出算法框图.
【解】 算法步骤如下:
1.S=0,i=1;
2.如果i≤100,则执行第3步;否则,输出S;
3.S=S+(-1)i+1·i2;
4.i=i+1,转至第2步.
算法框图如图:
写出一个求满足1×3×5×7×…×n>50 000的最小正整数n的算法,并画出相应的算法框图.
【解】 算法如下:
1.S=1;
2.i=3;
3.S=S×i,i=i+2,如果S≤50 000,则重复第3步,否则,执行第4步;
4.i=i-2;
5.输出i.
算法框图如图所示:
§3几种基本语句
3.1 条件语句
(教师用书独具)
●三维目标
1.知识与技能
理解条件语句和条件结构之间的对应关系.
掌握条件语句的语法规则和用算法解决问题的一般步骤.
提高学生逻辑思维能力,发展有条理的思考与表达能力.
2.过程与方法
教师设置情境,引导学生提出问题这一过程,培养学生的创造性思维.
写算法步骤,画程序框图,编写程序,QBasic实现算法这一解决问题的步骤,培养理性精神和实践能力.
通过小组合作交流,更深层次理解算法的基本思想.
3.情感、态度与价值观
利用QBasic实现算法,提高学生学习兴趣,树立学好数学的信心.
认识数学的价值,培养学生良好的个性品质,形成积极的学习态度.
●重点难点
重点:条件语句的格式、结构;用所学算法语句解决问题的过程和方法.
难点:利用条件语句编写解决问题的程序;用QBasic实现算法.
(教师用书独具)
●教学建议
教师可以在教学过程中通过不断地提出问题,促进学生深入思考.发挥学生主体地位,辅以多媒体手段,引导学生主动参与,自主探究,小组交流合作探索研究问题的学习方法.
●教学流程
创设情境,形成问题,以家庭固定电话收费标准为实例,如何写出其算法语言?引导学生设计算法,画出算法框图,分析结构特征明确选择结构的特点,引出条件语句的格式?通过例1及变式训练,使学生掌握条件语句与选择结构的关系,进一步理解条件语句的格式及特征?通过例2及其变式训练,使学生能够运用复合If语句进行简单的设计,进一步巩固三种语句的特点及复合If条件语句的运用
?在掌握条件语句与选择结构的基础上,通过例3掌握条件语句的实际应用,使学生的能力得到提升?归纳整理,进行课堂小结,整体认识本节课所学知识,分层布置作业使不同层次的学生有不同的收获?完成当堂双基达标,巩固所学知识并进行反馈,矫正
课标解读
1.正确理解条件语句的概念.
2.能应用条件语句描述算法(重点).
3.能应用条件语句编写程序(难点).
条件语句
【问题导思】
某居民区的物管部门每月按如下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元,令c(单位:元)表示应收取的费用,n表示某户人家的人数.
1.试写出根据输入人数计算应收取卫生费的函数关系式.
【提示】 c=
2.画出解决该问题的算法框图.
【提示】
在算法中,选择结构是一种基本结构,条件语句是表达选择结构最常用的语句.
If语句
形如下面的框图描述的算法都可以用If语句进行表示.
其一般形式是:
复合If语句
形如下面的框图描述的算法都可以用复合If语句来表达.
复合If语句的一般形式是:
条件语句的简单应用
已知函数f(x)=编写一个算法程序,并画出算法框图,使输入的每一个x值,都得到相应的函数值.
【思路探究】 本题是已知分段函数的解析式求函数值的问题.由x的范围确定函数值,故可用选择结构来设计算法.
【自主解答】 用变量x、y分别表示自变量和函数值算法步骤如下:
(1)输入x值;
(2)判断x的范围,若x≥0,则用解析式y=x2-1求函数值,否则,用y=2x2-5求函数值;
(3)输出y值.
条件语句如下:
算法框图如图所示:
1.本题是已知分段函数的解析式求函数值的问题,当输入一个x的值,由于x的取值范围不同,而选择不同的解析式,因此设计算法需用选择结构,相应算法语句应用If语句.
2.解决此类问题,可遵循以下步骤:
(1)用自然语言构思解决问题的方法;
(2)画出框图,形象直观地把算法描述出来;
(3)结合框图,用If语句表达.
已知函数y=用If语句设计一个算法程序并画出算法框图,根据输入的x的值,对应输出y的值.
【解】 算法步骤为:
1.输入x;
2.如果x≤2.5,则y=x2+1,否则y=x2-1;
3.输出y.
算法框图如图所示:
用语句描述为:
输入x;
复合If语句的应用
给出一个算法:
①输入x;
②若x<0,则y=x+1;否则执行③;
③若x=0,则y=0;否则y=x;
④输出y.
(1)指出该算法的功能;
(2)将该算法用框图表示出来;
(3)用基本语句写出该算法.
【思路探究】 解决此问题可先由条件入手分析,再依次画出框图,并用基本语句描述.
【自主解答】 (1)该算法的功能是利用给出的x的值,
求函数y=的值.
(2)框图如图所示:
(3)用基本语句描述为:
1.本题属于分三段的函数求值问题.由于x的取值需判断两次,因此在用If语句设计算法程序时,需用复合If语句.
2.在一些较为复杂的算法中,有时需要在判断的后面接着进行判断,亦即在执行语句1或语句2的过程中又需要进行条件的判断,这就形成了复合的选择结构,我们可以利用复合条件语句来描述这种类型的算法.
已知函数f(x)=试编写算法语句,根据输入的x值输出对应的y值.
【解】 输入x;
条件语句的实际应用
在音乐唱片超市里,每张唱片售价25元,顾客购买5张以上(含5张)唱片,则按九折收费;顾客购买10张以上(含10张)唱片,则按八五折收费.编写算法语句,根据输入顾客购买唱片的数量a,输出顾客要缴纳的金额c.画出算法框图.
【思路探究】 根据题意知顾客要缴纳的金额c是购买唱片数量a的分段函数,先列出函数关系式再利用条件语句设计算法.
【自主解答】 由题意知c=
算法框图如图所示:
基本语句如下:
1.对于实际应用问题应先建立模型,再设计算法.
2.应用多个条件语句时,要明确各种条件与相应语句之间的对应关系,一般先由算法框图直观地弄清这些关系之后再编写算法语句.
某商场购物实行优惠措施,若购物金额x在800元以上(包括800元),则打八折;若购物金额x在500元以上(包括500元),则打九折,否则不打折.设计算法框图并用语句写出算法,要求输入购物金额x,并能输出实际交款额.
【解】 本题的实质是求函数
f(x)=的值.
用语句描述如下:
输入x;
复合If语句结构不明确致误
(2013·西安检测)设计一个基本语句求y=的值.
【错解】 用语句描述如下:
输入x;
【错因分析】 在条件语句中,复合If语句最后一定有两个End If.
【防范措施】 1.理解并掌握条件语句的结构特点.
2.写条件语句时要正确分类且做到不重不漏,它有严格的格式和用法,否则无法运行.
【正解】 用语句描述如下:
输入x;
使用条件语句应注意的问题
(1)条件语句是一个语句,If、Else、End If都是语句的一部分.
(2)条件语句必须以If语句开始,以End If语句结束,一个If语句必须和一个End If语句对应.
(3)如果我们的程序只需对条件为真的情况作出处理,不需要处理条件为假的情况,则条件语句省略Else分句,格式由If—Else—End If语句变成If—End If语句.
(4)应用多个条件语句即复合If语句时,要明确各种条件与相应语句之间的对应关系,一般先由算法框图直观地弄清这些关系之后再编写程序.
1.下列函数求值算法中需要用到条件语句的函数为( )
A.f(x)=x2-1 B.y=x3-1
C.f(x)= D.f(x)=logax
【解析】 解决一个问题时,若不需要判断,则不需要用条件语句.A、B、D均直接求解即可.
【答案】 C
2.执行下面的算法,若输入3,则输出的y的值是( )
A.3 B.7 C.9 D.19
【解析】 x=3,由于3>3不成立,所以执行Else后面的语句,即y=2×3+1=7.
故输出y=7,所以选B.
【答案】 B
3.写出下面语句运算的结果
输入a;
If a<0 Then
输出 不存在
Else
t=
输出t
Ene If
当a=-5时,输出结果为________,当a=9时输出结果为________.
【解析】 该算法语句的功能为若a≥0,
则输出t=,
若a<0,则输出“不存在”,
故当a=-5时,输出的结果为“不存在”,
当a=9时,输出的结果为t==3.
【答案】 不存在 3
4.将下列算法框图转化为算法语句.
图2-3-1
【解】 算法语句如下:
一、选择题
1.为了在运行下面的算法语句之后输出y=9,键盘输入应该是( )
输入x;
A.x=-4 B.x=-2
C.x=4或-4 D.x=2或-2
【解析】 当x<0时,由(x+1)(x+1)=9得x=-4,
当x≥0时,由(x-1)(x-1)=9得x=4,∴x=4或-4.
【答案】 C
2.以下算法语句运行的结果为( )
A.0 B.2 C.4 D.-4
【解析】 运行过程中m=2,a=-2,b=2,因为a≤b,所以x=a+b=0.
【答案】 A
3.阅读下列语句:
如果输出5,则输入的a为( )
A.2.5 B.2
C.-2 D.±2
【解析】 由算法语句可知,令2a=5,则a=<5(舍).令a2+1=5,
则a=±2,满足题意.
【答案】 D
4.下列算法语句运行的结果是( )
A=4.5
B=6
A.10.5 B.11.5 C.16 D.25
【解析】 A=4.5<5,∴B=6-3=3,B=3+2=5.
又5≥4,∴B=52=25.
【答案】 D
5.对于条件语句的描述正确的是( )
A.执行下列条件语句时,当不满足条件时,执行语句1,满足条件时执行语句2
If 条件 Then
语句1
Else
语句2
End If
B.执行下列条件语句时,如果满足条件,那么就执行Then后的语句,如果不满足条件,那么就直接结束该条件语句,转而执行其他语句
If 条件 Then
语句
End If
C.条件语句在程序中能够减少大量烦琐的计算
D.条件语句中不能有输出语句
【解析】 A中,如果满足条件,那么就执行语句1,否则执行语句2,所以A不正确;条件语句在程序中起判断转折作用,不能减少大量烦琐的计算,所以C不正确;条件语句中可以有输出语句,所以D不正确.
【答案】 B
二、填空题
6.下列程序的功能是:判断任意输入的数x是否是正数,若是,输出它的平方值;若不是,输出它的相反数.
输入x;
则填入的条件应该是________.
【解析】 由程序的功能和If语句可知,If后面的条件应填x≤0.
【答案】 x≤0
7.写出下列程序运行结果.
若输入x=6,则p=________;
若输入x=18,则p=________.
【解析】 x=6时,p=6×0.35=2.1;
x=18时,p=10×0.35+8×0.7=9.1.
【答案】 2.1 9.1
8.若运行如下语句,最后输出y的值为-20,那么应该输入t的值为________.
输入t;
【解析】 可得如下分段函数y=
当2t-8=-20,∴t=-6,合题意;
当8t-t2=-20,∴t2-8t-20=0,∴t=10,
或t=-2(舍),故t=-6或10.
【答案】 -6或10
三、解答题
9.用基本算法语句描述一个算法,要求输入两个实数,然后由小到大输出这两个数.
【解】 算法语句为:
10.下面是计算应纳税所得额的算法过程,其算法如下:
第一步:输入工资x(注x≤5 000);
第二步:如果x≤2 000,那么y=0;
如果2 000那么y=0.05(x-2 000);
否则y=25+0.1(x-2 500);
第三步:输出税款y,结束.
请写出该算法的算法框图和相应的算法语句.
【解】 算法框图如下:
算法语句为:
输入x;
11.根据下面的框图回答后面的问题.
(1)用语句描述其算法;
(2)研究框图,回答:
①当输入的x值为1时,输出的y值为多少?
②要使输出的y值为10,输入的x值应该为多少?
③输入的x值和输出的y值可能相等吗?若能,x的输入值为多少?若不能,说明理由.
图2-3-2
【解】 (1)用语句描述算法如下:
输入x;
(2)①当x=1时,∵1≤3,∴y=2×1=2,∴输出的y是2.
②由2x=10得x=5>3(舍),
由2x+2=10,知x=4.
∵4>3,∴要使输出的值为10,输入的应为4.
③可能相等.当输入的x=0时,y=2x=0,输入的x值和输出y值相等.
当2x+2=x即x=-2时,虽然有y=x,但-2<3,此时不可能.
综上,当输入的x=0时,输入值x和输出值y相等.
(教师用书独具)
某次考试规定:共考三门课,凡考试符合下列条件之一的,发给优秀证书.
①三门成绩之和大于280分;
②其中两门成绩大于95分,另一门成绩大于80分.
试编写一个算法语句.
【解】 用语句描述如下:
输入学生的考试成绩a,b,c;
If a+b+c>280 Then
输出“请发给优秀证书!”
Else
If a>95 And b>95 And c>80 Then
输出“请发给优秀证书!”
Else
If b>95 And c>95 And a>80 Then
输出“请发给优秀证书!”
Else
If a>95 And c>95 And b>80 Then
输出“请发给优秀证书!”
Else
输出“不发给优秀证书!”
End If
End If
End If
End If
乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法是:行李质量不超过50 kg时按0.25元/kg;超过50 kg而不超过100 kg时,其超过部分按0.35元/kg;超过100 kg时,其超过部分按0.45元/kg.设计算法语句,输入行李质量,计算出托运的费用.
【解】 设行李质量为x kg,应付运费为y元,则运费公式为
y=
整理,得
y=
要计算托运的费用,必须对行李质量分类讨论,因此要用条件语句来实现.
算法步骤:
1.输入行李质量x;
2.当x≤50时,计算y=0.25x,否则执行下一步;
3.当x≤100时,计算y=0.35x-5,否则计算y=0.45x-15;
4.输出y.
算法框图,如下图:
3.2 循环语句
(教师用书独具)
●三维目标
1.知识与技能
掌握循环语句的功能和格式,能由循环结构写出循环语句,并学会用计算机解决简单的实际问题.
2.过程与方法
通过观察、转化、类比、联想等思想方法的运用,培养探索能力和逻辑思维能力,增强表达能力.
3.情感、态度与价值观
在合作学习中形成团体精神,在观察发现中树立探索精神,在上机操作中增强实践意识,在编程成功后体验学习乐趣.
●重点难点
重点:(1)由循环结构写出循环语句;
(2)跟踪变量的转化,理解语句的执行过程;
(3)区分当型语句和直到型语句.
难点:跟踪变量,理解程序的执行过程,尤其是控制条件的改变对程序的影响.
(教师用书独具)
●教学建议
教师应创设情境,设置一系列问题,引导学生思考、归纳、总结.
●教学流程
创设问题情境,引出问题:如何求1到100内所有奇数的和?引导学生结合学习过的条件语句,观察、比较、分析,采取从特殊到一般的方法发现并能写出对应的语句?通过引导学生回答所提问题,理解两种循环结构成立的条件、特征及其应用?通过例1及其变式训练,使学生掌握利用For语句书写程序的方法
?通过例2及其变式训练,使学生掌握利用Do Loop语句设计程序的方法,并注意循环条件的设置?探究两种循环结构的特征及区别和联系,完成例3及其变式训练,从而解决循环语句与条件语句的综合应用问题?归纳整理,进行课堂小结,整体认识本节课所学知识并分层布置作业?完成当堂双基达标,巩固所学知识并进行反馈、矫正
课标解读
1.理解两种形式的循环语句:For语句与Do Loop语句的结构与含义(重点).
2.会根据具体情况选择适当的循环语句解决具体问题(重点).
3.能掌握两种循环语句的联系和区别(难点).
循环语句
【问题导思】
画出For语句和Do Loop语句各自对应的循环结构的框图,它们之间有何区别?
【提示】 For语句满足条件时执行循环体,不满足条件时退出循环体.
Do Loop语句,先执行循环体,再判断条件,条件满足时,继续执行循环体,直到条件不满足,循环终止.
1.For语句
在循环结构中,若预先知道循环次数,一般用For语句来表达,其一般形式为:
For 循环变量=初始值To终值
循环体
Next
2.Do Loop语句
在一些循环结构中,预先不知道循环的次数,要根据其他形式的终止条件停止循环,这种情况下,一般用Do_Loop语句来描述,其一般形式为:
Do
循环体
Loop While 条件为真
基本语句描述算法的优点
使用基本语句描述算法,和自然语言相比,基本语句描述的算法显得直观、清楚、明了,它的另一个优点是比较接近程序语言,便于编写程序,上机实现.
For语句的基本应用
使用For语句设计算法,计算1+3+5+…+999的值.
【思路探究】 每项加的数都比前一个数大2,在计算机上我们用For语句,把循环变量的增量设为2,即可实现求值.
【自主解答】 用For语句描述为:
S=0
For i=1 To 999 Step 2
S=S+i
Next
输出S
算法框图如下:
1.解决本题时,先引入计数变量S和循环变量i,并确定循环次数和反复执行的步骤S=S+i,其中i的后一个值比前一个值大2,即i的增量为2,用Step 2表示.
2.For语句是表达循环结构最常见的语句之一,它适用于预先知道循环次数的循环结构,有些循环中如果不能直接看出循环次数,则可通过题目中的规律先求出循环次数再写循环语句.
编写一个计算1×3×5×…×999的算法,画出程序框图,并用For语句描述这个算法.
【解】 算法语句为:
S=1
For i=1 To 999 Step 2
S=S*i
Next
输出S
算法框图如下:
Do Loop语句的应用
设计算法框图并用基本语句描述一个算法,求满足1+3+5+…+n>500的最小自然数n.
【思路探究】 结束循环的条件是和大于500,可以用累加的方法,一个数一个数地加到累加器中,每加一个数就把累加器的值与500比较,直到大于500为止.由于预先不知道循环次数,故用Do Loop语句描述该算法.
【自主解答】 算法框图如下:
用基本语句描述为:
i=1
S=0
Do
S=S+i
i=i+2
Loop While S≤500
i=i-2
输出i.
1.由于本例中事件无法确定循环次数,故采用了Do Loop语句,特别注意输出的应是i-2,如本例中当i=43时,s=1+3+5+…+43=484,i=i+2=45,∵484<500继续循环,∴s=484+45=529,i=45+2=47,∵529>500,∴结束循环,此时i=47,但我们要找的是i=45,
∴输出i-2.
2.对于重复执行某操作的算法,一般用循环语句来实现.如果预先不知道循环的次数,一般用Do Loop语句来实现.计算机执行Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Do Loop语句后的语句.
下面是用For语句描述计算1×3×5×…×99的值的算法,请用Do Loop语句写出算法描述.
S=1
For i=1 To 50
S=S*(2]【解】 用Do Loop语句描述算法如下:
i=1
S=1
Do
S=S*i
i=i+2
Loop While i<=100
输出S.
Do Loop语句与条件语句的
综合应用
用基本语句描述a1,a2,a3,a4的最大值的一个算法.
【思路探究】 本题需判断a1,a2,a3,a4的大小故可采用条件语句及循环语句共同完成该算法.
【自主解答】 用算法语句描述为:
输入a1,a2,a3,a4;
1.本题的求解方法是先假定这个序列第一个数是最大值“max”,然后将其他的数分别与之比较,这种方法常称为擂台法.
2.擂台法常用于求最值的问题,以求最大值为例:用变量max作为“擂台”,先让a1作为初始“擂主”,然后让a2与a1进行比较,若a2>a1,则a2代替a1成为新“擂主”,否则a1仍为“擂主”.再由a3去“挑战擂主”,依次类推.直到所有数都上过“擂台”后,最终的“擂主”即为最大值.
用基本语句写一个算法,要求输出1~100(包括1和100)中能被7整除的所有整数.
【解】 用语句描述如下:
i=1
Do
If i MOD 7=0 Then
输出i
End If
i=i+1
Loop While i<=100.
混淆两种循环语句基本格式致误
编写循环语句计算2+4+6+…+100的值.
【错解】 (1)用For语句:
sum=0
While i=2 To 100 Step 2
sum=sum+i
Next
输出 sum
(2)用Do loop语句:
i=2
sum=0
sum=sum+i
i=i+2
Loop While i>100
输出 sum
【错因分析】 (1)中只要将“While”换为“For”即可;(2)中“sum=sum+i”的上一行应有执行语句“Do”,错因在于没有掌握好两种循环语句的结构.
【防范措施】 要明确两种循环语句的基本格式,应是“For”与“Next”搭配,“Do”与“Loop While”搭配,不要混淆.
【正解】 (1)用For语句:
sum=0
For i=2 To 100 Step 2
sum=sum+i
Next
输出 sum
(2)用Do loop语句:
i=2
sum=0
Do
sum=sum+i
i=i+2
Loop While i>100
输出 sum
编写循环语句的程序,要注意以下几点
1.循环体要正确,尤其要注意循环体中的变量是否齐全.
2.循环条件要正确,条件与初始值要对应.
3.注意For语句与Do Loop语句的书写格式.
1.以下算法共执行循环体的次数为( )
For i=-3 To 147 Step 3
Next
A.50 B.51 C.49 D.52
【解析】 根据For语句的格式知,循环次数=(终值-初始值)/增量+1=+1=51.
【答案】 B
2.下列语句运行的结果是( )
For A=1 To 100
A=A+1
Next
输出A
A.99 B.100 C.101 D.102
【解析】 A=100+1=101.
【答案】 C
3.下列算法语句输出的结果是________.
i=1
S=0
Do
S=S*2+1
i=i+1
Loop While i<=4
输出S.
【解析】 S=2×0+1=1,i=2,S=2×1+1=3,i=3,S=2×3+1=7,i=4,S=2×7+1=15.
【答案】 15
4.用Do Loop语句写出求12+22+32+…+n2<1 000成立的n的最大整数值的一个算法.
【解】 Do Loop语句如下:
S=1
i=2
Do
a=i2
S=S+a
i=i+1
Loop While S≥1 000
i=i-2
输出i
一、选择题
1.以下算法语句:
S=0
For x=-1 To 11
S=x*x
Next
输出S
该语句输出结果是( )
A.-1 B.11 C.100 D.121
【解析】 由For语句的算法特点知S=11×11=121.
【答案】 D
2.看下面算法语句:
i=1
Sum=0
Do
Sum=Sum+i
i=i+1
Loop While i<=10
输出Sum.
则最后i的值等于( )
A.10 B.11 C.12 D.9
【解析】 由算法结构知i=11.
【答案】 B
3.下列算法语句中的For语句终止循环时,S等于( )
S=0
For M=1 To 10
S=S+M
Next
输出S.
A.1 B.5 C.10 D.55
【解析】 S=0+1+2+…+10=55.
【答案】 D
4.如果算法语句运行后输出的结果是720,则在横线处应填入的正整数为( )
t=10
S=1
Do
S=S*t
t=t-1
Loop While t>____
输出S
A.9 B.8 C.7 D.6
【解析】 第一次执行循环体,S=1×10=10,t=9,
第二次执行循环体,S=10×9=90,t=8,
第三次执行循环体,S=90×8=720,t=7,
依题意,循环结束,根据Do Loop语句的要求,条件不满足时,结束循环,所以条件应为t>7,故选C.
【答案】 C
5.读下面程序,输出结果为( )
S=1
For i=1 To 9
S=2]B.1 534 C.3 070 D.383
【解析】 本语句反复执行S=2(S+1)共9次,第一次为S=4,第2次为S=2×(4+1)=10,则第9次为S=1 534.
【答案】 B
二、填空题
6.以下算法语句:
S=1
k=13
Do
S=S*k
k=k-1
Loop While ________
输出S.
若语句运行的结果是S=156,则横线处应填入的k的条件是________.
【解析】 第一次循环是S=1×13=13,
第二次循环是S=13×12=156,
故k的条件应是k≥12或k>11.
【答案】 k≥12或k>11
7.执行算法语句:
S=0
For i=0 To 10 000 Step 2
S=S+i
End If
则循环10次的结果是________.
【解析】 算法语句实际是在计算S=0+2+4+6+8+…+10 000.
若循环10次,
则有S=0+2+4+…+18=90.
【答案】 90
8.下面两个程序的运行结果分别为________、________.
语句(1):
i=0
S=0
Do
i=i+1
S=S+i
Loop While S≤20
输出i 语句(2):
i=0
S=0
Do
S=S+i
i=i+1
Loop While S≤20
输出i
【解析】 (1)由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i=6.
(2)S=0,i=1;S=0+1,i=2;…,S=0+1+2+3+4+5,i=6,由于此时S=15<20,
∴继续执行S=0+1+2+3+4+5+6,i=6+1=7,此时S=21>20,故i=7.
【答案】 6 7
三、解答题
9.据下列框图写出对应算法语句.
图2-3-3
【解】 S=0
For i=1 To 1 000
S=S+i
Next
输出S
10.已知S=1×××…×,使用基本语句描述一个算法,输入n的值,输出S的值.
【解】 用Do Loop语句描述该算法如下:
输入n;
i=1
S=1
Do
S=S*(1/i)
i=i+1
Loop While i≤n
输出S
11.算法如下:
输入a;
S=1
Do
S=2]
若输入的是10,则输出的结果是多少?
【解】 若输入a=10,
第1次循环,S=2×1=2,a=10-1=9≥1,
第2次循环,S=2×2=4,a=9-1=8≥1,
第3次循环,S=2×4=8,a=8-1=7≥1,
第4次循环,S=2×8=16,a=7-1=6≥1,
第5次循环,S=2×16=32,a=6-1=5≥1,
第6次循环,S=2×32=64,a=5-1=4≥1,
第7次循环,S=2×64=128,a=4-1=3≥1,
第8次循环,S=2×128=256,a=3-1=2≥1,
第9次循环,S=2×256=512,a=2-1=1≥1,
第10次循环,S=2×512=1 024,a=1-1=0<1,
终止循环,输出S=1 024.
(教师用书独具)
某商场第一年销售计算机5 000台,如果平均每年销售量比上一年增加10%,那么从第一年起,约几年内可使总销售量达到30 000台?试用算法语句及框图表示其算法.
【解】 框图如图所示:
用基本语句描述为:
m=5 000
sum=0
i=0
Do
sum=sum+m
m=m*(1+10%)
i=i+1
Loop While sum<30 000
输出i.
某高中男子体育小组的100 m赛跑成绩(单位:s)如下:12.1,13.2,12.7,12.5,12.4,12.7,11.5,11.6,12.8,11.7,从这些成绩中搜索出小于12.1 s的成绩,编写相应的算法语句,并画出算法框图.
【解】 用语句描述如下:
算法框图如图所示:
算法设计
算法设计与一般意义上的解决问题不同,它是对一类问题的一般解法的抽象与概括,它往往是把问题的解法划分为若干个可执行的步骤;但最终都必须在有限个步骤之内完成.
已知平面直角坐标系中的两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.
【思路点拨】 线段AB的垂直平分线的斜率与直线AB的斜率之积为-1,且过AB的中点,由点斜式可求直线方程.
【规范解答】 1.计算x0==1,y0==1,得AB的中点N(1,1);
2.计算k1==,得AB的斜率;
3.计算k=-=-2,得AB垂直平分线的斜率;
4.由点斜式写出直线AB垂直平分线的方程
y-1=-2(x-1),输出.
用二分法设计一个求方程x3-3=0的近似解(精确到0.001)的算法.
【解】 算法步骤如下:
1.设f(x) =x3-3;
2.取x1=1,x2=2;
3.令x=,判断f(x)是否等于0.若是 ,则输出“x为所求的解”并结束算法;否则,执行第4步;
4.判断f(x)·f(x1)<0是否成立.若是,则令x2=x;否则,令x1=x;
5.判断|x1-x2|<0.001是否成立.若是,则输出“x1,x2之间的数均为满足条件的近似解”;否则,返回执行第3步.
算法框图及画法
算法框图直观地反映了算法的三种基本结构,即顺序结构、选择结构和循环结构.顺序结构是任何算法都少不了的结构,循环结构是含有按一定条件反复执行某些步骤的结构,它一定含有选择结构.
算法框图和基本结构是高考考查的重点,通过以选择题或填空题的形式出现,主要考查对算法框图的认识、理解,即读图的能力.
设计一个算法,求13+23+…+993+1003的值,并画出算法框图.
【思路点拨】 先写出算法,再按照循环结构画出相应的算法框图.
【规范解答】 算法如下: 算法框图如图所示.
1.使S=0;
2.使I=1;
3.使S=S+I3;
4.使I=I+1;
5.若I≤100,则返回第三步;
否则,输出S,算法结束.
(2013·浙江高考)
图2-1
若某程序框图如图2-1所示,则该程序运行后输出的值等于__________.
【解析】 法一 根据程序框图可知,
当k=1时,S=1+=;
当k=2时,S=+=;
当k=3时,S=+=;
当k=4时,S=+=;
此时k=5>4,所以S=.
法二 根据程序框图可知,
S=1+++…+
=1+1-+-+…+-
=1+1-=2-,
当k=4时,S=2-=.
当k=5>4时,输出S=.
【答案】
基本算法语句
基本算法语句有输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种逻辑结构:顺序结构、选择结构、循环结构.用基本语句编写算法时要注意各类语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表达以及循环语句中有关变量的取值范围.
设计一个算法语句,输入学生的成绩S,根据该成绩的不同值进行以下输出:若S<60,则输出“不及格”;若60≤S≤90,则输出“及格”;若S>90,则输出“优秀”.
【思路点拨】 运用选择结构编写算法框图,再根据算法框图写出对应算法语句.
【规范解答】 算法框图如下:
算法语句为:
(2013·陕西高考)根据下列算法语句,当输入x为60时,输出y的值为( )
A.25 B.30
C.31 D.61
【解析】 由题意,得y=
当x=60时,y=25+0.6×(60-50)=31.
∴输出y的值为31.
【答案】 C
算法思想
算法思想是贯穿高中课程的一条主线.算法思想就是指按照一定的步骤,一步一步去解决某个问题的程序化思想,算法思想可以很好的培养学生的逻辑推理能力.现代意义上的“算法”通常是指可以用计算机来解决问题的程序或步骤.本章自始至终贯穿算法思想,通过典型的算法案例,体会算法的基本思想、基本特征.
执行如图2-2所示的算法框图,输入l=2,m=3,n=5,则输出的y的值是________.
图2-2
【思路点拨】 明确算法框图的特点及意义,将数据代入可得y的值.
【规范解答】 当输入l=2,m=3,n=5时,不满足l2+m2+n2=0,
因此执行:y=70l+21m+15n=70×2+21×3+15×5=278.
由于278>105,故执行y=y-105,执行后y=278-105=173,再执行一次y=y-105后y的值为173-105=68,此时68>105不成立,故输出68.
【答案】 68
如果执行如图2-3所示的框图,输入N=5,则输出的数等于________.
图2-3
【解析】 第一次执行循环体,S=0+,k=1<5成立,k=1+1=2,进入;
第二次循环,S=+,k=2<5成立,k=2+1=3,进入;
第三次循环,S=++,k=3<5成立,k=3+1=4,进入;
第四次循环,S=+++,k=4<5成立,k=4+1=5,进入;
第五次循环,S=++++,k=5<5不成立,
结束循环,输出S=++++=.
【答案】
综合检测(二)
第二章 算法初步
(时间120分钟,满分150分)
一、选择题(本大题共10小题,每小题5分,共50分,在每小题给出的四个选项中,只有一项是符合题目要求的)
1.下列问题的算法适宜用选择结构表示的是( )
A.求点P(-1,3)到直线l:3x-2y+1=0的距离
B.由直角三角形的两条直角边长求斜边长
C.解不等式ax+b>0(a≠0)
D.计算100个数的平均数
【解析】 适用于选择结构的算法具有判断、讨论,并根据判断结果选择不同的操作,由此可知只有C符合,故选C.
【答案】 C
2.用二分法求方程x2-10=0的近似根的算法中要用哪种算法结构( )
A.顺序结构 B.选择结构
C.循环结构 D.以上都用
【解析】 由求方程x2-10=0的近似根的算法设计知以上三种结构都用到.
【答案】 D
3.(2013·天津高考)
图1
阅读如图1所示的程序框图,运行相应的程序,则输出n的值为( )
A.7
B.6
C.5
D.4
【解析】 n=1,S=0.
第一次:S=0+(-1)1×1=-1,-1<2,n=1+1=2,
第二次:S=-1+(-1)2×2=1,1<2,n=2+1=3,
第三次:S=1+(-1)3×3=-2,-2<2,n=3+1=4,
第四次:S=-2+(-1)4×4=2,2=2,
满足S≥2,跳出循环,输出n=4.
【答案】 D
4.下述算法语句的运行结果为( )
N=1
S=0
Do
S=S+N
N=N+1
Loop While S<=10
输出N-1
A.5 B.4
C.11 D.6
【解析】 S=1+2+3+4+5时停止循环,故选A.
【答案】 A
5.执行如图2所示的程序框图,若输入n的值为6,则输出s的值为( )
图2
A.105 B.16
C.15 D.1
【解析】 当i=1时,s=1×1=1;当i=3时,s=1×3=3;当i=5时,s=3×5=15;当i=7时,i【答案】 C
6.运行以下算法语句时,执行循环体的次数是( )
i=1
Do
i=i+1
i=i*i
Loop While i<10
输出i
A.2 B.10 C.11 D.8
【解析】 第一次执行循环体,
i=1,
i=i+1=2,
i=i·i=4,
i=4<10,成立,
第二次执行循环体,
i=i+1=5,
i=i·i=25,
i=25<10,不成立,
退出循环,共执行了2次循环体.
【答案】 A
7.阅读如图4所示的算法框图,运行相应的程序,则循环体执行的次数是( )
A.50 B.49
C.100 D.98
【解析】 当i=2,4,6,…,98时,执行循环体,共执行了49次.
【答案】 B
图4 图5
8.在阳光体育活动中,全校学生积极参加室外跑步.高三(1)班每个学生上个月跑步的路程从大到小排列依次是a1,a2,a3,…,a50(任意i=1,2,…,49,ai>ai+1),如图是计算该班上个月跑步路程前10名学生的平均路程的算法框图.则图中判断框①和处理框②内应分别填写( )
A.i<10,= B.i<11,=
C.i<11,= D.i<10,=
【解析】 注意到判断框中应是保证恰好是10名学生,再注意到走出判断框的结果将是10个数的和,于是选C.
【答案】 C
9.如图6,该框图是求函数f(x)=x2-3x+5,当x∈{0,3,6,9,…,60}时函数值的一个算法框图,则①处应填( )
A.x=x+3 B.x=3x
C.3x=x D.x+3=x
【解析】 0,3,6,9,…,60,后一个数比前一个数大3.
【答案】 A
图6 图7
10.(2013·北京高考)执行如图7所示的程序框图,输出的S值为( )
A.1 B. C. D.
【解析】 当i=0,S=1时,执行S=后得S=,i=i+1=1;
当i=1,S=时,执行S=后得S=,i=i+1=2.
由于此时i≥2是成立的,
因此输出S=.
【答案】 C
二、填空题(本大题共5小题,每小题5分,共25分,将答案填在题中的横线上)
11.下面为一个求20个数的平均数的算法语句,在横线上应填充的语句为________.
S=0
For i=1 To ________
输入x
S=S+x
Next
a=S/20
输出a
【解析】 20个数,故应填20.
【答案】 20
12.下图是某算法的算法框图,则程序运行后输出的结果是________.
图8
【解析】 由题意得
∵n=4>3,故输出s=27.
【答案】 27
13.分析下面的算法语句:
输入x;
若输入38,运行上面的语句后,得到的结果是________.
【解析】 输入38,程序运行过程是:
9<38<100,成立,
a=3
b=8
x=10×8+3=83
输出x=83.
【答案】 83
14.(2013·湖北高考)阅读如图9所示的程序框图,运行相应的程序,若输入m的值为2,则输出的结果i=________.
图9
【解析】 m=2,A=1,B=1,i=0.
第一次:i=0+1=1,A=1×2=2,B=1×1=1,A>B;
第二次:i=1+1=2,A=2×2=4,B=1×2=2,A>B;
第三次:i=2+1=3,A=4×2=8,B=2×3=6,A>B;
第四次:i=3+1=4,A=8×2=16,B=6×4=24,A终止循环,输出i=4.
【答案】 4
15.(2013·湖南高考)执行如图10所示的程序框图,如果输入a=1,b=2,则输出的a的值为________.
图10
【解析】 当a=1,b=2时,a>8不成立,执行a=a+b后a的值为3,当a=3,b=2时,a>8不成立,执行a=a+b后a的值为5,当a=5,b=2时,a>8不成立,执行a=a+b后a的值为7,当a=7,b=2时,a>8不成立,执行a=a+b后a的值为9,由于9>8成立,故输出a的值为9.
【答案】 9
三、解答题(本大题共6小题,共75分.解答应写出文字说明,证明过程或演算步骤)
16.(本小题满分12分)写出解不等式x2-2x-3<0的一个算法.
【解】 算法步骤如
一、选择题
1.下列对算法的理解不正确的是( )
A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)
B.算法要求是一步步执行,每一步都能得到唯一的结果
C.算法一般是机械的,有时要进行大量重复的计算,它们的优点是一种通法
D.任何问题都可以用算法来解决
【解析】 并不是所有的问题都可以用算法来解决,只有步骤明确,且是有限运算等才可以用算法解决.
【答案】 D
2.计算下列各式中的s值,能设计算法求解的是( )
(1)s=1+2+3+…+100;
(2)s=1+2+3+…+100+…;
(3)s=1+2+3+…+n(n≥1且n∈N).
A.(1)(2) B.(1)(3)
C.(2)(3) D.(1)(2)(3)
【解析】 (1)(3)能设计算法求解.但(2)不能设计算法求解.原因是s是无限多个正整数相加,步骤无限步,不符合算法的特征.
【答案】 B
3.想泡茶喝,当时的情况是:火已经生起了,凉水和茶叶也有了,开水没有,开水壶要洗,茶壶和茶杯要洗,下面给出了四种不同形式的算法过程,你认为最好的一种算法是( )
A.洗开水壶,灌水,烧水,在等待水开时,洗茶壶、茶杯、拿茶叶,等水开了后泡茶喝
B.洗开水壶,洗茶壶和茶杯,拿茶叶,一切就绪后,灌水,烧水,坐等水开后泡茶喝
C.洗开水壶,灌水,烧水,坐等水开,等水开后,再拿茶叶,洗茶壶、茶杯,泡茶喝
D.洗开水壶,灌水,烧水,再拿茶叶,坐等水开,洗茶壶、茶杯,泡茶喝
【解析】 解决一个问题可以有多种算法,可以选择其中最优、最简单、步骤尽可能少的算法.选项中的四种算法中都符合题意.但算法A运用了统筹法原理,因此这个算法要比其余的三种算法科学.
【答案】 A
4.给下面一个算法:
(1)给出三个数x、y、z;
(2)计算M=x+y+z;
(3)计算N=M;
(4)得出每次计算结果.
则上述算法是( )
A.求和 B.求余数
C.求平均数 D.先求和再求平均数
【解析】 由算法过程可知,M为三数之和,N为这三数的平均数,故选D.
【答案】 D
5.下面是某个问题的算法过程:
1.比较a与b的大小,若a<b,则交换a,b的值;
2.比较a与c的大小,若a<c,则交换a,c的值;
3.比较b与c的大小,若b<c,则交换b,c的值;
4.输出a,b,c.
该算法结束后解决的问题是( )
A.输入a,b,c三个数,按从小到大的顺序输出
B.输入a,b,c三个数,按从大到小的顺序输出
C.输入a,b,c三个数,按输入顺序输出
D.输入a,b,c三个数,无规律地输出
【解析】 通过第1步和第2步可以发现,a为最大值,通过第3步可以看出,c为最小值,可知输出的三个数是按从大到小的顺序输出.
【答案】 B
二、填空题
6.在下面求15和18的最小公倍数的算法中,其中不恰当的一步是________.
(1)先将15分解素因数:15=3×5;
(2)然后将18分解素因数:18=32×2;
(3)确定它们的所有素因数:2,3,5;
(4)计算出它们的最小公倍数:2×3×5=30.
【解析】 正确的应该是:先确定素因数的指数:2,3,5的指数分别为1,2,1;然后计算出它们的最小公倍数:2×32×5=90.
【答案】 (4)
7.下列是用“二分法”求方程x2-5=0的近似解的算法,请补充完整.
1.令f(x)=x2-5,给定精度d.
2.确定区间(a,b),满足f(a)f(b)<0.
3.取区间中点m=________.
4.若f(a)f(m)<0,则含零点的区间为(a,m);否则,含零点的区间为(m,b).将新得到的含零点的区间仍记为(a,b).
5.判断(a,b)的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
【解析】 区间(a,b)的中点,就是a与b的平均数.
【答案】
8.给出下列算法:
1.输入x的值.
2.当x>4时,计算y=x+2;否则执行下一步.
3.计算y=.
4.输出y.
当输入x=0时,输出y=________.
【答案】 2
三、解答题
9.解关于x的方程ax+2=0(a∈R),写出算法.
【解】 算法如下:
(1)移项,得ax=-2.
(2)当a≠0时,x=-,输出x,结束算法;当a=0时,输出方程无实根,结束算法.
10.写出求a、b、c三个数中最小的数的算法.
【解】 (1)比较a、b的大小,若a(2)比较m与c的大小,若m(3)输出结果.
11.某节目中有一种“猜数”游戏:竞猜者在规定的时间内猜出某种商品的价格就可获得该件商品.现有一商品,价格在0~8 000元之间,采取怎样的策略才能在较短的时间内说出正确的答案呢?
【解】 算法步骤如下:
第一步:报“4 000元”.
第二步:若主持人说“高了”(说明答数在1~4 000之间),就报“2 000元”,否则(答数在4 000~8 000之间)报“6 000元”.
第三步:重复第二步的报数方法,取中间数,直至得到正确结果.
一、选择题
1.如图2-2-2所示的算法框图,当输入x=2时,输出的结果是( )
A.4 B.5
C.6 D.13
【解析】 当x=2时,
y=2×2+1=5,
∴b=3y-2=3×5-2=13.
【答案】 D
图2-2-2 图2-2-3
2.如图2-2-3所示的算法框图,其功能是( )
A.输入a,b的值,按从小到大的顺序输出它们的值
B.输入a,b的值,按从大到小的顺序输出它们的值
C.求a,b中的最大值
D.求a,b中的最小值
【解析】 由算法框图知C正确.
【答案】 C
3.阅读如图2-2-4所示的算法框图,若输入R=8,则输出a=( )
图2-2-4
A.8 B.4
C.2 D.1
【解析】 当输入8时,b==2,a=2×2=4,故输出的a=4.
【答案】 B
4.(2012·温州高一检测)给出一个如图2-2-5所示的算法框图,若要使输入的x的值与输出的y的值相等,则x的可能值的个数为( )
图2-2-5
A.1 B.2
C.3 D.4
【解析】 该算法框图的功能是已知函数
y=
输入x的值,输出对应的函数值,
则当x≤2时,x=x2,
解得x=0或1;
当2解得x=3;
当x>5时,x=,
解得x=±1(舍去),
即x=0或1或3.
【答案】 C
5.已知函数f(x)=|x-3|,以下算法框图(如图2-2-6所示)表示的是给定x值,求其相应函数值的算法.
图2-2-6
其中①和②处分别应填的内容是( )
A.x≥3,y=x-3 B.x<3,y=x-3
C.x>3,y=x-3 D.x≤3,y=|x-3|
【解析】 由于f(x)=|x-3|=,
结合框图可知,条件①满足时,y=3-x,
∴①处应填x<3,
②处应填y=x-3,故选B.
【答案】 B
二、填空题
6.如图2-2-7(1)是计算(2)中空白部分面积的一个框图,则①中应填________.
(1) (2)
图2-2-7
【解析】 依题意知,①处应填空白处面积的计算公式,由平面几何知识可得空白部分的面积S=π()2-[a2-π()2]=a2-a2.
【答案】 S=a2-a2
7.某算法的算法框图如图2-2-8所示,则y与x满足的关系式是________.
图2-2-8
【解析】 观察算法框图,发现:
当x>1时,有y=x-2;
当x≤1时,有y=2x,
故y=.
【答案】 y=
8.阅读图2-2-9的算法框图,判断下列说法:
图2-2-9
①该框图中含有顺序结构和选择结构;
②该框图中只含有选择结构;
③当输入x=2时,输出结果为2;
④当输出结果为0时,输入x=-2.
其中正确的说法是________.
【解析】 由框图可知,该算法框图中含有顺序结构和选择结构,故①正确,②不正确;当x=2时,由于2>2不成立,应输出2+2=4,故③不正确;当输出结果为0时,由于0<2,∴x+2=0,
故x=-2,所以④正确.
【答案】 ①④
三、解答题
9.写出过两点P1(2,0)、P2(0,3)的直线方程的一个算法,并画出算法框图.
【解】 算法:第一步,a=2,b=3;
第二步,计算+=1;
第三步,输出结果.
算法框图如图所示:
10.已知关于x的一元二次方程ax2+bx+c=0(a≠0),设计一个算法判断方程是否有实数根.写出算法步骤,并画出算法框图.
【解】 算法步骤如下:
1.输入a,b,c;
2.计算W=b2-4ac;
3.判断W≥0是否成立,若成立,输出“方程有实数根”;若不成立,输出“方程无实数根”.
算法框图如图所示:
11.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元时,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费,设计算法,要求输入汇款额x(元)时,输出银行收取的手续费y(元),画出算法框图.
【解】 算法框图如图所示:
一、选择题
1.(2013·重庆高考)执行如图2-2-16所示的程序框图,则输出的k的值是
( )
图2-2-16
A.3 B.4
C.5 D.6
【解析】 k=1,s=1+02=1;k=2,s=1+12=2;k=3,s=2+22=6;k=4,s=6+32=15,k=5,s=15+42=31>15.故输出k=5,选C.
【答案】 C
2.(2013·辽宁高考)执行如图2-2-17所示的程序框图,若输入n=10,则输出S=( )
图2-2-17
A. B.
C. D.
【解析】 因为S=,i=4<10,所以S=+=,i=6<10,所以S=+=,i=8<10,所以S=+=,i=10=10,所以S=+=,i=12>10,输出S=.
【答案】 A
3.如图2-2-18所示框图表示的算法的功能是( )
图2-2-18
A.计算小于100的奇数的连乘积
B.计算从1开始的连续奇数的连乘积
C.从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数
D.计算1×3×5×7×…×n≥100时的最小的n值
【解析】 由框图知s=1×3×5×…×n.又因为循环结束的条件是s≥100,故其算法功能为:计算1×3×5×…×n≥100时的最小的n值.
【答案】 D
4.(2013·山东高考)执行两次如图2-2-19所示的程序框图,若第一次输入的a的值为-1.2,第二次输入的a的值为1.2,则第一次,第二次输出的a的值分别为( )
图2-2-19
A.0.2,0.2 B.0.2,0.8
C.0.8,0.2 D.0.8,0.8
【解析】 由程序框图可知:当a=-1.2时,∵a<0,
∴a=-1.2+1=-0.2,a<0,
a=-0.2+1=0.8,a>0.
∵0.8<1,输出a=0.8.
当a=1.2时,∵a≥1,
∴a=1.2-1=0.2.
∵0.2<1,输出a=0.2.
【答案】 C
图2-2-20
5.某算法框图如图2-2-20所示,若输出的S=57,则判断框内为( )
A.k>4 B.k>5
C.k>6 D.k>7
【解析】 k=1时,k=k+1=2,
S=2S+k=2×1+2=4;
k=2时,k=k+1=2+1=3,
S=2S+k=2×4+3=11;
k=3时,k=k+1=4,S=2S+k=2×11+4=26;
k=4时,k=k+1=5,S=2S+k=2×26+5=57.
此时S=57,循环结束,k=5,所以判断框内应填“k>4”,故选A.
【答案】 A
二、填空题(每小题5分,共10分)
6.(2013·江苏高考)如图是一个算法的流程图,则输出的n的值是________.
图2-2-21
【解析】 算法流程图执行过程如下:
n=1,a=2,a<20;
a=8,n=2,a<20;
a=26,n=3,a>20.
输出n=3.
【答案】 3
7.如图2-2-22所示的算法框图的功能是计算2×4×6×…×100的值,则处理框内应填________.
图2-2-22
【解析】 参与求积的因数皆为正偶数,故i的变化应保持始终是偶数,故i=i+2.
【答案】 i=i+2
8.如图2-2-23是统计该6名队员在最近三场比赛中投进的三分球总数的算法框图,则图中判断框应填________,输出的s=________.
图2-2-23
【解析】 观察算法框图可以看出,判断框内的条件满足时才执行循环体,所以判断框应填i≤6,输出的s是这6名队员成绩的和,即s=a1+a2+a3+a4+a5+a6.
【答案】 i≤6 a1+a2+a3+a4+a5+a6
三、解答题
9.计算下面的和:+++…+,画出其算法框图.
【解】 算法框图如图所示:
10.某高中男子体育小组的50 m赛跑成绩(单位:s)为6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5,7.6,6.3,6.4,6.4,6.5,6.7,7.1,6.9,6.4,7.1,7.0.设计一个算法,从这些成绩中搜索出小于6.8 s的成绩,并画出流程图.
【解】 体育小组共20人,要解决该问题必须对运动员进行编号,设第i个运动员编号为Ni,成绩为Gi.可以设计下面的算法.
算法如下:
第一步,i=1;
第二步,输入Ni,Gi;
第三步,如果Gi<6.8,则输出Ni、Gi,并执行第四步,否则,也执行第四步;
第四步,i=i+1;
第五步,如果i>20,则结束,否则返回第二步.
算法框图如图所示:
11.阅读如图2-2-24所示的算法框图,若输入n0=0, 则输出的结果为多少?
图2-2-24
【解】 当n0=0时,n=0,
n=n+1=0+1=1,
m==20∈N,且20≠1,所以输出m=20;
n=1+1=2,m==10,且10≠1,输出10;
n=2+1=3,m=?N,
n=3+1=4,
m==5∈N,且5≠1,∴输出m=5;
n=4+1=5,m==4∈N,且4≠1,∴输出m=4;
n=6,7,8时均不输出,n=9时,n+1=10,m=2∈N,且2≠1,输出m=2.
n=11,12,13,14,15,16,17,18时均不输出,
n=19时,n+1=20,m=1∈N,结束.
∴综上,输出的结果为20,10,5,4,2.
一、选择题
1.为了在运行下面的算法语句之后输出y=9,键盘输入应该是( )
输入x;
A.x=-4 B.x=-2
C.x=4或-4 D.x=2或-2
【解析】 当x<0时,由(x+1)(x+1)=9得x=-4,
当x≥0时,由(x-1)(x-1)=9得x=4,∴x=4或-4.
【答案】 C
2.以下算法语句运行的结果为( )
A.0 B.2
C.4 D.-4
【解析】 运行过程中m=2,a=-2,b=2,因为a≤b,所以x=a+b=0.
【答案】 A
3.阅读下列语句:
如果输出5,则输入的a为( )
A.2.5 B.2
C.-2 D.±2
【解析】 由算法语句可知,令2a=5,则a=<5(舍).令a2+1=5,
则a=±2,满足题意.
【答案】 D
4.下列算法语句运行的结果是( )
A=4.5
B=6
A.10.5 B.11.5
C.16 D.25
【解析】 A=4.5<5,∴B=6-3=3,B=3+2=5.
又5≥4,∴B=52=25.
【答案】 D
5.对于条件语句的描述正确的是( )
A.执行下列条件语句时,当不满足条件时,执行语句1,满足条件时执行语句2
If 条件 Then
语句1
Else
语句2
End If
B.执行下列条件语句时,如果满足条件,那么就执行Then后的语句,如果不满足条件,那么就直接结束该条件语句,转而执行其他语句
If 条件 Then
语句
End If
C.条件语句在程序中能够减少大量烦琐的计算
D.条件语句中不能有输出语句
【解析】 A中,如果满足条件,那么就执行语句1,否则执行语句2,所以A不正确;条件语句在程序中起判断转折作用,不能减少大量烦琐的计算,所以C不正确;条件语句中可以有输出语句,所以D不正确.
【答案】 B
二、填空题
6.下列程序的功能是:判断任意输入的数x是否是正数,若是,输出它的平方值;若不是,输出它的相反数.
输入x;
则填入的条件应该是________.
【解析】 由程序的功能和If语句可知,If后面的条件应填x≤0.
【答案】 x≤0
7.写出下列程序运行结果.
若输入x=6,则p=________;
若输入x=18,则p=________.
【解析】 x=6时,p=6×0.35=2.1;
x=18时,p=10×0.35+8×0.7=9.1.
【答案】 2.1 9.1
8.若运行如下语句,最后输出y的值为-20,那么应该输入t的值为________.
【解析】 可得如下分段函数y=
当2t-8=-20,∴t=-6,合题意;
当8t-t2=-20,∴t2-8t-20=0,∴t=10,
或t=-2(舍),故t=-6或10.
【答案】 -6或10
三、解答题
9.用基本算法语句描述一个算法,要求输入两个实数,然后由小到大输出这两个数.
【解】 算法语句为:
10.下面是计算应纳税所得额的算法过程,其算法如下:
第一步:输入工资x(注x≤5 000);
第二步:如果x≤2 000,那么y=0;
如果2 000那么y=0.05(x-2 000);
否则y=25+0.1(x-2 500);
第三步:输出税款y,结束.
请写出该算法的算法框图和相应的算法语句.
【解】 算法框图如下:
算法语句为:
输入x;
11.根据下面的框图回答后面的问题.
(1)用语句描述其算法;
(2)研究框图,回答:
①当输入的x值为1时,输出的y值为多少?
②要使输出的y值为10,输入的x值应该为多少?
③输入的x值和输出的y值可能相等吗?若能,x的输入值为多少?若不能,说明理由.
图2-3-2
【解】 (1)用语句描述算法如下:
输入x;
(2)①当x=1时,∵1≤3,∴y=2×1=2,∴输出的y是2.
②由2x=10得x=5>3(舍),
由2x+2=10,知x=4.
∵4>3,∴要使输出的值为10,输入的应为4.
③可能相等.当输入的x=0时,y=2x=0,输入的x值和输出y值相等.
当2x+2=x即x=-2时,虽然有y=x,但-2<3,此时不可能.
综上,当输入的x=0时,输入值x和输出值y相等.
一、选择题
1.以下算法语句:
S=0
For x=-1 To 11
S=x*x
Next
输出S
该语句输出结果是( )
A.-1 B.11
C.100 D.121
【解析】 由For语句的算法特点知S=11×11=121.
【答案】 D
2.看下面算法语句:
i=1
Sum=0
Do
Sum=Sum+i
i=i+1
Loop While i<=10
输出Sum.
则最后i的值等于( )
A.10 B.11
C.12 D.9
【解析】 由算法结构知i=11.
【答案】 B
3.下列算法语句中的For语句终止循环时,S等于( )
S=0
For M=1 To 10
S=S+M
Next
输出S.
A.1 B.5
C.10 D.55
【解析】 S=0+1+2+…+10=55.
【答案】 D
4.如果算法语句运行后输出的结果是720,则在横线处应填入的正整数为
( )
t=10
S=1
Do
S=S*t
t=t-1
Loop While t>____
输出S
A.9 B.8
C.7 D.6
【解析】 第一次执行循环体,S=1×10=10,t=9,
第二次执行循环体,S=10×9=90,t=8,
第三次执行循环体,S=90×8=720,t=7,
依题意,循环结束,根据Do Loop语句的要求,条件不满足时,结束循环,所以条件应为t>7,故选C.
【答案】 C
5.读下面程序,输出结果为( )
【解析】 本语句反复执行S=2(S+1)共9次,第一次为S=4,第2次为S=2×(4+1)=10,则第9次为S=1 534.
【答案】 B
二、填空题
6.以下算法语句:
S=1
k=13
Do
S=S*k
k=k-1
Loop While ________
输出S.
若语句运行的结果是S=156,则横线处应填入的k的条件是________.
【解析】 第一次循环是S=1×13=13,
第二次循环是S=13×12=156,
故k的条件应是k≥12或k>11.
【答案】 k≥12或k>11
7.执行算法语句:
S=0
For i=0 To 10 000 Step 2
S=S+i
End If
则循环10次的结果是________.
【解析】 算法语句实际是在计算S=0+2+4+6+8+…+10 000.
若循环10次,
则有S=0+2+4+…+18=90.
【答案】 90
8.下面两个程序的运行结果分别为________、________.
【解析】 (1)由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i=6.
(2)S=0,i=1;S=0+1,i=2;…,S=0+1+2+3+4+5,i=6,由于此时S=15<20,
∴继续执行S=0+1+2+3+4+5+6,i=6+1=7,此时S=21>20,故i=7.
【答案】 6 7
三、解答题
9.据下列框图写出对应算法语句.
图2-3-3
【解】 S=0
For i=1 To 1 000
S=S+i
Next
输出S
10.已知S=1×××…×,使用基本语句描述一个算法,输入n的值,输出S的值.
【解】 用Do Loop语句描述该算法如下:
输入n;
i=1
S=1
Do
S=S*(1/i)
i=i+1
Loop While i≤n
输出S
11.算法如下:
若输入的是10,则输出的结果是多少?
【解】 若输入a=10,
第1次循环,S=2×1=2,a=10-1=9≥1,
第2次循环,S=2×2=4,a=9-1=8≥1,
第3次循环,S=2×4=8,a=8-1=7≥1,
第4次循环,S=2×8=16,a=7-1=6≥1,
第5次循环,S=2×16=32,a=6-1=5≥1,
第6次循环,S=2×32=64,a=5-1=4≥1,
第7次循环,S=2×64=128,a=4-1=3≥1,
第8次循环,S=2×128=256,a=3-1=2≥1,
第9次循环,S=2×256=512,a=2-1=1≥1,
第10次循环,S=2×512=1 024,a=1-1=0<1,
终止循环,输出S=1 024.