优化方案高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3.doc_第1页
优化方案高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3.doc_第2页
优化方案高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3.doc_第3页
优化方案高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3.doc_第4页
优化方案高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3.doc_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12.2条件语句12.3循环语句1问题导航(1)条件语句的格式是怎样的?(2)程序中的条件语句与程序框图中的条件结构有什么关系?(3)循环语句可细分为哪两类?格式分别是怎样的?它们有什么相同点和不同点?(4)程序中的循环语句与程序框图中的循环结构有什么关系?2例题导读通过对例5的学习,学会条件语句的基本结构;通过对例6的学习,学会如何将程序框图转化为程序;通过对例7的学习,学会如何编写排序的程序;通过对例8的学习,学会循环语句的基本结构1条件语句的概念处理条件结构的算法语句,叫做条件语句2条件语句的格式(1)ifthen格式形式:(2)ifthenelse格式形式:3功能(1)ifthen格式:首先对if后的条件进行判断,如果(if)条件符合,那么(then)执行语句体,否则执行end if之后的语句(2)ifthenelse格式:首先对if后的条件进行判断,如果(if)条件符合,那么(then)执行语句体1;否则(else)执行语句体24循环语句的格式、功能及程序框图的对应关系名称直到型当型格式do循环体loop_until 条件while条件循环体wend功能先执行一次do和until之间的循环体,再判断until后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止这时不再执行循环体,跳出循环体执行until语句后面的语句先判断条件的真假,如果条件符合,则执行while和wend之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行wend后面的语句对应程序框图1判断下列各题(对的打“”,错的打“”)(1)算法中的循环结构只能由while语句来实现;()(2)一般程序设计语言中有当型和直到型两种循环语句结构;()(3)算法中的循环结构由循环语句来实现()解析:循环结构包含两种基本类型:while语句和until语句,故(1);(2)(3)都对答案:(1)(2)(3)2求下列函数的函数值的算法中需要用到条件语句的函数为()af(x)x21bf(x)x31cf(x)df(x)2x解析:选c.a、b、d只需要用顺序结构就能描述算法c需要对自变量进行判断,要用条件语句,故选c.3当x3时,下面算法的输出结果是_inputxifx10theny2*xelseyx2end ifprintyend解析:由x310,则执行y236.答案:64求出下面语句的输出结果i4s0whilei6ii2ssi2wendprintsend解:该程序的执行过程是i4s0i46成立i426s06236i60thenyx21elsey2*x25end ifprint“y”;yend方法归纳(1)对于分段函数的求值问题,由于计算之前,需要对自变量进行判断,因此需要用到条件结构,并且本例还是一个两个分支的条件结构,所以可运用条件语句的ifthenelseend if格式来表示算法(2)条件语句是一个整体,ifthenelseend if都是语句的一部分,且“ifend if”必须成对出现1(1)输入一个数x,如果它是正数,则输出它;否则不输出画出解决该问题的程序框图,并写出对应的程序解:程序框图如图所示:程序如下:inputxifx0thenprintxend ifend (2)根据以下程序框图写出程序:解:程序如下:input“输入正整数”;nifn0andn2andn6andn99print send解:程序框图如图所示条件语句与循环语句的综合应用输入100个数,将其中的正数输出,写出计算正数个数的程序解程序如下:i0m0doinputxii1ifx0thenprintxmm1end ifloop untili100printmend方法归纳本例引入了两个变量:i是计数变量,初值为0,作用是记录输入的实数个数,故循环的条件为i100,若改用当型循环,则改为i100.m也是计数变量,初值为0,作用是记录输入的正数个数4(1)输入20个实数,统计并输出其中正数、零和负数的个数,写出算法语句解:程序如下:i1num10num20num30whilei0thennum1num11elseifx0thennum2num21elsenum3num31end ifend ifii1wendprint “正数的个数为:”;num1print “零的个数为:”;num2print “负数的个数为:”;num3end (2)给出某班50名学生的数学测试成绩,60分及以上为及格,要求统计及格人数、及格人数的平均分、全班同学的平均分,画出程序框图,并写出程序解:程序框图如图所示:程序如下:m0,i1,s0,t0doinputxifx60thenssxmm1end ifttxii1loop untili50ps/mtt/50printm,p,tend规范解答条件嵌套型问题的程序编写(本题满分12分)元旦期间,某商城搞挂历促销活动:原价每本20元,购买5到9本按9折收费,买10本及其以上按8折收费,请帮商场设计收费的程序解设某人所购挂历本数为x,商场应收其y元,则y关于x的函数关系式为:y4分程序如下:input“x”;xifx0andx5then8分y20*xelseifx9then y20*0.9*xelse y20*0.8*xend if12分end ifprintyend规范与警示正确写出y关于x的分段函数的关系式是解本题的关键注意语言符号的规范(1)写程序一定要按要求的符号书写,要与我们平时的手写区分开(2)首先,对程序中条件的书写格式要熟练规范,如果要多个条件同时成立,应用“and”连接,而不能是连续的不等式其次,对条件语句要理解清楚,实际上第一个if语句不成立时,已经隐含了“x5”这个条件(3)要熟悉条件语句的嵌套形式,任何时候,条件语句中的“if”与“end if”一定成对出现1下列需用循环语句编写程序的是()a输入x的值,输出yx23x的值by输入x的值,输出对应的函数值c求x的立方根d求1232 015的值解析:选d.d项中是求多项数值的和,需用到循环语句2给出以下四个问题,输入一个数x,输出它的算术平方根;求函数f(x)的函数值;求周长为6的正方形的面积;求三个数a,b,c中的最小数其中不需要用条件语句来描述其算法的有()a1个 b2个c3个 d4个解析:选a.需判断这个数是否为非负数;是分段函数求值问题;需判断这三个数的大小均需用到条件语句,只有不需要3如果下列程序执行后输出的结果是132,那么在程序until后面的“条件”应为()i12s1doss*iii1loop until _printsendai11 bi11ci11 di11解析:选d.当i12时,s11212;当i11时,s1112132.故应填i11.4下列语句i0ifi100thenii3end ifend执行完毕后i的值是_解析:i的初始值为0,满足条件i100成立,执行语句ii3,有i033.答案:3a.基础达标1.下列对条件语句的描述正确的是()aelse后面的语句不可以是条件语句b两个条件语句可以共用一个end if语句c条件语句可以没有else后的语句d条件语句中ifthen和else后的语句必须都有解析:选c.条件语句有两种格式:分别是ifthen格式和ifthenelse格式对于一个分支的条件语句可以没有else后的语句2下面程序输出的结果为()i1doii2s2*i3loop unitli8printsenda17 b19c21 d23解析:选c.当i9时,s29321,判断条件98成立,跳出循环,输出s.3(2015临沂高一检测)下列程序的功能是:判断任意输入的数x是否为正数,若是,输出它的平方值;若不是,输出它的相反数inputxif_thenyxelseyx*xend ifprintyend则填入的条件应该是()ax0 bx0cx0 dx0解析:选d.因为条件真则执行yx,条件假则执行yx*x,由程序功能知条件应为x0.4如下程序的循环次数为()x0whilex20xx1xx2wendprintxenda1 b2c3 d4解析:选c.程序执行如下:(1)x20,x011,x121;(2)x20,x112,x224,(3)x20,x415,x5225,此时跳出循环,并输出x.一共进行3次循环,故选c.5(2013高考陕西卷)根据下列算法语句,当输入x为60时,输出y的值为()输入x;if x50 then y0.5*xelse y250.6*(x50)end if输出y.a25 b30c31 d61解析:选c.由题意,得y当x60时,y250.6(6050)31.输出y的值为31.6若a11,下面的程序段输出的结果是_inputaifa10theny2*(a1)elseya mod 10end ifprintyend解析:由于当a11时,不满足条件a10,所以执行ya mod 10,得到的结果是y1.注意“a mod 10”是a除以10的余数答案:17已知下列程序:inputxifx1thenyx1elseifx1thenyx21elseyx1end ifend ifprint“y”;yend如果输出的是y0.75,则输入的x是_解析:由程序可知本题为根据输入的x,求函数y的函数值我们可以分段令y0.75,并验证,可求得x1.75.答案:1.758(2015吉林高一检测)已知有下面的程序,如果程序执行后输出的结果是360,那么在程序until后面的“条件”应为_i6s1doss*iii1loop until条件printsend解析:因为输出的结果是360,即s16543,需执行4次,s需乘到3,i3后结束算法所以,程序中until后面的“条件”应为i3(或i2)答案:i3(或i2)9(2015罗源高一检测)编写一个程序计算123252992,并画出相应的程序框图解:程序如下:s0i1dossi2ii2loop untili99printsend程序框图如图所示:10.给出一个算法的程序框图(如图所示)(1)说明该程序的功能;(2)请用while型循环语句写出程序解:(1)该程序的功能是求1的值(2)程序如下:s0k1whilek99ss1/kkk1wendprintsend b.能力提升1.(2015衡阳检测)下面程序运行后输出的结果为()a0j1whilej5a(aj) mod 5jj1wendprintaenda50 b5c25 d0解析:选d.本程序的功能是求aj被5除所得的余数,从而循环体在执行的过程中a与j的对应值如下表:a13100j234562.读程序:甲:i1s0whilei1 000ssiii1wendprintsend乙:i1 000s0dossiii1loop untili1thenyx1elsey2*x1end ifprintyend (1)若执行程序时,没有执行语句yx1,则输入的x 的范围是_;(2)若执行结果为3,则执行的赋值语句是_,输入的x的值是_解析:(1)不执行yx1语句,说明不满足条件x1,故有x1.(2)当x1时,y2113,只有x13,x2.答案:(1)x1(2)yx124下面是一个用于计算的程序,则处应填的语句是_,处应填的语句是_s0i1whilei20_wendprint“s”;send解析:累加求和需用赋值语句“ss1/(i*(i1)”,控制执行循环条件需要用赋值语句“ii1”答案:ss1/(i*(i1)ii15儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m但不超过1.4 m,可买半票;若超过1.4 m,应买全票试写出一个购票算法程序解:程序如下:input“身高h(h0)”;hifh1.1thenprint“免费乘车”elseifh1.4t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论