1.3 算法案例
内 容 标 准
学 科 素 养
1.会用辗转相除法与更相减损术求两个数的最大公约数.2.会用秦九韶算法求多项式的值.3.会在不同进位制间进行相互转化.
提升数学运算发展逻辑推理培养数据分析
授课提示:对应学生用书第20页
[基础认识]
知识点一 辗转相除法与更相减损术
预习教材P34-37,思考并完成以下问题
韩信是秦末汉初的著名军事家.据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数.
韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行.
在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2
333人.众人听了一愣,不知道韩信用什么方法这么快就能得出正确的结果的.
(1)如何求18与54的最大公约数?
提示:短除法.
(2)要求6
750与3
492的最大公约数,上述法还好用吗?
提示:数值太大,短除法不方便用.
知识梳理 1.辗转相除法
(1)辗转相除法,又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.
(2)辗转相除法的算法步骤:
第一步,给定两个正整数m,n.
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则返回第二步.
2.更相减损术
(1)更相减损术是我国古代数学专著《九章算术》中介绍的一种求两个正整数的最大公约数的算法.
(2)其基本过程是:
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
知识点二 秦九韶算法
预习教材P37-39,思考并完成以下问题
已知多项式f(x)=x5+3x4-3x3+4x2-x-1.
(1)求f(1).
提示:f(1)=1+3-3+4-1-1=3.
(2)若求f(39),再代入运算出现什么情况?
提示:运算量太大,不易运算.
知识梳理 秦九韶算法的算法原理
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:
f(x)=anxn+an-1xn-1+…+a1x+a0
=(anxn-1+an-1xn-2+…+a1)x+a0
=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0
=…
=(…((anx+an-1)x+an-2)x+…+a1)x+a0.
求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=anx+an-1,
然后由内向外逐层计算一次多项式的值,即
v2=v1x+an-2,
v3=v2x+an-3,
…
vn=vn-1x+a0.
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.
知识点三 进位制
预习教材P40-45,思考并完成以下问题
(1)今天是星期二,那么20天后是星期几?
提示:20天后是星期一.
(2)每周七天,逢七便又是一循环,这与我们所学过的十进制,逢十进一是否有相似之处?
提示:其实一周七天,与十进制一样,相当于逢七进一,是七进制法.
知识梳理 1.进位制
(1)概念:进位制是为了计数和运算方便而约定的记数系统,“满几进一”就是几进制.
(2)基数:几进制的基数就是几.
2.不同进位制之间的互化
(1)k进制化为十进制的方法:anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k+a0(an,an-1,…,a1,a0∈N,0<an<k,0≤an-1,…,a1,a0<k).
(2)十进制化为k进制的方法——除k取余数.
[自我检测]
1.设计程序框图,用秦九韶算法求多项式的值,所选用的结构是( )
A.顺序结构 B.条件结构
C.循环结构
D.以上都有
解析:根据秦九韶算法的含义知选D.
答案:D
2.以下各数有可能是五进制数的是( )
A.15
B.106
C.731
D.21
340
解析:五进制数中各个数字均是小于5的自然数,故选D.
答案:D
3.228与1
995的最大公约数是__________.
解析:1
995=228×8+171,
228=171×1+57,
171=57×3,
∴57是228与1
995的最大公约数.
答案:57
授课提示:对应学生用书第21页
探究一 求两个正整数的最大公约数
[阅读教材P36例1]用更相减损术求98与63的最大公约数.
方法步骤:
第一步,任意给定两个正整数m,n(m>n).
第二步,计算m-n所得的差k.
第三步,比较n与k的大小,其中大者用m表示,小者用n表示.
第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.
[例1] 分别用辗转相除法和更相减损术求261和319的最大公约数.
[解析] 法一:(辗转相除法)
319÷261=1(余58),
261÷58=4(余29),
58÷29=2(余0),
所以319与261的最大公约数为29.
法二:(更相减损术)
319-261=58,
261-58=203,
203-58=145,
145-58=87,
87-58=29,
58-29=29,
29-29=0,
所以319与261的最大公约数是29.
方法技巧 1.利用辗转相除法求给定的两个数的最大公约数,即利用带余除法,用数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.
2.利用更相减损术求两个正整数的最大公约数的一般步骤是:首先判断两个正整数是否都是偶数.若是,用2约简.也可以不除以2,直接求最大公约数,这样不影响最后结果.
跟踪探究 1.用辗转相除法求80与36的最大公约数,并用更相减损术检验你的结果.
解析:80=36×2+8,
36=8×4+4,8=4×2+0,
即80与36的最大公约数是4.
验证:
80÷2=40,36÷2=18.
40÷2=20,18÷2=9.
20-9=11,11-9=2.
9-2=7,7-2=5.
5-2=3,3-2=1.
2-1=1,1×2×2=4.
所以80与36的最大公约数为4.
探究二 秦九韶算法
[阅读教材P38例2]已知一个5次多项式为f(x)=4x5+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.
方法步骤:
第一步,改写多项式;
第二步,由内到外依次计算;
第三步,结论.
[例2] 用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.
[解析] f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x
所以有
v0=7,
v1=7×3+6=27,
v2=27×3+5=86,
v3=86×3+4=262,
v4=262×3+3=789,
v5=789×3+2=2
369,
v6=2
369×3+1=7
108,
v7=7
108×3=21
324.
故当x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21
324.
方法技巧 秦九韶算法原理及注意事项
(1)秦九韶算法的原理是
(k=1,2,…,n).
(2)在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,那么下一步,一直到最后一步就会全部算错,同学们在计算这种题时应格外小心.
跟踪探究 2.用秦九韶算法计算多项式f(x)=12+35x-8x2+6x4+5x5+3x6在x=-4时的值时,v3的值为( )
A.-144
B.-136
C.-57
D.34
解析:根据秦九韶算法多项式可化为f(x)=(((((3x+5)x+6)x+0)x-8)x+35)x+12.
由内向外计算v0=3;
v1=3×(-4)+5=-7;
v2=-7×(-4)+6=34;
v3=34×(-4)+0=-136.
答案:B
3.用秦九韶算法计算f(x)=6x5-4x4+x3-2x2-9x,需要加法(或减法)与乘法运算的次数分别为( )
A.5,4
B.5,5
C.4,4
D.4,5
解析:n次多项式需进行n次乘法;若各项均不为零,则需进行n次加法,缺一项就减少一次加法运算.f(x)中无常数项,故加法次数要减少一次,为5-1=4.故选D.
答案:D
探究三 进位制
[阅读教材P41例3]把二进制数110
011(2)化为十进制数.
方法步骤:
第一步,写成不同位上数字与2的幂的乘积之和;
第二步,按照十进制数的运算规则进行计算.
[例3] 把“五进制”数1
234(5)转化为“十进制”数,再把它转化为“八进制”数.
[解析] ∵1
234(5)=1×53+2×52+3×51+4×50=194,而
∴1
234(5)=194=302(8).
方法技巧 1.把k进制数化为十进制数的方法是:先把这个k进制数写成用各位上的数字与k的幂的乘积之和的形式,再按照十进制数的运算法则计算出结果.
2.将十进制数化为k进制数的方法是除k取余法,即用k连续地去除十进制数所得的商,直到商为0为止,然后将余数倒排写出,即得到所求的k进制数.
3.把一个非十进制数转化为另一个非十进制数,通常是把这个数先转化为十进制数,然后再利用除k取余法,再把这个数转化为另一个非十进制数.
延伸探究 1.将例题改为:把210(6)化成十进制数为__________.
85化成七进制数为__________.
解析:210(6)=2×62+1×6=78,
所以85=151(7).
答案:78 151(7)
2.将例题改为:把1234(5)化成七进制数为__________.
解析:∵1234(5)=1×53+2×52+3×51+4×50=194.而
∴1
234(5)=194=365(7).
答案:365(7)
授课提示:对应学生用书第23页
[课后小结]
1.求两个正整数的最大公约数的问题,可以用辗转相除法,也可以用更相减损术.用辗转相除法,即根据a=nb+r这个式子,反复相除,直到r=0为止;用更相减损术,即根据r=|a-b|这个式子,反复相减,直到r=0为止.
2.秦九韶算法的关键在于把n次多项式转化为一次多项式,注意体会递推的实现过程,实施运算时要由内向外,一步一步执行.
3.把一个非十进制转化为另一种非十进制数,通常是把这个数先转化为十进制数,然后再利用除k取余法,把十进制数转化为k进制数.而在使用除k取余法时要注意以下几点:
(1)必须除到所得的商是0为止;
(2)各步所得的余数必须从下到上排列;
(3)切记在所求数的右下角标明基数.
[素养培优]
对秦九韶算法中的运算次数理解错误
已知f(x)=x5+2x4+3x3+4x2+5x+6,用秦九韶算法求这个多项式当x=2时的值时,做了几次乘法?几次加法?
易错分析 在v1中虽然“v1=2+2=4”,而计算机还是做了1次乘法“v1=2×1+2=4”.因为用秦九韶算法计算多项式f(x)=anxn+an-1xn-1+…+a1x+a0当x=x0时的值时,首先将多项式改写成f(x)=(…(anx+an-1)x+…+a1)x+a0,然后再计算v1=anx+an-1,v2=v1x+an-2,v3=v2x+an-3,…,vn=vn-1x+a0.无论an是不是1,这次的乘法都是要进行的.
自我纠正 由以上分析,共做了5次乘法,5次加法.
PAGE1.1 算法与程序框图
1.1.1 算法的概念
内 容 标 准
学 科 素 养
1.通过回顾解二元一次方程组的方法,了解算法的思想.2.了解算法的含义和特征.3.会用自然语言表述简单的算法.
提升数学运算发展逻辑推理应用数学抽象
授课提示:对应学生用书第1页
[基础认识]
知识点一 算法的概念
预习教材P2-3,思考并完成以下问题
一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.
(1)试问他们怎样渡过河去?
提示:第一步,两个小孩同船过河去;
第二步,一个小孩划船回来;
第三步,一个大人划船过河去;
第四步,对岸的小孩划船回来;
第五步,两个小孩同船渡过河去.
(2)设计的过河方法有什么特点?
提示:由于船小,不能同时坐三个人,这样就需要遵循这一规则,然后按照一定的步骤一步一步的把三人运到河对岸.
知识梳理 在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
知识点二 算法与计算机
知识梳理 计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
思考:与一般的解决问题的过程相比,算法最重要的特征是什么?
提示:最重要的特征是步骤的有序性、明确性和有限性.
[自我检测]
下列叙述不能称为算法的是( )
A.从北京到上海先乘汽车到飞机场,再乘飞机到上海
B.解方程4x+1=0的过程是先移项再把x的系数化成1
C.利用公式S=πr2计算半径为2的圆的面积得π×22
D.解方程x2-2x+1=0
解析:A、B两选项给出了解决问题的方法和步骤,是算法.C项,利用公式计算也属于算法.D项,只提出问题没有给出解决的方法,不是算法.
答案:D
授课提示:对应学生用书第2页
探究一 算法的概念
[例1] 下列关于算法的说法,正确的个数为( )
①求解某一类问题的算法是唯一的;
②算法必须在有限步操作之后停止;
③算法的每一步操作必须是明确的,不能有歧义或模糊;
④算法执行后一定产生确定的结果.
A.1 B.2
C.3
D.4
[解析] 由于算法具有有限性、确定性、输出性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.
[答案] C
方法技巧 1.算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,在用算法解决问题时,显然体现了特殊与一般的数学思想.
2.算法的特点有:(1)有限性;(2)确定性;(3)顺序性与正确性;(4)不唯一性;(5)普遍性.解答有关算法概念的判断题应根据算法的这五大特点进行.
跟踪探究 1.下列叙述中,①植树需要运苗、挖坑、栽苗、浇水这些步骤;②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100;③从青岛乘动车到济南,再从济南乘飞机到沈阳观看全运会开幕式;④3x>x+1;⑤求所有能被3整除的正数,即3,6,9,12,….能称为算法的有__________.
解析:根据算法的含义和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一个明确的步骤,不符合确定性;⑤的步骤是无穷的,与算法的有限性矛盾.
答案:①②③
探究二 算法的阅读
[阅读教材P2思考]对于一元二次不等式组,其中a1b2-b1a2≠0,可以写出类似的求解步骤:
第一步,⑤×b2-⑥×b1,得(a1b2-a2b1)x=b2c1-b1c2 ⑦
第二步,解⑦,得x=
第三步,⑥×a1-⑤×a2,得(a1b2-a2b1)y=a1c2-a2c1 ⑧
第四步,解⑧,得y=.
第五步,得到方程组的解为.
[例2] 下面给出了一个问题的算法:
第一步,输入三个数,并分别用a、b、c表示.
第二步,比较a与b的大小,如果a第三步,比较a与c的大小,如果a第四步,比较b与c的大小,如果b第五步,输出a、b、c.
以上算法要解决的问题是__________,如果输入的三个数分别是6,28,14,则输出三数的顺序为__________.
[解析] 法一:特殊值法:
第一步:输入a=6,b=28,c=14.
第二步:因为a第三步:因为a>c,不做变化.
第四步:因为b第五步:输出28,14,6.
通过上述过程可知,此算法解决的问题是:对任意输入的三个数a、b、c,按从大到小的顺序输出.
法二:一般方法:
第一步是给a、b、c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,所以a>b>c.
第五步运行后,显示a、b、c的值,且从大到小排列.输出顺序:28,14,6.
[答案] 对任意输入的三个数a,b,c,按从大到小的顺序输出 28,14,6
方法技巧 一个算法的作用往往并不显而易见,这时我们可以结合具体数值去执行一下并从中得出规律.
跟踪探究 2.下面给出了一个问题的算法:
第一步,输入三角形的底边长a,底边上的高h.
第二步,计算S=.
第三步,输出S.
这个算法解决的问题是________________________________.
答案:已知三角形的底边长a,底边上的高为h,求这个三角形的面积
探究三 算法的设计
[阅读教材P3例1及解答](1)设计一个算法,判断7是否为质数.
(2)设计一个算法,判断35是否为质数.
题型:算法的设计
方法步骤:
第一步,用2除7,得到余数1,所以2不能整除7.
第二步,用3除7,得到余数1,所以3不能整除7.
第三步,用4除7,得到余数3,所以4不能整除7.
第四步,用5除7,得到余数2,所以5不能整除7.
第五步,用6除7,得到余数1,所以6不能整除7.
因此,7是质数.
类似地,可写出“判断35是否为质数”的算法.
[例3] 已知函数y=,试设计一个算法输入x的值,求对应的函数值.
[解析] 算法如下:
第一步:输入x的值.
第二步:当x≤-1时,计算y=-x2-1;否则执行第三步.
第三步:计算y=x3.
第四步:输出y.
方法技巧 分段函数求值问题的算法设计
分段函数求值的算法要运用分类讨论思想进行设计,对算法中可能遇到的情况一定要考虑周全,满足与不满足都要有相应的步骤.
延伸探究 1.该例条件若改为“已知函数y=”试设计一个算法输入x的值,求对应的函数值.
解析:算法如下:
第一步,输入x的值.
第二步,若x>0,则y=-x+1,然后执行第四步;否则执行第三步.
第三步,若x=0,则y=0;然后执行第四步,否则y=x+1.
第四步,输出y的值.
2.已知函数y=,下面是输入x的值,求对应的函数值的一个算法,请填空:
第一步:输入x.
第二步:若x>-1,输出__________;否则执行第三步.
第三步:输出__________.
当输入x的值为1时,输出的结果为__________.
答案:x3 -x2-1 1
授课提示:对应学生用书第3页
[课后小结]
1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性.
2.算法设计的要求:
(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.
(2)要使算法尽量简单,步骤尽量少.
(3)要保证算法正确,且算法步骤能够一步一步执行,每一步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.
[素养培优]
1.对算法的含义及特征的理解
计算下列各式中的S值,能设计算法求解的是__________.
(1)S=1+2+3+…+100.
(2)S=1+2+3+…+100+….
(3)S=1+2+3+…+n(n∈N
).
易错分析 错识的根本原因在于对算法的理解不透彻.
自我纠正 算法是为解决某一类问题而设计的一系列操作或可计算的步骤,也就是说在实际的算法中n的值是具体确定的,因此(1)(3)是正确的,而算法又是具有有限性的,即执行有限步操作后一定能解决问题,而(2)显然不符合算法的有限性,所以(2)不正确.
答案:(1)(3)
2.算法设计中步骤不明确
设计一个算法,将1
573分解成奇因数的乘积.
错解 算法如下:
第一步,判断1
573是否为素数:否.
第二步,寻找1
573的最小奇因数:不是2,也不是3…
易错分析
第二步的结果是不确定的,“不是2,也不是3”,到底有多少是不确定的?而算法中的每一步都要有明确具体的结果,只有这样,才有最终的结果.
自我纠正 算法如下:
第一步,判断1
573是否为素数:否.
第二步,确定1
573的最小奇因数11,即1
573=11×143.
第三步,判断143是否为素数:否.
第四步,确定143的最小奇因数11,即143=11×13.
第五步,判断13是否为素数:是.
分解结果是1
573=11×11×13.
PAGE1.1.2 程序框图与算法的基本逻辑结构
第1课时 程序框图、顺序结构
内 容 标 准
学 科 素 养
1.掌握程序框图的概念.2.熟悉各种程序框及流程线的功能和作用.3.能用程序框图表示顺序结构的算法.
发展逻辑推理应用直观想象提升数学建模
授课提示:对应学生用书第3页
[基础认识]
知识点一 程序框图
预习教材P6-7,思考并完成以下问题
我们都喜欢旅游,进入景区大门后,我们首先看到的是景点线路图,通过观看景点线路图能直观、迅速、准确的知道景区有哪几个景点,各景点之间按怎样的路径走,从而避免迷途或者漏掉景点的事情发生.
(1)为什么要用图形的方法表示算法?
提示:算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏直观性、简洁性,并且不容易理解.因此,我们有必要探究使算法表达得更加直观、准确的方法,即通过程序框图来实现.
(2)程序框图由哪几部分构成?根据你的预习你能归纳出来吗?
提示:通常程序框图由程序框和流程线组成,一个或几个程序框的组合表示算法中的一个步骤,流程线是带方向箭头的线,按照算法进行的顺序将程序框连接起来,程序框图主要包括以下几个部分:
①实现不同算法功能的相对应的程序框图的图形符号;
②带箭头的流程线;
③程序框内有必要的说明文字.
知识梳理 1.程序框图
(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
(2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
2.常见的程序框、流程线及各自表示的功能
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
○
连接点
连接程序框图的两部分
知识点二 顺序结构(预习教材P7-9)
知识梳理 1.算法的基本逻辑结构
顺序结构、条件结构和循环结构是算法的基本逻辑结构,所有算法都是由这三种基本结构构成的.
2.顺序结构的定义
由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构.
3.结构形式
思考:在顺序结构的图示中,“步骤n”与“步骤n+1”的执行顺序是怎样的?
提示:是依次执行的,即执行完“步骤n”框操作后,才执行“步骤n+1”框的操作.
[自我检测]
1.下列图形符号属于判断框的是( )
答案:C
2.在程序框图中,算法中间要处理数据或计算,可以分别写在不同的( )
A.处理框内 B.判断框内
C.输入、输出框内
D.起、止框内
答案:A
3.在如图所示的程序框图中,若输入A=7,则输出的结果S=__________.
解析:A=7,S=3×7-1=20.
答案:20
授课提示:对应学生用书第4页
探究一 程序框的认识与理解
[例1] 下列关于程序框图中图形符号的理解正确的有( )
①任何一个流程图必须有起止框;
②输入框只能放在开始框后,输出框只能放在结束框前;
③判断框是唯一的具有超过一个退出点的图形符号;
④对于一个程序框图来说,判断框内的条件是唯一的.
A.1个 B.2个
C.3个
D.4个
[解析] ①任何一个程序必须有开始和结束,从而流程图必须有起止框,正确.②输入、输出框可以用在算法中任何需要输入、输出的位置,错误.③正确.④判断框内的条件不是唯一的,错误.故选B.
[答案] B
方法技巧 1.理解程序框图中各框图的功能是解此类题的关键,用程序框图表示算法更直观、清晰、易懂;
2.起止框用“”表示,是任何流程不可少的,表明程序的开始和结束;
3.输入、输出框用“”表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内;
4.处理框用“”表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框;
5.判断框用“”表示,是唯一具有超过一个退出点的图形符号.
跟踪探究 1.下列说法正确的是( )
A.程序框图中的图形符号可以由个人来确定
B.也可以用来执行计算语句
C.程序框图中可以没有输出框,但必须要有输入框
D.用程序框图表达算法,其优点是算法的基本逻辑结构展现得非常直接
解析:一个完整的程序框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出信息,不能用来执行计算.
答案:D
探究二 程序框图的设计
[阅读教材P9例3]已知一个三角形三条边的边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.
方法步骤:
第一步,输入三角形三条边的边长a,b,c.
第二步,计算p=.
第三步,计算S=.
第四步,输出S.
第五步,画出程序框图(图见教材1.1-7).
[例2] 已知直角三角形的两条直角边长分别为a,b,设计一个求直角三角形内切圆面积的算法,并画出对应的程序框图.
[解析] 算法步骤如下:
第一步,输入直角三角形的直角边a,b的值.
第二步,计算斜边c=.
第三步,计算直角三角形内切圆半径r=(a+b-c).
第四步,计算内切圆面积S=πr2.
第五步,输出S.
程序框图如图所示:
方法技巧 1.对于套用公式求解的问题往往运用顺序结构,编写顺序结构的算法,应写公式,看公式中的条件是否满足,若不满足,则先求出需要量,然后将公式中涉及的量全部代入求值即可.
2.顺序结构的特点
语句与语句之间、框与框之间是按照从上到下的顺序进行的,可以形象称之为“一串糖葫芦”.
3.顺序结构在程序框图中的表现就是用流程线将程序框自上而下连接起来,按顺序执行.中间没有“转弯”,也没有“回头”,顺序结构只能解决一些简单问题.
跟踪探究 2.设计一个程序框图,求上底为2,下底为4,高为5的梯形的面积.
解析:算法步骤如下:
第一步,输入梯形的上底为a=2,
下底为b=4,高为h=5的值.
第二步,计算梯形面积,S=
第三步,输出S
程序框图如图所示:
3.下列程序框图中表示已知直角三角形两直角边a,b,求斜边c的算法的是( )
解析:画程序框图时,应先输入a,b,再计算c=,最后输出c.
答案:C
探究三 程序框图的应用
[例3] 如图所示是解决某个问题而绘制的程序框图,仔细分析各图框内的内容及图框之间的关系,回答下面的问题:
(1)该框图解决的是怎样的一个问题?
(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?
(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大?为什么?
(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?
[解析] (1)该框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x的值,输出的是x对应的函数值.
(2)y1=3,即2a+b=3.①
y2=-2,即-3a+b=-2.②
由①②得a=1,b=1.∴f(x)=x+1.
∴当x取5时,5a+b=f(5)=5×1+1=6.
(3)输入的x值越大,输出的函数值ax+b越大,
因为f(x)=x+1是R上的增函数.
(4)令f(x)=x+1=0,得x=-1,因此当输入的x值为-1时,输出的函数值为0.
方法技巧 由程序框图识别算法功能应注意的问题
根据算法功能求输出结果,或根据输出结果求框图中某一步骤,应注意以下几点:
(1)要明确各框图符号的含义及作用;
(2)要明确框图的方向流程;
(3)要正确认图,即根据框图说明该算法所要解决的问题.
其中明确算法功能是解决此类问题的关键.
跟踪探究 4.根据如图程序框图,若输入m的值是3,则输出的y的值是__________.
解析:若输入m的值是3,则p=8,y=8+5=13,故输出y的值为13.
答案:13
5.已知在平面直角坐标系中有一个圆心在坐标原点,半径为c的圆,(a,b)为任一点,则如图所示的程序框图表示的算法的作用是__________.
解析:∵x=表示点(a,b)到原点(0,0)的距离,∴该算法的功能是计算点(a,b)到原点的距离与圆的半径之差.
答案:计算点(a,b)到原点的距离与圆的半径之差
授课提示:对应学生用书第6页
[课后小结]
1.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基础和开端.
2.规范程序框图的表示:
(1)使用标准的框图符号;
(2)框图一般按从上到下、从左到右的方向画,流程线要规范;
(3)除判断框外,其他框图符号只有一个进入点和一个退出点;
(4)在图形符号内描述的语言要非常简练、清楚.
[素养培优]
1.程序框图设计不全
设计程序框图,求半径为10的圆的面积.
错解 程序框图如图:
易错分析 错误的根本原因在于程序框图中缺少终端框,不是完整的,因漏掉终端框而致误.一个完整的程序框图至少要有终端框和输入、输出框.
自我纠正 程序框图如图:
2.混淆构成流程图的图形符号及作用
已知x=4,y=2,画出计算w=3x+4y的值的流程图.
易错分析 输出框为平行四边形,此题中易错用矩形框.
自我纠正 如下图:
PAGE第2课时 条件结构
内 容 标 准
学 科 素 养
1.了解条件结构的概念,并明确其执行过程.2.理解条件结构在程序框图中的作用.
3.会用条件结构设计程序框图解决有关问题.
提升数学运算发展逻辑推理应用直观想象
授课提示:对应学生用书第6页
[基础认识]
知识点 条件结构
预习教材P10-12,思考并完成以下问题
在激烈市场竞争中'通常会遇到商品打折的情况,如某唱片在淘宝上的售价为25元,如果团购5个以上(含5个),那么按九折收费.
(1)对于这种算法,能用上节学的顺序结构画出它的程序框图吗?
提示:显然需要判断顾客购买唱片的张数,直接用顺序结构无法画出其程序框图.
(2)解关于x的方程ax+b=0的算法进行设计时,容易忽视的问题是什么?
提示:判断a是否为0.
知识梳理 1.条件结构的概念
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构.
2.条件结构程序框图的形式
名称
双条件结构
单条件结构
结构形式
特征
两个步骤A、B根据条件选择一个执行
根据条件是否成立选择是否执行步骤A
[自我检测]
1.下列算法中,含有条件结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
解析:解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时,方程有解,由于分情况,故用到条件结构.
答案:C
2.判断给出的整数n是否是偶数,设计程序框图时所含有的基本逻辑结构是( )
A.顺序结构
B.条件结构
C.顺序结构、条件结构
D.以上都不正确
解析:任何程序框图中都有顺序结构.当n能被2整除时,n是偶数;否则,n不是偶数,所以必须用条件结构来解决.故选C.
答案:C
3.如图所示,若输入x=-1,则输出y=__________.
解析:∵-1<3,
∴y=4-(-1)=5.
答案:5
授课提示:对应学生用书第7页
探究一 条件结构的理解
[例1] (1)下列关于条件结构的描述,不正确的是( )
A.条件结构的出口有两个,但在执行时,只有一个出口是有效的
B.条件结构的判断条件要写在判断框内
C.双选择条件结构有两个出口,单选择条件结构只有一个出口
D.条件结构根据条件是否成立,选择不同的分支执行
(2)给出以下四个问题:
①输入一个数x,输出它的绝对值;
②求面积为6的正方形的周长;
③求a,b,c三个数中的最大值;
④求函数f(x)=的函数值.
其中需要用条件结构来描述算法的有( )
A.1个
B.2个
C.3个
D.4个
[解析] (1)条件结构含有判断框,条件写在判断框内,有一个入口,两个出口,根据条件成立与否,选择不同的出口,故A、B、D正确,C错误.
(2)①③④都要对条件作出判断,用条件结构,②用顺序结构即可.
[答案] (1)C (2)C
方法技巧 条件结构不同于顺序结构的地方:它不是依次执行操作指令进行运算,而是依据条件作出逻辑判断,选择执行不同指令中的一个.一般地,这里的判断主要是判断“是”或“否”,即判断是否符合条件的要求,因而它有一个入口和两个出口,但最后还是只有一个终结口.
跟踪探究 1.如图是算法流程图的一部分,其算法的逻辑结构是( )
A.顺序结构
B.条件结构
C.判断结构
D.以上都不对
解析:是双选择条件结构形式.
答案:B
探究二 条件结构的设计
[阅读教材P10例4及解答]任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法的程序框图.
[例2] 画出求分段函数y=的函数值的程序框图.
[解析] 算法如下:
第一步,输入x的值.
第二步,判断x的大小.
若x≥0,则y=2x+1;
若x<0,则y=3x-2.
第三步,输出y的值.
程序框图如下:
方法技巧 含有条件结构的程序框图的设计
设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言).如果已经非常熟练地掌握了画程序框图的方法,那么可以省略设计算法步骤而直接画出程序框图.对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决.
延伸探究 1.将本例改为:已知函数y=,画出输入一个数x,求函数值的程序框图.
解析:程序框图如图所示.
2.仿照例2的解决方法,你能画出解关于x的方程ax+b=0的算法的程序框图吗?
解析:程序框图如图所示:
探究三 条件结构的实际应用
[例3] 某居民区的物业管理部门每月向居民收取卫生费,计算方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出一人加收1.2元.设计一个算法,根据住户的人数,计算应收取的卫生费,并画出程序框图.
[解析] 设住户的人数为x,收取的卫生费为y元,依题意得y=
这是一个分段函数求值问题,可用条件结构实现算法.
算法如下:
第一步:输入x.
第二步:若x≤3,则y=5;否则,y=5+1.2(x-3).
第三步:输出y.
程序框图如图所示.
方法技巧 与现实生活有关的题目经常需用到条件结构.解答时,首先根据题意写出函数表达式,然后设计成程序框图,解答此题的关键是写出函数解析式.
跟踪探究 2.设火车托运质量为w(kg)的行李时,每千米的费用(单位:元)标准为f=试画出路程为s千米时行李托运费用M的程序框图.
解析:算法如下:
第一步:输入物品质量w、路程s;
第二步:若w>30.那么f=0.4×30+0.5(w-30);否则,f=0.4w;
第三步:计算M=s×f;
第四步:输出M.
程序框图如图所示.
授课提示:对应学生用书第8页
[课后小结]
1.条件结构是程序框图的重要组成部分,其特点是:先判断后执行.
2.在利用条件结构画程序框图时要注意两点:一是需要判断的条件是什么;二是条件判断后分别对应着什么样的结果.
3.对于算法中分类讨论的步骤,通常设计成条件结构来解决.
[素养培优]
条件结构中的讨论问题
用程序框图表示解方程ax+b=0(a,b为常数)的算法.
易错分析 两边同除以x的系数时,未保证系数不为0.
自我纠正 第一步,输入a,b的值.
第二步,判断a=0是否成立,若成立,则执行第三步;若不成立,则令x=-,输出x,结束算法.
第三步,判断b=0是否成立,若成立,则输出“方程的解为R”,结束算法;若不成立,则输出“无解”,结束算法.
程序框图为:
PAGE第3课时 循环结构、程序框图的画法
内 容 标 准
学 科 素 养
1.掌握两种循环结构的程序框图的画法.2.能进行两种循环结构的程序框图的相互转化.3.能正确设计程序框图,解决有关实际问题.
提升数学运算发展逻辑推理应用数学建模
授课提示:对应学生用书第9页
[基础认识]
知识点 循环结构
预习教材P12-13,思考并完成以下问题
九九乘法表可以通过计算机在屏幕上显示出来,它就是借助本节课学习的循环结构完成的.
(1)你能举出需要反复循环计算的数学问题吗?
提示:用二分法求方程的近似解.
(2)用二分法求方程f(x)=0近似解的算法中,是先执行循环体,还是先判断条件?
提示:先执行循环体,后判断条件.
(3)能否适当改变使其先判断条件,后执行循环体?
提示:能.
(4)循环结构有哪两种形式?它们有什么不同点和相同点?
提示:循环结构的形式有:直到型循环结构和当型循环结构.
两种循环结构的不同点:直到型循环结构是程序先进入循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.当型循环结构是在每次执行循环体前,先对条件进行判断,当条件满足时,执行循环体,否则终止循环.
两种循环结构的相同点:两种不同形式的循环结构中一定包含条件结构,用于确定何时终止执行循环体.
知识梳理 1.循环结构的定义:
(1)循环结构:按照一定的条件反复执行某些步骤的情况.
(2)循环体:反复执行的步骤.
2.循环结构的分类及特征
名称
直到型循环
当型循环
结构
特征
先执行循环体,后判断条件,若条件不满足,继续执行循环体,否则终止循环
先判断条件,若条件满足,则执行循环体,否则终止循环
[自我检测]
1.如图所示,是一个循环结构的算法,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②是循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
解析:①是循环变量初始化,表示循环就要开始,不可以省略不写,故选D.
答案:D
2.直到型循环结构对应的框图为( )
解析:根据直到型程序框图的概念进行判断.
答案:B
3.阅读下边的框图,运行相应的程序,输出S的值为________.
解析:根据程序框图的要求逐步计算.
S=0,n=3,S=0+(-2)3=-8,n=3-1=2≤1不成立;
故S=-8+(-2)2=-4,n=2-1=1≤1成立.
故输出S的值为-4.
答案:-4
授课提示:对应学生用书第10页
探究一 循环结构的理解
[阅读教材P13例6]设计一个计算1+2+…+100的值的算法,并画出程序框图.
方法步骤:
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4
950+100=5
050.
[例1] 分别用直到型和当型循环结构画出计算1+++…+的值的程序框图.
[解析] (1)直到型循环
(2)当型循环
方法技巧 变量S作为累加变量,来计算所求数据之和.当第一个数据送到变量i中时,累加的动作为S=S+i,即把S的值与变量i的值相加,结果再送到累加变量S中,如此循环,则可实现数的累加求和.
跟踪探究 1.分别用直到型和当型循环结构画出计算1×3×5×7×…×99的值的程序框图.
解析:(1)直到型循环
(2)当型循环
探究二 程序框图的识别
[例2] (1)执行如图所示的程序框图,输出的S值为( )
A.1
B.3
C.7
D.15
(2)阅读下图所示的程序框图,运行相应的程序,输出的n的值为( )
A.1
B.2
C.3
D.4
[解析] (1)根据程序框图进行判断,要注意程序终止的条件.程序框图运行如下:
k=0<3,S=0+20=1,k=1<3;S=1+21=3,k=2<3;S=3+22=7,k=3.输出S=7.
(2)由程序框图所给的条件逐步求解,直到得出满足条件的结果.
当n=1时,21>12满足条件,继续循环得n=2,22>22不成立,不满足条件,所以输出n=2.
[答案] (1)C (2)B
方法技巧 1.如果算法问题里涉及的运算进行多次重复的操作,且先后参与运算的各数之间有相同的变化规律,就可以引入循环变量参与运算,构成循环结构.
2.在循环结构中,要注意根据条件设置合理的计数变量,累加(乘)变量,同时条件的表述要恰当,精确.
3.累加变量的初值一般为0,而累乘变量的初值一般为1,累加(乘)和计数一般是同步进行的,累加(乘)一次,计数一次.
跟踪探究 2.阅读下图所示的程序框图,运行相应的程序,输出的结果是( )
A.3
B.11
C.38
D.123
解析:当a=1时,a<10成立,执行循环体,即a=a2+2=3,此时a<10成立,继续执行循环体,a=a2+2=11,此时a>10,循环结束,故输出a的值为11,选B.
答案:B
探究三 程序框图的实际应用
[阅读教材P15例7]某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过300万元的最早年份.
方法步骤:
第一步,确定循环体.
第二步,初始化变量.
第三步,设定循环控制条件.
[例3] 一个球从100
m高处落下,每次落地后反弹回原来高度的一半再落下,在第10次落地时,共经历多少路程?第10次下落的高度为多高?试设计一个程序框图解决问题.
[思路探究] 本题中小球的每相邻两次下落高度之间满足hi+1=hi/2(i∈N
,1≤i≤10),所以本题的实质是有规律的数的求和问题.关键是明确小球的运行路线,找准其规律,合理设置变量.
[解析] 程序框图如图所示.
方法技巧 利用循环结构解决应用问题的方法
―→
↓
―→
↓
―→
↓
―→
跟踪探究 3.某班共有学生50人,在一次数学测试中,要搜索出测试中及格(60分及以上)的成绩,试设计一个算法,并画出程序框图.
解析:算法步骤如下:
第一步,把计数变量n的初始值设为1.
第二步,输入一个成绩r,比较r与60的大小.若r≥60,则输出r,然后执行下一步;若r<60,则执行下一步.
第三步,使计数变量n的值增加1.
第四步,判断计数变量n与学生个数50的大小,若n≤50,返回第二步;若n>50,则结束.程序框图如图:
授课提示:对应学生用书第11页
[课后小结]
1.在算法中,如果需要重复执行某些步骤,那么,在设计程序框图时,通常用循环结构来解决.循环结构可以解决大量的重复运算步骤,使程序框图更加清晰明了.
2.循环结构可分为直到型循环结构和当型循环结构,二者可以相互转化.
3.应用程序框图求值时,应依次运行程序,直至程序结束.
[素养培优]
循环结束的条件判断不准
如图所示是一算法的程序框图,若此程序运行结果为S=720,则在判断框中应填入关于k的判断条件是( )
A.k≥6? B.k=7?
C.k≥8?
D.k≥9?
易错分析 本题可以按照开始的输入值、程序执行的规律和输出结果进行综合解决.容易出错的地方是不清楚这个判断条件是什么,本题是当不满足判断框中的条件时结束循环,当判断框中的条件满足时执行循环,故应该从k=10开始按照递减的方式逐步进行,直到S的输出结果为720.
自我纠正 第一次运行结果为S=10,k=9;第二次运行结果为S=10×9=90,k=8;第三次运行结果为S=720,k=7.这个程序满足判断框的条件时执行循环,故判断条件是k≥8?.故选C.
答案:C
PAGE1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
内 容 标 准
学 科 素 养
1.理解输入语句、输出语句、赋值语句.2.能够将程序框图转化为“算法”语句.3.进一步体会算法的基本思想.
应用数学运算发展逻辑推理培养数学抽象
授课提示:对应学生用书第12页
[基础认识]
知识点 输入语句、输出语句和赋值语句
预习教材P21-24,思考并完成以下问题
人和计算机是如何交流的呢?这是一个非常复杂的问题,简单的说,一种特定的“语言”是实现人机交流的必备工具,这种语言必须是人和计算机都能够识别并且能执行的.通过这种语言,我们就可以和计算机进行交流了.
(1)计算机能够“理解”的语言与人的语言有什么区别?
提示:计算机不同于人,人有大脑,可以思考问题,而计算机对自然语言和程序框图描述的算法无法识别,必须转化为其能理解的语言,即程序语言.
(2)基本的算法语句有哪些?各自对应怎样的算法结构?
提示:基本的算法语句
知识梳理
名称
格式
功能
输入语句
INPUT“提示内容”;变量,其中“提示内容”一般是提示用户输入什么样的信息
把程序中新输入的值赋给变量
输出语句
PRINT“提示内容”;表达式
在计算机的屏幕上输出常量、变量的值和系统信息
赋值语句
变量=表达式
将表达式所代表的值赋给变量.一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量
[自我检测]
1.输出语句:PRINT
4+5,其输出的结果是( )
A.4
B.5
C.9
D.20
解析:4+5=9,故输出的结果是9.
答案:C
2.下列赋值语句错误的是( )
A.A=A+2
B.m-1=n
C.m=3n
D.P=3+1
解析:赋值语句中,“=”左边是变量,右边是表达式,故B错误.
答案:B
3.下面一段程序执行后的结果是__________.
解析:先把2赋给A,然后把A
2赋给A.即A的值为4,再把4+6=10赋给A,所以输出的结果为10.
答案:10
授课提示:对应学生用书第12页
探究一 输入、输出语句
[阅读教材P21例1]用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值.编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值.
方法步骤:
第一步,输入一个自变量x的值.
第二步,计算y=x3+3x2-24x+30.
第三步,输出y.
[例1] 编写一个程序,给定圆的半径,求圆的周长和面积(取π≈3.14),要求输入圆的半径r的值,输出圆的周长L和面积S.
[解析] 程序如下:
方法技巧 利用输入、输出语句编程应注意的问题
(1)输入语句没有计算功能,只能输入常量;而输出语句有计算功能,可以输出常量、变量或表达式的值以及字符.
(2)“提示内容”和变量之间用分号隔开,若输入(出)多个数,各数之间应用逗号隔开,“提示内容”可以省略.
(3)程序中运算符号要规范,输出语句不能输出一个等式,这是易错点.
跟踪探究 1.下列程序若输出的结果为3,则输入的x值可能是( )
A.1 B.-3
C.-1
D.1或-3
解析:根据条件可知,x2+2x=3,解得x=1或-3.
答案:D
探究二 赋值语句
[阅读教材P23例2]编写程序,计算一个学生语文、数学、英语三门课程的平均成绩.
题型:赋值语句
方法步骤:
第一步
输入成绩.
第二步
计算平均值.
第三步
输出平均值.
[例2] 阅读如下两个程序,完成下列问题.
程序(1):
程序(2):
(1)程序(1)的运行结果为__________.
(2)若程序(1),(2)运行结果相同,则程序(2)输入的值为__________.
[解析] 赋值语句给变量赋值时,变量的值总是最后一次所赋的值,故程序(1)中x的值最后为6.要使程序(2)中y的值为6,即x2+6=6,故x=0.即输入的x的值为0.
[答案] (1)6 (2)0
方法技巧 1.赋值语句的几种常见形式
(1)赋予变量常数值,如a=1.
(2)赋予变量其他变量或表达式的值,如b=a,b=2a+1.
(3)变量自身的值在原值上加常数或变量,如i=i+1,i=i+S.
2.根据程序求输出结果应注意以下两点
(1)根据给出的算法语句写结果,应抓住输入、输出语句和赋值语句的特点,按语句的计算、赋值功能依次执行.
(2)注意在算法语言中常见运算符号的书写方式,明确它们的运算规则:先乘除,后加减;乘幂优先于乘除;同级运算从左向右按顺序进行;括号内最优先.
跟踪探究 2.设A=10,B=20,则可以实现A、B的值互换的程序是( )
A.
B.
C.
D.
解析:A中程序执行后A=B=10;B中程序执行后A=B=10;C中程序执行后A=20,B=10;D中程序执行后A=B=10.
答案:C
探究三 程序语句的编写及应用
[例3] 经过市场调查分析,2017年第一季度内,某地区对某件商品的需求量为12
000件,为保证商品不脱销,商家决定在月初时将商品按相同的量投放市场,已知年初商品的库存量为50
000件,用S表示商品的库存量,请设计一个算法的程序框图,求出第一季度结束时商品的库存量,编写其程序.
[解析] 算法的程序框图如图示:
程序如下:
方法技巧 1.编写程序的关键在于弄清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句,分清算法的步骤,写出程序.
2.输入语句、输出语句、赋值语句基本上对应于算法中的顺序结构,编写程序时“INPUT语句”是输入框中的信息,赋值语句是处理框中的信息,“PRINT语句”是输出框中的信息.
3.编写程序的步骤:(1)首先根据问题要求构思算法分析;(2)然后把算法分析转化为程序框图,即画出程序框图;(3)再把程序框图转化为程序.要注意转化过程中这三种基本结构与相应语句的对应.熟练后可直接写出程序
延伸探究 1.将本例改为:某仓库一月份库存某商品50
000件,二月份又进货30
000件,三月份卖出了全部商品的一半,求第一季度结束时的库存量,请设计程序框图,并编写程序.
解析:
2.本例条件不变,结论改为“求出第一季度每月末的库存量”,请你设计程序框图,并编写程序.
解析:
授课提示:对应学生用书第14页
[课后小结]
1.需输入信息时用INPUT语句,需输出信息时用PRINT语句.当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
2.赋值语句是一个程序必不可少的重要组成部分.使用赋值语句,一定要注意其格式要求,不能利用赋值语句进行代数式计算等.
[素养培优]
利用赋值语句进行变量交换误区
已知a=2,b=5,编写一个程序,交换a,b的值.
错解 程序如下:
易错分析 第一行:a的值为2;
第二行:b的值为5;
第三行:把b的值赋给a,这时b的值为5,所以a=5;
第四行:把a的值赋给b,而这时a的值为5,所以b的值还是5;
第五行:因为a,b的值均为5,所以输出结果为5,5.
因此,错解中的程序没有达到交换的目的.
自我纠正 程序如下:
PAGE1.2.2 条件语句
内 容 标 准
学 科 素 养
1.理解条件语句.2.用条件语句编写程序.3.条件语句与条件结构的关系.
提升数学运算发展逻辑推理培养数学建模
授课提示:对应学生用书第14页
[基础认识]
知识点 条件语句
预习教材P25-28,思考并完成以下问题
近几年来,在高考中大多数省市开始实行网上阅卷.在阅卷过程中,每位考生的试题至少由两位阅卷教师各自独立的评阅.当两位老师的分数相差不超过规定的误差范围时,计算机会自动取两个分数的平均值作为该题分数;当两位老师给分之差超过误差范围时,计算机就会将该题自动调给第三位老师评阅,如果第三位教师的给分与前两者之一的给分之差在允许的误差范围内,这时计算机会求得这两个分数的平均值作为该题的分数;若第三位教师给出的分数与前两者给分之差都超过了误差范围,计算机会自动将这些情况“告知”该题组长,由其裁定最终得分.
(1)你能根据上述信息,能用输入输出语句写出它的程序吗?
提示:不能,里面有对成绩的判断.
(2)怎样完成上述的问题?
提示:在里面增加上能进行判断的语句.
(3)一般什么问题需要用条件语句?使用条件语句的关键是什么?
提示:一般在分类处理问题时用条件语句,使用条件语句的关键是明确分类的标准和方法.
知识梳理
类别
单支
双支
条件结构框图
条件语句
IF 条件 THEN语句体END
IF
IF 条件 THEN语句体1__
ELSE语句体2
END
IF
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END__IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
[自我检测]
1.条件语句对应的基本逻辑结构是( )
A.顺序结构
B.条件结构
C.循环结构
D.以上都不正确
解析:条件语句对应的基本逻辑结构是条件结构,故选B.
答案:B
2.下列关于条件语句的说法正确的是( )
A.条件语句中必须有ELSE和END
IF
B.条件语句中可以没有END
IF
C.条件语句中可以没有ELSE,但是必须有END
IF
D.条件语句中可以没有END
IF,但是必须有ELSE
解析:条件语句中必须有END
IF,但可以没有ELSE,故选C.
答案:C
3.当a=3时,下面的程序段输出的结果是__________.
解析:当a=3时,满足a<10的条件,所以计算机执行y=2×a,即y=6.
答案:6
授课提示:对应学生用书第15页
探究一 两种条件语句的区别与联系
[阅读教材P25例5]编写一个程序,求实数x的绝对值.
方法步骤:
第一步,输入实数x.
第二步,判断x的符号.选择不同的操作.
第三步,输出x.
[例1] 根据下面的程序,画出程序框图.
[解析] 程序框图如下:
方法技巧 1.区别:IF-THEN-ELSE语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体;而IF-THEN条件语句,只有一个语句体,是满足条件时执行的语句体.
2.联系:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以IF开始,以END
IF结束.
延伸探究 1.利用另外一种条件结构和条件语句画出程序框图,并写出程序.
解析:程序框图如下
程序如下:
探究二 条件语句的嵌套
[阅读教材P27例6]把图1.1-11中的程序框图转化为程序.
方法步骤:
第一步,分析程序框图;
第二步,寻找两种条件结构的关系;
第三步,选择合适语句;
第四步,编写程序.
[例2] 已知分段函数y=,编写程序,输入自变量x的值,输出相应的函数值,并画出程序框图.
[解析] 法一:嵌套式:
程序及程序框图如下.
法二:叠加式:
程序及程序框图如下:
方法技巧 1.在嵌套式的条件语句中要注意分清各自的控制条件;
2.每层的条件语句应上下对齐;
3.每个条件语句均有END IF.
跟踪探究 1.已知y=,编写一个程序,输入x的值,得到相应的函数值,并画出程序框图.
解析:程序框图如图所示:
程序如下:
延伸探究 2.参照本例的解决方法设计一个程序,输入学生的成绩S,根据该成绩的不同值进行以下输出:若S<60,则输出“不及格”;若60≤S≤90,则输出“及格”;若S>90,则输出“优秀”.
解析:程序如下:
探究三 条件语句的实际应用
[例3] 某市对出租车的计费统一规定:如果行驶不超过2
km,则收费5元(即起步价),若超过2
km,则超出部分每1
km加收1.8元(不足1
km的,按1
km计算).写出计算路费的程序.
[解析] 程序框图如下:
程序如下:
方法技巧 用条件语句解决实际问题的步骤
(1)将实际问题转化为数学问题,并构思出解决问题的一个算法(可用自然语言).
(2)画出程序框图,形象直观地描述算法.
(3)根据程序框图编写程序,即逐步把程序框图中的算法步骤用算法语句表达出来.
跟踪探究 2.某运输公司规定,运货50吨以下(含50吨),运费为80元/吨;50吨以上且不足100吨的,运费为75元/吨;100吨及以上,运费为70元/吨,请用算法语句及程序框图描述算法:输入运货重量,输出运费.
解析:设运货x吨的运费为y元,由题意得
y=
程序框图如下图:
程序如下:
授课提示:对应学生用书第17页
[课后小结]
1.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END
IF都是语句的一部分.
(2)条件语句必须是以IF开始,以END
IF结束,一个IF必须与一个END
IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF、ELSE与END
IF顶格书写,其他的语句体前面则空两格.
2.对于三段或三段以上的分段函数求函数值时,需要条件语句的嵌套结构.在编写条件语句的嵌套中的“条件”时,要注意“IF”与“END
IF”的配对,通常可以利用文字的缩进来表示嵌套的层次,以帮助我们对程序的阅读和理解.
[素养培优]
条件语句使用不恰当
输入x,写出输出函数y=的函数值的程序.
错解 程序如下:
易错分析 在程序语句中不存在“0≤x≤4”的格式,应写成“x>=0 AND x<=4”;再就是函数的定义域不是R,而是三个“孤立”的区间,应该用三个IF语句.
自我纠正 程序如下:
PAGE1.2.3 循环语句
内 容 标 准
学 科 素 养
1.理解循环语句的两种格式及功能.2.会应用条件语句和循环语句编写程序.3.掌握当型循环和直到型循环的条件.
提升数学运算发展逻辑推理培养数学建模
授课提示:对应学生用书第17页
[基础认识]
知识点一 UNTIL语句
预习教材P29-30,思考并完成以下问题
在一些破解密码的软件中,经常会使用穷举法,或称为暴力破解法,是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止.例如一个已知是六位并且全部由数字组成的密码,其可能共有106种组合,因此最多尝试106
次就能找到正确的密码.理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间.
(1)为什么要引入循环语句?
提示:在一些算法中经常会出现从某处开始按一定条件反复执行的某一步骤.
(2)直到型循环结构的程序框图是什么?
提示:
(3)直到型循环结构对应的循环语句的一般格式如何设定?
提示:循环体是由计算机反复执行的一组语句构成的.直到型循环结构对应的循环语句的一般格式为:
知识梳理
名称
直到型
格式
DO循环体LOOP__UNTIL条件
功能
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止.这时不再执行循环体,跳出循环体执行UNTIL语句后面的语句
对应程序框图
知识点二 WHILE语句
预习教材
P30,思考并完成以下问题
(1)当型循环结构的程序框图是什么?
提示:当型循环结构:
(2)该循环结构对应的循环语句的一般格式如何设定?
提示:
预习教材P30,思考并完成以下问题
知识梳理
名称
当型
格式
WHILE条件循环体WEND
功能
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句
对应程序框图
[自我检测]
1.下列问题可以设计成循环语句计算的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个
C.2个
D.3个
解析:①和④用到循环语句;②③用不到.故选C.
答案:C
2.下列四个程序框图中能用直到型语句描述的是( )
解析:直到型语句特征是不满足条件,执行循环体,满足条件,退出循环.
答案:A
3.有以下程序段,下面说法正确的是( )
A.WHILE循环执行8次
B.该循环体是无限循环
C.循环体语句一次也不执行
D.循环体语句只执行一次
解析:对于WHILE语句,若满足条件,则执行循环体,而K=8,不满足条件K=0,所以循环体一次也不执行.
答案:C
授课提示:对应学生用书第18页
探究一 WHILE语句的应用
[例1] 编写程序,计算1++++…+的值.
[解析] 程序框图如下:
程序:
方法技巧 1.计算机执行当型循环语句时,先判断条件的真假,若条件为真,执行循环体,若为假则退出.这是确定是否应用当型语句的关键.
2.当型循环语句中WHILE和WEND成对出现.
3.判断条件往往是控制循环次数的变量.
延伸探究 1.若将题目改为“计算1-+-+…+-”应如何设计程序?
解析:程序框图如下:
程序:
探究二 UNTIL语句的应用
[阅读教材P30例8]修改本节例1的程序,连续输入自变量的11个取值,输出相应的函数值.
方法步骤:
第一步,输入自变量的值.
第二步,计算y值.
第三步,输出y.
第四步,记录输入次数.
第五步,判断输入次数是否大于11.若是,结束算法;否则,返回上一步.
[例2] 下列两个程序(1)和(2)的运行结果分别是( )
程序(1):
程序(2):
A.7,7 B.7,6
C.6,7
D.6,6
[解析] 程序(1):S=0,i=0+1=1,不满足S>20,执行循环;S=1,i=1+1=2,不满足S>20,执行循环;S=1+2=3,i=2+1=3,不满足S>20,执行循环;S=3+3=6,i=3+1=4,不满足S>20,执行循环;S=6+4=10,i=4+1=5,不满足S>20,执行循环;S=10+5=15,i=5+1=6,不满足S>20,执行循环;S=15+6=21,i=6+1=7,满足S>20,退出循环,输出i,此时i=7.
程序(2):i=0+1=1,S=1,不满足S>20,执行循环;i=1+1=2,S=1+2=3,不满足S>20,执行循环;i=2+1=3,S=3+3=6,不满足S>20,执行循环;i=3+1=4,S=6+4=10,不满足
S>20,执行循环;i=4+1=5,S=10+5=15,不满足
S>20,执行循环;i=5+1=6,S=15+6=21,满足S>20,退出循环.输出i,此时i=6.故选B.
[答案] B
方法技巧 1.直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
2.循环次数的控制往往是判断条件,在循环体内要有控制条件的改变,否则会陷入死循环.
3.控制循环次数的变量要综合考虑初始值时和LOOP
UNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.
跟踪探究 画出计算12+32+52+…+9992的程序框图,并写出程序.
解析:由题意知各项指数相同,底数相差2,可以借助于循环设计算法.
①程序框图:
②程序为:
探究三 循环语句的综合应用
[例3] 写出计算12+32+52+…+992的程序(用两种方法)
[解析] 法一:用WHILE语句编写程序如下:
法二:用UNTIL语句编写程序如下:
方法技巧 应用循环语句解决问题应关注两点
(1)对于累加求和问题及累乘求积问题,需用到循环结构,解题的关键是设立累加变量S及控制循环次数的计数变量,可以用当型循环语句或直到型循环语句来设计程序.
(2)在WHILE语句中是当条件满足时执行循环体,而在UNTIL语句中是当条件不满足时执行循环体,二者是有区别的,在用两种循环语句编写程序时应注意条件的不同,它们的表达方法恰好是相反的.
延伸探究 2.如果把WHILE语句的条件“i<=99”改为“i<99”,所计算的问题会如何?如果改为“i<100”或“i<=100”呢?
解析:如果将WHILE语句的条件由“i≤99”改为“i<99”,实际上是i只取到97,少运行一次循环,解决的是计算12+32+52+…+972的结果.如果改为“i<100”或“i<=100”,没改变i的最终取值,仍然是计算12+32+52+…+992的值.
3.如果要计算1+++…+的值,该怎么设计程序语句?
解析:只要把循环体中语句“S=S+i^2”改为“S=S+1/i”即可.
授课提示:对应学生用书第79页
[课后小结]
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
[素养培优]
1.循环过程把握不准
下面程序运行后输出的结果为( )
A.0 B.1
C.2
D.4
易错分析 对循环过程不理解,误认为j=1时,余数a=0,即j=1时,没有执行第一次循环.
自我纠正 当j=1时,余数a=1;当j=2时,余数a=3;当j=3时,余数a=1;当j=4时,余数a=0;当j=5时,余数a=0;当j=6时,不满足条件,此时退出循环.
答案:A
2.题意中符号表示未审清
某商场第一年销售计算机5
000台,如果平均每年的销售量比上一年增加10%,那么从第一年起,大约经过几年可使总销量达到40
000台?写出解决此问题的程序.
错解 程序如下:
易错分析 错解中的循环求出的S不是总销量,而是每年的年销量.
用“m=m
(1+0.1)”表示累乘,求出每年销量;用“S=S+m”表示累加,求出总销量.
自我纠正 程序如下:
PAGE