2014年高中数学 第二章 算法初步 “ELSE”与“END__IF”的正确使用素材 北师大版必修3
(易错题)高中数学必修三第二章《算法初步》检测题(答案解析)

一、选择题1.该程序中k的值是()A.9 B.10 C.11 D.12 n 时,执行如图所示的程序框图,则输出的S值为()2.当4A.9 B.15 C.31 D.633.执行如图所示的程序框图,输出的S值为()A .511B .512C .1022D .10244.执行如图所示的程序框图,则输出S 的值为( )A .-1010B .-1009C .1009D .10105.某程序框图如图所示,其中21()g n n n =+,若输出的20192020S =,则判断框内可以填入的条件为( )A .2020?n <B .2020?nC .2020?n >D .2020?n 6.朱世杰是我国元代伟大的数学家,其传世名著《四元玉鉴》中用诗歌的形式记载了下面这样一个问题:我有一壶酒,携着游春走.遇务①添一倍,逢店饮斛九②.店务经四处,没了这壶酒.借问此壶中,当原多少酒?①“务”:旧指收税的关卡所在地;②“斛九”:1.9斛.下图是解决该问题的算法程序框图,若输入的x 值为0,则输出的x 值为( )A.5740B.13380C.5732D.5893207.程大位是明代著名数学家,他的《新编直指算法统宗》是中国历史上一部影响巨大的著作.卷八中第33问:“今有三角果一垛,底阔每面七个.问该若干?”如图是解决该问题的程序框图.执行该程序框图,求得该垛果子的总数S为()A.28 B.56 C.84 D.1208.若执行如图所示的程序框图,输出S 的值为511,则输入n 的值是( )A .7B .6C .5D .49.如图,执行程序框图后,输出的结果是( )A .140B .204C .245D .30010.对任意非零实数a 、b ,若a b ⊗的运算原理如图所示,则121log 43-⎛⎫⊗ ⎪⎝⎭的值为( )A .13B .1C .43D .2 11.定义语句“mod r m n =”表示把正整数m 除以n 所得的余数赋值给r ,如7mod31=表示7除以3的余数为1,若输入56m =,18n =,则执行框图后输出的结果为( )A .6B .4C .2D .112.执行如图的程序框图,则输出x 的值是 ( )A.2018B.2019C.12D.2二、填空题13.已知某程序框图如图所示,则执行该程序后输出的结果是_____14.一个算法的伪代码如下图所示,执行此算法,若输出的y值为1,则输入的实数x的值为________.15.执行如图所示的程序框图,输入l=2,m=3,n=5,则输出的y的值____16.已知流程图如图,则输出的i=________.17.阅读如图所示的流程图,运行相应的程序,则输出n的值为______.18.一个算法的程序框图如下图所示,若该程序输出的结果为,则判断框中应填入的条件是____.x ,则输出i的值是 .19.如图所示的程序框图中,若520.阅读如图所示的程序框图,该程序输出的结果是__________.三、解答题21.如图所示的程序框图,根据该图和下列各小题的条件回答下面的几个小题.(1)该程序框图解决的是一个什么问题?(2)当输入的x的值为0和4时,输出的值相等,问当输入的x的值为3时,输出的值为多大?(3)在(2)的条件下要想使输出的值最大,输入的x的值应为多大?22.已知程序框图如图所示,用“直到型循环”写出程序框图所对应的算法语句23.现有一个算法框图如图所示。
(压轴题)高中数学必修三第二章《算法初步》测试卷(答案解析)

一、选择题1.执行如图所示的程序框图,则输出的S=()A.1-B.2-C.2D.1 22.运行下图所示的程序框图,如果输入的2020n=,则输出的n=()A.6 B.7 C.63 D.64 3.如图所示的程序框图输出的结果是()A.34 B.55 C.78 D.894.执行如图所示的程序框图,若输入x=9,则循环体执行的次数为()A.1次B.2次C.3次D.4次5.明代数学家程大位(1533~1606年),有感于当时筹算方法的不便,用其毕生心血写出《算法统宗》,可谓集成计算的鼻祖.如图所示的程序框图的算法思路源于其著作中的“李白沽酒”问题.执行该程序框图,若输出的y的值为2,则输入的x的值为()A .74B .5627C .2D .164816.某程序框图如图所示,其中21()g n n n =+,若输出的20192020S =,则判断框内可以填入的条件为( )A .2020?n <B .2020?nC .2020?n >D .2020?n 7.鸡兔同笼,是中国古代著名的趣味题之一.《孙子算经》中就有这样的记载:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各有几何?设计如右图的算法来解决这个问题,则判断框中应填入的是( )A .94m >B .94m =C .35m = D .35m ≤8.如图,执行程序框图后,输出的结果是( )A .140B .204C .245D .300 9.如图给出的是计算1111246102+++⋅⋅⋅+的值的一个程序框图,其中判断框中应填入的是( )A .102i >B .102i ≤C .100i >D .100i ≤ 10.执行如图所示的程序框图,若输入的6n =,则输出S =A .514B .13C .2756D .31011.《数书九章》是我国宋代数学家秦九韶的著作,其中给出了求多项式的值的秦九韶算法,如图所示的程序框图给出了一个利用秦九韶算法求某多项式值的实例,若输入的13x =,输出的12181=y 则判断框“”中应填入的是( )A .2?k ≤B .3?k ≤C .4?k ≤D .5?≤k 12.执行如下图的程序框图,那么输出S 的值是( )A .2B .1C .12D .-1二、填空题13.执行下面的程序框图,若输入的a ,b ,k 分别为1,2,3,则输出的M =_____14.执行如图所示的程序框图若输人x 的值为3,则输出y 的值为______.15.执行如图所示的伪代码,若输出的y的值为10,则输入的x的值是________.16.我国元朝著名数学家朱世杰在《四元玉鉴》中有一首诗:“我有一壶酒,携着游春走,遇店添一倍,逢友饮一斗,店友经三处,没有壶中酒,借问此壶中,当原多少酒?”用程序x=,问一开始输入的x=______斗.遇店添一倍,逢框图表达如图所示,即最终输出的0友饮一斗,意思是碰到酒店就把壶里的酒加1倍,碰到朋友就把壶里的酒喝一斗,店友经三处,意思是每次都是遇到店后又遇到朋友,一共是3次.17.如图是一个算法流程图,则输出的S的值为______.18.如图所示的程序框图,输出S的结果是__________.19.运行如图所示的程序,输出结果为___________.20.一个算法的程序框图如图所示,则该程序运行后输出的结果是.三、解答题21.如图所示,已知底角为45°的等腰梯形ABCD,底边BC长为7 cm,腰长为22cm,当一条垂直于底边BC(垂足为F)的直线l从B点开始由左至右移动(与梯形ABCD有公共点)时,直线l把梯形分成两部分,令BF=x(0≤x≤7),左边部分的面积为y,求y与x之间的函数关系式,画出程序框图,并写出程序.22.用程序框图描述算法:已知梯形的两底边长分别为a,b,高为h,求梯形面积.23.下面程序的功能是输出1~100之间的所有偶数.程序:i=1DOm=iMOD2IF①THENPRINTiENDIF②LOOPUNTILi>100END(1)试将上面的程序补充完整;(2)改写为WHILE型循环结构程序.24.已知函数f(x)=221(0)25(0)x xx x⎧-≥⎨-<⎩每输入一个x值,都得到相应的函数值,画出程序框图并写出程序.25.分别标有1,2,3,4,5,6六个号码的小球,有一个最重,写出挑出最重球的算法,并画出程序框图.26.写出计算102+202+…+1 0002的算法程序,并画出相应的程序框图.【参考答案】***试卷处理标记,请不要删除一、选择题1.D解析:D【分析】列举出前四次循环,可知,该算法循环是以3为周期的周期循环,利用周期性可得出输出的S 的值.【详解】第一次循环,02020k =≤成立,1112S ==--,011k =+=; 第二次循环,12020k =≤成立,()11112S ==--,112k =+=; 第三次循环,22020k =≤成立,12112S ==-,213k =+=;第四次循环,32020k =≤成立,1112S ==--,314k =+=; 由上可知,该算法循环是周期循环,且周期为3,依次类推,执行最后一次循环,20202020k =≤成立,且202036731=⨯+,此时12S =, 202012021k =+=,20212020k =≤不成立,跳出循环体,输出S 的值为12. 故选:D.【点睛】本题考查利用程序框图计算输出结果,推导出循环的周期性是解题的关键,考查计算能力,属于中等题.2.A解析:A【分析】根据题中所给的框图,模拟执行程序框图,求得结果.【详解】输入2020100n =>,且不是奇数,赋值1010100n =>,且不是奇数,赋值505100n =>,且是奇数,赋值252100n =>,且不是奇数,赋值126100n =>,且不是奇数,赋值63100n =<,赋值()2log 6316n =+=,输出6.故选:A【点睛】该题考查的是有关程序框图的问题,涉及到的知识点有计算程序框图的输出结果,属于简单题目.3.B解析:B【分析】通过不断的循环赋值,得到临界值,即可得解.【详解】1,1,21,2,32,3,53,5,85,8,138,13,2113,21,3421,34,55x y z x y z x y z x y z x y z x y z x y z x y z ======================== 不满足50z ≤,输出即可,故选:B.【点睛】本题考查了程序框图循环结构求输出结果,考查了计算能力,属于中当题.4.C解析:C【分析】根据程序框图依次计算得到答案.【详解】9,5x y ==,41y x -=>;115,3x y ==,413y x -=>; 1129,39x y ==,419y x -=<;结束. 故选:C .【点睛】本题考查了程序框图的循环次数,意在考查学生的理解能力和计算能力.5.C解析:C【分析】根据程序框图依次计算得到答案.【详解】34y x =-,1i =;34916y y x =-=-,2i =;342752y y x =-=-,3i =; 3481160y y x =-=-,4i =;34243484y y x =-=-,此时不满足3i ≤,跳出循环,输出结果为243484x -,由题意2434842y x =-=,得2x =.故选:C【点睛】本题考查了程序框图的计算,意在考查学生的理解能力和计算能力.6.A解析:A【分析】因为()()2111111g n n n n n n n ===-+++,此程序框图是对函数()g n 求和,利用裂项相消法求和,可知201912020n S n ==+,可知2019满足条件进入循环,2020不满足条件没有进入循环,根据选项得到正确结果.【详解】 由2221111111112019(1111222231112020n S n n n n n n ⎫⎛⎫⎛⎫=++⋯+=-+-+⋯+-=-==⎪ ⎪ ⎪++++++⎭⎝⎭⎝⎭,解得2019n =,可得n 的值为2019时.满足判断框内的条件,当n 的值为2020时,不满足判断框内的条件,退出循环,输出S 的值,故判断框内可以填人的条件为“2020n <?”.故选A.【点睛】本题考查根据循环框图的输出结果填写判断框的内容,关键是分析出满足输出结果时的n 值,再根据选项判断结果.7.B解析:B【分析】由题意知i 为鸡的数量,j 为兔的数量,m 为足的数量,根据题意可得出判断条件.【详解】由题意可知i 为鸡的数量,j 为兔的数量,m 为足的数量,根据题意知,在程序框图中,当计算足的数量为94时,算法结束,因此,判断条件应填入“94m =”.故选B.【点睛】本题考查算法程序框图中判断条件的填写,考查分析问题和解决问题的能力,属于中等题. 8.B【分析】根据程序框图列举出算法的每一步,可得出输出结果.【详解】18n =>不成立,执行第一次循环,211b ==,011s =+=,112n =+=;28n =>不成立,执行第二次循环,224b ==,145s =+=,213n =+=; 38n =>不成立,执行第三次循环,239b ==,5914s =+=,314n =+=; 48n =>不成立,执行第四次循环,2416b ==,141630s =+=,415n =+=; 58n =>不成立,执行第五次循环,2525b ==,302555s =+=,516n =+=; 68n =>不成立,执行第六次循环,2636b ==,553691s =+=,617n =+=; 78n =>不成立,执行第七次循环,2749b ==,9149140s =+=,718=+=n ; 88n =>不成立,执行第八次循环,2864b ==,14064204s =+=,819n =+=; 98n =>成立,跳出循环体,输出s 的值为204,故选B.【点睛】本题考查程序框图运行结果的计算,一般利用算法程序框图将算法的每一步列举出来,考查计算能力,属于中等题.9.B解析:B【解析】【分析】 根据题目所求表达式1111246102+++⋅⋅⋅+中最后一个数字1102,确定填写的语句. 【详解】 由于题目所求是1111246102+++⋅⋅⋅+,最后一个数字为1102,即当102i =时,判断是,继续循环,2104i i =+=,判断否,退出程序输出S 的值,由此可知应填102i ≤.故选B.【点睛】本小题主要考查填写程序框图循环条件,属于基础题. 10.B解析:B【解析】【分析】首先确定流程图所实现的功能,然后利用裂项求和的方法即可确定输出的数值.【详解】 由流程图可知,程序输出的值为:1111023344556S =++++⨯⨯⨯⨯, 即1111111123344556S ⎛⎫⎛⎫⎛⎫⎛⎫=-+-+-+- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎝⎭111263=-=.【点睛】本题主要考查流程图功能的识别,裂项求和的方法等知识,意在考查学生的转化能力和计算求解能力.11.C解析:C【解析】【分析】模拟程序的运行过程,即可得出输出y 的值时判断框中应填入的是什么.【详解】模拟程序的运行过程如下, 输入114,1,11333x k y ===⨯+=, 41132,1339k y ==⨯+=, 131403,19327k y ==⨯+=, 4011214,127381k y ==⨯+=, 此时不满足循环条件,输出12181=y ; 则判断框中应填入的是4?k ≤. 故选:C .【点睛】本题考查了算法与程序框图的应用问题,理解框图的功能是解题的关键,是基础题. 12.A解析:A【解析】【分析】模拟程序的运行,依次写出每次循环得到的k 和S 值,根据题意即可得到结果.【详解】程序运行如下,k=0, S =112-=﹣1, k =1,S =()111--=12; k =2,S =12112=-;k =3,S =11-2=-1… 变量S 的值以3为周期循环变化,当k=2018时,s=2,K=2019时,结束循环,输出s 的值为2.故选:A .【点睛】本题考查程序框图,是当型结构,即先判断后执行,满足条件执行循环,不满足条件,跳出循环,算法结束,解答的关键是算准周期,是基础题.二、填空题13.12【分析】由题意可知从开始判断框条件成立执行第一次循环得到一组新的的值再从开始判断框条件成立执行第一次循环得到一组新的的值当时判断条件框不成立输出此时的值即可得出答案【详解】当时执行程序框图得;当 解析:12【分析】由题意可知,从1n =开始,判断框条件成立,执行第一次循环,得到一组新的,,M a b 的值,再从2n =开始,判断框条件成立,执行第一次循环,得到一组新的,,M a b 的值,当3n =时,判断条件框不成立,输出此时M 的值,即可得出答案.【详解】当1n =时,执行程序框图得,1225,2,5M a b =+⨯===;当2n =时,执行程序框图得,22512,5,12M a b =+⨯===;当3n =时,不满足判断条件框,直接输出 12M =.故答案为12.【点睛】本题主要考查了根据程序框图写出执行结果的问题,对于这类题目,首先要弄清框图的结构和执行过程,本题为循环结构的程序框图.14.63【分析】由已知中的程序语句可知:该程序的功能是利用循环结构计算并输出变量y 的值模拟程序的运行过程分析循环中各变量值的变化情况可得答案【详解】解:模拟程序的运行可得x=3y=7不满足条件|x-y|解析:63【分析】由已知中的程序语句可知:该程序的功能是利用循环结构计算并输出变量y 的值,模拟程序的运行过程,分析循环中各变量值的变化情况,可得答案.【详解】解:模拟程序的运行,可得x=3y=7不满足条件|x-y|>31,执行循环体,x=7,y=15不满足条件|x-y|>31,执行循环体,x=15,y=31不满足条件|x-y|>31,执行循环体,x=31,y=63此时,满足条件|x-y|>31,退出循环,输出y 的值为63.故答案为63.【点睛】本题考查了程序框图的应用问题,解题时应模拟程序框图的运行过程,以便得出正确的结论,是基础题.15.3【解析】【分析】分析出算法的功能是求分段函数的值根据输出的值为10分别求出当时和当时的值即可【详解】由程序语句知:算法的功能是求的值当时解得(或不合題意舍去);当时解得舍去综上的值为3故答案为3【 解析:3【解析】【分析】分析出算法的功能是求分段函数22,31,3x x y x x <⎧=⎨+≥⎩的值,根据输出的值为10 ,分别求出当3x <时和当3x ≥时的x 值即可.【详解】由程序语句知:算法的功能是求22,31,3x x y x x <⎧=⎨+≥⎩的值, 当3x ≥时,2110y x =+=,解得3x =(或3- ,不合題意舍去);当3x <时,210y x ==,解得5x = ,舍去,综上,x 的值为3,故答案为3 .【点睛】本题主要考查条件语句以及算法的应用,属于中档题 .算法是新课标高考的一大热点,其中算法的交汇性问题已成为高考的一大亮,这类问题常常与函数、数列、不等式等交汇自然,很好地考查考生的信息处理能力及综合运用知识解决问題的能力,解决算法的交汇性问题的方:(1)读懂程序框图、明确交汇知识,(2)根据给出问题与程序框图处理问题即可. 16.【分析】模拟执行程序框图只要按照程序框图规定的运算方法逐次计算直到达到输出条件输出令即可得结果【详解】第一次输入执行循环体执行循环体执行循环体输出的值为0解得:故答案为【点睛】本题主要考查程序框图的 解析:78【分析】模拟执行程序框图,只要按照程序框图规定的运算方法逐次计算,直到达到输出条件输出87x -,令870x -=即可得结果.【详解】第一次输入x x =,1i =执行循环体,21x x =-,2i =,执行循环体,()221143x x x =--=-,3i =,执行循环体,()243187x x x =--=-,43i =>,输出87x -的值为0,解得:78x =, 故答案为78. 【点睛】本题主要考查程序框图的循环结构流程图,属于中档题. 解决程序框图问题时一定注意以下几点:(1) 不要混淆处理框和输入框;(2) 注意区分程序框图是条件分支结构还是循环结构;(3) 注意区分当型循环结构和直到型循环结构;(4) 处理循环结构的问题时一定要正确控制循环次数;(5) 要注意各个框的顺序,(6)在给出程序框图求解输出结果的试题中只要按照程序框图规定的运算方法逐次计算,直到达到输出条件即可. 17.【解析】【分析】由已知中的程序语句可知:该程序的功能是利用循环结构计算并输出变量S 的值模拟程序的运行过程分析循环中各变量值的变化情况可得答案【详解】模拟程序的运行可得满足条件执行循环体满足条件执行循 解析:7【解析】【分析】由已知中的程序语句可知:该程序的功能是利用循环结构计算并输出变量S 的值,模拟程序的运行过程,分析循环中各变量值的变化情况,可得答案.【详解】模拟程序的运行,可得1S =,1i =满足条件4i <,执行循环体,2S =,2i =满足条件4i <,执行循环体,4S =,3i =满足条件4i <,执行循环体,7S =,4i =此时,不满足条件4i <,退出循环,输出S 的值为7.故答案为7.【点睛】本题主要考查程序框图的循环结构流程图,属于中档题. 解决程序框图问题时一定注意以下几点:(1) 不要混淆处理框和输入框;(2) 注意区分程序框图是条件分支结构还是循环结构;(3) 注意区分当型循环结构和直到型循环结构;(4) 处理循环结构的问题时一定要正确控制循环次数;(5) 要注意各个框的顺序,(6)在给出程序框图求解输出结果的试题中只要按照程序框图规定的运算方法逐次计算,直到达到输出条件即可.18.【解析】阅读流程图可得该流程图计算的数值为:解析:【解析】阅读流程图可得,该流程图计算的数值为:sin 0sin 1sin 5262626S ππππππ⎛⎫⎛⎫⎛⎫=⨯++⨯+++⨯+= ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭. 19.【详解】试题分析:第一次运行条件成立;第二次运行条件成立;第三次运行条件成立;第四次运行条件不成立;输出故答案应填:1考点:算法及程序语言解析:1【详解】试题分析:第一次运行,5,4s n ==条件14s <成立;第二次运行,9,3s n ==条件14s <成立;第三次运行,12,2s n ==条件14s <成立;第四次运行,14,1s n ==条件14s <不成立;输出1n =,故答案应填:1.考点:算法及程序语言.20.4【分析】执行程序当时循环结束即可得出【详解】因为第一次进入循环后;第二次进入循环后;第三次进入循环后;第四次进入循环后循环结束所以输出的结果为4【点睛】本题主要考查了程序框图求输出的值做题时要仔细 解析:4【分析】执行程序,当4K =时循环结束,即可得出【详解】因为第一次进入循环后1,1S K ==;第二次进入循环后3,2S K ==;第三次进入循环后11,3S K ==;第四次进入循环后2059,4S K ==,循环结束,所以输出的结果为4【点睛】本题主要考查了程序框图求输出的值,做题时要仔细点,属于基础题.三、解答题21.221,02222,251(7)10,572x x y x x x x ⎧≤≤⎪⎪=-<≤⎨⎪⎪-+<<⎩,程序框图和程序见解析. 【分析】根据直线l 将梯形分割的左边部分的形状进行分类讨论,求出函数关系式,即可根据条件结构画出程序框图,并写出程序.【详解】过点A ,D 分别作AG ⊥BC ,DH ⊥BC ,垂足分别是G ,H .∵四边形ABCD 是等腰梯形,底角是45°,AB =2cm ,∴BG =AG =DH =HC =2 cm .又BC =7cm ,∴AD =GH =3cm ,当02x ≤≤时,212yx =; 当25x <≤时,22y x =-; 当57x <<时,21(7)102y x =-+, 所以221,02222,251(7)10,572x x y x x x x ⎧≤≤⎪⎪=-<≤⎨⎪⎪-+<<⎩ . 程序框图如下:程序:INPUT “x =”;xIF x >=0 AND x <=2 THENy =0.5 *x ^2ELSEIF x <=5 THENy =2*x -2ELSEy =-0.5*(x -7) ^2+10END IFEND IFPRINT yEND【点睛】本题主要考查分段函数解析式的求法、程序框图的画法以及程序语句的书写,意在考查学生分类讨论思想和算法语句的理解和书写.22.答案详见解析.【分析】分三步完成,先输入上下底和高,再计算面积S ,最后输出计算结果S.【详解】梯形面积S =12(上底+下底)×高, ∵梯形的两底边长分别为a ,b ,高为h ,∴程序算法如下:第一步:输入a ,b ,h 的值,第二步:计算S =()2a b h +, 第三步:输出S ,程序框图如下:【点睛】本题主要考查了算法及程序框图,属于中档题.23.(1)①m=0②i=i+1;(2)见解析【分析】(1)如果除以2的余数为零,则为偶数,故填0m =.i 每次增加1,故填1i i =+.(2)根据WHILE 型循环的结构,对原有程序进行改写.【详解】(1)①m=0②i=i+1(2)改写为WHILE 型循环程序如下:i=1WHILE i<=100m=I MOD 2IF m=0 THENPRINT iEND IFi=i+1WENDEND【点睛】本小题主要考查循环结构的两种编写程序的方法,属于基础题.24.见解析【分析】由条件可得函数为分段函数,这样就要进行判断,然后进行求解【详解】用变量x y ,分别表示自变量和函数值,步骤如下:第一步,输入x 的值第二步,判断x 的范围,若0x ≥,则用解析式21y x =-求函数值;否则,用225y x =-求函数值第三步,输出y 的值程序框图和程序如下.【点睛】本题考查的知识点是设计程序解决问题,由已知条件不难发现函数为分段函数,故需要进行对输入值的判定,然后再代入求解.25.见解析【解析】分析:挑最重的球需要把最重的一个球与其它都想比较,运用循环结构即可得出结果.详解:设六个小球的重量分别为ω1,ω2,…,ω6.算法如下:S1将1号球放在天平左边,2号球放在天平右边.S2比较两球的重量后,若两球一样重,则淘汰天平右边的球;若两球不一样重,则淘汰较轻的球,将较重的球放在天平左边.S3将下一号球放在天平右边比较重量,重复执行S2.S4最后留在天平左边的球是最重的球.程序框图如下图所示:点睛:本题的重点是掌握算法流程图书写的基本步骤,书写规范和方法,当需要解决的问题需要多次重复的相同的步骤时,实现算法需要通过循环结构来实现,在写算法和流程图时注意语言的表达要清晰,步骤要简洁完整.26.见解析【解析】试题分析:确定循环体为:S=S+i^2,i=i+10,再确定初始值和结束的条件即可试题程序如下:S=0;i=10;while i<=1000S=S+i^2;i=i+10;endprint(%io(2),S);程序框图如图所示:。
【优教通,备课参考】2014年高中数学同步课件:第2章 算法初步 条件语句(北师大版必修3)

If d A 0 Then 语句 Else Print p Else Print 无实根” x1 “ pq End If x2 p q Print x1 , x2 End If
q SQR(d ) / 2a
p b / 2a
Then
输出“无实根”
A x语句 1 pq
假
d 0
3.阅读下面的程序,输出的结果是什么? Input x 5 If x >= 0 Then y=1 Else y = -1 End If Print x, y x=5 y= - 20 If x <= 0 Then x=y-3 Else y=x+3 End If Print y
8,5 Input a,b If a>b Then x=a a=b b=x End If Print a,b
If 条件2 Then
语句B Else
语句C
End if End If
2.条件语句与算法框图中的选择结构相对应,语句形式较为 复杂,要借助框图写出程序. 3. 条件语句中蕴含着数学中分段函数的思想
作业:
课本P110: 习题2-3
假
n 2 5 x3
真
Else
y 5
c y 5 1.2(5 1.2(n x 3)
y 5
End If
C=7.4 C=5 输出 c y
Print y
例1:设计一个算法,根据输入x的值,计算y的值。
x 2 1, x 2.5 y 2 . x 1, x 2.5
输入x
输入 x
假 假 真
x 0
真
x0
y 1
y 1
y0
输出y
Input x If x x>0 0 Then y=1 Else If x=0 Then y=0 Else Elsey = -1 End y = If 1 End If Print y
高中数学第二章算法初步3.1条件语句课件北师大版必修

a=b End If If a>c Then
a=c End If 输出 a.
If语句的叠加实质上是If-Then语句的叠加,If-Then语 句对应的是一个分支为空的选择结构,因此对于需要多次 比较与判断的算法,对应的是选择结构的叠加(即条件语句 的叠加),此时每一个条件语句都是一个独立的整体,在下 一个条件语句之前要加上“End If”.
Else y=2]End If
End If 输出 y.
复合If语句对应选择结构的嵌套,在写语句的时候 分清内层条件语句和外层条件语句.需清楚内层条件结 构是外层条件结构的一个分支,且应注意保持每一层的 结构的完整,不要漏掉“End If”.
[活学活用] 给出一个算法: 1.输入x; 2.若x<0,则y=x+1;否则执行第3步; 3.若x=0,则y=0;否则y=x; 4.输出y. (1)指出该算法的功能; (2)将该算法用框图表示出来; (3)用基本语句写出该算法.
预习课本P105~107,思考并完成以下问题 (1)If语句的格式是什么?
(2)复合If语句的格式是什么?
[新知初探]
1.If语句 (1)算法框图:
(2)语句格式: If 条件 Then
语句1 Else
语句2 End If
[点睛] (1)条件语句执行步骤:当计算机执行If语句时,首 先对If后的条件进行判断,如果条件符合,就执行Then后的语句 1,否则执行Else后的语句2.
解析:由于输入的两个数 x1=3,x2=5,不满足条件 x1 =x2,因此,不执行语句体 x1=x1+x2,而直接执行 y= x1+x2,所以 y=8,最后输出 8. 答案:8
高中数学第2章算法初步231条件语句课件北师大版必修3

【思路启迪】 (1)y 与 x 的函数关系式是什么? (2)该算法应采用怎样的算法语句?
【解】 程序如下: 输入 “x=”;x; If x>0 and x<=16 Then
解决本题的关键是理解题意,写出 y 与 x 的函数关系式,根 据关系式可知要用到条件语句.而条件语句一般用在需要对条件 进行判断的算法中,在求分段函数的函数值时,就经常用条件语 句编写程序.
复习课件
高中数学第2章算法初步231条件语句课件北师大版必修3
2021/4/17
高中数学第2章算法初步231条件语句课件北师大版必修3
第 二
算法初步
章
§3
几种基本语句
3.1
条件语句
自主预习
学习目标
目标解读
1.通过实例掌握用 If 语句和
复合 If 语句描述选择结构 重点:条件语句的步骤、结构及功
农历 9 月 9 日是我国传统的重阳节,某饭店自助餐厅决定在 这一天进行优惠酬宾活动.对于 80 岁以上的老人,享受免费自 助餐;70 岁以上的老人享受 5 折优惠,60 岁以上的老人享受 6 折优惠,其余嘉宾享受 9 折优惠.请设计算法,完成这一天的计 费工作,要求输入用餐者的年龄,输出应付金额,编写程序.
的算法. 能.会应用条件语句编写程序.
2.会应用条件语句编写程 难点:会应用条件语句编写程序.
序.培养学生的数学应用意
识.
知识梳理
1.条件语句
(1)格式
If 条件 语句1 Else 语句2 E上述语句时,首先对 If 后边的条件 进行判断,如果满足条件,那么执行 语句 1 ,再执行 End If 之 后的语句,即结束条件语句;如果不满足条件,那么执行 语句 2 ,
高中数学 第二章 算法初步 2.2 算法框图的基本结构及设计 2.2.3 循环结构教案 北师大版必修

高中数学第二章算法初步2.2 算法框图的基本结构及设计2.2.3 循环结构教案北师大版必修3编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(高中数学第二章算法初步2.2 算法框图的基本结构及设计2.2.3 循环结构教案北师大版必修3)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为高中数学第二章算法初步2.2 算法框图的基本结构及设计2.2.3 循环结构教案北师大版必修3的全部内容。
2。
2.3 循环结构本节教材分析一、三维目标1、知识与技能(1)进一步理解程序框图的概念;能够利用循环结构设计一些较复杂问题的流程图,对一些多变量问题能够找到循环变量及初始值,以及循环体;(2)掌握运用程序框图表达循环结构的算法;(3)培养学生逻辑思维能力与表达能力.2、过程与方法创设情景(课前准备、引入实例)→授新设疑(自主探索形成概念→理解概念能识别框图)→质疑问难、论争辩难(进一步加深对概念的理解→突破难点)→沟通发展(反馈练习→归纳小结)→布置作业.二、教学重点:运用程序框图表达循环结构的算法三、教学难点:循环体的确定,计数变量与循环变量的理解.四、教学建议《循环结构》是数学必修3的内容.(1)算法是高中数学课程中的新内容,算法的思想是非常重要的,算法思想已逐渐成为每个现代人所必须具备的数学素养.(2)本节课的内容是循环结构,它与顺序结构、条件分支结构是算法的三种基本逻辑结构,可以表示任何一个算法.并且循环结构是算法这一部分的重点和难点,它的重要性就是充分体现计算机的优势,也即能以极快的速度进行重复计算.学生已经学习了有关算法和框图的基础知识.绝大多数同学对算法和框图的学习有相当的兴趣和积极性.但在探究问题的能力,应用数学的意识等方面发展不够均衡,尚有待加强.新课导入设计导入一我们学习了顺序结构和选择结构,那n21的和能用前面的两种结构设计出算法++⋅⋅⋅++3吗?有没有更简单的算法呢?我们在电影里可能看到过黑客破解密码的镜头,只见荧屏上数字不断闪烁,不大一会儿,密码就被破解了,他们是利用什么方法破解的呢?学习了本节这些问题,我们就会有点头绪了.导入二引例:德国著名数学家高斯幼年时代聪明过人,上学时,有一天老师出了一道题让同学们计算:1+2+3+4+…+99+100=?老师出完题后,全班同学都在埋头计算,小高斯却很快算出答案等于5050.你能否写出求1+2+3+4+…+99+100的值的一个算法,并用框图表示你的算法.导入新课思路1(情境导入)我们都想生活在一个优美的环境中,希望看到的是碧水蓝天,大家知道工厂的污水是怎样处理的吗?污水进入处理装置后进行第一次处理,如果达不到排放标准,则需要再进入处理装置进行处理,直到达到排放标准。
高中数学第二章算法初步2.2算法的基本结构及设计知识导航北师大版必修320170308038
§2算法的基本结构及设计知识梳理1.任何一个算法都是由三种基本逻辑结构组成的,分别是顺序结构、选择结构、循环结构,用这三种基本结构表述的算法及流程图整齐、清晰、美观、容易阅读理解.2.顺序结构是最简单的算法结构,也是任何算法中必不可少的结构,它表示语句与语句之间、框与框之间是按从上到下的顺序进行的.3.选择结构是算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.4.循环结构是指在算法中从某处开始,按照一定条件,反复执行某一处理步骤的结构.在画循环结构的流程图之前,需要确定三件事:(1)确定循环变量和初始条件;(2)确定算法中反复执行的部分,即循环体;(3)确定循环体的终止条件.知识导学可借助上一节实例的算法描述,体会用自然语言表达解决某一问题的算法的优、缺点(优点是通俗易懂,缺点是缺少直观),进而知道用流程图表达算法的优越性(简洁、直观、形象,容易理解通过具体实例,可用两种表示方法分别描述算法,初步弄懂流程图的组成、用流程图表达算法的基本操作要领、各种图框的画法与作用以及画流程图的规则记忆要点:①起始框和终止框各有一条流出线;②输入、输出和处理框有一条流入线和一条流出线;③判断框有一条流入线和两条流出线;④循环结构实质上是判断和处理的结合,可以先判断,再处理,也可以先处理再判断.结合具体问题的算法设计,通过模仿、操作、探索、修改等方式,逐步体会并掌握用流程图描述算法的过程和方法,进而弄清算法的三种基本逻辑结构及流程图表示学好本节,要注重观摩实例,操作简例,探索应用科学的学习方法本节的难点是算法三种基本逻辑结构中的循环结构,突破它的方法很简单:弄清循环的初始条件,严格界定重复(循环)的步骤,明确循环结束的条件,并注意多结合实例领悟,多模仿实例设计循环结构疑难突破1.给变量赋值的格式及其含义剖析:所谓赋值就是将一个数据赋予一个变量,在计算机程序中赋值操作是由赋值语句来完成的.赋值语句的格式为:变量名=表达式.(注意:不同语言赋值表达式会略有不同,但基本结构不变)例如:x=8,其作用是给变量x赋值这里的“=”号不是数学中通常意义的“等于号”,它是“赋值符号”.其作用是将它右边的值赋给它左边的变量.可以形象地比喻:每个变量占一个匣子,每个匣子中可以放一个数据.在程序开始时,计算机自动使所有变量的初值为0,在执行赋值语句“x=8”后,x匣子中放入了数值8,x匣子中的数就称为变量x的值.2.画流程图的规则剖析:引入流程图的目的是为了形象直观地描述算法,更清晰地展现算法的逻辑结构,所以要熟记并正确运用各种图框来画流程图流程图由一些图框和带箭头的流线组成,其中的图框表示各种操作,图框内的文字和符号表示操作的内容,带箭头的线表示操作的先后顺序画流程图时,一般遵循以下规则(1)使用标准的图框和符号(2)图框一般按从上到下、从左到右的方向画(3)除判断框外,大多数图框只有一个进入点和一个退出点,判断框是具有超过一个退出点的惟一符号(4)一种判断框为“是”与“不是”两个分支的判断,有且只有一种结果(5)在图框内的语言符号要非常简练清楚典题精讲例1 鸡兔同笼,已知鸡兔总头数为M ,鸡兔的总腿数为N ,求鸡兔各多少只?请写出鸡兔同笼问题的一个算法,并画出流程图思路分析:首先分析问题,找到解决问题的思路.如A =2)4(N M -,B =M -A ,其次合理设计算法流程图,最后再用框图表示.用框图表示既清晰,又明白.因此同学们要加以练习,更要善于阅图,因此多练就会提高能力.当然这个流程图较简单,是顺序结构流程图解:算法(1)输入鸡和兔的总数量M(2)输入鸡和兔腿的总数量N(3)鸡的数量A =24NM -(4)兔的数量B =M -A(5)输出鸡、兔的数量A 、B 的值流程图(如图2-2-图2-2-1绿色通道:这里一定要注意什么是计算机可识别的语言,计算机不是万能的,不能随便写个方程组,计算机就能求解,其实计算机求解必须设置好适当的程序,所以不能简单地让计算机解方程(组),首先根据条件建立数学模型,并利用数学上的知识找出解题的方法,计算机只能进行数据的比较和运算,并输出结果.变式训练 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算f =⎩⎨⎧>⨯-+⨯≤50,85.0)50(53.05050 53.0ωωωω其中f (单位:元)为托运费,ω为托运物品的重量(单位:千克),试画出计算费用f的流程图思路分析:这是一个实际问题,据数学模型可知,求费用f 的计算公式随物品重量ω的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件结构的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出解:算法流程图如图2-2-图2-2-2例2 设计一个算法,任意输入一个x ,计算y =|x |,并输出y 的数值.请写出算法步骤和流程图思路分析:这是计算一个数的绝对值的程序,首先要理解绝对值的含义,它表示一个非负值,即:|x |=⎪⎩⎪⎨⎧<-=>.0,,0,0,0,x x x x x 所以,要使用选择结构对x 的正负进行判断,根据x 的正负来决定输出的数值.解:算法步骤如下(1)输入x(2)若x <0,则y =-x(3)若x ≥0,则y =x(4)输出y流程图如图2-2-图2-2-3图2-2-4变式训练如图2-2-4所示的框图是解决某个问题而绘制的流程图,仔细分析各图框内的内容及图框之间的关系,完成下面的问题(1)框中x=a的含义是什么(2)图框中y=-x2+mx的含义是什么(3)该流程图解决的是怎样的一个问题(4)当输入的x值为0和4时,输出的值相等,问当输入的x值为3时,输出的值为多大(5)要想使输出的值最大,输入的x值应为多少(6)按照这个程序框图,当输入的x的值都大于2时,x值大的输出的y值反而小,为什么思路分析:观察框图的结构和各图框中的内容容易看出,该框图属顺序结构,比较简单,赋给x一个值,由处理框可计算出y的值,最后输出y的值解:(1)图框中x=a表示把a赋给变量x(2)图框中y=-x2+mx的含义是:在执行该图框的前提下,即当x=a时,计算-x2+mx的值,并把这个值赋给y(3)该流程图解决的是求二次函数f(x)=-x2+mx的函数值的问题(4)当输入的x值为0和4时,输出的值相等,即f(0)=f∵f(0)=0,f(4)=-16+4m,∴-16+4m∴m=4,∴f(x)=-x2+4x∵f(3)=-32∴当输入x的值为3时,输出y的值为(5)∵f(x)=-x2+4x=-(x-2)2+4,当x=2时,f(x)m ax∴要想使输出的值最大,输入的x值应为(6)∵f(x)=-(x-2)2∴函数f(x)在[2,+∞)上是减函数.∴在[2,+∞)上,x的值越大,对应的函数值y反而越小,从而当输入的x值大于2时,x值大的输出的y值反而小例3 画出从a,b,c三个数中找出最大值的算法流程图思路分析:输入a,b,c之后主要是判断三个数的大小.所以主要使用选择结构写出结构图,首先先判断a,b的值找出其中较大的,然后再判断b,c及a,c的大小,根据判断结果决定输出的数值是a,b,c中的哪一个数解:算法流程图如图2-2-5所示图2-2-5变式训练如图2-2-6所示流程图表示了什么样的算法图2-2-6思路解析:由流程图中的判断框的内容可知,a>b且a>c时,输出a,说明输出的是三数中最大的答案:输入三个数,输出其中最大的一个例4 设计一种流程图计算:1×2×3×4×…×n思路分析:①首先确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的终止条件解:流程图如图2-2-7所示图2-2-7绿色通道:循环结构的算法可以帮助解决大量的运算步骤,尤其是那些有一定规律的叠加或者叠乘运算,节约了大量的程序步骤,使程序清晰明了.所以能够灵活掌握循环结构的程序非常重要.在初学时主要从分析循环体,循环条件出发,理清循环的过程然后再写出循环的整个步骤.变式训练由图2-2-8所示的流程图,补充完整一个计算1+2+3+…+100的值的算法,(用循环结构图2-2-8第一步:设i的值为第二步:设sum的值为第三步:如果i≤100执行第_______步否则转去执行第_______步第四步:计算sum+i并将结果代替第五步:计算_______并将结果代替i第六步:转去执行第三步第七步:输出sum的值并结束算法思路分析:流程图各图框的内容(语言和符号)要与算法步骤相对应,在流程图中算法执行的顺序应按箭头方向进行解:第一步:设i的值为1;第二步:设sum的值为0;第三步:如果i≤100执行第四步,否则转去执行第七步;第四步:计算sum+i并将结果代替sum;第五步:计算i+1并将结果代替i;第六步:转去执行第三步;第七步:输出sum的值并结束算法问题探究问题俗话说“规矩成方圆”.做任何事都要按照一定的格式或者步骤,给变量赋值也是一样,也要求一定的格式,那么,给变量赋值时要注意哪些问题呢导思:可以把变量想象成一个盒子,赋值就相当于往盒子里放东西.这个盒子可以装不同的数值,但一次只能装一个,当赋给它新值的时候,原来的值将被新值取代探究:和做其他事情一样,给变量赋值也有一定的格式和要求,在给变量赋值时应该注意以下问题(1)赋值号两侧的内容不能随意互换.例如,“x=8”不能写成“8=x(2)可以多次向同一个变量赋值,但一个变量在一个瞬时只能有一个确定值.在给一个变量赋值时,该变量原有的值即被新赋予的值取代.例如a =5 a=8 a=10 输出a在执行第一个语句时,a被赋值为5,执行第二个语句,a又被赋值为8,执行第三个语句后,a 又被赋值10,而前面的值都依次被取代,所以,执行第四个语句后应当输出结果“10”.就像一个人拿到文凭一样,随着进修的不断深入,学历逐渐被新的学历代替,在你拥有高中毕业证时,你可以说自己是高中文化,但是如果你上了大学,拿到大学毕业证,你就会说自己大学毕业,而不再说高中的学历了(3)赋值语句具有运算的功能.就如一个人领工资时首先把各个项目进行运算,得出最终结果才能知道自己该领多少工资,然后才能实现领工资的过程.例如a=3+4-相当于给a赋值-(4)一个赋值语句只能给一个变量赋值,要给多个变量赋值可以使用多个赋值语句进行,就像我们考试一样,在一个考场上只能考试一个科目,要想考试多个科目,可以进行多次考试.例如,下面的写法是错误的a,b,c=8 a=b=c。
高中数学第2章算法初步3.1条件语句课件北师大版必修3
[探究共研型]
复合 If 语句 探究 1 条件语句必须要有 If,Then,End If 吗? 【提示】 条件语句必须有 If、Then,End If,根据需要,Else 及其后的语 句可以省略. 探究 2 一个完整的条件语句中,可以有多个 End If 吗? 【提示】 不可以.因为一个完整的条件语句总是以 If 开始,以 End If 结 束,故不能有多个 End If.
【自主解答】 该算法的功能是利பைடு நூலகம்给出的 x 的值,求函数 y=
x+1x<0, 0x=0, xx>0
的值.
(2)框图如图所示:
1.使用复合 If 语句的注意事项: (1)使用范围:判断条件多于一个时. (2)分清层次:编写条件时,要注意 If 和 End If 的配对使 用及书写的格式. 2.利用复合 If 语句解决问题的步骤: (1)构思出解决问题的一个算法(可用自然语言). (2)画出程序框图,形象直观地描述算法. (3)根据框图写算法语句,即逐步把框图中的算法步骤用算 法语句表达出来.
[小组合作型]
条件语句及其简单应用 已知函数 y=x22x--15,,xx≥<00,, 对任意的 x,求函数值,请画出算法 框图并写出程序语句. 【导学号:63580027】 【精彩点拨】 解答本题需对 x 进行判断是非负还是负,用选择结构来处理.
If 语句的适用范围及注意事项: 1算法中需要判断情况、分类执行时,如判断一个数的正负、 比较两个数的大小、求分段函数的函数值等,都需要用条件语句 进行描述. 2若程序只对条件满足时作处理,不用处理条件不满足时的 情况,则可以省略 Else 分支. 3条件语句是一个整体,If,Then,Else,End If 都是语句的 一部分,且“If”和“End If”必须成对出现.
if...elif...else的使用规则及方法
if...elif...else的使用规则及方法嘿,朋友们!今天咱来聊聊 if...elif...else 这玩意儿的使用规则和方法,可别小瞧它,用处大着呢!你想想啊,就好像你走在路上,遇到个岔路口。
if 呢,就是你先判断走哪条路,如果符合某个条件,那就走这条。
那 elif 呢,就像是接着的其他岔路选择,要是前面的条件不满足,再看看这个条件符不符合。
而 else 呢,就像是兜底的,前面那些路都走不通,那就走它呗!比如说,你要决定今天晚上吃啥。
你就可以用if...elif...else 来安排。
如果冰箱里有肉,那就做个红烧肉;elif 冰箱里有鱼,那就来个红烧鱼;else 啥都没有,那就只能煮泡面啦!是不是很形象?再打个比方,你去参加考试。
如果成绩大于等于 90 分,那就是优秀呀;elif 成绩在 70 分到 89 分之间,那也还不错啦;else 成绩低于 70 分,哎呀,那可得加把劲咯!使用 if...elif...else 也有一些要注意的点呢。
首先,条件得明确呀,可不能模模糊糊的,不然程序都不知道该咋走。
就好比你说“如果天气好”,啥叫好呀,得具体点,是晴天还是没下雨就算好呢。
然后呢,顺序也挺重要。
就像排队,得按先来后到呀。
要是把条件的顺序弄乱了,可能结果就不是你想要的啦。
还有啊,可别写太多层的 elif,不然看着都晕乎。
就像走迷宫,走太多岔路,自己都绕晕了。
总之呢,if...elif...else 就像是你的小向导,帮你在各种情况中做出合适的选择。
掌握好它,你的代码就能像小火车一样,稳稳地跑在正确的轨道上。
所以啊,大家在写代码的时候,可别小瞧了这个小小的 if...elif...else 哦!它能让你的程序变得聪明起来,知道在不同的情况下该怎么做。
多练习练习,你就会发现它的妙处啦!加油吧,朋友们!让我们一起把代码写得棒棒的!。
高中数学第2章算法初步331条件语句课件北师大版必修3
End If A.1
B.3
C.4
D.-2
解析:选 C ∵a=1,b=3,∴a<b,∴输出 x=a+b= 1+3=4.
4.给出下列语句: 输入 a,b,c; M=a If b>M Then
M=b Else If c>M Then M=c End If End If 输出 M.
若输入 a=4,b=2,c=-5,则输出的结果为( )
A.100
B.64
C.81
D.121
解 析 : 选 B 由 已 知 得 该 语 句 是 求 ƒ(x) =
x+12x<0, x-12x≥0
的函数值,∴ƒ(9)=(9-1)2=64.
2.下列程序的功能是: 判断任意输入的数 x 是否是正数,若是,输出它的平方 值;若不是,输出它的相反数. 输入 x; If________Then y=-x Else y=x*x End If 输出 y.
复习课件
高中数学第2章算法初步33.1条件语句课件北师大版必修3
2021/4/17
高中数学第2章算法初步331条件语句课件北师大版必修3
第二章 算法初步
§3 几种基本语句 3.1 条件语句
基础知识点对点 课后拔高提能练
基础知识点对点
知识点一 简单条件语句 1.执行该算法语句时,若输入的 x 为 9,则输出的 y 值 是( ) 输入 x; If x<0 Then y=(x+1)2 Else y=(x-1)2 End If 输出 y.
则填入的条件应该是( )
A.x>0
B.x<0
C.x≥0
D.x≤0
解析:选 D 由题意知,该程序的功能是求函数 y=
x2,x>0, -x,x≤0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“ELSE”与“END IF”的正确使用
条件语句的一般格式是IF THEN 或是IF THEN
ELSE END IF,
END IF
可以看出:在条件语句中有时会不用“ELSE”,但“END IF”是一定要用的.对于“ELSE”与“END IF”的正确使用是用好条件语句的前提.本来这两种形式都不太复杂,用起来也很方便,但当把它与其它语句混在一起使用时,就不是那么简单了,“千难万险”将由此滋生.请看:
例编写一个程序,输入任意一个大于1的正整数n,对n是否为质数作出判断.
第一险:“ELSE”的用法不当.根据题目要求,先画出程序框图,结合框图开始编写程序,前一部分的编写很顺利,程序如下:
INPUT “n=”;n
=
flag1
IF 2
n> THEN
d=
2
WHILE 1
<=- AND flag1
d n
=
d= THEN
IF n MOD 0
=
flag0
ELSE
=+
1
d d
END IF
WEND
当“WEND”写完后,下一步该写什么呢?很多人会认为要写“ELSE”;其实,是错的,从前面程序语句的意义上分析可以看出这一点:如果2
n>,那么,再用“ELSE”,就是说1
n≤时,执行下面语句.事实上,是对一个大于2的数n进行了判断后,要输出结果.显然,不能用“ELSE”.
第二险:“END IF”放置不当,下面是某同学对上述问题编写的程序:
INPUT “n=”;n
flag1
=
IF 2
n> THEN
d=
2
WHILE 1
<=- AND flag1
d n
=
d= THEN
IF n MOD 0
flag0
=
ELSE
=+
d d
1
END IF
WEND
ELSE
IF flag1
= THEN
PRINT n;“是质数”
ELSE
PRINT n;“不是质数”
END IF
END IF
END
在上述程序中共用了三次“END IF”,按从上至下的顺序看,第一次“END IF”是终结“IF n MOD0
d=THEN”的;第二个“END IF”是终结“IF flag1
= THEN”的;第三个呢?自然是终结“IF n>2 THEN”;前两个没问题,最后一个是有问题的.由第一险我们已经看出了“WEND”(在第一险中的程序)写完后,不能用“ELSE”.应该用什么?其实,要用“END IF”来终结上述的条件语句.而把它放置在最后“END”的上面是不妥的.
排险措施:对于条件语句中的“ELSE”与“END IF”要根据语句前后的意思,深入思考、仔细分析,还要真正领会“ELSE”与“END IF”的文字含义,这样再用就万无一失了.本题的正确程序:
INPUT “n=”;n
=
flag1
IF 2
n> THEN
d=
2
WHILE 1
<=- AND flag1
d n
=
d= THEN
IF n MOD 0
=
flag0
ELSE
1
=+
d d
END IF
WEND
END IF
IF flag1
= THEN
PRINT n;“是质数”
ELSE
PRINT n;“不是质数”
END IF
END。