2017_2018学年高中数学第二章算法初步疑难规律方法学案北师大版必修3(含答案)
2017-2018版高中数学 第二章 算法初步 1 算法的基本思想学案 北师大版必修3
1 算法的基本思想学习目标 1.了解算法的含义,体会算法的思想,能够用自然语言叙述算法.2.掌握正确的算法应满足的要求.3.学会将一整数分解成素因数之积,会设计求两整数的最大公因数的算法,了解“韩信点兵”问题及二分法求方程近似解.知识点一算法的概念思考有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换一下,试用自然语言表述你的操作方法.梳理一般地,算法是解决某类问题的一系列____________,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用________帮助完成的.同一个问题可能存在____种算法,一个算法也可以解决某一类问题.知识点二算法的特点思考设想一下电脑程序需要计算无限多步,会怎么样?梳理一般地,算法的特点有:(1)有穷性一个算法应包括________的操作步骤,能在执行有穷的操作步骤之后________.(2)确定性算法的计算规则及相应的计算步骤必须是唯一确定的.(3)可行性算法中的每一个步骤都是可以在________的时间内完成的基本操作,并能得到________的结果.类型一生活中的算法案例例1 在电视台的某个娱乐节目中,要求参与者快速猜出物品价格.主持人出示了一台价值在1 000元以内的随身听,并开始了竞猜.下面是主持人和参与者之间的一段对话:参与者:800元!主持人:高了!参与者:400元!主持人:低了!参与者:600元!主持人:低了!……试把参与者的竞猜策略概括成一系列的步骤.反思与感悟按照上述方法,继续判断,直到游戏结束.像这样的一系列步骤通常称为解决这个问题的一个算法.生活中有很多蕴含算法思想的案例.跟踪训练1 一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.类型二数学中的算法思想例2 设计一个算法,求840与1 764的最大公因数.反思与感悟以上这个算法的思想具有一般性,它可以帮助设计求三个或者三个以上正整数的最大公因数的算法.跟踪训练2 设计一个算法,求98与63的最大公因数.例3 “韩信点兵”问题韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力.采用下述点兵方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.反思与感悟在完成上述步骤后,就找到了所求的数53,这5个步骤称为解决“韩信点兵”问题的一个算法.跟踪训练3 在例3中,我们颠倒一下3,5,7的顺序,请再设计一个算法.类型三用二分法求方程近似解例4 求方程x3+x2-1=0在[0,1]上的近似解,精度为0.1.反思与感悟 二分法求方程近似解的基本思想:逐渐缩小有解区间的长度,直到满足精度的要求.虽然看似烦琐,但很适合计算机执行.跟踪训练4 用二分法设计一个求方程x 2-2=0的近似正根的算法,精度为0.05.1.下列关于算法的说法,正确的个数为( )①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A .1B .2C .3D .42.已知一个算法:(1)给出三个数x 、y 、z ;(2)计算M =x +y +z ;(3)计算N =13M ;(4)得出每次计算的结果.则上述算法是( )A .求和B .求余数C .求平均数D .先求和再求平均数3.看下面的四段话,其中不是解决问题的算法是________.(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;(3)方程x2-1=0有两个实根;(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.4.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________.算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.答案精析问题导学知识点一思考先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.梳理步骤或程序计算机多知识点二思考若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.梳理(1)有限结束(3)有限确定题型探究例1 解 1.报出首次价格T1;2.根据主持人的回答确定价格区间:(1)若报价小于商品价格,则商品的价格区间为(T1,1 000);(2)若报价大于商品价格,则商品的价格区间为(0,T1);(3)若报价等于商品价格,则游戏结束.3.如果游戏没有结束,则报出上面确定的价格区间的中点T2.跟踪训练1 解 1.两个小孩同船过河去;2.一个小孩划船回来;3.一个大人划船过河去;4.对岸的小孩划船回来;5.两个小孩同船渡过河去.例2 解算法步骤如下: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.跟踪训练2 解算法步骤如下:1.先将98进行素因数分解:98=2×72;2.然后将63进行素因数分解:63=32×7;3.确定它们的公共素因数:7;4.确定公共素因数的指数:公共素因数的指数是1;5.最大公因数为7.例3 解算法步骤如下:1.首先确定最小的满足除以3余2的正整数:2;2.依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…3.在上列数中确定最小的满足除以5余3的正整数:8;4.然后依次加上15,得到8,23,38,53,…不难看出,这些数既满足除以3余2,又满足除以5余3;5.在第4步得到的一列数中找出满足除以7余4的最小数53,这就是我们要求的数.跟踪训练3 解算法步骤如下:1.首先确定最小的除以7余4的正整数:4;2.依次加7就得到所有除以7余4的正整数:4,11,18,25,32,39,46,53,60,…3.在第2步得到的一列数中确定最小的除以5余3的正整数:18;4.然后依次加上35,得到18,53,88,…5.在第4步得到的一列数中找出最小的满足除以3余2的正整数:53.例4 解根据上述分析,可以通过下列步骤求得方程的近似解:设f(x)=x3+x2-1,1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],1-0.5=0.5>0.1;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],1-0.75=0.25>0.1;8.取[0.75,1]的区间中点0.875;9.计算f(0.875)=0.435 546 875;10.由于f(0.75)·f(0.875)<0,可得新的有解区间[0.75,0.875],0.875-0.75=0.125>0.1;11.取[0.75,0.875]的区间中点0.812 5;12.计算f(0.812 5)=0.196 533 203 125;13.由于f(0.75)·f(0.812 5)<0,可得新的有解区间[0.75,0.812 5],0.812 5-0.75=0.062 5<0.1.所以,区间[0.75,0.812 5]中的任一数值,都可以作为方程的近似解.跟踪训练4 解 1.因为f(1)=-1,f(2)=2,f(1)·f(2)<0,则区间[1,2]为有解区间,精度2-1=1>0.05;2.取[1,2]的中点1.5;3.计算f(1.5)=0.25;4.由于f(1)·f(1.5)<0,可得新的有解区间[1,1.5],精度1.5-1=0.5>0.05;5.取[1,1.5]的中点1.25;6.计算f(1.25)=-0.437 5;7.由于f(1.25)·f(1.5)<0,可得新的有解区间[1.25,1.5],精度1.5-1.25=0.25>0.05;…当得到新的有解区间[1.406 25,1.437 5]时,由于|1.437 5-1.406 25|=0.031 25<0.05,该区间精度已满足要求,所以取区间[1.406 25,1.437 5]的任一数值,都可以作为方程的一个近似解.当堂训练1.C 2.D 3.(3) 4.(2)(1)(3)本文档仅供文库使用。
高中数学 第二章 算法初步 算法的概念教案 北师大版必修3
算法的概念教学目标:(1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。
(3)掌握正确的算法应满足的要求。
(4)会写出解线性方程(组)的算法。
(5)会写出一个求有限整数序列中的最大值的算法。
教学重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
.教学难点:把自然语言转化为算法语言。
.学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用。
2、要使算法尽量简单、步骤尽量少。
3、要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。
教学过程一、章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”。
算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。
但是我们却从小学就开始接触算法,熟悉许多问题的算法。
如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。
广义地说,算法就是做某一件事的步骤或程序。
菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。
在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
(古代的计算工具:算筹与算盘. 20世纪最伟大的发明:计算机,计算机是强大的实现各种算法的工具。
)例1:解二元一次方程组: ⎩⎨⎧=+-=-②y x ①y x 1212 分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程.解:第一步:② - ①×2,得: 5y=3; ③第二步:解③得 53=y ; 第三步:将53=y 代入①,得 51=x . 学生探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?老师评析:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。
2017_2018学年高中数学第2章算法初步章末小结与测评教学案北师大版必修3
3.循环语句与循环结构
循环语句要紧用在一些有规律的重复计算中,如累加求和、累乘求积等,循环结构要紧注意设计合理的计数变量.
4.输入、输出和赋值语句
输入、输出和赋值语句是一个程序必不可少的语句,要注意它们各自的格式和要求,尤其是赋值语句,它在程序编写中具有十分重要的作用,要熟练把握专门应注意把握通过引入第三变量,利用三个赋值语句互换两个变量的值的方式.
m=m*(1+10%)
i=i+1
Loop While sum<30 000
输出i
End.
[借题发挥] 利用大体语句解决实际问题的一样思路是:先依照题目要求写出算法,并画出相应的算法框图,最后将算法框图用相应语句表示出来.
[对点训练]
5.某纺织厂2021年的生产总值为300万元,若是年增产率为5%,设计算法,计算该厂最先在哪一年生产总值超过400万元,并用语句描述该算法.
画法步骤:
(1)画顺序结构图,即起止框及两个处置框,并别离填入循环初始条件(如图①);
(2)画循环结构图,先画循环体即两个处置框(一个累加,一个计数),再画循环终止条件,即判定框并判定S>2 013是不是成立,假设不成立,那么流向循环体进行再循环(如图②);
(3)画处置框并填入“i=i-2”,输出框输出i和起止框表示算法终止(如图③).
A.i=19B.i≥20C.i≤19D.i≤20
解析:选B计算S=1+2+4+…+219的值利用的是循环结构,当i≥20时退出循环体,输出S.
8.如图是计算函数y= 的值的算法框图,那么在①、②和③处应别离填入的是( )
A.y=-x,y=0,y=x2B.y=-x,y=x2,y=0
2017_2018版高中数学第二章算法初步习题课学案北师大版必修3
学习目标 1.提高把具体问题的求解转化为算法步骤的能力.2.能正确选择并运用三种逻辑结构框图表示具体问题的算法.3.提高读图能力.
知识点一 三种逻辑结构
试探1 咱们前后学了三种逻辑结构,你能简述一下何时会用到它们吗?
试探2 循环结构是个难点.你以为循环结构的关键在哪里?需要注意些什么?
跟踪训练1 已知函数y= 试设计一个算法,输入x的值,求对应的函数值.
类型二 画算法框图
例2 设计求1×2×3×4×…×2 013×2 014的值的算法,并画出算法框图.
反思与感悟 算法要求指令明确,在有限步内解决问题,故用自然语言设计算法时不能大而化之.一旦用自然语言表述出算法,转换为算法框图相对简单,但画时要用对框图,并尽可能使主线在一条纵轴上,以增强算法框图的层次.
1.算法共有三种逻辑结构,即顺序结构、选择结构和循环结构,以下说法正确的选项是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多能够包括两种逻辑结构
C.一个算法必需含有上述三种逻辑结构
D.任何一个算法都离不开顺序结构
2.以下关于算法框图的描述中,正确的有( )
①关于一个算法来讲,算法框图是唯一的;
3.B [由算法框图知:第一次循环,S=1,i=1+1=2,不知足条件i>4,继续循环;
第二次循环,S=1+4=5,i=2+1=3,不知足条件i>4,继续循环;
第三次循环,S=5+9=14,i=3+1=4,不知足条件i>4,继续循环;
第四次循环,S=14+16=30,i=4+1=5,知足条件i>4,终止循环,输出S=30,应选B.]
第四步,计算y=x2.
第五步,输出y.
例2 解 算法如下:
第一步,设M的值为1.
2017-2018学年高中数学第二章算法初步章末综合测评北师大版必修3
(二)算法初步一、选择题(本大题共12小题,每小题5分,共60 分.在每小题给出的四个选项中,只有一项是符合题目要求的)1.下面的叙述中,不是解决问题的算法的是()A. 从北京到海南岛旅游,先坐火车,再坐飞机抵达B. 按顺序进行下列运算:1+ 1 = 2,2 + 1 = 3,3 + 1 = 4,…,99 + 1= 1002C. 方程x - 4 = 0有两个实根D. 求1 + 2 + 3+ 4+ 5 的值,先计算1 + 2 = 3,再计算3+ 3 = 6,6 + 4 = 10,10 + 5= 15 , 最终结果为15【解析】算法是解决某类问题的一系列步骤或程序,C项只是描述了事实,没有解决问题的步骤.【答案】C2•用二分法求方程x2- 10= 0的近似根的算法中要用哪种算法结构()A.顺序结构B.选择结构C.循环结构D.以上都用【解析】由求方程x2-10= 0的近似根的算法设计知以上三种结构都用到.【答案】D3. 下列程序中的For语句终止循环时,S 等于()S= 0For M= 1 To 10S= S+ MNext输出S.A. 1B. 5C. 10D. 55【解析】S= 0+ 1 + 2+ 3 + …+ 10= 55.【答案】D4. 下列给出的赋值语句中正确的是()A. 0= MB. x=- xC. B= A=- 3D. x+ y = 0【解析】赋值语句不能计算, 不能出现两个或两个以上的“=”且变量在“=”左边.【答案】B5. 当A= 1 时,下列程序输入A;A =A*2A = A*3A = A*4A = A*5输出A.输出的结果A是()A. 5 B . 6 C . 15 D . 120【解析】运行A= A2得A= 1X 2= 2.运行A= A3得A= 2X 3= 6.运行A= A*4得A= 6X 4= 24.运行A= A*5 得A= 24X 5= 120.即A= 120.故选D.【答案】D6•阅读如图1所示的程序框图,运行相应的程序,输出的(XiA. 1 B .2 C . 3 D . 4【解析】当n= 1时,21> 12成立,执行循环,n = 2;当n= 2时,22>22不成立,结束循环,输出n=2,故选B.【答案】B7•执行如图2所示的算法框图,输出的S值为()n的值为(图1A. 2 B . 4 C . 8 D . 16【解析】运行如下:① k= 0, S= 1;② S= 1X2°= 1, k = 1;③ S= 1X21= 2, k = 2;④S= 2X2= 8, k= 3.此时输出S.【答案】C&阅读如图3所示的程序框图,运行相应的程序,若输入x的值为1,则输出y的值为()/W7图3A. 2 B . 7 C. 8 D. 128匚X .-2, x>2,【解析】由程序框图知,y ='9-x, x<2.•••输入x的值为1,比2小,•••执行的程序要实现的功能为9- 1 = 8,故输出y的值为8.【答案】C9•执行如图4所示的程序框图,若输入的a值为1,则输出的k值为(/输人/输出A. 1 B . 2 C . 3 D . 4【解析】开始a= 1, b= 1, k= °;1第一次循环a=- , k = 1;第二次循环a=- 2, k = 2;第三次循环a= 1,条件判断为“是”,跳出循环,此时k= 2.【答案】B10•阅读如图5所示的算法框图,若输出s的值为一7,则判断框内可填写()/输出$/ 「、、图5A. i >3B. i >4C. i >5D. i >6/輸出$/【解析】此算法框图运行如下:①i = 1, s = 2;②s = 1, i = 3:③s = - 2, i = 5;④s =—7, i = 7此时应结束循环.所以i = 5时不满足循环条件,i = 7时满足循环条件.【答案】D11.当a= 16时,下面的算法输出的结果是()If a v 10 Theny = 2* aElsey = a * aEnd If输出y.图6A. 2 B • 3 C • 4 D • 5【解析】 m= 2, A = 1, B = 1, i = 0. 第一次:i = 0 + 1 = 1 , A = 1X 2= 2,B = 1X 1= 1, A>B ;第二次:i = 1 + 1 = 2, A = 2X 2= 4,B = 1X 2= 2, A>B;第三次:i = 2 + 1 = 3, A = 4X 2= 8,B = 2X 3= 6, A>B;第四次:i = 3 + 1 = 4, A = 8X 2= 16,B = 6X 4= 24, A <B.终止循环,输出i = 4. 【答案】 CA.9B.32 C • 10 D • 256 【解析】该程序是求分段函数2 ", 的函数值,所以当 a = 16时y2=16 = 256.【答案】12 •阅读如图6所示的程序框图,运行相应的程/输出i /二、填空题(本大题共4小题,每小题5分,共20分,将答案填在题中的横线上) 13•如图7是求12+ 22+ 32+…+ 1002的值的算法框图,则正整数n= ______________ .匸i+l3=3+^是/辎出豺图7【解析】由题意知s = 1 + 2 + 3+…+ lOO?,先计算s= s+ i2, i再加1,故n= 100.【答案】10014 •下面的程序运行后输出的结果是__________x= 1i = 1DoLoop While i v= 5输出x.【解析】每循环一次时,x与i均增加1直到i >5时为止,所以输出的结果为 6.【答案】615•执行如图8所示的程序框图,若P= 100,则输出的n=足VS=S+2"【解析】按流程线依次执行,n= 1, S= 0, S< P, S= 2, n= 2; S= 2v P, S= 2 + 4 =6, n= 3; S= 6< P, S= 6 + 8 = 14, n= 4; S= 14< P, S= 14+ 16 = 30, n= 5; S= 30< P, S= 30 + 32= 62, n = 6; S= 62< P, S= 62 + 64= 126, n = 7; S= 126> P,输出的n 值为7.【答案】7输入X;If x> 0 The ny = 3*x/2+3若输出y的值为6,则输入x的值为_____________ .【解析】由程序知,当x > 0时,3xy + 3= 6.解得x = 2;当x v 0时,—3x 22 + 5 = 6,解得x = —3,显然x = 0不成立.【答案】2或—I三、解答题(本大题共6小题,共70分,解答应写出必要的文字说明,证明过程或演算步骤)17. (本小题满分10分)下面给出了一个问题的算法:1. 输入x.2. 若x>4,贝U y= 2x —1;否则,y= x2—2x+3.3•输出y.问题:(1)这个算法解决的问题是什么?(2)当输入的x值为多少时,输出的y值最小?1, x>4,的函数值.x —2x + 3, x v 42 2(2)当x>4 时,y = 2x—1>7;当x v 4 时,y= x —2x+ 3= (x—1)+ 2>2,所以y min= 2, 此时x= 1.即当输入的x值为1时,输出的y值最小.18. (本小题满分12分)将某科成绩分为3个等级:85分〜100分为“ A”;60分〜84(分数为整数)分为“ B'; 60分以下为“ C'.试用条件语句表示某个成绩等级的程序.【解】程序:输入x;If x v 60 Then输出CElseIf x v= 84 The n输出BElse输出AEnd IfEnd Iff2x + 1, x v 0,19. (本小题满分12分)已知函数y 1, x= 0,2[x + 1, x> 0.画出算法框图并编写算法语句,输入自变量x的值,输出相应的函数值.【解】算法框图如图所示:算法语句如下:输入x;If x v 0 Theny = 2*x+1ElseIf x=0 Theny =1ElseI------------------------------------- 2—; ------------------------------- 1y = x +1End IfEnd If输出y.20. (本小题满分12分)给出30个数:1,2,4,7 ,…,其规律是:第1个数是1,第2 个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了解决该问题的算法框图(如图9所示).图9(1) 请在图中处理框内①处和判断框中的②处填上合适的语句,使之能完成该题算法功能;(2) 根据算法框图写出算法.【解】(1)因为是求30个数的和•故循环体应执行30次,其中i是计数变量,因此判断框内的条件就是限制计数变量i的,故应为i > 30.算法中的变量p实质是表示参与求和的各个数,由于它也是变化的,且满足第i个数比其前一个数大i—1,第i+1个数比其前一个数大i,故应有p= p+ i .故①处应填p= p+ i :②处应填i > 30.(2)根据框图.写出算法如下:i = 1p= 1S= 0DoS = S+ pp = P+ ii = i + 111Loop While i v= 30输出S.21. (本小题满分12分)如图10所示,在边长为4的正方形ABCD勺边上有一点P,沿着折线BCDA由点B(起点)向点A终点)运动•设点P运动的路程为x,△ APB的面积为y, 求y与x 之间的函数关系式•并写出算法,画出算法框图,写出程序.图10【解】函数关系如下2x x 1 ,y= & '1 < x£思,-x < x<]2 .算法如下:1.输入x.2•如果O W x<4,则使y= 2x;否则执行3.3. 如果4< x< 8,则使y= 8;否则执行4.4. 如果8< x w 12,则使y = 2(12 —x);否则结束.5. 输出y.算法框图如图所示:|尸盘4)/輪出〃算法语句:输入x;If x >= 0 And x<= 4 Theny = 2* xElseIf x<= 8 The ny = 813ElseIf x <= 12 The ny = 2*(12- x )End IfEnd IfEnd If输出y .22. (本小题满分12分)设计一个算法,求满足 1X 2+ 2X 3+… 最大整数n ,画出框图,并用循环语句描述.【解】 算法框图如下所示:[W)S=0P n=0/输屮/用语句描述为:n = 0S = 0Don = n + 1S = S + n *( n + 1)Loop While S <1 000n = n — 1输出n .ii-n+15=S+n(ra+l)r )x(n + 1)<1 000 的。
高中数学第2章算法初步1算法的基本思想教学案北师大版必修3(2021学年)
2017-2018学年高中数学第2章算法初步 1 算法的基本思想教学案北师大版必修3编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2017-2018学年高中数学第2章算法初步 1 算法的基本思想教学案北师大版必修3)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2017-2018学年高中数学第2章算法初步 1 算法的基本思想教学案北师大版必修3的全部内容。
1 算法的基本思想[核心必知]1.算法的概念在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这一系列步骤来解决问题,我们把这一系列步骤称为解决这个问题的一个算法.2.算法的作用现代算法的作用之一是使计算机能代替人完成某些工作,这是学习算法的重要原因之一.[问题思考]1.是不是任何一个算法都有明确结果?提示:是,因为算法的步骤是明确的和有限的,有时可能需大量重复的计算,但只要按部就班地去做,总能得到确定的结果.2.一个具体问题的算法唯一吗?提示:解决一个具体问题的算法可有多个,但我们可以选择其中最优的、最简单的、步骤尽量少的算法.讲一讲1。
下列语句中是算法的有( )①做饭需要刷锅、淘米、加水、加热这些步骤;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;③方程x2+2x-3=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)看是否满足明确性.算法的每一步都是确定的,而不是含糊的、模棱两可的.(3)看是否满足有限性.一个算法必须在有限步后结束.如果一个解题步骤永远不能结束,那么就永远得不到答案.因此,有始无终的解题步骤不是算法.此外,算法的不唯一性也要考虑到.练一练1.下列语句表达中是算法的有( )①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;②错误!x>2x+4;③求M(1,2)与N(-3,-5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得.A.0个B.1个 C.2个D.3个解析:选C ①中说明了从济南到巴黎的行程安排,完成任务.对于②没有说明如何去做.③说明了求直线MN的方程的算法步骤.讲一讲2.给出解方程ax2+bx+c=0(a、b、c为实常数)的一个算法.[尝试解答]算法步骤如下:1.当a=0,b=0,c=0时,解集为全体实数;2.当a=0,b=0,c≠0时,原方程无实数解;3.当a=0,b≠0时,原方程的解为x=-错误!;4.当a≠0且b2-4ac>0时,方程有两个不等实根x1=错误!,x2=错误!;5.当a≠0,b2-4ac=0时,方程有两个相等实根x1=x2=-错误!;6.当a≠0且b2-4ac<0时,方程没有实数根.设计算法的基本要求是:(1)设计的算法必须能解决一类问题并且能重复使用;(2)算法的过程需能一步步执行,每步执行的操作必须确切,不能含糊不清,而且经过有限步运算后能得出结果;(3)任何算法都必须输出结果,否则是无意义的算法;(4)如果需要分类讨论解决的问题,那么设计的算法中,要根据条件是否成立来决定执行任务的步骤;(5)如果需要重复做同一种动作,那么设计的算法要含有返回步骤.练一练2.写出解方程x2-2x-3=0的一个算法.解:法一:1.移项,得x2-2x=3;①2.①两边同时加1并配方,得(x-1)2=4;②3.②式两边开方,得x-1=±2;③4.解③得x=3,或x=-1。
2017_2018版高中数学第二章算法初步疑难规律方法学案北师大版必修3
第二章算法初步1 算法概念的诠释同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了,广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.每个算法都闪耀着人类的智慧,阅读和学习这些东西会给我们带来一种难以用语言表达的满足感和快感.在以后的学习和工作中我们会不断从实际应用中了解和领会算法是如何解决各个领域的实际问题,推动人类文明的发展的.一、算法的特征1.确定性算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.2.有限性一个算法必须保证在执行有限步后结束,至少不能出现无限循环或死循环.在此基础上越简洁越快越好.越简洁,占用内存越少,对设备的要求越基本;越快,这个意义就不用说了吧.比如一个计算对方导弹轨迹的算法,如果等你算出来,那边导弹已经落地了,那还有什么意义?二、算法的思想专业的事交给专业的人去做.普通人只要按专业人士给出的步骤一步一步地去完成,这就是算法的思想,即程序思想,你也可以理解为傻瓜化思想.另外,算法强调的是通性通法,即给出一个算法,实际上是给出了一种解决一类问题的方法.比如你给出一个计算圆的面积的算法,它应该能计算各种半径的圆的面积,而不是只适用于半径为某一具体数的圆.三、特别提示1.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求的近似值却没有要求近似的精确度,则该问题不能求解.2.现代算法主要是面向计算机的,如果算法中没有输出,程序也能运行,但是运行结果无法输出.如果想要得到结果,那就要有输出.3.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x2-3x-4=0的算法时,用求根公式来做,步骤则较为简洁.4.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.四、典例分析例1 已知一个等边三角形的周长为a,求这个三角形的面积,设计一个算法解决这个问题.分析对于已知等边三角形的边长求面积的题目同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.但学会清晰条理地表达自己的想法,也是一个基本的要求.解 算法步骤如下:第一步,输入a 的值.第二步,计算l =a3的值. 第三步,计算S =34×l 2的值. 第四步,输出S 的值.例2 下面给出了一个问题的算法:第一步,输入x .第二步,若x ≥4,则执行第三步,否则执行第四步.第三步,输出2x -1.第四步,输出x 2-2x +3.这个算法解决的问题是什么?分析 依据题目给出的算法步骤依次执行,是读懂算法的一个重要而基本的办法.解 这个算法先是输入一个变量x ,当x ≥4时输出2x -1,当x <4时输出x 2-2x +3,不难发现这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧ 2x -1,x ≥4,x 2-2x +3,x <4的函数值.2 典型算法举例1.解方程(方程组)、不等式的算法例1 用自然语言描述求一元二次方程ax 2+bx +c =0的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法. 解 用自然语言来描述算法,第一步,计算Δ=b 2-4ac ;第二步,如果Δ<0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)x 1=-b +b 2-4ac 2a,x 2=-b -b 2-4ac 2a,输出x 1,x 2的值. 点评 第二步中包含了一个判断Δ=b 2-4ac 是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b 2-4ac 小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.例2 写出解x 2-4x +3<0的算法.思维切入 只要把平时的固定解法有条理地写出来,即为解不等式的算法.解 第一步,求出对应方程的根x 1=1,x 2=3;第二步,确定根的大小x 1<x 2;第三步,写出解集{x |1<x <3}.2.套用公式求值的算法例3 已知摄氏温度C 与华氏温度F 的关系是F =C ×95+32,写出由摄氏温度求华氏温度的算法.思维切入 这是一个函数求值问题,给C 赋值再代入解析式求F .解 第一步,输入摄氏温度C ;第二步,代入F =C ×95+32; 第三步,输出华氏温度F .点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.3.判断性质型问题的算法例4 试描述判断圆(x -a )2+(y -b )2=r 2和直线Ax +By +C =0位置关系的算法.思维切入 直线与圆的关系有三种:相离、相切、相交,如果圆心到直线的距离d >r ,则直线与圆相离,d =r 则直线与圆相切,d <r 则直线与圆相交.因此我们可以先求出圆心到直线的距离d ,然后再和r 比较.解 第一步,输入圆心的坐标、直线方程的系数和半径r ;第二步,计算z 1=Ax 0+By 0+C ;第三步,计算z 2=A 2+B 2;第四步,计算d =|z 1|z 2; 第五步,如果d >r 则相离,如果d =r 则相切,如果d <r 则相交.点评 算法要求分解成简单计算,不要直接计算d =|Ax 0+By 0+C |A 2+B 2.一个比较大的程序,会分成若干模块,一个模块出了问题只需要修改这一个模块,而不需要全盘翻工.4.累加、累乘问题的算法例5 用自然语言描述求解mul =1×2×3×4×5×6问题的算法.思维切入 根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法.解 第一步,计算1×2,得2;第二步,将第一步中的运算结果2与3相乘得6;第三步,将第二步中的运算结果6与4相乘得24;第四步,将第三步中的运算结果24与5相乘得120;第五步,将第四步中的运算结果120与6相乘得720.点评如果让人一步一步地做,太枯燥了.但这恰好是计算机的优势.所以算法好不好,还分让谁来执行,对人来讲是奇笨无比的办法,对计算机却可能是一个好办法.思维拓展该算法包含一个重复操作的过程是循环结构,我们可将算法改造得更为简练、科学.解第一步,设i=1,P=1;第二步,如果i≤6执行第三步,否则执行第五步;第三步,计算P×i并将结果代替P;第四步,将i+1代替i,转去执行第二步;第五步,输出P.点评i称为计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.3 算法框图画法全知晓一、画算法框图的基本步骤第一步,设计算法,因为算法的设计是画算法框图的基础,所以画算法框图前,首先写出相应的算法步骤,并分析算法需要用哪种基本逻辑结构(顺序结构、选择结构、循环结构)完成.第二步,把算法步骤转化为对应的算法框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.第三步,将所有步骤的算法框图用流程线连接起来,并加上终端框,得到整个表示算法的算法框图.二、画算法框图的规则1.使用标准的框图符号.2.框图一般按从上到下、从左到右的方向来画.3.除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号.4.在图形符号内描述的语言要简练清楚.三、典例分析1.顺序结构顺序结构是最简单的算法结构,是任何一个算法都离不开的结构.若一个算法由若干个依次执行的步骤组成,则在画算法框图时,可直接由顺序结构完成.因为在其他的结构中都会涉及到顺序结构,所以关于顺序结构的画法,在此不再单独叙述.2.选择结构设计算法框图时,若是分段函数或执行时需要先判断才能执行的问题,则需要用到判断框,引入选择结构.例1 如图,在边长为4的正方形ABCD 的边上有一点P ,沿着BCDA 的方向由点B 向点A 运动,设点P 运动的路程为x (0<x <12),△APB 的面积为y ,画出y 关于x 的关系式的算法框图.分析 随着点P 的位置不同,△APB 的面积与路程x 有不同的对应关系,所以需要先判断点P 的位置,这就需要用到选择结构,先根据题意写出算法,再根据算法画出算法框图.即 第一步,按照题意,y 与x 的关系满足分段函数:y =⎩⎪⎨⎪⎧ 2x ,0<x ≤4,8,4<x ≤8,212-x ,8<x <12.第二步,用合适的含选择结构的算法框图表示该分段函数.解 算法框图如图所示.点评 该题中的分段函数是分三段的函数,需引入两个判断框.至于判断框的内容是没有顺序的,但与下一图形的内容或操作必须相互对应.同时,在画算法框图时,要特别注意图形符号的规范性.3.循环结构如果问题中进行了重复的运算,且有相同的规律,就可根据需要引入相关变量,利用这些规律组成一个循环体,用循环结构来解决.例2 某机械厂为增加产值进行了技术革新.据统计2009年的生产总值为500万元,技术革新后预计每年的生产总值比上一年增加5%,问最早要到哪一年生产总值才能超过600万元,试用算法框图表示.分析 用变量n ,a 分别表示所经过的年数和生产总值的数量,注意变量的初始值以及递加的值是多少.由题意知第n 年后的生产总值为a =500(1+0.05)n,此时为(2009+n )年.由于题中进行了重复的运算,故应引入循环结构.解 算法框图如图所示.4 例说选择结构选择结构是三种基本逻辑结构之一,可以解决一些含有条件判断的算法问题,如分段函数求值问题、比较大小问题、分类讨论问题和一些实际问题等.下面就其应用略举两例,供同学们学习时参考.一、分段函数求值问题例1 已知函数y =⎩⎪⎨⎪⎧ -x +1,x >0,0,x =0,x +3,x <0,请设计算法框图,要求输入自变量x ,输出函数值y .分析 输入自变量x 的值,首先判断x 与0的大小关系,再代入相应的表达式求函数值. 解 算法框图如图.点评求分段函数的函数值,需先判断再执行步骤,需要引入选择结构.在使用选择结构时,要注意判断条件的设定不重不漏,确保各种可能的判断值有正确、唯一的流向.二、实际应用问题例2 邮政电子汇款单笔最高限额为1万元,每笔汇款的资费标准为汇款金额的1%,最低收费为2元,最高收费为50元.试编写一算法框图求出当汇款x (0<x≤10 000)元时,应交纳资费多少元.分析由题意分析,当x≤200时,应交纳资费2元,当x≥5 000时,应交纳资费50元,所以引入选择结构,200和5 000是两个分段点.解算法框图如图.点评很多在一些需要判断的实际问题,比如水电费,纳税额,结构工资,身体各项指标是否正常等,一般都会用到选择结构,在设计算法框图时,可先根据题意,设计算法,再根据算法画出算法框图.5 循环结构的应用在循环结构中,经常会出现两个变量:计数变量和累计变量.计数变量往往出现在循环结构中,起到循环计数的作用,这个变量一般出现在执行或终止循环体的条件中;而累计变量用于输出结果,往往与计数变量同步执行,一般有累加与累乘两种.下面举例说明循环结构的应用.一、求和或求积问题例1 设计两个求1+3+5+…+2 011的值的算法的算法框图.分析 本题是一个累加问题,由于加数较多,采用逐一相加的思路不可取,引入变量,应用循环结构解决:(1)设一个循环变量为i ,初始值为1;再设一个累加变量为S ,初始值为0.(2)循环体为S =S +i ,i =i +2.(3)终止条件为i >2 011. 解 两种方法:算法框图如图1和如图2所示.点评 涉及求多项的和与积的算法框图要用到循环结构和选择结构.画图时要注意循环变量的初始值、终值以及循环变量的增量在程序中的作用.本题代表了一类相邻两个数的差为常数的求和问题的解法,在设计算法框图时要注意前后两个加数相差2,此时计数变量不是i =i +1,而是i =i +2,要根据题意灵活地改变算法中的相应部分.二、叠加求值例2 画出求式子(共9个3)的值的一个算法框图.分析 本题是一个叠加问题,由于前后重复了多次相同的运算,所以应采用循环结构来设计算法,但利用循环结构实现算法需搞清初始值是什么.本题中初始值可设定为a 1=13,第一次循环得到a 2=13+a 1,第二次循环得到a 3=13+a 2,……,a 9=13+a 8,共循环了8次. 解 算法框图如图所示.点评如果算法问题里涉及的运算有许多重复的步骤,且数之间有相同的规律,那么可引入变量,应用循环结构.在循环结构中,要注意根据条件,设计合理的计数变量、累计变量,特别要注意条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况.6 三种逻辑结构辨与析算法中有三种逻辑结构,即顺序结构、选择结构、循环结构,同学们初学这三种结构,容易混淆.本文将这三种结构进行比较,希望同学们能深刻体会这三种结构的差异与共同点.一、三种基本逻辑结构顺序结构按照语句的先后顺序,从上而下依次执行这些语句,该结构不具备控制流程的作用,是任何一个算法都离不开的基本结构.选择结构根据是否满足某种条件来选择程序的走向.当条件满足时,运行一个分支,不满足时,运行另一个分支.循环结构从某处开始,按照一定的条件,反复执行某一处理步骤的情况.用来处理一些进行反复操作的问题.二、三种基本逻辑结构的共同特点1.只有一个入口.2.只有一个出口,注意一个菱形判断框有两个出口,而一个选择结构只有一个出口,不要将菱形框的出口和选择结构的出口混为一谈.3.结构内的每一部分都有机会被执行到,即对每一个框来说都应当有一条从入口到出口的路径通过它,如图1中的A,没有一条从入口到出口的路径通过它,是不符合要求的算法框图.4.结构内不存在死循环,即无终止的循环,如图2就是一个死循环,在算法框图中是不允许有死循环出现的.三种基本结构的这些共同特点,也是检查一个算法框图或算法是否正确、合理的方法和试金石.7 条件语句小聚1.“If—Then”语句“If—Then”语句的一般格式如下If 条件Then语句End If对应的框图如图1所示图1计算机在执行“If—Then”语句时,首先对If后的条件进行判断,如果符合条件,就执行Then后面的语句,若不符合条件,则直接结束该条件语句,转而执行后面的语句.2.“If—Then—Else”语句“If—Then—Else”语句的一般格式如下If 条件Then语句1Else语句2End If对应的框图如图2所示图2计算机在执行“If—Then—Else”语句时,首先对If后的条件进行判断,如果符合条件,则执行Then后面的“语句1”;若不符合条件,则执行Else后面的“语句2”.3.条件语句“If—Then—Else”可以嵌套,其格式为If 条件1 Then语句1ElseIf 条件2 Then语句2Else语句3End IfEnd If注意:使用条件语句时应注意以下几点:(1)条件语句必须以If语句开始,以End If语句结束,一个End If语句必须和一个If语句对应.(2)如果我们的程序只需对条件为真的情况作出处理,不需处理条件为假的情况,则条件语句省略Else,格式由If—Then—Else语句变成If—Then语句.8 透析循环语句两种循环语句1.For语句的一般形式是For循环变量=初始值To终值循环体Next执行步骤:当计算机执行For语句时,一般先执行一次循环体,当循环变量在初始值与终值之间时,执行循环体;当循环变量超过终值时,不再执行循环体,跳出循环体执行后面的语句.2.Do Loop语句的一般形式是循环体Loop While 条件为真计算机执行Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Loop While后的语句.9 算法在生活实际中的应用数学来源于生活,服务于社会,数学与生活息息相关,数学是有用的,在生活中做一件事情的方法和步骤有多种,生活中的许多问题都可以用算法描述,用算法框图表达.下面请欣赏三例算法问题.一、第29届奥林匹克运动会的申办例1 北京成功举办了2008年第29届奥林匹克运动会.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市的得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.请设计一个算法表述上面过程,并画出算法框图.解算法步骤如下:第一步,投票;第二步,统计票数,如果有一个城市得票数超过总票数的一半,那么该城市就获得主办权;否则淘汰得票数最少的城市,转第一步;第三步,宣布主办城市.算法框图如图所示:点评算法本身就是用计算机解决一些实际问题的方法,一定要充分理解算法的特点.二、奖金的发放例2 某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名.第1名得全部奖金的一半多1万元,第2名得剩余的奖金的一半多1万元,第3名再得剩余奖金的一半多1万元,以此类推,到第10名恰得奖金1万元,请设计一个算法语句求科研所最初拿出多少奖金进行奖励,并画出算法框图.解 第10名的奖金额S 1=1万元,第9名和第10名的总奖金额S 2=(1+1)×2=4万元,第8名、第9名和第10名的总奖金额S 3=(4+1)×2=10万元......总奖金额S 10=(S 9+1)×2,得递推公式S 1=1,S n +1=(S n +1)×2,n =1,2, (9)算法语句:S =1i =1DoS =S +1*2i =i +1Loop While i<10输出S .算法框图如图所示:三、李白酒壶中的酒例3 李白是我国唐代的一位伟大诗人,平时很喜欢喝酒,有一首打油诗讲了李白买酒的一件趣事,“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒.”问:李白的酒壶中原来有多少酒?请用算法解释,画出算法框图并写出算法语句.解 通过逆向思考,李白遇到第三枝花时,壶中有1斗酒,遇到第三个店时,壶中有12斗酒;遇到第二枝花时,壶中有1+12=32斗酒,遇到第二个店时,壶中有12×32=34斗酒;遇到第一枝花时,壶中有1+34=74斗酒,遇到第一个店时,壶中有12×74=78斗酒. 根据以上分析可得算法步骤如下:第一步,S =0;第二步,I =1;第三步,S =S +12;第四步,I =I +1;第五步,如果I >3,则输出S ;否则,转第三步. 算法框图如图所示:算法语句:S =0I =1DoS =S +1/2I =I +1Loop While I <=3输出S .。
2017_2018学年高中数学第二章算法初步2_1顺序结构与选择结构教学案北师大版必修3
[典例] 以下对算法的明白得不正确的选项是( )
A.一个算法应包括有限的步骤,而不能是无穷的
B.算法能够明白得为由大体运算及规定的运算顺序组成的完整的解题步骤
C.算法中的每一步都应当有效地执行,并取得确信的结果
D.一个问题只能设计出一个算法
[解析] 由算法的特点可知,D不正确.
[答案] D
5.在下面求15和18的最小公倍数的算法中,其中不适当的一步是________.
(1)先将15分解素因数:15=3×5;
(2)然后将18分解素因数:18=32×2;
(3)确信它们的所有素因数:2,3,5;
(4)计算出它们的最小公倍数:2×3×5=30.
解析:(4)步不适当,正确的应该是:先确信素因数的指数:2,3,5的指数别离为1,2,1;然后计算出它们的最小公倍数:2×32×5=90.
答案:(4)
6.求1×3×5×7×9×11的值的一个算法是:
(1)求1×3,得结果3.
(2)将第一步所得结果3乘以5,取得结果15.
(3)______________________________________.
(4)再将第三步所得结果105乘以9,取得945.
(5)再将第四步所得结果945乘以11,取得10 395,即为最后结果.
C.S=1+ +…+
D.S=1+2+3+4+…
解析:选D 由算法的有穷性知,选D.
4.比较两个实数a与b的大小的一个算法为:
(1)假设a-b>0,那么a>b;
(2)________;
(3)假设a-b<0,那么a<b.
请将上面的算法补充完整.
答案:假设a-b=0,那么a=b
[层级二 应试能力达标]
高中数学 第二章 算法初步教案 北师大版必修31
高中数学第二章算法初步教案北师大版必修3整体设计教学分析前面学习了算法、算法框图与几种算法语句,本节课作为本章的小结,旨在和学生一起站在全章的高度,以算法思想为灵魂,以问题解决为主线,以典型例题为操作平台,以巩固知识、发展能力、提高素养为目的对本章作全面的复习总结,帮助学生进一步提高对算法的理解和认识,优化知识结构.三维目标1.对本章知识形成知识网络,提高学生的逻辑思维能力,培养学生的归纳能力.2.熟练应用算法、算法框图与基本算法语句来解决问题,培养学生的分析问题和解决问题的能力,逐步学会用数学方法去认识世界、改造世界.重点难点教学重点:应用算法、算法框图与基本算法语句解决问题.教学难点:形成知识网络.课时安排1课时教学过程导入新课思路1(情境导入).大家都熟悉围棋高手“石佛”李昌镐吧,他曾经打遍天下无敌手.他的技术很全面,但他最厉害的技术是“官子”,他的“官子”层次分明,可以说滴水不漏,堪称世界第一.我们的这次复习也要像围棋中的“官子”,也要做到层次分明滴水不漏.思路2(直接导入).前面我们学习了算法、算法框图与基本算法语句等内容,今天我们对本章知识、方法、数学思想进行全面系统的总结与复习.推进新课新知探究提出问题1.请同学们自己梳理本章知识结构.2.回顾算法的定义及特征.3.回忆算法框图的三种逻辑结构.4.总结算法语句.讨论结果:1.本章知识结构如图1.图12.算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.算法的特征:(1)确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.(2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣、分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.3.顺序结构、选择结构、循环结构. 4.(1)条件语句:If 条件 Then 语句1Else 语句2End If当计算机执行上述语句时,首先对If 后边的条件进行判断,如果满足条件,那么执行语句1,再执行End If 之后的语句即结束条件语句;如果不满足条件,那么执行语句2,再执行End If 之后的语句即结束条件语句.(2)For 语句:For 循环变量=初始值 To 终值 循环体NextFor 语句适用于预先知道循环次数的循环结构. (3)Do Loop 语句: Do循环体Loop While 条件为真Do Loop 语句适用于预先不知道循环次数的循环结构. 应用示例例1 如图2所示,该语句运行后输出的结果为__________.图2解:该算法框图的运行过程是: A =1 S =1S =1+9=10 A =1+1=2 A >2不成立 S =10+9=19 A =2+1=3 A =3>2成立 输出S =19 答案:19点评:解决同一个问题,可以有多种算法,那么就有多种算法框图和语句,再就是不同版本的教科书算法语句的语言形式也不相同,因此高考试题中通常不会考查画算法框图或编写程序.由于学习本章的目的是体会算法的思想,所以已知算法框图或语句,判断其结果是高考考查本章知识的主要形式,这也是课程标准和考试说明对本章的要求.其判断方法是具体运行所给的算法框图或程序,即可得到算法的结果. 变式训练1.给出语句,那么其功能是__________.i =2 sum =0 Dosum =sum +i i =i +2Loop While i <100 输出sum答案:计算2+4+6+…+98的值 2.下列语句的功能是__________S =0 k =1 DoS =S +1/k =k +1Loop While k≤100 输出S答案:求1+12+13+…+1100的值例2已知函数y =⎩⎪⎨⎪⎧2x-1,x ≤-1,log 3x +,-1<x <2,x 4,x ≥2,试设计一个算法,输入x 的值,求对应的函数值.分析:对输入x 的值与-1和2比较大小,即分类讨论. 解:算法如下: 1.输入x 的值.2.当x ≤-1时,计算y =2x-1,否则执行下一步.3.当x ≥2时,计算y =x 4,否则执行下一步. 4.计算y =log 3(x +1). 5.输出y .点评:分段函数是高考考查的重点,在考虑算法步骤时,要用到分类讨论思想,这为复习算法框图和算法语句打好了基础. 变式训练给出下列算法: 1.输入x 的值.2.当x ≤-2时,计算y =-x -2,否则执行下一步. 3.当x ≥0时,计算y =x +1,否则执行下一步. 4.计算y =3. 5.输出y .该算法的功能是__________.答案:已知函数y =⎩⎨⎧-x -2,x ≤-2,3,-2<x <0,x +1,x ≥0,输入x 的值,求对应的函数值例3 图3是表示求解方程x2-(a+1)x+a=0(a∈R,a是常数)过程的算法框图.请在标有序号(1)(2)(3)(4)处填上你认为合适的内容将框图补充完整.(1)__________;(2)____________;(3)__________;(4)__________.图3分析:观察算法框图可知,所解方程是一元二次方程,先计算判别式Δ=(a+1)2-4a =(a-1)2,所以(1)处填(a-1)2;计算判别式Δ的大小后,再判断其符号,由于Δ=(a-1)2,则只需判断a是否等于1即可,则(2)有两种填法a=1或a≠1,当(2)处填a=1时,(3)处填x1=x2=1,(4)处填x1=a,x2=1;当(2)处填a≠1时,(3)处填x1=a,x2=1,(4)处填x1=x2=1.答案:(1)(a-1)2(2)a=1 (3)x1=x2=1 (4)x1=a,x2=1或(1)(a-1)2(2)a≠1 (3)x1=a,x2=1 (4)x1=x2=1点评:用合适的内容补充完整框图是高考考查的重点,尤其是选择结构和循环结构不仅是考查的重点,也是这类问题的难点,应重点训练.知能训练1.图4中算法框图表示的语句所输出的结果是( ).图4A.11 B.12 C.132 D.1 320分析:该语句算法框图的运行过程是:i=12S=1i=12≥10成立S=1×12=12i=12-1=11i=11≥10成立S=12×11=132i=11-1=10i=10≥10成立S=132×10=1 320i=10-1=9i=9≥10不成立输出S=1 320答案:D2.给出下面的语句: 输入m ,n Dor =m MOD n m =n n =rLoop While r≠0输出m当输入168,72时,输出的结果是( ). A .168 B .72 C .36 D .24 答案:D 拓展提升数学的美是令人惊异的!如三位数153,它满足153=13+53+33,即这个整数等于它各位上的数字的立方的和,我们称这样的数为“水仙花数”.请您设计一个算法,找出大于100,小于1 000的所有“水仙花数”.(1)用自然语言写出算法; (2)画出算法框图.分析:由于需要判断大于100,小于1 000的整数是否满足等于它各位上的数字的立方的和,所以需要用循环结构.解:(1)算法步骤如下: 1.i =101;2.如果i不大于999,则执行第3步,否则算法结束;3.若这个数i 等于它各位上的数字的立方的和,则输出这个数; 4.i =i +1,返回第2步. (2)算法框图,如图5所示.图5课堂小结(1)复习有关算法步骤、算法框图、算法语句的重点题型. (2)总结有关算法步骤、算法框图、算法语句的思想方法. 作业复习参考题二 A 组 5,6.设计感想本节通过引入强调进行小结的重要性,通过大量生动活泼的例题对本章进行系统的总结,通过精彩的点评渗透算法的基本思想,使学生的知识得到进一步巩固,使学生的思想方法不断升华.备课资料人机大战的启示人类的许多进步之所以产生,多半是发明了一个更好、更有力的工具.物质工具使工作速度加快并使人们从重体力劳动中解脱出来,而信息工具则扩大人们的智力.物质工具如犁、起重机、推土机、内燃机、电动机等,是人的四肢的延伸,而计算机是人的大脑的延伸.它最初只能进行数值计算,但随着其发展,应用范围不断扩大.它不仅能够进行计算,还能进行记忆、判断、推理、设计、控制、自动化处理等.一句话,只要是能输入计算机里的信息,它都能按照人的要求对信息进行迅速而圆满的处理.因此,计算机也被称为电脑.在短短十几年的时间里,我们经历了计算机深入生活每一个角落的过程,深深感受到了计算机多方面的强大的功能.其中,国际象棋大师卡斯帕罗夫与IBM“深蓝”的人机大战的结果曾引起世人瞩目和激烈讨论,留下了有关计算机与人的关系的种种思考.1989年,美国IBM公司成立了“深蓝”(Deep Blue)项目小组,开始着手研究有关计算机下棋方面的技术,其实就是设计下棋的算法.其目的是证明它具有能够处理复杂博弈模式的能力,而真正的意图是,以此作为一个模型,将并行技术深入到其他各种复杂应用领域.1988年,“深蓝”的前身“深思”(Deep Thought)在华裔科学家许峰雄等人的开发下,已经具备与人进行国际象棋比赛的能力.“深蓝”在开始设计时就以超越“深思”为目的,特别在运算速度与处理能力部分.经过不断的努力,1996年2月,当今最优秀的国际象棋棋手、世界冠军卡斯帕罗夫与“深蓝”计算机展开了第一次真正的角逐.比赛为六局对抗赛.虽然卡斯帕罗夫最终以4∶2的比分取胜,但今天计算机所达到的能力,也着实让全世界吃了一惊.尤其是第一局,“深蓝”以获胜来了个“开门红”.卡斯帕罗夫在赛后承认,“深蓝”是必须认真对待的劲敌,他说:“我没有料到它如此难以对付,我输掉第一局非常幸运,因为那是给我发出的最严重警告.”由于卡斯帕罗夫战胜“深蓝”,他预言:“在严肃、经典的比赛中,计算机在本世纪没有赢棋的机会.”然而,卡斯帕罗夫对计算机技术的飞速发展估计错了.仅仅一年后,“深蓝”就战胜了这位大师.1997年5月人机大战重开.前五局战平,5月11日第六局决胜局的比赛,卡斯帕罗夫仅走了19步便向“深蓝”认输.“深蓝”重达1.4吨,拥有32个节点,每一节点有8块专门为进行国际象棋对弈设计的处理器,从而拥有每秒运算超过2亿步的惊人速度.为了使“深蓝”能拥有更多的资源规划棋步,开发小组汇集了一个开放棋局的数据库,输入了100年来世界顶级棋手的棋局,此外还有残局数据库,即最后五步时的走法,形成了汇集10亿个棋局的数据库.自1996年在输给卡斯帕罗夫之后,美国特级大师本杰明加盟“深蓝”,将他对象棋的理解编成语句输入“深蓝”,且在1997年的比赛中,每场对局结束后,小组都会根据卡斯帕罗夫的情况相应地修改特定的参数.“深蓝”在比赛中,不会疲倦、不会有心理和情绪上的起伏,只是不动声色地进行高速准确的运算.因此,卡斯帕罗夫的对手并不是“深蓝”主机,而是一群人如何运用电脑的硬、软件来向一个人的智慧和反应挑战.电脑的胜利说到底是人脑的胜利.但是“深蓝”的这次胜利,毕竟标志着计算机技术又上了一个新台阶,更准确地说,这次“深蓝”胜利,是人脑经过电脑胜过人脑.它也反过来让人们思考,什么是思维的本质?它第一次让人类如此真切地感受到了电脑与人的相异却又能够与人对抗的能力,这种力量还会从人们今后的努力中得到滋养从而不断壮大.有人曾将人机大战称为捍卫人类尊严的比赛,此次“深蓝”获胜,绝不意味人类的尊严丧失殆尽.许峰雄博士说得好:“棋王卡斯帕罗夫的胜利是为人类的过去赢了一盘棋;今年,‘深蓝’胜卡斯帕罗夫,是为人类的未来赢了一盘棋.”另外,深具意义的是,“深蓝”证明了人类的极限.超越人类的极限是一件很大的事情,人类就是在不断超越自己的极限中而进步的.。
高中数学 第二章 算法初步 2.1 算法的基本思想教案 北师大版必修3
第二章算法初步算法是数学及其应用的重要组成部分,是计算科学的重要基础.随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并融入社会生活的方方面面,算法思想已经成为现代人应具备的一种数学素养.需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想.在这一章中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验算法框图在解决问题中的作用;通过模仿、操作、探索,学习设计算法框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力.算法作为新名词,在以前的数学教科书中没有出现过,但是算法本身,同学们并不陌生.解方程的算法、解不等式的算法、因式分解的算法,都是同学们熟知的内容.只是算法的基本思想、特点,学习算法的必要性等问题没有专门涉及.因此,本章中的算法的基本思想,将针对同学们熟悉的一些问题,分析解决这些具体问题的算理,整理出相应问题的解决步骤,然后抽象概括出更具一般意义的算法.通过这个过程,让学生体会算法的程序化思想.同时,针对同样的问题,我们给出不同的算法,让同学们意识到:同一个问题可能存在着多种算法,算法之间有优劣之分.接下来,通过求方程近似解,让同学们意识到学习算法的必要性——将问题的解决过程即算法交给计算机完成,能够极大地提高效率.接下来,介绍算法的基本结构.顺序结构和选择结构是学生比较容易接受的,循环结构则比较难以理解.分析造成理解困难的原因之一是变量以及对变量的处理——赋值.在循环结构的学习中,总结了循环结构的三个要素——循环变量、循环体和循环的终止条件,并提供了可供学生模仿、操作的算法算法框图.排序算法可以说是应用最广泛的算法了,而且又易于理解,便于接受,是算法教学的良好素材.教科书选择这个问题作为专题来讨论,给学生提供了一个完整的分析、设计算法的过程,也给了学生一个应用前面所学的关于变量和结构的知识的机会.在前面的学习中,我们分别用自然语言和算法框图来描述算法,这两种方式各有优缺点.要将算法最终交给计算机执行,需要用程序语言来表述算法,程序语言有很多种,但是有一些基本语句是这些语言都要用到的:输入输出语句、赋值语句、条件语句、循环语句,在本章的最后介绍了这几种基本语句.值得注意的是:1.注重对算法基本思想的理解.算法是高中数学课程中的新内容,其思想非常重要,但并不神秘.例如,运用消元法解二元一次方程组、求最大公因数等的过程本质上就是算法.本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成算法框图;为了能在计算机上实现,还需要将自然语言或算法框图翻译成计算机语言.本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.2.算法教学必须通过实例进行.使学生在解决具体问题的过程中学习一些基本逻辑结构和语句.有条件的学校,应鼓励学生上机尝试运行程序.在实例的选择中,我们要把握这样一些原则:亲和原则:选取的例子要贴近学生,或者来自学生的生活实践,或者是学生所学过的数学知识.趣味性原则:选取的实例一般要有丰富的背景,本身要有趣味性.基础性原则:问题本身的算理并不难,只要蕴涵丰富的算法思想即可.可操作性原则:所选取问题的算法一般能在计算机上实现.3.算法教学要注意循序渐进,先具体再抽象,先了解算理,再描述算法.通常,我们说一个算法越是抽象,有一般意义,应用就越广泛,越能体现算法本身的应用价值.但是,作为教学意义上的算法则不同,一定要从具体问题出发分析算法的算理及算法步骤,然后抽象概括出一般意义的算法,画出算法算法框图,并在这个过程中,学习使用变量、赋值,学习更好地表述算法,以便在计算机上操作执行.算法的教学中,变量的理解、赋值的应用、循环结构的理解是重点和难点,教师要注意分散这些难点.学生对算法思想的认识、概念的把握、知识的灵活应用及能力的形成不是一次完成的,而是要把这些作为教学目标渗透在整章的学习中.整体设计教学分析算法在中学数学课程中是一个新的概念,但其没有一个精确化的定义,教科书只对它作了如下描述:“算法是解决某一类问题的步骤和程序.”为了让学生更好地理解这一概念,教科书用5个例子来说明算法的实质.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时教学过程导入新课思路 1.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物完好地转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.思路 2.大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路 3.算法不仅是数学及其应用的重要组成部分,也是计算科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.如听音乐、看电影、玩游戏、打字、画卡通画、处理数据都能通过计算机实现,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题1.解二元一次方程组有几种方法?2.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用加减消元法解二元一次方程组的步骤.3.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用代入消元法解二元一次方程组的步骤.4.请写出解一般二元一次方程组的步骤.5.根据上述实例谈谈你对算法的理解.6.请同学们总结算法的特征.7.请思考我们学习算法的意义.讨论结果:1.代入消元法和加减消元法.2.回顾二元一次方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1②的求解过程,我们可以归纳出以下步骤:第一步,①+②×2,得5x =1.③第二步,解③,得x =15.第三步,②-①×2,得5y =3.④第四步,解④,得y =35.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.3.用代入消元法解二元一次方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,②我们可以归纳出以下步骤:第一步,由①得x =2y -1.③第二步,把③代入②,得2(2y -1)+y =1.④第三步,解④得y =35.⑤第四步,把⑤代入③,得x =2×35-1=15.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.4.对于一般的二元一次方程组⎩⎪⎨⎪⎧ a 1x +b 1y =c 1,a 2x +b 2y =c 2, ①②其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:第一步,①×b 2-②×b 1,得(a 1b 2-a 2b 1)x =b 2c 1-b 1c 2.③第二步,解③,得x =b 2c 1-b 1c 2a 1b 2-a 2b 1. 第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y =a 1c 2-a 2c 1.④第四步,解④,得y =a 1c 2-a 2c 1a 1b 2-a 2b 1. 第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =b 2c 1-b 1c 2a 1b 2-a 2b 1,y =a 1c 2-a 2c 1a 1b 2-a 2b 1.5.算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.6.算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.7.在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路11在给定素数表的条件下,设计算法,将936分解成素因数的乘积.(4 000以内的素数表见教科书附录1)分析:1.查表判断936是否为素数:(1)如果936是素数,则分解结束;(2)如果936不是素数,则进行第2步.2.确定936的最小素因数:2. 936=2×468.3.查表判断468是否为素数:(1)如果468是素数,则分解结束;(2)如果468不是素数,则重复上述步骤,确定468的最小素因数.重复进行上述步骤,直到找出936的所有素因数.解:算法步骤如下:1.判断936是否为素数:否.2.确定936的最小素因数:2. 936=2×468.3.判断468是否为素数:否.4.确定468的最小素因数:2. 936=2×2×234.5.判断234是否为素数:否.6.确定234的最小素因数:2 936=2×2×2×117.7.判断117是否为素数:否.8.确定117的最小素因数:3. 936=2×2×2×3×39.9.判断39是否为素数:否.10.确定39的最小素因数:3. 936=2×2×2×3×3×13.11.判断13是否为素数:13是素数,所以分解结束.分解结果是936=2×2×2×3×3×13.点评:以上步骤是解决素因数分解问题的一个过程,只要依照这一系列步骤,都能解决这个问题.我们把这一系列步骤称为解决这个问题的一个算法.变式训练设计一个算法,求840与1 764的最大公因数.分析:我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的.解答这个问题需要按以下思路进行.首先,对两个数分别进行素因数分解:840=23×3×5×7, 1 764=22×32×72.其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1 764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2.同样,可以确定出公因数3和7的指数均为1.这样,就确定了840与1 764的最大公因数为22×31×71=84.解:算法步骤如下: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.例2 一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?分析:最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.图1解:按照下列步骤,就能将假银元找出来:1.任取2枚银元分别放在天平的两边.如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则进行第2步.2.取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.这种算法最少要称1次,最多要称7次.是不是还有更好的办法,使得称量次数少一些?我们可以采用下面的方法:图21.把银元分成3组,每组3枚.2.先将两组分别放在天平的两边.如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里.3.取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元.点评:经分析发现,后一种算法只需称量2次,这种做法要明显好于前一种做法.当然,这两种方法都具有一般性,同样适用于n枚银元的情形.这是信息论中的一个模型,可以帮助我们找出某些特殊信息.从上面的问题中可以看出,同一个问题可能存在着多种算法,其中一些可能要比另一些好.在实际问题和算法理论中,找出好的算法是一项重要的工作.思路2例1 (1)设计一个算法,判断7是否为质数;(2)设计一个算法,判断35是否为质数.分析:(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.解:(1)①用2除7,得到余数1.因为余数不为0,所以2不能整除7.②用3除7,得到余数1.因为余数不为0,所以3不能整除7.③用4除7,得到余数3.因为余数不为0,所以4不能整除7.④用5除7,得到余数2.因为余数不为0,所以5不能整除7.⑤用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.(2)类似地,可写出“判断35是否为质数”的算法:①用2除35,得到余数1.因为余数不为0,所以2不能整除35.②用3除35,得到余数2.因为余数不为0,所以3不能整除35.③用4除35,得到余数3.因为余数不为0,所以4不能整除35.④用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1 997是否为质数就比较麻烦了,因此,我们需要寻找更实用的算法步骤.变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i表示2~(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.解:1.给定大于2的整数n.2.令i=2.3.用i除n,得到余数r.4.判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.5.判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第3步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b]〔满足f(a)·f(b)<0〕“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:1.令f(x)=x2-2,给定精度d.2.确定区间[a,b],满足f(a)·f(b)<0.3.取区间中点m=a+b 2.4.若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].5.判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d近似解.实际上,上述步骤也是求2的近似解的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……变式训练求方程f(x)=x3+x2-1=0在区间[0,1]上的近似解,精度为0.01.解:根据上述分析,可以通过下列步骤求得方程的近似解:1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间,精度1-0=1>0.01;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],精度1-0.5=0.5>0.01;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],精度1-0.75=0.25>0.01;……当得到新的有解区间[0.75,0.757 82]时,由于|0.757 82-0.75|=0.007 82<0.01,该区间精度已满足要求,所以取区间[0.75,0.757 82]的中点0.753 91,它是方程的一个近似解.例3 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中应尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:1.人带两只狼过河,并自己返回.2.人带一只狼过河,自己返回.3.人带两只羚羊过河,并带两只狼返回.4.人带一只羚羊过河,自己返回.5.人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简洁、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的问题经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使问题变得简单,而且可以提高工作效率.变式训练喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.如何安排这几个步骤?请给出两种算法,并加以比较.分析:本题主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:1.洗刷水壶.2.烧水.3.洗刷茶具.4.沏茶.算法二:1.洗刷水壶.2.烧水,烧水的过程当中洗刷茶具.3.沏茶.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:1.输入一元二次方程的系数:a,b,c.2.计算Δ=b2-4ac的值.3.判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法,并且具有确定性、逻辑性、有穷性.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t (分钟),通话费用为y (元),如何设计一个程序,计算通话的费用?解:算法分析:数学模型实际上为y 关于t 的分段函数.关系式如下:y =⎩⎪⎨⎪⎧ 0.22,0<t ≤3,0.22+0.1t -3,t >3,t ∈Z ,0.22+0.1[t -3]+1,t >3,t ∉Z .其中[t -3]表示取不大于t -3的整数部分.算法步骤如下:1.输入通话时间t .2.如果t ≤3,那么y = 0.22;否则判断t ∈Z 是否成立,若成立执行y = 0.2+0.1× (t -3);否则执行y = 0.2+0.1×( [t -3]+1).3.输出通话费用y .课堂小结1.正确理解算法这一概念.2.结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、练习2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,也有几何算法等,因此这是一节很好的课例.备课资料备选习题中国古代有一个著名的算法案例:鸡兔49个头,100条腿往地里走,问鸡兔各多少?请写出计算鸡兔数的算法.分析:求解鸡兔的问题简单直观,却包含着深刻的算法思想.应用解二元一次方程组的方法来求解鸡兔同笼问题.解:算法如下:1.设有鸡x 只,兔y 只,则有⎩⎪⎨⎪⎧ x +y =49,2x +4y =100.①② 2.将方程组中的第一个方程两边乘以-2加到第二个方程中去,得到⎩⎪⎨⎪⎧x +y =49,4-2y =100-49×2, 解得y =1.3.将y =1代入①,得x =48.因此鸡有48只,兔有1只.。
2017-2018版高中数学 第二章 算法初步章末复习提升 北师大版必修3(1)
章末复习提升
栏目 索引
知识网络 要点归纳 题型探究
系统盘点 整合要点 重点突破
知识网络
系统盘点
返回
要点归纳
整合要点
1.算法
算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步
骤,或看成按要求设计好的有限的、确切的计算序列,并且这样的步
骤或序列能够解决一类问题.
2.算法框图
返回
题型探究
重点突破
题型一 算法设计 算法的设计与一般意义上的解决问题并不相同,它是对一类问题一般 解法的抽象与概括.我们将一般问题划分为数值问题和非数值型问题两 类;对于数值型问题,我们可以采用数值分析的方法进行处理,数值 分析中许多现成的固定算法,我们可以直接使用,当然我们也可以根 据问题的实际情况设计算法;对于非数值型问题,可以根据过程模型 分析算法并进行处理,也可以选择一些成熟的办法进行处理,如排序、 递推等.
算法框图,是一种用规定的图形、流程线及文字说明来准确、直观地
表示算法的图形.
通常,算法框图由程序框和流程线组成.一个或几个程序框的组合表示
算法中的一个步骤:流程线是带方向箭头的指向线,按照算法进行的
顺序将程序框连接起来.
3.程序设计 自然语言表述的算法和算法框图是程序设计的基础,算法框图侧重于 直观性,而程序则倾向于计算机执行的实用性. 编写程序的基本方法是“自上而下,逐步求精”,即首先把一个复杂 的大问题分解成若干个相对独立的小问题,如果小问题仍较复杂,则 可以把这些小问题再继续分解成若干个子问题,这样不断分解,便可 使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止, 然后,对应每一个小问题或子问题编写出一个功能上相对独立的程序 模块来.每个模块各个击破,最后再统一组装,问题便可得到解决.
2017_2018学年高中数学第二章算法初步2_3循环结构教学案北师大版必修3
解析:选D 按要求程序运行至S=13+23+33+…+n3以后,紧接着i=i+1即i=n+1,现在要输出S,即判定框内应填i>n.
4.如下图,算法框图的输出结果是________.
解析:由算法框图可知,变量的取值情形如下:
第一次循环,x=1,y=1,z=2;
第二次循环,x=1,y=2,z=3;
C.循环结构是在一些算法中从某处开始依照必然的条件,反复执行某些处置步骤,故循环结构必然包括顺序结构和选择结构
D.循环结构不必然包括选择结构
解析:选D 依据算法框图的三种大体结构的特点易患D不正确.
2.执行两次如下图的算法框图,假设第一次输入的a的值为-1.2,第二次输入的a的值为1.2,那么第一次、第二次输出的a的值别离为( )
解:该体育小组共20人,要解决问题必需对运动员进行编号,设第i个运动员的编号为Ni,成绩为Gi.
算法如下:
(1)i=1;
(2)输入Ni,Gi;
(3)若是Gi<6.8,那么输出Ni,Gi,并执行第4步,不然,也执行第4步;
(4)i=i+1;
(5)若是i≤20,那么返回第(2)步,不然终止.
算法框图如下图.
(2)在某些问题中,会给出算法框图的输出结果或算法框图的功能,要求对算法框图中缺失的地址进行补充.关于这种问题,最多见的是要求补充循环结构的判定条件,解决此类问题的关键是找出运算结果与判定条件的关系.
[活学活用]
如下图的算法框图,假设输出k的值为6,那么判定框内可填入的条件是( )
A.s> B.s>
(2)循环体是指依照必然条件,反复执行的某一处置步骤.( )
(3)循环结构中必然有选择结构,选择结构中必然有循环结构.( )
2017_2018版高中数学第二章算法初步3_2循环语句学案北师大版必修3
3.2 循环语句学习目标 1.明白得两种结构的循环语句——For语句和Do Loop语句.2.把握两种循环语句的一样形式并会应用.3.通过具体实例使学生明确两种循环语句的区别和联系.知识点一循环语句试探在算法框图中咱们用选择结构来操纵循环.在语句中如何实现循环?梳理一样地,循环语句有两种,预先明白循环次数用________语句,不明白那么用________语句.知识点二For语句1.For语句适用范围循环结构是算法中的大体结构,________是表达循环结构最多见的语句之一,它适用于________________的循环结构.2.For语句的一样形式是For循环变量=初始值To终值循环体________知识点三Do Loop语句1.Do Loop语句适用范围预先不明白循环次数的循环结构,一样用________语句来描述.2.Do Loop语句的一样形式为Do循环体______________类型一For语句例1 结合教材图2-20中的框图,利用For语句描述输出菲波那契数列的前50项的算法.反思与感悟 解决这种问题第一是确信循环变量的初始值和终止值,依照题意确信循环体,然后用For 语句的形式对算法加以描述.跟踪训练1 已知S =5+10+15+…+1 500,画出算法框图,用For 语句写出算法.例2 请阅读以下用For 语句写出的算法,那么该算法的处置功能为______________________.反思与感悟 阅读For 语句关键是弄清循环变量的初始值、终止值和循环体. 循环变量、初始值、终止值别离为i 、一、20.循环体为S =S +i ;T =T *i .跟踪训练2 设计一个计算1+13+19+133+…+1320的算法,并画出算法框图写出算法语句.类型二Do Loop语句例3 计算1+2+3+…+100的值有如下算法:1.令i=1,S=0.2.计算S+i,仍用S表示.3.计算i+1,仍用i表示.4.判定i≤100是不是成立.假设是,那么返回第二步;不然,输出S,终止算法.请利用Do Loop语句写出那个算法对应的语句.反思与感悟用Do Loop语句写算法时,要注意Loop While后面的条件,只要条件为真就执行循环体.跟踪训练3 依照下面的算法语句,绘制算法框图,指出输出的最后结果是什么?并将它改成另一种循环语句.S=0For i=3 To 99S=S+i3i=i+2Next输出S.1.关于Do Loop循环语句表达正确的选项是( )A.至少执行循环体一次B.执行一次循环体C.知足条件时执行循环体D.碰到Do Loop就终止2.依照下面语句判定输出结果为( )i=1S=0DoS=S+ii=i+1Loop While S<20输出 i.A.6 B.7 C.8 D.93.以下算法语句输出的结果是( )i=1S=0DoS=S*2+1i=i+1Loop While i<=4输出S.A.3 B.7 C.15 D.194.请阅读下面用For语句给出的算法,画出算法框图并说明该算法的处置功能.S=0For i=1 To 20 Step 2S=S+iNext输出S.1.For语句适用于预先明白循环次数的循环结构,而不知循环次数的循环结构用Do Loop语句.2.当运算机执行For语句时,一样先执行一次循环体,当循环变量在初始值与终止值之间时,执行循环体;当循环变量超过终止值时,再也不执行循环体,跳出循环体执行后面的语句.运算机执行DoLoop语句,先执行一次循环体,假设符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Loop While 后的语句.3.一样情形下,For语句能够改成Do Loop语句,而Do Loop语句不必然能改成For语句.答案精析问题导学知识点一试探利用循环语句.梳理For Do Loop知识点二1.For语句预先明白循环次数2.Next知识点三1.Do Loop2.Loop While条件为真题型探讨例1 解f1=0f2=1输出“菲波那契数列为”f1f2For i=3 To 50f3=f1+f2输出f3f1=f2f2=f3Next跟踪训练1 解算法框图如下图:从算法框图能够看出是一个循环结构,咱们能够运用循环语句来实现.或例2 求和S=1+2+3+…+20及求积T=1×2×3×…×20跟踪训练2 解原式=1+13+19+133+…+1320,计数变量在指数位置上,积存变量与计数变量的初始值都可看做1,利用循环结构设计算法.算法如下:(1) S=1;(2) i=1;(3) S=S+13i;(4) i=i+1;(5) 若是i≤20,那么返回(3),从头执行(3)、(4)、(5),不然输出S. 语句如下:S=1For i=1 To 20S=S+1/3iNext输出S.相应算法框图如下图:例3 解语句如下:i=1S=0DoS=S+ii=i+1Loop While i<=100输出S.跟踪训练3 解算法语句对应的算法框图如下图,它用的是“For”语句,最终输出的结果是33+53+ (993)算法框图如下图:或利用“Do Loop语句”能够改成S=0i=3DoS=S+i3i=i+2Loop While i<=99当堂训练1.A2.B [前6次循环后,S的值别离为1,3,6,10,15,21,因21>20,要输出i,现在i是加1后的值为7.]3.C [由算法语句可知,该循环体共循环4次,别离为S=2×0+1=1,S=2×1+1=3,S=2×3+1=7,S=2×7+1=15.]4.解算法的框图如下图,因此,那个算法事实上处置的是求和S=1+3+5+7+9+11+13+15+17+19.。
2017_2018版高中数学第二章算法初步2_3循环结构学案北师大版必修3
2.3 循环结构学习目标 1.理解循环结构的概念.2.掌握循环结构的三要素:循环变量、循环体、循环的终止条件.3.能识别和理解循环结构的框图以及功能.4.能运用循环结构设计算法框图以解决简单的问题.知识点循环结构思考前面我们曾用累加法计算1+2+3+…+100的值,其中有没有重复操作的步骤?梳理1.循环结构的概念在一些算法中,经常会出现从某处开始,按照一定条件,____________某一处理步骤的情况,像这样的算法结构称为循环结构.循环体:________________________称为循环体.循环变量:________________________的变量,称为循环变量.循环的终止条件:________________________的条件,称为循环的终止条件.2.循环结构的设计过程设计循环结构之前需要确定的三件事:(1)确定循环变量和____________;(2)确定算法中____________的部分,即循环体;(3)确定循环的________条件.类型一循环结构的概念例1 阅读下图所示的框图,回答下列问题:(1)变量y在这个算法中的作用是什么?(2)这个算法的循环体是哪一部分,功能是什么?(3)这个算法的处理功能是什么?反思与感悟循环结构的三要素:循环变量,循环体,循环的终止条件.跟踪训练1 1+2+3+…+100的算法框图如下,指出它的循环变量、初始值及循环的终止条件.类型二循环结构的设计例2 设计一个计算1+3+5+…+(2n-1)(n∈N+)的值的算法,并画出算法框图.反思与感悟此例中循环变量为i,但它并不是逐次加1,而是加2,设计者可以根据需要灵活控制循环变量的变化幅度.跟踪训练2 请设计一个求100个数中的最大数的算法框图.类型三循环结构的应用例3 电脑游戏中,“主角”的生命机会往往被预先设定,如其枪战游戏中,“主角”被设定生命机会5次,每次生命承受射击8枪(被击中8枪则失去一次生命机会).假设射击过程均为单发发射,试将“主角”耗用生命机会的过程设计成一个算法框图.跟踪训练3 在某次田径比赛中,男子100米A组有8位选手参加预赛,成绩(单位:秒)依次为:9.88,10.57,10.63,9.90,9.85,9.98,10.21,10.86.请设计一个算法,在这些成绩中找出不超过9.90秒的成绩,并画出算法框图.1.给出下面的算法框图,那么其循环体执行的次数是( )A.500 B.499 C.1 000 D.9982.下面4种说法中正确的是( )①任何一个算法都离不开顺序结构;②算法框图中,根据条件是否成立有不同的流向;③任何一个算法都必须同时含有三种基本结构;④循环结构中必须有选择结构,选择结构中也一定有循环结构.A.①② B.①③C.①②④ D.②③3.现有欧几里得算法框图如图所示,若取A=10,B=3,则打印出的答案B为( )A .2B .6C .16D .14.如图所示,算法框图的输出结果是( )A.16B.2524C.34D.11121.用循环结构来描述算法时,要事先确定三件事: (1)确定循环变量和初始条件. (2)确定算法中反复执行的循环体. (3)确定循环的终止条件.2.选择结构与循环结构的区别和联系:选择结构是根据条件是否成立决定有不同的流向,循环结构是根据条件决定是否重复执行一条或多条指令.循环结构一定要在某个条件下跳出循环,这就需要选择结构来判断.因此,循环结构一定包含选择结构.答案精析问题导学知识点思考用S表示每一步的计算结果,S加下一个数得到一个新的S,这个步骤被重复了100次.梳理1.反复执行反复执行的处理步骤控制着循环的开始和结束判断是否继续执行循环体 2.(1)初始条件(2)反复执行(3)终止题型探究例1 解(1)变量y是循环变量,控制着循环的开始和结束;(2)框图中的第②部分是循环体,其功能是判断年份y是不是闰年,并输出结果;(3)由前面的分析,我们知道,这个算法的处理功能是判断2000~2500(包括2500)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果.跟踪训练1 解循环变量为i,i的初始值为1,循环的终止条件为i>100.例2 解这一问题的算法:第一步,输入n的值.第二步,令i=1,S=0.第三步,若i≤2n-1成立,则执行第四步;否则,输出S,结束算法.第四步,S=S+i,i=i+2,返回第三步.算法框图如下:跟踪训练2 解算法框图如图:例3 解方法一“主角”所有生命机会共能承受8×5=40(枪)(第40枪被击中则生命结束).设“主角”被击中枪数为i(i=0,1,2,…,39),算法框图可设计为如图1.方法二与方法一相对,电脑中预先共承受枪数40,“主角”生命机会以“减法”计数,算法框图可设计为如图2.跟踪训练3 解算法步骤如下:1.把计数变量n的初值设为1.2.输入一个成绩x,判断x与9.90的大小:若x>9.90,则执行下一步;若x≤9.90,则输出x,并执行下一步.3.使计数变量n的值增加1.4.判断计数变量n的值与成绩个数8的大小,若n≤8,则返回第2步,否则结束.算法框图如图所示.当堂训练1.B [本题中循环的结束条件是i≥1 000,而计数变量是i=i+2,由于计数变量的初始值是i=2,所以计数变量应该为4,6,8,10,…,1 000,故循环体执行的次数为499.] 2.A [本题可以从算法框图及三种基本结构的结构形式的特点入手,仔细分析每一句话,并注意概念间的异同点.]3.D [根据算法框图,当A =10,B =3时,用3除10余1,此时C =1≠0,继续执行循环,用1除3余0,此时A =3,B =1,C =0,由于C =0执行最后一框,停止计算并打印出答案B =1,故选D.]4.D [赋值S =0,n =2 进入循环体:检验n =2<8,S =0+12=12,n =2+2=4;检验n <8,S =12+14=34,n =4+2=6;检验n <8,S =34+16=1112, n =6+2=8,检验n =8,脱离循环体, 输出S =1112.]。
2018版高中数学北师大版必修三学案:第二章 算法初步
2.3循环结构[学习目标] 1.掌握循环结构的有关概念.2.理解循环结构的基本模式,会用循环结构描述算法.3.体会循环结构在重复计算中的重要作用.知识点一常量与变量的概念1.循环结构的定义在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.2.循环结构的特点(1)重复性:在一个循环结构中,总有一个过程要重复一系列的步骤若干次,而且每次的操作完全相同.(2)判断性:每个循环结构都包含一个判断条件,它决定这个循环的执行与终止.(3)函数性:循环变量在构造循环结构中起了关键作用,蕴含着函数的思想.3.设计一个算法的算法框图的步骤(1)用自然语言表述算法步骤;(2)确定每一个算法步骤所包含的逻辑结构,并用相应的算法框图表示,得到该步骤的算法框图;(3)将所有步骤的算法框图用流程线连接起来,并加上终端框,得到表示整个算法的算法框图.思考(1)循环结构的算法框图中一定含有判断框吗?(2)任何一个算法的算法框图中都必须含有三种基本逻辑结构吗?答(1)循环结构的算法框图中一定含有判断框.(2)不一定.但必须会有顺序结构.知识点二循环结构的设计过程循环结构的算法框图的基本模式,如图所示.题型一循环结构的识别与解读例1(1)当m=7,n=3时,执行如图所示的算法框图,输出S的值为()A.7 B.42C.210 D.840(2)如图所示,算法框图(算法框图)的输出结果是()A.34 B.55 C.78 D.89答案(1)C(2)B解析(1)算法框图的执行过程如下:m=7,n=3时,m-n+1=5,k=m=7,S=1,S=1×7=7;k=k-1=6>5,S=6×7=42;k=k-1=5=5,S=5×42=210;k=k-1=4<5,输出S=210.故选C.(2)当输入x=1,y=1,执行z=x+y及z≤50,x=y,y=z后,x,y,z的值依次对应如下:x=1,y=1,z=2;x=1,y=2,z=3;x=2,y=3,z=5;x=3,y=5,z=8;x=5,y=8,z=13;x=8,y=13,z=21;x=13,y=21,z=34;x=21,y=34,z=55.由于55≤50不成立,故输出55.故选B.反思与感悟高考中对算法框图的考查类型之一就是读图,解决此类问题的关键是根据算法框图理解算法的功能.考查的重点是算法框图的输出功能、算法框图的补充,以及算法思想和基本的运算能力、逻辑思维能力,试题难度不大,大多可以按照算法框图的流程逐步运算而得到.跟踪训练1阅读如图所示的算法框图,运行相应的程序,若输入m的值为2,则输出的结果i=________.答案 4解析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<B;终止循环,输出i=4.题型二用循环结构解决累加、累乘问题例2设计一个计算1+2+…+100的值的算法,并画出算法框图.解方法一第一步,令i=1,S=0.第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.第三步,S=S+i.第四步,i=i+1,返回第二步.算法框图:方法二第一步,令i=1,S=0.第二步,S=S+i.第三步,i=i+1.第四步,若i>100不成立,则返回第二步;否则,输出S,结束算法.算法框图:反思与感悟循环结构分为两种:一种循环结构是先执行一次循环体,然后再判断是否继续执行循环体,是在条件不满足时执行循环体,另一种循环结构是先判断是否执行循环体,是在条件满足时执行循环体.跟踪训练2设计一个算法,求13+23+33+…+1003的值,并画出算法框图.解算法如下:第一步,使S=0.第二步,使I=1.第三步,使S=S+I3.第四步,使I=I+1.第五步,若I>100,则输出S,算法结束;否则,返回第三步.算法框图如图所示:题型三确定循环变量最值的框图例3写出一个求满足1×3×5×7×…×i>50 000的最小正整数i的算法,并画出相应的算法框图.解算法如下:1.S=1.2.i=3.3.如果S≤50 000,那么S=S×i,i=i+2,重复第3步;否则,执行第4步.4.i=i-2;5.输出i.算法框图如图所示:反思与感悟 1.在使用循环结构时,需恰当地设置累加(乘)变量和计数变量,在循环体中要设置循环体终止的条件.2.在最后输出结果时,要避免出现多循环一次或少循环一次的情况出现.跟踪训练3求使1+2+3+4+5+…+n>100成立的最小自然数n的值,只画出算法框图.解算法框图如下:题型四循环结构的实际应用例4某工厂2013年生产小轿车200万辆,技术革新后预计每年的生产能力比上一年增加5%,问最早哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法,并画出相应的算法框图.解算法如下:1.令n=0,a=200,r=0.05.2.T=ar(计算年增量).3.a=a+T(计算年产量).4.如果a≤300,那么n=n+1,返回第2步;否则执行第5步.5.N=2 014+n.6.输出N.算法框图如图所示.反思与感悟这是一道算法的实际应用题,解决此类问题的关键是读懂题目,建立合适的模型,找到解决问题的计算公式.跟踪训练4电脑游戏中,“主角”的生命机会往往被预先设定,如某枪战游戏中,“主角”被设定生命机会5次,每次生命承受射击8枪(被击中8枪则失去一次生命机会).假设射击过程均为单发发射,试将“主角”耗用生命机会的过程设计成一个算法框图.解方法一“主角”所有生命机会共能承受8×5=40(枪)(第40枪被击中则生命结束).设“主角”被击中枪数为i(i=0,1,2,…,39),算法框图可设计为如图1.方法二与方法一相对,电脑中预先共承受枪数40,“主角”生命机会以“减法”计数,算法框图可设计为如图2.累加变量和计数变量的应用例5画出求满足12+22+32+…+n2>2 0152的最小正整数n的算法框图.错解如图(1).错解分析累加变量的初始值为1,第一次运算为S=1+12导致错误.一般把计数变量的初始值设为1,累加变量的初始值设为0,本例中S=0,i=1.自我矫正算法框图如图(2)所示:图(1)图(2)1.下列关于循环结构的说法正确的是()A.循环结构中,判断框内的条件是唯一的B.判断框中的条件成立时,要结束循环向下执行C.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去答案 C解析由于判断框内的条件不唯一,故A错;由于循环结构中,判断框中的条件成立时可能和执行循环体,故B错;由于循环结构不是无限循环的,故C正确,D错.2.阅读如图所示的算法框图,则输出的S等于()A.14 B.30C.20 D.55答案 B解析第一次循环,S=1,i=2;第二次循环,S=1+22=5,i=3;第三次循环,S=5+32=14,i=4;第四次循环,S=14+42=30,i=5,满足条件,输出S=30.第2题图第3题图3.如图所示的算法框图输出的S是126,则①应为()A.n≤5 B.n≤6 C.n≤7 D.n≤8答案 B解析2+22+23+24+25+26=126,所以应填“n≤6”.4.执行如图的程序框图,如果输入的a=4,b=6,那么输出的n=()A.3 B.4C.5 D.6答案 C解析第一次循环a=6-4=2,b=6-2=4,a=4+2=6,i=6,n=1;第二次循环a=-6+4=-2,b=4-(-2)=6,a=6-2=4,i=10,n=2;第三次循环a=6-4=2,b=6-2=4,a=4+2=6,i=16,n=3;第四次循环a=4-6=-2,b=4-(-2)=6,a=6-2=4,i=20,n=4,满足题意,结束循环.第4题图第5题图5.如图所示的算法框图,当输入x的值为5时,则其输出的结果是________.答案 2解析∵x=5>0,∴x=5-3=2,∵x=2>0,∴x=2-3=-1.∴y=0.5-1=2.1.(1)循环结构是指在算法中需要重复执行一条或多条指令的控制结构;(2)在循环结构中,通常都有一个起循环计数作用的变量;(3)循环变量、循环体、循环终止条件称为循环结构的三要素.2.画算法框图要注意:(1)使用标准的框图符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;(4)一种判断是“是”与“否”两分支的判断,而且有且仅有两个结果,另一种是多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非常简练、清楚.。
2017_2018学年高中数学第二章算法初步3_2循环语句教学案北师大版必修3
解:用Do Loop语句描述如下:
S=0
i=1
Do
S=S+i2
i=i+1
Loop Whilei2<1 000
输出S.
循环语句的综合应用
[典例] 用大体语句描述求实数a1,a2,a3,a4中最大值的一个算法.
[解]用大体语句描述如下:
输入a1,a2,a3,a4;
max=a1
i=2
Do
Ifai>max Then
max=ai
End If
i=i+1
Loop Whilei<=4
输出max.
[活学活用]
依照如下图的算法框图写出相应的程序.
解:由算法框图可知,算法的功能是求12+32+52+…+9992的值.
法一:用Do Loop语句描述如下:
[活学活用]
1.读下面的算法语句,输出的结果是( )
I=1
S=0
Do
S=2*S+1
I=I+1
Loop WhileI≤4
输出S.
A.2B.10
C.15D.20
解析:选C 当I=1时,S=0×2+1=1;当I=2时,S=1×2+1=3;当I=3时,S=3×2+1=7;当I=4时,S=7×2+1=15.当I=5时,跳出循环体,即输出的S的值为15.
S=0
i=1
Do
S=S+i2
i=i+2
Loop Whilei<=999
输出S.
法二:用For语句描述如下:
S=0
Fori=1 To 999 Step 2
S=S+i2
Next
输出S.
[点睛] (1)循环体是由运算机反复执行的一组语句组成的.For后面的“条件”是用于操纵运算机执行循环体或跳出循环体的.
2017_2018版高中数学第二章算法初步章末温习课学案北师大版必修3
第二章算法初步学习目标 1.加深对算法思想的明白得.2.增强用算法框图清楚层次地表达算法的能力.3.进一步体会由自然语言到算法框图再到程序的慢慢精准的进程.1.算法的概念算法能够明白得为由大体运算及规定的运算顺序所组成的完整的解题步骤,或看成按要求设计好的________、________计算序列,而且如此的步骤或序列能够解决____________.2.算法框图算法框图由__________组成,依照________________用________将框图连接起来.结构可分为________结构、________结构和________结构.3.算法语句大体算法语句有________语句、________语句、________语句、________语句、________语句五种,它们对应于算法的三种逻辑结构:顺序结构、选择结构、循环结构.用大体语句编写程序时要注意各类语句的____________,条件语句应注意If与________________配套利用,缺一不可,而________可选;循环语句应注意____________的准确表达和____________的步长设置.类型一算法设计例1 已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.反思与感悟算法设计应注意:(1)与解决问题的一样方式有联系,从中提炼出算法;(2)将解决问题的进程分为假设干个可执行步骤;(3)引入有关的参数或变量对算法步骤加以表达;(4)用最精练的语言将各个步骤表达出来;(5)算法的执行要在有限步内完成.跟踪训练1 某工厂2021年生产小轿车200万辆,技术革新后估量每一年的生产数量比上一年增加5%,问最先哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法.类型二算法框图及设计例2 给出以下10个数:5,9,80,43,95,73,28,17,60,36.要求把大于40的数找出来并输出.试画出该问题的算法框图.反思与感悟算法的设计是画算法框图的基础,咱们通过对问题的分析,写出相应的算法步骤.画算法框图之前应先对算法问题设计的合法性和合理性进行探讨,然后分析算法的逻辑结构和各步骤的功能(输入、输出、判定、赋值和计算),画出相应的算法框图.跟踪训练2 阅读如下图的算法框图,运行相应的程序,若是输入某个正整数n后,输出的s∈(10,20),那么n 的值为( )A.3 B.4 C.5 D.6类型三算法语句的设计例3 给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算第30个数的大小,此刻已给出了该问题算法的算法框图(如图).(1)请在图中判定框①处和执行框②处填上适合的语句,使之能完成该题算法功能;(2)依照算法框图写出算法语句.反思与感悟用大体语句编写程序时要注意各类语句的格式要求,专门是条件语句和循环语句,应注意这两类语句中条件的表达和循环语句中有关变量的取值范围.跟踪训练3 某人用分期付款的方式购买一台价钱为1 150元的冰箱,若是购买时先付150元,以后每一个月付50元,并加入上次余款利息,一个月后付第一个月的分期付款,假设月利率为1%,购买冰箱的钱全数付清后,实际付出的款额是多少元?请编写一个算法语句解决那个问题.1.二分法作为一个优秀算法,有以下说法( )①适用于求所有函数的零点;②必然能在有限步内达到要求的精准度;③每一步的指令都十分明确,只需按指令机械执行;④能很方便地移植到运算机上执行,代替人完成枯燥的、重复的、烦琐的工作.其中正确的说法有( )A.①②③ B.①②④C.①③④ D.②③④2.依照如下图的算法框图,要使得输出的结果在区间[-1,0]上,那么输入的x能够是( )A.2 B.3 C.5 D.63.假设算法框图所给的运行结果为S=20,那么判定框中应填入的关于k的条件是( )A.k=9 B.k≤8C.k<8 D.k>84.运算机执行下面的程序段后,输出的结果是( )a=1b=3a=a+bb=a-b输出a,bA.1,3 B.4,1C.0,0 D.6,05.将下面的语句改编成Do Loop语句.S=0For i=1 To 1 000S=S+iNext输出S.1.算法往往是把问题的解法划分为假设干个可执行的步骤,有些步骤乃至重复多次,但最终都必需在有限个步骤之内完成.2.对算法框图的考查之一是程序的运行结果;考查之二是补全算法框图中的条件或循环体等.3.算法设计和算法框图是程序设计的基础,编写程序的大体方式是“自上而下,慢慢求精”.答案精析知识梳理1.有限的 确切的 一类问题2.框图 算法进行的顺序 流程线 顺序 选择 循环3.输入 输出 赋值 条件 循环 格式要求 Then 、End If Else 循环条件 循环变量题型探讨例1 解 第一步,计算x 0=-1+32=1,y 0=0+22=1,得AB 的中点N (1,1). 第二步,计算k 1=2-03--1=12,得直线AB 的斜率. 第三步,计算k =-1k 1=-2,得直线AB 的垂直平分线的斜率. 第四步,由点斜式方程得直线AB 的垂直平分线的方程,并输出.跟踪训练1 解 算法如下:第一步,令n =1,a =200,r =0.05.第二步,T =ar (计算年增量).第三步,a =a +T (计算年产量).第四步,若是a ≤300,那么n =n +1,返回第二步;不然执行第五步.第五步,N =2 014+n .第六步,输出N .例2 解 算法框图如下:跟踪训练2 B [逐项验证.假设n =3,输出s =7∉(10,20).若n =4,输出s =15∈(10,20),选B.]例3 解 (1)①i≥30 ②P =P +i(2)算法语句如下:P =1i =1DoP =P +ii =i +1跟踪训练3 解 购买时付款150元,余款1 000元,分20次分期付款,而且每次要加上余款的利息,能够看出每次付款数是如此一列数:a i =50+(21-i )×50×1%(i =1,2,…20).算法语句如下:当堂训练1.D [二分法只适合求零点左右双侧函数值异号的零点,虽能解决一类问题,但不适合所有函数求零点.]2.A [由算法框图可得输出值y =⎩⎪⎨⎪⎧ x 2, x <0,4-2x , x ≥0,若y ∈[-1,0],那么⎩⎪⎨⎪⎧ -1≤x 2≤0,x <0,或⎩⎪⎨⎪⎧ -1≤4-2x ≤0,x ≥0,解得2≤x ≤52.] 3.D [据算法框图可适当k =9时,S =11;k =8时,S =11+9=20.∴应填入“k >8”.]4.B [由语句知a =1+3=4,b =4-3=1.]5.解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章算法初步
1 算法概念的诠释
同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了,广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.每个算法都闪耀着人类的智慧,阅读和学习这些东西会给我们带来一种难以用语言表达的满足感和快感.在以后的学习和工作中我们会不断从实际应用中了解和领会算法是如何解决各个领域的实际问题,推动人类文明的发展的.
一、算法的特征
1.确定性
算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.
2.有限性
一个算法必须保证在执行有限步后结束,至少不能出现无限循环或死循环.在此基础上越简洁越快越好.越简洁,占用内存越少,对设备的要求越基本;越快,这个意义就不用说了吧.比如一个计算对方导弹轨迹的算法,如果等你算出来,那边导弹已经落地了,那还有什么意义?
二、算法的思想
专业的事交给专业的人去做.普通人只要按专业人士给出的步骤一步一步地去完成,这就是算法的思想,即程序思想,你也可以理解为傻瓜化思想.另外,算法强调的是通性通法,即给出一个算法,实际上是给出了一种解决一类问题的方法.比如你给出一个计算圆的面积的算法,它应该能计算各种半径的圆的面积,而不是只适用于半径为某一具体数的圆.
三、特别提示
1.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求的近似值却没有要求近似的精确度,则该问题不能求解.
2.现代算法主要是面向计算机的,如果算法中没有输出,程序也能运行,但是运行结果无法输出.如果想要得到结果,那就要有输出.
3.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x2-3x-4=0的算法时,用求根公式来做,步骤则较为简洁.
4.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.
四、典例分析
例1 已知一个等边三角形的周长为a,求这个三角形的面积,设计一个算法解决这个问题.分析对于已知等边三角形的边长求面积的题目同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.但学会清晰条理地表达自己的想法,也是一个基本的要求.
解 算法步骤如下:
第一步,输入a 的值.
第二步,计算l =a 3
的值. 第三步,计算S =34×l 2的值. 第四步,输出S 的值.
例2 下面给出了一个问题的算法:
第一步,输入x .
第二步,若x ≥4,则执行第三步,否则执行第四步.
第三步,输出2x -1.
第四步,输出x 2-2x +3.
这个算法解决的问题是什么?
分析 依据题目给出的算法步骤依次执行,是读懂算法的一个重要而基本的办法.
解 这个算法先是输入一个变量x ,当x ≥4时输出2x -1,当x <4时输出x 2-2x +3,不难
发现这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧ 2x -1,x ≥4,x 2-2x +3,x <4的函数值.
2 典型算法举例
1.解方程(方程组)、不等式的算法
例1 用自然语言描述求一元二次方程ax 2
+bx +c =0的根的算法.
思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法. 解 用自然语言来描述算法,
第一步,计算Δ=b 2-4ac ;
第二步,如果Δ<0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)x 1=-b +b 2-4ac 2a
,x 2=-b -b 2-4ac 2a
,输出x 1,x 2的值. 点评 第二步中包含了一个判断Δ=b 2-4ac 是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b 2-4ac 小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.
例2 写出解x 2-4x +3<0的算法.
思维切入 只要把平时的固定解法有条理地写出来,即为解不等式的算法.
解 第一步,求出对应方程的根x 1=1,x 2=3;
第二步,确定根的大小x 1<x 2;
第三步,写出解集{x |1<x <3}.
2.套用公式求值的算法
例3 已知摄氏温度C 与华氏温度F 的关系是F =C ×95
+32,写出由摄氏温度求华氏温度的算法.
思维切入 这是一个函数求值问题,给C 赋值再代入解析式求F .
解 第一步,输入摄氏温度C ;
第二步,代入F =C ×95
+32; 第三步,输出华氏温度F .
点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.
3.判断性质型问题的算法
例4 试描述判断圆(x -a )2+(y -b )2=r 2和直线Ax +By +C =0位置关系的算法.
思维切入 直线与圆的关系有三种:相离、相切、相交,如果圆心到直线的距离d >r ,则直线与圆相离,d =r 则直线与圆相切,d <r 则直线与圆相交.因此我们可以先求出圆心到直线的距离d ,然后再和r 比较.
解 第一步,输入圆心的坐标、直线方程的系数和半径r ;
第二步,计算z 1=Ax 0+By 0+C ;
第三步,计算z 2=A 2+B 2;
第四步,计算d =|z 1|z 2
; 第五步,如果d >r 则相离,如果d =r 则相切,如果d <r 则相交.
点评 算法要求分解成简单计算,不要直接计算d =|Ax 0+By 0+C |A 2+B 2
.一个比较大的程序,会分成若干模块,一个模块出了问题只需要修改这一个模块,而不需要全盘翻工.
4.累加、累乘问题的算法
例5 用自然语言描述求解mul =1×2×3×4×5×6问题的算法.
思维切入 根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法.
解 第一步,计算1×2,得2;
第二步,将第一步中的运算结果2与3相乘得6;
第三步,将第二步中的运算结果6与4相乘得24;
第四步,将第三步中的运算结果24与5相乘得120;
第五步,将第四步中的运算结果120与6相乘得720.
点评如果让人一步一步地做,太枯燥了.但这恰好是计算机的优势.所以算法好不好,还分让谁来执行,对人来讲是奇笨无比的办法,对计算机却可能是一个好办法.
思维拓展该算法包含一个重复操作的过程是循环结构,我们可将算法改造得更为简练、科学.
解第一步,设i=1,P=1;
第二步,如果i≤6执行第三步,否则执行第五步;
第三步,计算P×i并将结果代替P;
第四步,将i+1代替i,转去执行第二步;
第五步,输出P.
点评i称为计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.
3 算法框图画法全知晓
一、画算法框图的基本步骤
第一步,设计算法,因为算法的设计是画算法框图的基础,所以画算法框图前,首先写出相应的算法步骤,并分析算法需要用哪种基本逻辑结构(顺序结构、选择结构、循环结构)完成.第二步,把算法步骤转化为对应的算法框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.
第三步,将所有步骤的算法框图用流程线连接起来,并加上终端框,得到整个表示算法的算法框图.
二、画算法框图的规则
1.使用标准的框图符号.
2.框图一般按从上到下、从左到右的方向来画.
3.除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号.
4.在图形符号内描述的语言要简练清楚.
三、典例分析
1.顺序结构
顺序结构是最简单的算法结构,是任何一个算法都离不开的结构.若一个算法由若干个依次执行的步骤组成,则在画算法框图时,可直接由顺序结构完成.因为在其他的结构中都会涉
及到顺序结构,所以关于顺序结构的画法,在此不再单独叙述.
2.选择结构
设计算法框图时,若是分段函数或执行时需要先判断才能执行的问题,则需要用到判断框,引入选择结构.
例1 如图,在边长为4的正方形ABCD 的边上有一点P ,沿着BCDA 的方向由点B 向点A 运动,设点P 运动的路程为x (0<x <12),△APB 的面积为y ,画出y 关于x 的关系式的算法框图.
分析 随着点P 的位置不同,△APB 的面积与路程x 有不同的对应关系,所以需要先判断点P 的位置,这就需要用到选择结构,先根据题意写出算法,再根据算法画出算法框图.即 第一步,按照题意,y 与x 的关系满足分段函数:
y =⎩⎪⎨⎪⎧ 2x ,0<x ≤4,8,4<x ≤8,
2 12-x ,8<x <12.
第二步,用合适的含选择结构的算法框图表示该分段函数.
解 算法框图如图所示.
点评 该题中的分段函数是分三段的函数,需引入两个判断框.至于判断框的内容是没有顺序的,但与下一图形的内容或操作必须相互对应.同时,在画算法框图时,要特别注意图形符号的规范性.
3.循环结构
如果问题中进行了重复的运算,且有相同的规律,就可根据需要引入相关变量,利用这些规律组成一个循环体,用循环结构来解决.。