课件34张PPT。第二章 算法初步§1 算法的基本思想学习目标
1.了解算法的含义,体会算法的思想,能够用自然语言叙述算法.
2.掌握正确的算法应满足的要求.
3.学会将一整数分解成素因数之积,会设计求两整数的最大公因
数的算法,了解“韩信点兵”问题及二分法求方程近似解.题型探究问题导学内容索引当堂训练问题导学有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换一下,试用自然语言表述你的操作方法.思考 知识点一 算法的概念答案先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.梳理
一般地,算法是解决某类问题的一系列 ,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用 帮助完成的.
同一个问题可能存在多种算法,一个算法也可以解决某一类问题.步骤或程序计算机知识点二 算法的特点思考 设想一下电脑程序需要计算无限多步,会怎么样?若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.答案梳理 一般地,算法的特点有:
(1)有穷性
一个算法应包括 的操作步骤,能在执行有穷的操作步骤之后 .
(2)确定性
算法的计算规则及相应的计算步骤必须是唯一确定的.
(3)可行性
算法中的每一个步骤都是可以在 的时间内完成的基本操作,并能得到 的结果.有限结束确定有限题型探究例1 在电视台的某个娱乐节目中,要求参与者快速猜出物品价格.主持人出示了一台价值在1 000元以内的随身听,并开始了竞猜.下面是主持人和参与者之间的一段对话:
参与者:800元!
主持人:高了!
参与者:400元!
主持人:低了!
参与者:600元!
主持人:低了!
……
试把参与者的竞猜策略概括成一系列的步骤.类型一 生活中的算法案例解答1.报出首次价格T1;
2.根据主持人的回答确定价格区间:(1)若报价小于商品价格,则商品的价格区间为(T1,1 000);
(2)若报价大于商品价格,则商品的价格区间为(0,T1);
(3)若报价等于商品价格,则游戏结束.
3.如果游戏没有结束,则报出上面确定的价格区间的中点T2. 按照上述方法,继续判断,直到游戏结束.像这样的一系列步骤通常称为解决这个问题的一个算法.生活中有很多蕴含算法思想的案例.跟踪训练1 一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.解答1.两个小孩同船过河去;
2.一个小孩划船回来;
3.一个大人划船过河去;
4.对岸的小孩划船回来;
5.两个小孩同船渡过河去.类型二 数学中的算法思想例2 设计一个算法,求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.以上这个算法的思想具有一般性,它可以帮助设计求三个或者三个以上正整数的最大公因数的算法.跟踪训练2 设计一个算法,求98与63的最大公因数.解答算法步骤如下:
1.先将98进行素因数分解:98=2×72;
2.然后将63进行素因数分解:63=32×7;
3.确定它们的公共素因数:7;
4.确定公共素因数的指数:公共素因数的指数是1;
5.最大公因数为7.例3 “韩信点兵”问题
韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力.采用下述点兵方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.解答算法步骤如下:
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,这就是我们要求的数.在完成上述步骤后,就找到了所求的数53,这5个步骤称为解决“韩信点兵”问题的一个算法.跟踪训练3 在例3中,我们颠倒一下3,5,7的顺序,请再设计一个算法.解答算法步骤如下:
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 求方程x3+x2-1=0在[0,1]上的近似解,精度为0.1.解答根据上述分析,可以通过下列步骤求得方程的近似解:
设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 用二分法设计一个求方程x2-2=0的近似正根的算法,精度为0.05.解答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.下列关于算法的说法,正确的个数为
①求解某一类问题的算法是唯一的;
②算法必须在有限步操作之后停止;
③算法的每一步操作必须是明确的,不能有歧义或模糊;
④算法执行后一定产生确定的结果.
A.1 B.2 C.3 D.4答案解析√由于算法具有有穷性、确定性、输出性等特点,所以②③④正确,而解决某类问题的算法不一定唯一,所以①错误.2341?答案解析√由算法过程可知,M为三数之和,N为这三数的平均数,故选D.23413.看下面的四段话,其中不是解决问题的算法是____.
(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.2341答案解析由于(3)不是解决某一类问题的步骤,故(3)不是解决问题的算法.(3)4.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:
(1)计算c= ;
(2)输入直角三角形两直角边长a,b的值;
(3)输出斜边长c的值.
其中正确的顺序是________.答案解析算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.2341(2)(1)(3)算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:
(1)符合运算规则,计算机能操作;
(2)每个步骤都有一个明确的计算任务;
(3)对重复操作步骤返回处理;
(4)步骤个数尽可能少;
(5)每个步骤的语言描述要准确、简明.本课结束课件32张PPT。2.1 顺序结构与选择结构第二章 §2 算法框图的基本结构及设计学习目标
1.掌握算法框图的概念.
2.熟悉各种程序框的功能和作用.
3.会判断顺序结构和选择结构,能用两种结构表示算法.题型探究问题导学内容索引当堂训练问题导学许多办事机构都有工作流程图,你觉得要向来办事的人员解释工作流程,是用自然语言好,还是用流程图好?思考 知识点一 算法框图答案使用流程图好.因为使用流程图表达更直观准确.梳理
在算法设计中,算法框图(也叫程序框图)可以 、 、直观地表达解决问题的思路和步骤.
算法框图由框图构成,以下是基本的框图及其表示的功能准确清晰起始和结束输入和输出赋值、计算知识点二 顺序结构顺序结构描述的是最简单的算法结构,语句与语句之间,框与框之间按 的顺序进行.
结构形式如下图:从上到下知识点三 选择结构思考 我们经常需要处理分类讨论的问题,顺序结构能否完成这一任务?为什么?分类讨论是带有分支的逻辑结构,而顺序结构是一通到底的“直肠子”,所以不能表达分支结构,这就需要选择结构出场.答案梳理 选择结构是依据指定条件 的控制结构,它包含一个判断框,根据指定的条件是否成立而选择不同的路径,请注意无论条件成立与否,只能执行 路径.在算法的流程中,需要对条件进行判断,判断的结果决定后面的步骤,像这样的结构通常称作选择结构.
其结构形式如下图:选择执行不同指令一条题型探究例1 已知一个算法如下:
第一步,输入x.
第二步,计算y=2x+3.
第三步,计算d= .
第四步,输出d.
把上述算法用算法框图表示.类型一 把自然语言描述的算法翻译成算法框图解答算法框图如图:
画算法框图的规则:
(1)使用标准的框图符号;
(2)框图一般按从上到下,从左到右的方向画;
(3)描述语言写在框内,语言清楚、简练.跟踪训练1 算法如下,画出算法框图.
第一步,输入a,b,c的值-1,-2,3.
第二步,计算max= .
第三步,输出max.解答算法框图如图:
类型二 顺序结构例2 一个笼子里装有鸡和兔共m只,且鸡和兔共n只脚,设计一个计算鸡和兔各有多少只的算法,并画出算法框图.解答算法分析:设鸡和兔分别有x,y只,
顺序结构的算法框图的基本特征:
(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.
(2)各程序框从上到下用流程线依次连接.
(3)处理框按计算机执行顺序沿流程线依次排列.解答算法步骤如下:
第一步,输入三角形三条边的边长a,b,c.
第四步,输出S.
算法框图如图: 类型三 用算法框图表示选择结构例3 下面给出了一个问题的算法:
第一步,输入x.
第二步,若x>1,则y=x2+3,否则y=2x-1.
第三步,输出y.
试用算法框图表示该算法.解答主体用顺序结构,其中根据条件x>1是否成立选择不同的流向用选择结构实现.
算法框图如图:
凡是必须先根据条件作出判断然后再进行哪一个步骤的问题,在画算法框图时,必须引入一个判断框应用选择结构.解答跟踪训练3 任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法的算法框图.算法步骤如下:
第一步,输入3个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.
算法框图如下图.
当堂训练1.框图中,具有赋值、计算功能的是
A.处理框
B.输入、输出框
C.终端框
D.判断框答案√234512.下面框图输出的S表示____________________.答案23451半径为5的圆的面积3.下面四个问题中必须用选择结构才能实现的是_______.
①已知梯形上、下底分别为a、b,高为h,求梯形面积;
②求方程ax+b=0(a,b为常数)的根;
③求三个数a,b,c中的最小数;
④求函数f(x)= 的函数值.23451答案解析在本题的四个问题的求解中,只有①不需要分类讨论,故①不需用选择结构就能实现,②③④必须用选择结构才能实现.②③④4.如图所示的算法框图中,当输入的数为3时,输出的结果为___.答案解析∵3<5,∴y=32-1=8.234518234515.利用梯形的面积公式计算上底为2,下底为4,高为5的梯形面积,设计出该问题的算法及算法框图.解答?1.顺序结构描述的是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.
2.对需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作的问题,设计算法时就要用到选择结构.
3.选择结构要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.本课结束课件24张PPT。2.2 变量与赋值第二章 §2 算法框图的基本结构及设计学习目标
1.通过实例,理解并掌握变量和赋值的概念.
2.掌握赋值号“=”的作用及与等号的区别.
3.进一步体会算法的基本思想.题型探究问题导学内容索引当堂训练问题导学在前面学过的算法案例中,我们已经注意到步骤要反复执行,但具体的数据却每步都在变,怎样解决步骤相同数据在变的问题?思考 知识点一 变量答案引入常量和变量的概念,这样就可以把多个重复的步骤变为可以反复执行的一个步骤.梳理
常量与变量的概念
(1)在算法过程中,其值 称为常量.
(2)在研究问题的过程中,可以取 叫做变量,变量的名称一般要用一个或几个英文字母组成,或一个或几个英文字母后面跟着一个数字组成.不能被改变的量不同数值的量知识点二 赋值思考 在算法框图中,常见“i=i+1”,它是什么意思?它表示先计算等号右边“i+1”的值,再把这个值赋给等号左边的变量.答案梳理 一般地,有
(1)赋值:赋予一个变量一个值的过程.通常“ ”为赋值符号.
(2)赋值语句的一般格式:_____________
(3)赋值语句的作用:先计算出赋值号 的值,然后把这个值赋给赋值号 ,使该 等于 的值.
(4)一个变量可以被多次赋值,这时的变量表现得就像一个黑瞎子,当新的值一来,旧的值就丢掉,它手里始终只能拿着最后一次赋给的值.=变量=表达式左边的变量变量的值表达式右边表达式题型探究例1 若A,B是两个变量,先把1赋给A,把2赋给B,再交换A,B的值.类型一 变量与赋值语句的应用解答A=1;B=2;C=A;A=B;B=C.可以把变量想像成一个盒子,这个盒子可以装不同的值,但一次只能装一个,所以要交换A,B的值,需要再找一个变量C,用来寄存A原来存放的值.跟踪训练1 用赋值语句写出变量a,b,c分别为3,4,5,求b2-4ac的值的算法.解答算法如下:
a=3;
b=4;
c=5;
y=b2-4ac;
输出y.类型二 变量与赋值语句在算法框图中的应用例2 经过市场调查分析得知,2015年第一季度内,某地区对某件商品的需求量为12 000件.为保证商品不脱销,商家在每月月初将商品按相同数量投放市场.已知年初商品的库存量为50 000件,用S表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,算法用框图表示.解答因为第一季度商品的需求量为12 000件,而且每个月以相同数量投放市场,因此每个月向市场投放4 000件商品,这样,三个月后的库存量为50 000-12 000=38 000件.
算法框图如图:
在算法框图中,对变量S进行了多次赋值,赋值的目的是改变变量S的值,将变量S上次的值减去4 000再次赋予变量S.跟踪训练2 有关专家建议,在未来几年,中国的通货膨胀率保持在3%左右将对中国经济的稳定有利无害,所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情形下,某种品牌的钢琴2015年的价格是20 000元,请用框图描述这种钢琴今后4年的价格变化情况,并输出4年后钢琴的价格.解答算法框图如图:
当堂训练1.给出下列算法框图:
若输出的结果为2,则①处的处理框内应填的是
A.x=2
B.b=2
C.x=1
D.a=5 答案解析√因结果是b=2,∴2=a-3,即a=5.
当2x+3=5时,得x=1.23412.如图所示的算法框图输出的结果为
A.2,5
B.4,5
C.11,5
D.7,5 答案√23413.下列赋值语句正确的是
A.a+b=5
B.5=a
C.a=b=2
D.a=a+12341答案√4.所给算法语句执行后,变量a,b的值分别为
A.20,15 B.35,35 C.5,5 D.-5,-5 2341a=15
b=20
a=a+b
b=a-b
a=a-b
输出 a,b.答案√1.赋值语句是最重要的一种基本语句,一定要注意其格式要求,如:赋值号左边只能是变量而不能是表达式;赋值号左右两边不能对换;不能利用赋值语句进行代数式计算等.
2.利用赋值语句可以实现两个变量值的互换,方法是引进第三个变量,用三个赋值语句完成.本课结束课件30张PPT。2.3 循环结构第二章 §2 算法框图的基本结构及设计学习目标
1.理解循环结构的概念.
2.掌握循环结构的三要素:循环变量、循环体、循环的终止条件.
3.能识别和理解循环结构的框图以及功能.
4.能运用循环结构设计算法框图以解决简单的问题.题型探究问题导学内容索引当堂训练问题导学前面我们曾用累加法计算1+2+3+…+100的值,其中有没有重复操作的步骤?思考 知识点 循环结构答案用S表示每一步的计算结果,S加下一个数得到一个新的S,这个步骤被重复了100次.梳理
1.循环结构的概念
在一些算法中,经常会出现从某处开始,按照一定条件, 某一处理步骤的情况,像这样的算法结构称为循环结构.
循环体: 称为循环体.
循环变量: 的变量,称为循环变量.
循环的终止条件: 的条件,称为循环的终止条件.反复执行反复执行的处理步骤控制着循环的开始和结束判断是否继续执行循环体2.循环结构的设计过程
设计循环结构之前需要确定的三件事:
(1)确定循环变量和 ;
(2)确定算法中 的部分,即循环体;
(3)确定循环的 条件.初始条件反复执行终止题型探究例1 阅读如图所示的框图,回答下列问题:
(1)变量y在这个算法中的作用是什么? 类型一 循环结构的概念解答变量y是循环变量,控制着循环的开始和结束;(2)这个算法的循环体是哪一部分,功能是什么?解答框图中的第②部分是循环体,其功能是判断年份y是不是闰年,并输出结果;(3)这个算法的处理功能是什么?解答由前面的分析,我们知道,这个算法的处理功能是判断2000~2500(包括2500)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果.循环结构的三要素:
循环变量,循环体,循环的终止条件.跟踪训练1 1+2+3+…+100的算法框图如右,指出它的循环变量、初始值及循环的终止条件.解答循环变量为i,i的初始值为1,循环的终止条件为i>100.类型二 循环结构的设计例2 设计一个计算1+3+5+…+(2n-1)(n∈N+)的值的算法,并画出算法框图.解答这一问题的算法:
第一步,输入n的值.
第二步,令i=1,S=0.
第三步,若i≤2n-1成立,则执行第四步;否则,
输出S,结束算法.
第四步,S=S+i,i=i+2,返回第三步.
算法框图如图:此例中循环变量为i,但它并不是逐次加1,而是加2,设计者可以根据需要灵活控制循环变量的变化幅度.跟踪训练2 请设计一个求100个数中的最大数的算法框图.解答算法框图如图:
类型三 循环结构的应用例3 电脑游戏中,“主角”的生命机会往往被预先设定,如其枪战游戏中,“主角”被设定生命机会5次,每次生命承受射击8枪(被击中8枪则失去一次生命机会).假设射击过程均为单发发射,试将“主角”耗用生命机会的过程设计成一个算法框图.解答方法一 “主角”所有生命机会共能承受8×5=40(枪)(第40枪被击中则生命结束).设“主角”被击中枪数为i(i=0,1,2,…,39),算法框图可设计为如图1.
方法二 与方法一相对,电脑中预先共承受枪数40,“主角”生命机会以“减法”计数,算法框图可设计为如图2.
跟踪训练3 在某次田径比赛中,男子100米A组有8位选手参加预赛,成绩(单位:秒)依次为:9.88,10.57,10.63,9.90,9.85,9.98,10.21,10.86.请设计一个算法,在这些成绩中找出不超过9.90秒的成绩,并画出算法框图.解答算法步骤如下:
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.给出下面的算法框图,那么其循环体执行的次数是
A.500
B.499
C.1 000
D.998 答案解析√本题中循环的结束条件是i≥1 000,而计数变量是i=i+2,由于计数变量的初始值是i=2,所以计数变量应该为4,6,8,10,…,1 000,故循环体执行的次数为499.23412.下面4种说法中正确的是
①任何一个算法都离不开顺序结构;
②算法框图中,根据条件是否成立有不同的流向;
③任何一个算法都必须同时含有三种基本结构;
④循环结构中必须有选择结构,选择结构中也一定有循环结构.
A.①② B.①③
C.①②④ D.②③答案√2341解析本题可以从算法框图及三种基本结构的结构形式的特点入手,仔细分析每一句话,并注意概念间的异同点.3.现有欧几里得算法框图如图所示,若取A=10,B=3,则打印出的答案B为
A.2 B.6
C.16 D.1 2341答案√解析根据算法框图,当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.如图所示,算法框图的输出结果是2341答案√解析23411.用循环结构来描述算法时,要事先确定三件事:
(1)确定循环变量和初始条件.
(2)确定算法中反复执行的循环体.
(3)确定循环的终止条件.
2.选择结构与循环结构的区别和联系:
选择结构是根据条件是否成立决定有不同的流向,循环结构是根据条件决定是否重复执行一条或多条指令.循环结构一定要在某个条件下跳出循环,这就需要选择结构来判断.因此,循环结构一定包含选择结构.本课结束课件37张PPT。3.1 条件语句第二章 §3 几种基本语句学习目标
1.掌握条件语句的含义、格式.
2.会利用条件语句将具体问题的框图转化为算法语句.
3.会利用条件语句解决实际生活中的应用问题.题型探究问题导学内容索引当堂训练问题导学为什么要在数学课上学程序语言?思考 知识点一 程序语言答案现代算法主要在计算机上实现,学习程序语言可以增强人机交流,便于检验修改算法、理解算法思想.梳理
程序语言的种类很多,但所有语言都要使用的语句有 语句、 _____语句、 语句、 语句和 语句.输入输出赋值条件循环知识点二 条件语句对于选择结构的算法或算法框图,要转化为计算机能够理解的算法语言,使用输入、输出和赋值语句还行吗?需要用怎样的语句?思考 答案不行,要用与选择结构相适应的条件语句.梳理
条件语句的一般格式If 条件 Then
语句1
Else
语句2
End If题型探究类型一 选择结构翻译成条件语句解答可以用条件语句表示如下:
If x<=2.5 Then
y=x*x+1
Else
y=x*x-1
End If当计算机执行条件语句时,首先对If后的条件进行判断,如果(If)条件符合,那么(Then)执行语句1,否则(Else)执行语句2.跟踪训练1 写出求实数x的绝对值的一个算法,画出算法框图并写出算法对应的语句.解答算法步骤:
1.输入一个实数x;
2.判断x的符号,若x≥0,
则输出x;否则,输出-x;
算法框图:
算法对应的语句:
输入x;
If x>=0 Then
输出 x
Else
输出 -x
End If类型二 条件语句的应用例2 在音乐唱片超市里,每张唱片售价25元.顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含10张)唱片,则按照八五折收费.请用语句描述完成计费工作的算法,画出算法框图并写出对应的语句.解答假如用变量a表示顾客购买的唱片数,用变量C表示顾客要缴纳的金额,则这个算法可以表示为
(1)输入a.
(2)对a进行判断:
①若a<5,则C=25a;
②若5≤a<10,则C=22.5a;
③若a≥10,则C=21.25a.
(3)输出C.
算法框图如图所示:算法对应的语句为
输入a;?
If?a<5?Then?
C=25*a?
Else??
If?a<10?Then?
C=22.5*a?
?Else??
C=21.25*a?
?End If??
End If??
输出 C. 先建立数学模型,再画出算法框图,根据算法框图就比较容易写出算法语句了.跟踪训练2 已知某商店对顾客购买货款数满500元,减价3%,不足500元不予优惠,输入一顾客购物的货款数,计算出这个顾客实交的货款,画出算法框图,写出算法语句.解答
所以,算法框图如图所示:算法语句为
输入x;?
If?x>=500 Then?
y=0.97*x?
Else??
y=x?
End If?
输出 y.类型三 条件语句的复合解答算法框图如图所示:
算法语句为
输入x;
If x<0 Then
y=-x+1
Else
If x=0 Then
y=0
Else
y=x+1
End If
End If
输出y.1.适用范围:已知分段函数的解析式求函数值的问题,须用条件语句书写算法语句,当条件的判断有两个以上的结果时,可以选择条件语句的复合去解决.
2.解此类问题的步骤:
(1)构思出解决问题的一个算法(可用自然语言).
(2)画出算法框图,形象直观地描述算法.
(3)根据框图编写语句,即逐步把框图中的算法步骤用算法语句表达出来.解答算法语句如下:
输入x;?
If?x>0?Then
y=2*x*x-1?
Else??
? If?x=0?Then?
y=2*x+1?
Else??
y=(-2)*x*x+4?
End If??
End If??
输出y.当堂训练1.以下关于条件语句的说法,正确的是
A.条件语句的执行是按照程序中的先后顺序执行的
B.条件语句实现了算法框图中的选择结构
C.条件语句中不能再使用条件语句
D.条件语句一定要完整,即If-Then-Else-End If中每一部分都不能少答案√234512.给出以下问题:
①输入一个数x,输出它的相反数;
②求周长为8的正方形的面积;
③求三个数a,b,c中的最小值;
④求分段函数f(x)的函数值.
其中不需要用条件语句来描述其算法的有
A.①② B.②③
C.③④ D.①③23451答案√3.给出以下算法语句:
如果输入x1=2,x2=3,那么执行此算法语句的结果是输出
A.7 B.10 C.5 D.8 23451答案解析输入x1,x2;
If x1=x2 Then
x1=x1+x2
End If
y=x1+x2
输出y.√23451由于输入的两个数x1=2,x2=3,不满足条件x1=x2,因此,不执行语句体x1=x1+x2,而直接执行y=x1+x2,所以y=5,最后输出5.4.写出下面所示的算法语句表示的函数: .23451输入x;?
If?x<=6?Then
y=3*x+2?
Else??
y=x+2 006?
End If?
输出y. 答案234515.将下列算法语句补充完整.
(1)输入两个数、输出其中较大的一个数;答案输入?a,b?
If? a>b ?Then?
?输出? a?
Else??
______
End If??(1)输出b23451(2)判断输入任意数x的奇偶性.输入?x?
m=x ?Mod 2??
If _______Then??
输出?x是奇数?
Else??
输出?x是偶数?
End If?(2)答案m≠0使用条件语句时应注意的问题
(1)条件语句是一个语句,If,Then,Else,End If都是语句的一部分.
(2)条件语句必须是以If开始,以End If结束,一个If必须与一个End If相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,Else分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般If、Else与End If顶格书写,其他的语句体前面则空两格.本课结束课件33张PPT。3.2 循环语句第二章 §3 几种基本语句学习目标
1.理解两种结构的循环语句——For语句和Do Loop语句.
2.掌握两种循环语句的一般形式并会应用.
3.通过具体实例使学生明确两种循环语句的区别和联系.题型探究问题导学内容索引当堂训练问题导学在算法框图中我们用选择结构来控制循环.在语句中怎样实现循环?思考 知识点一 循环语句答案使用循环语句.梳理
一般地,循环语句有两种,预先知道循环次数用 语句,不知道则用
语句.ForDo Loop1.For语句适用范围
循环结构是算法中的基本结构, 是表达循环结构最常见的语句之一,它适用于 的循环结构.
2.For语句的一般形式是
For循环变量=初始值To终值
循环体
_____知识点二 For语句For语句预先知道循环次数Next1.Do Loop语句适用范围
预先不知道循环次数的循环结构,一般用 语句来描述.
2.Do Loop语句的一般形式为
Do
循环体
___________________知识点三 Do Loop语句Do LoopLoop While条件为真题型探究例1 结合教材图2-20中的框图,使用For语句描述输出菲波那契数列的前50项的算法.类型一 For语句解答f1=0
f2=1
输出“菲波那契数列为”,f1,f2
For i=3 To 50
f3=f1+f2
输出f3
f1=f2
f2=f3
Next解决这类问题首先是确定循环变量的初始值和终止值,根据题意确定循环体,然后用For语句的形式对算法加以描述.跟踪训练1 已知S=5+10+15+…+1 500,画出算法框图,用For语句写出算法.解答算法框图如图所示:从算法框图可以看出是一个循环结构,我们可以运用循环语句来实现.
S=0?
For i=5 To 1 500?
S=S+i??
i=i+5?
Next??
输出S.或S=0?
For?i=5 To 1 500?Step 5
S=S+i??
Next??
输出S. 例2 请阅读下列用For语句写出的算法,则该算法的处理功能为 .答案S=0
T=1
For i=1 To 20
S=S+i
T=T*i
Next
输出 S
输出 T.求和S=1+2+3+…+20及求积T=1×2×3×…×20阅读For语句关键是弄清循环变量的初始值、终止值和循环体.
循环变量、初始值、终止值分别为i、1、20.
循环体为
S=S+i;
T=T*i.解答
算法如下:
(1) S=1;
(2) i=1;
(3) S=S+ ;
(4) i=i+1;
(5) 如果i≤20,则返回(3),重新执行(3)、(4)、(5),否则输出S.语句如下:
相应算法框图如右图所示:
S=1
For i=1 To 20
S=S+1/(3i)
Next
输出S.类型二 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语句写出这个算法对应的语句.解答语句如下:
i=1
S=0
Do
S=S+i
i=i+1
Loop While i<=100
输出S.用Do Loop语句写算法时,要注意Loop While后面的条件,只要条件为真就执行循环体.跟踪训练3 根据下面的算法语句,绘制算法框图,指出输出的最后结果是什么?并将它改为另一种循环语句.解答S=0
For i=3 To 99
S=S+i3
i=i+2
Next
输出S.算法语句对应的算法框图如图所示,它用的是“For”语句,最终输出的结果是33+53+…+993,
算法框图如图所示:
或利用“Do Loop语句”可以改为
S=0
i=3
Do
S=S+i3
i=i+2
Loop While i<=99当堂训练1.关于Do Loop循环语句叙述正确的是
A.至少执行循环体一次
B.执行一次循环体
C.满足条件时执行循环体
D.遇到Do Loop就结束答案√23412.根据下面语句判断输出结果为
A.6 B.7 C.8 D.9 答案√2341解析前6次循环后,S的值分别为1,3,6,10,15,21,因21>20,要输出i,此时i是加1后的值为7.i=1
S=0
Do
S=S+i
i=i+1
Loop While S<20
输出 i.3.下列算法语句输出的结果是
A.3 B.7 C.15 D.19 2341答案√解析由算法语句可知,该循环体共循环4次,分别为S=2×0+1=1,S=2×1+1=3,S=2×3+1=7,S=2×7+1=15.i=1
S=0
Do
S=S*2+1
i=i+1
Loop While i<=4
输出S.4.请阅读下面用For语句给出的算法,画出算法框图并说明该算法的处理功能.2341解答S=0
For i=1 To 20 Step 2
S=S+i
Next
输出 S.算法的框图如图所示,因此,这个算法实际上处理的是求和S=1+3+5+7+9+11+13+15+17+19.
23411.For语句适用于预先知道循环次数的循环结构,而不知循环次数的循环结构用Do Loop语句.
2.当计算机执行For语句时,一般先执行一次循环体,当循环变量在初始值与终止值之间时,执行循环体;当循环变量超过终止值时,不再执行循环体,跳出循环体执行后面的语句.
计算机执行Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Loop While后的语句.
3.一般情况下,For语句可以改成Do Loop语句,而Do Loop语句不一定能改成For语句.本课结束课件29张PPT。第二章 算法初步习题课学习目标
1.提高把具体问题的求解转化为算法步骤的能力.
2.能正确选择并运用三种逻辑结构框图表示具体问题的算法.
3.提高读图能力.题型探究问题导学内容索引当堂训练问题导学我们先后学了三种逻辑结构,你能简述一下什么时候会用到它们吗?思考1 知识点一 三种逻辑结构答案(1)顺序结构每一个算法框图都有.
(2)当一个问题需要根据不同的条件选择不同的处理方法时,要用到选择结构;循环结构中必须有选择结构来控制循环.
(3)循环结构用于处理需要反复执行同一个算法的问题.循环结构是个难点.你认为循环结构的关键在哪里?需要注意些什么?思考2 答案在循环结构中,关键是根据条件设置合理的计数变量、累加(乘)变量,需要注意的是控制循环的条件表述要恰当、准确.累加变量的初值一般为0,而累乘变量的初值一般为1.设计一个算法的算法框图通常要经过以下步骤:
第一步,用 表述算法步骤.
第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的 表示,得到该步骤的算法框图.
第三步,将所有步骤的框图用 连接起来,并加上终端框,得到表示整个算法的算法框图.知识点二 用算法框图表示算法自然语言框图流程线题型探究类型一 算法的设计解答算法如下:
第一步,输入x的值.
第二步,当x≤-1时,计算y=-x2-1,否则执行第三步.
第三步,计算y=x3.
第四步,输出y.设计一个具体问题的算法,通常按以下步骤:
(1)认真分析问题,找出解决此题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.解答算法如下:
第一步,输入x的值.
第二步,当x≤-1时,计算y=2x-1,否则执行第三步.
第三步,当x<2时,计算y=log2(x+1),否则执行第四步.
第四步,计算y=x2.
第五步,输出y.类型二 画算法框图例2 设计求1×2×3×4×…×2 013×2 014的值的算法,并画出算法框图.解答算法如下:
第一步,设M的值为1.
第二步,设i的值为2.
第三步,如果i≤2 014,则执行第四步,否则转去执
行第六步.
第四步,计算M乘i,并将结果赋给M.
第五步,计算i加1,并将结果赋给i,转去执行第三步.
第六步,输出M的值并结束算法.
算法框图如图:算法要求指令明确,在有限步内解决问题,故用自然语言设计算法时不能大而化之.一旦用自然语言表述出算法,转换为算法框图相对简单,但画时要用对框图,并尽量使主线在一条纵轴上,以增强算法框图的条理.跟踪训练2 如图所示的算法框图的功能是_______________________
______________.解析计算12-22+32-42+…+992-1002的值答案i=1,S=12;
i=2,S=12-22;
i=3,S=12-22+32;
i=4,S=12-22+32-42;
i=100,S=12-22+32-42+…+992-1002,i=100+1>100,终止循环,输出S.
故其功能是计算12-22+32-42+…+992-1002的值.类型三 算法在生活中的应用例3 以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,
90,55,61,73,64,77,82,94,60,画出求80分以上的同学的平均分的算法框图.解答算法框图如下:
在循环结构中,要注意根据条件设置合理的计数变量、累加(乘)变量,同时条件的表述要恰当、准确.累加变量的初值一般为0,而累乘变量的初值一般为1.跟踪训练3 乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法:行李质量不超过50 kg时按0.25元/kg;超过50 kg而不超过100 kg时,其超过部分按0.35元/kg;超过100 kg时,其超过部分按0.45元/kg.设计输入行李质量,计算出托运的费用的算法,并画出算法框图.解答
算法步骤:
第一步,输入行李质量x.
第二步,当x≤50时,计算y=0.25x,否则,执行下一步.第三步,当x≤100时,计算y=0.35x-5;否则,计算y=0.45x-15.
第四步,输出y.
算法框图:
当堂训练1.算法共有三种逻辑结构,即顺序结构、选择结构和循环结构,下列说法正确的是
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.任何一个算法都离不开顺序结构答案√23412.下列关于算法框图的描述中,正确的有
①对于一个算法来说,算法框图是唯一的;
②任何一个框图都必须有起止框;
③算法框图只有一个入口,也只有一个出口;
④输出框一定要在终止框前.
A.1个 B.2个 C.3个 D.4个答案√2341解析②、③正确,对于一个算法来说,算法框图不唯一,与设计有关,故①错.输入、输出的位置,不一定在开始和结束处,故④错.3.阅读如图所示的算法框图,运行相应的程序,则输出的S等于
A.14 B.30 C.20 D.55 2341答案√解析由算法框图知:第一次循环,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.4.执行如图所示的算法框图,若输出的结果为s=132,则判断框中应填
A.i≥10 B.i≥11 C.i≤11 D.i≥12 2341答案√解析由题意可知,s为从12开始的逐渐减小的若干个整数的乘积,
由于12×11=132,故需要执行两次循环体.
初始条件:s=1,i=12;第一次循环:s=12,i=11;第二次循环:s=132,i=10.
由于i的值为10时,应该退出循环体,故B符合题意,故选B.1.在一个问题中经常要进行多次判断,这就需要选择结构嵌套来进行解决.
2.算法问题经常涉及到与现实生活有关的题目,解答时,首先根据题意写出内含的表达式,选择适合的结构,设计算法框图,因此,解题的关键是写出函数解析式.本课结束课件29张PPT。章末复习课第二章 算法初步学习目标
1.加深对算法思想的理解.
2.加强用算法框图清晰条理地表达算法的能力.
3.进一步体会由自然语言到算法框图再到程序的逐渐精确的过程.题型探究知识梳理内容索引当堂训练知识梳理1.算法的概念
算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的 、 计算序列,并且这样的步骤或序列能够解决_________
2.算法框图
算法框图由 组成, 按照 用 将框图连接起来.结构可分为 结构、 结构和 结构.有限的确切的一类问题.框图算法进行的顺序流程线顺序选择循环3.算法语句
基本算法语句有 语句、 语句、 语句、 语句、 语句五种,它们对应于算法的三种逻辑结构:顺序结构、选择结构、循环结构.用基本语句编写程序时要注意各种语句的 ,条件语句应注意If与 配套使用,缺一不可,而 可选;循环语句应注意 的准确表达以及 的步长设置.输入输出赋值条件循环格式要求Then、End IfElse循环条件循环变量题型探究例1 已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.类型一 算法设计解答
第四步,由点斜式方程得直线AB的垂直平分线的方程,并输出.算法设计应注意:
(1)与解决问题的一般方法有联系,从中提炼出算法;
(2)将解决问题的过程分为若干个可执行步骤;
(3)引入有关的参数或变量对算法步骤加以表达;
(4)用最简练的语言将各个步骤表达出来;
(5)算法的执行要在有限步内完成.跟踪训练1 某工厂2014年生产小轿车200万辆,技术革新后预计每年的生产数量比上一年增加5%,问最早哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法.解答算法如下:
第一步,令n=1,a=200,r=0.05.
第二步,T=ar(计算年增量).
第三步,a=a+T(计算年产量).
第四步,如果a≤300,那么n=n+1,
返回第二步;否则执行第五步.
第五步,N=2 014+n.
第六步,输出N.类型二 算法框图及设计例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 答案解析逐项验证.若n=3,输出s=7?(10,20).
若n=4,输出s=15∈(10,20),选B.例3 给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算第30个数的大小,现在已给出了该问题算法的算法框图(如图).
(1)请在图中判断框①处和执行框②处填上合适的语句,使之能完成该题算法功能; 类型三 算法语句的设计解答①i≥30 ②P=P+i(2)根据算法框图写出算法语句.解答算法语句如下:
P=1
i=1
Do
P=P+i
i=i+1
Loop While i<30
输出 P.用基本语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表达以及循环语句中有关变量的取值范围.跟踪训练3 某人用分期付款的方式购买一台价格为1 150元的冰箱,如果购买时先付150元,以后每月付50元,并加入上次余款利息,一个月后付第一个月的分期付款,若月利率为1%,购买冰箱的钱全部付清后,实际付出的款额是多少元?请编写一个算法语句解决这个问题.解答购买时付款150元,余款1 000元,分20次分期付款,并且每次要加上余款的利息,可以看出每次付款数是这样一列数:ai=50+(21-i)×50×1%(i=1,2,…20).
算法语句如下:
m=1 000
S=0
i=1
Do
k=50+m*1%
S=S+k
m=1 000-50*i
i=i+1
LooP While i<=20
S=S+150
输出S.当堂训练1.二分法作为一个优秀算法, 有下列说法
①适用于求所有函数的零点; ②一定能在有限步内达到要求的精确度;
③每一步的指令都十分明确,只需按指令机械执行; ④能很方便地移植到计算机上执行,代替人完成枯燥的、重复的、烦琐的工作.
其中正确的说法有
A.①②③ B.①②④
C.①③④ D.②③④答案√23451二分法只适合求零点左右两侧函数值异号的零点,虽能解决一类问题,但不适合所有函数求零点.解析2.根据如图所示的算法框图,要使得输出的结果在区间[-1,0]上,则输入的x可以是
A.2 B.3
C.5 D.6 23451答案√解析3.若算法框图所给的运行结果为S=20,那么判断框中应填入的关于k的条件是
A.k=9
B.k≤8
C.k<8
D.k>8 23451答案解析√据算法框图可得当k=9时,S=11;
k=8时,S=11+9=20.∴应填入“k>8”.4.计算机执行下面的程序段后,输出的结果是
A.1,3 B.4,1 C.0,0 D.6,0 23451a=1
b=3
a=a+b
b=a-b
输出 a,b答案解析√由语句知a=1+3=4,b=4-3=1.234515.将下面的语句改编成Do Loop语句.解答S=0
For i=1 To 1 000
S=S+i
Next
输出S.i=1
S=0
Do
S=S+i
i=i+1
Loop While i<=1 000
输出S.1.算法往往是把问题的解法划分为若干个可执行的步骤,有些步骤甚至重复多次,但最终都必须在有限个步骤之内完成.
2.对算法框图的考查之一是程序的运行结果;考查之二是补全算法框图中的条件或循环体等.
3.算法设计和算法框图是程序设计的基础,编写程序的基本方法是“自上而下,逐步求精”.本课结束