第一章算法初步
1.1 算法与程序框图
1.1.1 算法的概念
课后篇巩固提升
1.下列所给问题中,不能设计一个算法求解的是( )
A.用二分法求方程x2-3=0的近似解(精确度0.01)
B.解方程组x+y+5=0,x-y+3=0
C.求半径为2的球的体积
D.求S=1+2+3+…的值
解析对于D,S=1+2+3+…,不知道需要多少步完成,所以不能设计一个算法求解.
答案D
2.小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅、盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条和菜共3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用( )
A.13分钟 B.14分钟 C.15分钟 D.23分钟
解析①洗锅、盛水2分钟+④用锅把水烧开10分钟(同时②洗菜6分钟+③准备面条及佐料2分钟)+⑤煮面条和菜共3分钟=15分钟.解决一个问题的算法不是唯一的,但在设计时要综合考虑各个方面的因素,选择一种较好的算法.
答案C
3.有如下算法:
第一步,输入不小于2的正整数n.
第二步,判断n是否为2.若n=2,则n满足条件;
若n>2,则执行第三步.
第三步,依次从2到n-1检验能不能整除n,若都不能整除,则n满足条件.
上述算法中满足条件的n是( )
A.质数
B.奇数
C.偶数
D.合数
解析依据质数、奇数、偶数和合数的定义及算法的功能可以判断满足条件的n是质数.
答案A
4.如下算法:
第一步,输入x的值.
第二步,若x≥0,则y=x;否则,y=x2.
第三步,输出y的值.
若输出y的值是9,则x的值是( )
A.3 B.-3
C.3或-3 D.-3或9
解析根据题意,可知此为分段函数y=x,x≥0,x2,x<0的算法.当x≥0时,x=9;当x<0时,x2=9,x=-3.
答案D
5.已知一个算法:
第一步,m=a.
第二步,若b
第三步,若c如果a=3,b=6,c=2,那么执行这个算法的结果是( )
A.3 B.6 C.2 D.m
解析当a=3,b=6,c=2时,依据算法执行后,m=a=3答案C
6.给出下列算法:
第一步,输入x的值.
第二步,当x>4时,计算y=x+2;否则,计算y=4-x.
第三步,输出y的值.
当输入x=0时,输出y= .?
解析由于x=0>4不成立,故计算y=4-x=2,输出y=2.
答案2
7.结合下面的算法:
第一步,输入x.
第二步,判断x是否小于0,若是,则输出3x+2,
否则执行第三步.
第三步,输出x2+1.
当输入的x的值分别为-1,0,1时,输出的结果分别为 、 、 .?
解析当x=-1时,-1<0,输出3×(-1)+2=-1;
当x=0时,0=0,输出02+1=1;
当x=1时,1>0,输出12+1=2.
答案-1 1 2
8.下面是解二元一次方程组2x-y+6=0,①x+y+3=0②的一个算法,请将该算法补充完整.
第一步,①②两式相加,得3x+9=0. ③
第二步,由③式可得 . ④?
第三步,将④式代入①式,得y=0.
第四步,输出方程组的解 .?
解析由解二元一次方程组的步骤知,第二步应为解③得x的值为x=-3,第四步是输出方程组的解x=-3,y=0.
答案x=-3 x=-3,y=0
9.一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(不用砝码)将假银元找出来吗?
解(法一)第一步,任取2枚银元分别放在天平两边,若天平左右不平衡,则轻的一边放的就是假银元;若天平左右平衡,则进行第二步.
第二步,取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平左右不平衡为止,右边放的就是假银元.
(法二)第一步,把银元分成3组,每组3枚.
第二步,先将任意两组分别放在天平的两边,若天平左右不平衡,则假银元就在轻的那一组里;若天平左右平衡,则假银元就在未称的那一组里.
第三步,取出含假银元的那一组,从中任取2枚银元放在天平的两边,若天平左右不平衡,则轻的一边放的就是假银元;若天平左右平衡,则未称的那一枚就是假银元.
10.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:
(1)有三根杆子A,B,C,A杆上有三个碟子(大小不等,自上到下,由小到大),如图;
(2)每次移动一个碟子,小的只能叠在大的上面;
(3)把所有碟子从A杆移到C杆上.
试设计一个算法,完成上述游戏.
解第一步,将A杆最上面碟子移到C杆.
第二步,将A杆最上面碟子移到B杆.
第三步,将C杆上的碟子移到B杆.
第四步,将A杆上的碟子移到C杆.
第五步,将B杆最上面的碟子移到A杆.
第六步,将B杆上的碟子移到C杆.
第七步,将A杆上的碟子移到C杆.
课件28张PPT。1.1.1 算法的概念一、算法的概念
1.某电视娱乐节目中,有一种有趣的“猜数”游戏:竞猜者如果能在规定的时间内猜出某种商品的价格(或重量等),就可获得该商品.现有一商品,价格在0~8 000元之间,采取怎样的策略才能在较短的时间内猜出正确的结果呢?
解决这个问题有多种途径,其中一种较好的方法是:
第一步 报“4 000”.
第二步 若主持人说“高了”(说明答数在0~4 000之间),就报“2 000”;否则(说明答数在4 000~8 000之间),报“6 000”.
第三步 重复第二步的报数方法,直至得到正确结果.
(1)竞猜者每一步的报价有一定的规则吗?
(2)猜出这种商品的步骤是有限的吗?
提示(1)有,报价为上一个有效范围的中间值.
(2)是.2.填空:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.3.做一做1:判断题
(1)一个算法的步骤应该是有限的,不能是无限的. ( )
(2)算法中的每一步骤都应当是确定的,不应当是含糊的、模棱两可的. ( )
答案:(1)√ (2)√二、算法设计
1.在初中,对于解二元一次方程组,你学过哪些方法?解二元一次3.由问题2我们得到了二元一次方程组的求解公式,利用此公式可得到问题1的另一个算法,请写出此算法.
提示第一步,取A1=2,B1=1,C1=-7,A2=4,B2=5,C2=-11.
第三步,输出运算结果.
4.一个问题的算法是唯一的吗?
提示不唯一.5.做一做2:判断题
(1)算法中的每一步骤都应当有效地执行,并得到确定的结果.( )
(2)一个问题只能设计出一种算法.( )
答案:(1)√ (2)×6.做一做3:(1)下列选项可以看成算法的是( )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题很难做
D.方程2x2-x+1=0无实数根
(2)下面是某人从家出发,先搭出租车去火车站,再坐火车去北京的一个算法,请补充完整.
第一步,从家出发.
第二步, .?
第三步,坐火车去北京.
答案:(1)A (2)搭出租车去火车站探究一探究二探究三思维辨析对算法概念的理解
例1下列描述不是解决问题的算法的是( )
A.从中山到北京先坐汽车,再坐火车
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-4x+3=0有两个不相等的实根
D.解不等式ax+3>0时,第一步移项,第二步讨论当堂检测探究一探究二探究三思维辨析解析:A选项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题;
B选项,解一元一次方程的步骤:去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题;
D选项,解不等式ax+3>0时,第一步移项,将不等式化为ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题;
选项C只是一个正确的命题,没有解决什么问题,因此不是算法.
答案:C
反思感悟 辨析算法的有关概念,只要抓住算法定义中的几个关键词(规则、解决、某一类、明确、有限以及步骤)即可.事实上,算法也是一种解决问题的方法,但与程序不同,程序是算法的一种具体体现.当堂检测探究一探究二探究三思维辨析变式训练1下列关于算法的描述正确的是( )
A.算法与求解一个问题的方法相同
B.算法只能解决一个问题,不能重复使用
C.算法过程要一步一步执行,每步执行的操作必须确切
D.有的算法执行完后,可能无结果
解析:算法与求解一个问题的方法既有区别又有联系,故选项A不对;算法能重复使用,故选项B不对;每个算法执行后必须有结果,故选项D不对;由算法的有序性和确定性可知选项C正确.
答案:C当堂检测探究一探究二探究三思维辨析
例2 写出求1+2+3+4+5+6的值的算法.
分析思路一:按题意可以采取逐个相加的方法计算结果,但这样做计算量较大.思路二:由于重复做加法,故可以设计做重复加法运算.
解:算法一:
第一步,计算1+2得到3.
第二步,将第一步的运算结果3与3相加,得到6.
第三步,将第二步的运算结果6与4相加,得到10.
第四步,将第三步的运算结果10与5相加,得到15.
第五步,将第四步的运算结果15与6相加,得到21.数值性算法的设计 当堂检测探究一探究二探究三思维辨析算法二:
第一步,输入n的值6.
第二步,令i=1,S=0.
第三步,判断“i≤n”是否成立.若不成立,则输出S,结束算法;否则,执行下一步.
第四步,令S的值增加i,仍用S表示,令i的值增加1,仍用i表示,返回第三步.当堂检测探究一探究二探究三思维辨析反思感悟1.该类问题属于数值性计算问题(如解方程、解不等式、直接套用公式求解等),其求解思路是:借助一般数学计算方法,分解成清晰的步骤,直到算出结果即可.
2.算法设计的一般步骤:当堂检测探究一探究二探究三思维辨析互动探究(1)若将【例2】中的加法改为乘法呢?试写出求解改后算式的值的算法.
(2)若将例2改为写出求满足1+2+3+…+n>20的最小自然数n呢?试写出其算法.
分析(1)思路一:按题意可以采取逐个乘法的方法计算结果,但这样做计算量较大.思路二:由于重复做乘法,故可以设计做重复乘法运算.(2)可以逐个值代入计算检验,找出最小的自然数n;也可以利用重复加法与约束条件设计算法.当堂检测探究一探究二探究三思维辨析解:(1)算法一:第一步,计算1乘2,得到2.
第二步,将第一步的运算结果2乘3,得到6.
第三步,将第二步的运算结果6乘4,得到24.
第四步,将第三步的运算结果24乘5,得到120.
第五步,将第四步的运算结果120乘6,得到720.
算法二:第一步,输入n的值6.
第二步,令i=2,S=1.
第三步,判断“i≤n”是否成立.若不成立,则输出S,结束算法;否则,执行下一步.
第四步,令S的值乘i,仍用S表示,令i的值增加1,仍用i表示,返回第三步.当堂检测探究一探究二探究三思维辨析(2)第一步,计算1+2=3,显然3>20不成立,执行第二步;
第二步,将第一步计算的结果3与3相加,得到6,显然6>20不成立,执行第三步;
第三步,将第二步计算的结果6与4相加,得到10,显然10>20不成立,执行第四步;
第四步,将第三步计算的结果10与5相加,得到15,显然15>20不成立,执行第五步;
第五步,将第四步计算的结果15与6相加,得到21,显然21>20成立.所以输出6.当堂检测探究一探究二探究三思维辨析非数值性算法的设计
例3写出求a,b,c三个数中最大数的算法.
分析设a为最大数→与b比较→取较大者与c比较即可
解:算法如下:
第一步,令max=a.
第二步,比较max与b的大小,若b>max,
则令max=b;否则,max保持不变.
第三步,比较max与c的大小,若c>max,
则令max=c,否则,max保持不变.
第四步,max就是a,b,c中的最大数.当堂检测探究一探究二探究三思维辨析反思感悟 在日常生活中,常见的排序、查找、变量变换、文字处理等非数值性的问题,都可通过设计算法来解决.在设计这类问题的算法时,需先建立过程模型,再通过模型进行算法设计与描述.设计具体的数学问题的算法,实际上就是寻求一类问题的算法,它可以通过计算机来完成.当堂检测探究一探究二探究三思维辨析变式训练2某比赛在计算选手的最后得分时,要去掉所有评委对该选手所打分数中的最高分和最低分.试设计一个找出最高分的算法.
解:算法如下:
第一步,先假定第一个分数为“最高分”.
第二步,将第二个分数与“最高分”比较.若它比“最高分”高,则假定这个分数为“最高分”;否则,“最高分”不变.
第三步,若还有其他分数,则重复第二步;否则,这时假定的“最高分”就是所有评委打分中的最高分.当堂检测探究一探究二探究三思维辨析算法中错用省略号而致误
典例 设计一个算法,求a1,a2,a3,a4,a5五个不同实数中最小的数.
错解第一步,比较a1,a2的大小.若a1第二步,比较m,a3的大小.若a3……
第四步,比较m,a5的大小.若a5第五步,输出m.
以上错解中都有哪些错误?出错的原因是什么?你如何订正?你如何防范?
错因分析省略号表达的步骤不明确,不符合算法的确定性.当堂检测探究一探究二探究三思维辨析正解第一步,比较a1,a2的大小.若a1第二步,比较m,a3的大小.若a3第三步,比较m,a4的大小.若a4第四步,比较m,a5的大小.若a5第五步,输出m的值.
防范措施算法是为解决某一类问题而设计的一系列可操作或可计算的步骤,通过这些步骤能够有效地解决问题.算法具有有限性、确定性、有序性和不唯一性的特征,在解题中要做到灵活应用和熟练掌握,如本例主要考查了算法的确定性.当堂检测探究一探究二探究三思维辨析变式训练计算下列各式中的S值,能设计算法求解的是( )
①S=1+2+3+…+30;
②S=1+2+3+…+30+…;
③S=1+2+3+…+n(n∈N*).
A.① B.②③ C.①③ D.①②③
解析:我们设计算法是用来求解一类问题的,也就是说在实际的算法中n的值是具体确定的,算法会根据具体确定的n来求值计算,所以①③是正确的.而算法又具有有限性,即执行有限步操作后一定能解决问题,而②显然不符合算法的有限性,所以②不正确,故选C.
答案:C当堂检测探究一探究二探究三思维辨析当堂检测1.下列叙述能称为算法的个数是( )
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100;
③从枣庄乘火车到徐州,从徐州乘飞机到广州;
④3x>x+1;
⑤求所有能被3整除的正数,即3,6,9,12,….
A.2 B.3 C.4 D.5
解析:①②③是算法,④⑤均不存在确定的步骤,因此不是算法.
答案:B探究一探究二探究三思维辨析当堂检测2.已知直角三角形两直角边长分别为a,b,求斜边长c的一个算法分下列三步:
①计算c= ;②输入直角三角形两直角边长a,b的值;③输出斜边长c的值.其中正确的顺序是( )
A.①②③ B.②③①
C.①③② D.②①③
答案:D探究一探究二探究三思维辨析当堂检测3.下列各式中S的值不能用算法求解的是 (填序号).?
①S=13+23+33+43+…+1003;
③S=1+2+3+4+5+…;
④S=1-2+3-4+5-6+…+99-100.
解析:根据算法的有限性知③不能用算法求解.
答案:③探究一探究二探究三思维辨析当堂检测4.已知一名学生的语文成绩为89分,数学成绩为96分,外语成绩为99分,求他的总分D和平均成绩E的一个算法为:
第一步,取A=89,B=96,C=99.
第二步, .?
第三步, .?
第四步,输出D,E.
解析:要计算平均分,应先计算出三科的总分.第二步应为:计算总分D=A+B+C.第三步应为:计算平均成绩 .
答案:计算总分D=A+B+C 计算平均成绩