高中数学必修3讲义 专题1.2 基本算法语句
- 格式:doc
- 大小:681.24 KB
- 文档页数:23
根本算法语句【学习目标】1、正确理解输入语句、输出语句、赋值语句的结构.2、会写一些简单的程序.3、掌握赋值语句中的“=号的作用.4、正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系5、会应用条件语句和循环语句编写程序.【要点梳理】要点一:输入语句在程序中的INPUT语句就是输入语句.这个语句的一般格式是:其中,“提示内容〞一般是提示用户输入什么样的信息.INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT "提示内容1,提示内容2,提示内容3,…〞;变量1,变量2,变量3,功能:可对程序中的变量赋值.要点诠释:①“提示内容〞提示用户输入什么样的信息,必须加双引号,提示内容“原原本本〞的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;②变量是指程序在运行时其值是可以变化的量;③一个语句可以给多个变量赋值,中间用“,〞分隔,但最后的变量的后面不需要;④要求输入的数据必须是常量,而不能是函数、变量或表达式;⑤无计算功能.例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:INPUT 〞数学,语文,英语〞;a, b, c要点二:输出语句在程序中的PRINT语句是输出语句.它的一般格式是:同输入语句一样,表达式前也可以有“提示内容〞.功能:可输出表达式的值,计算.要点诠释:①“提示内容〞提示用户输出什么样的信息,提示内容必须加双引号,提示内容要用分号和表达式分开;②表达式是指程序要输出的数据,可以是变量、计算公式或系统信息;③一个语句可以输出多个表达式,不同的表达式之间可用“,〞分隔;④有计算功能,可以输出常量、变量或表达式的值以及字符.要点三:赋值语句用来说明赋给某一个变量一个具体确实定值的语句.它的一般格式是:变量=g达式赋值语句中的“二〞叫做贝a信号.功能:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值.要点诠释:①赋值号的左右两边不能对换,如" A=B' "B=A’的含义运行结果是不同的;②格式中右边“表达式〞可以是一个数据、常量和算式,如果“表达式〞是一个算式时, 赋值语句的作用是先计算出“=右边表达式的值,然后将该值赋给“=左边的变量;③赋值号左边只能是变量名字,而不能是表达式,如:2=*是错误的;④不能利用赋值语句进行代数式的演算〔如化简、因式分解等〕;⑤对于一个变量可以屡次赋值;⑥有计算功能;⑦赋值号与数学中的等号的意义是不同的.赋值号左边的变量如果原来没有值,那么执行赋值语句后,获得一个值,如果已有值,那么执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将“原值〞冲掉.要点四:条件语句算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句.它的一股格式是:〔IF-THEN-ELSE格式〕IF条件THEN语句1ELSE语句2END IF当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN!的语句1,否那么执行ELSE®的语句2.其对应的程序框图为:〔如上右图〕在某些情况下,也可以只使用IF-THEN语句:〔即IF-THEN格式〕计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THENt的语句,如果条件不符合,那么直接结束该条件语句,转而执行其他语句.其对应的程序框图为:〔如上右图〕要点诠释:条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计算机按条件进行分析、比拟、判断,并按判断后的不同情况进行不同的处理.要点五:循环语句算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中也有当型〔WHILE型〕和直到型〔UNTIL型〕两种语句结构.即WHILE语句和UNTIL语句.1 .WHILE语句的一般格式是:其中循环体是由计算机反复执行的一组语句构成的.WHLIE后面的“条件〞是用于限制计算机执行循环体或跳出循环体的.当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行, 直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND1句后,接着执行WEND1后的语句.因此,当型循环有时也称为“前测试型〞循环.其对应的程序结构框图为:〔如上右图〕2 .UNTIL语句的一般格式是:其对应的程序结构框图为:(如上右图)直到型循环又称为“后测试型〞循环,从 UNTIL 型循环结构分析,计算机执行该语句时, 先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进 行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOFUNTIL 语句后执行其他语句,是先执行循环体后进行条件判断的循环语句.要点诠释当型循环与直到型循环的区别①当型循环是先判断后执行,直到型循环是先执行后判断; ②当型循环用 WHILES 旬,直到型循环用UNTIL 语句; ③对同一算法来说,当型循环和直到型循环的条件互为反条件. 【典型例题】类型一:输入语句、输出语句和赋值语句 例1.阅读以下程序,并答复以下问题.(1)程序(1)阅读程序,由a=1, b=2, c=a — b 可得c=-1;又根据语句b=a+c — b,可得b=-2;所以程序运行后的结果为:1, —2, —1.(2)阅读程序,由 A=3, B=2, C=5, A=A+B ,可得 A=5,又根据语句B=B-A,可得B=-3, 又C=C/A*B ,所以输出结果为C=-3.【点评】赋值语句在给变量赋值时,先计算赋值号右边的式子然后赋值给赋值号左边的变量;另外可以给一个变量先后屡次赋不同的值, 但变量的取值只与最后一次赋值有关. 解决(2)程序INPUT a, b (疗中假设输入1, b=a+c —b(P R I NT 假设物A, 3,【部D 】(1) 1,- 2,那么输出的结2, 5,那么输出 2, -1 (2)【解析】分别将输入的值代入程1 INPUT A, B, C鬻+BA —: 白锋C"A*B .C=RINT “C="; CEND力中逐步计算即可,&注意赋值前后变量值的变化.此类问题时要时刻把握某个变量在该程序中充当的角色,时刻关注其值的改变情况.举一反三:【变式1]当x的值为5时,语句PRINT "x=〞; x在屏幕上的输出结果为〔A. 5=5B. 5C. 5=xD. x=5【答案】D【变式2】写出以下语句描述的算法的输出结果.(1)(2)(3)【答案】(1) 16 (2) a=1 b=2 c=3 (3) a=20 b=30 c=20 【解析】 (1) 「a=5, b=3, c --b 4,d=c 2=16.2(2)a=1, b=2, c=a+b, . . c=3.又将 a+c — b 赋值给 b, . . b=1+3—2=2.(3)由 b=20及 a=b 知 a=20,由 c=30 及 b=c 知 b=30,由 a=30及 c=a 知 c=20.【点评】 此题主要考查对三种语句的理解,要对三种语句理解透彻.注意写出每一步的 运算结果,以减少错误.例2.一个正三棱柱的底面边长为 a,高为h,试设计一个程序来求解这个正三棱柱的 外表积和体积,并画出程序框图.【解析】 由题意,底面边长,可求出底面积,正三棱柱的高,体积易得;由底 面边长和高,可求侧面积,那么外表积易解.程序框图如下图, 程序如下:INPUT "a="; a INPUT "h="; hS=SQR(3)*a A 2/4V=S*h C=3*a T=C*h P=T+2*S PRINT “体积:〞;V PRINT "外表积:〞;PEND【点评】这是一道立体几何与算法相结合的综合类题目.首先要理清解题的步骤,要求正 三棱柱的体积,可以利用公式 V=Sh,所以要先求出正三棱柱的底面积,然后代入公式即可; 正三棱柱的外表积等于各面的面积之和,所以还需求正三棱柱的侧面面积.举一反三:1 3—疗&【变式11钱数x 〔缺乏10元〕,要把它用1元、5角、1角、1分的硬币表示,假设要用尽量少的硬币个数表示x,设计一个算法,求各硬币的个数.【解析】其程序为:例3.读下面的程序,根据程序画出程序框图.^-rn-2y根据程序画出程序框图,只要按顺序从上到下把输入、赋值、输出语句表达内容填入相应图框内即可.故程序框图如下图.【点评】算法语句和程序框图以不同的形式展示给我们,解决问题时要注意掌握算法语句和程序框图的相互转换.举一反三:【变式11以下是一个用根本算法语句编写的程序,根据程序画出其相应的程序框图.【解析】程序框图如下图.该程序主要利用了输入语句、赋值语句和输出语句进行算法描述,只要按顺序从上到下将输入语句、赋值语句、输出语句表达的内容填入相应的图框即可.例4.经过市场调查分析,2021年第一季度内,某地区对某件商品的需求量为 12000件, 为保证冏品不脱销,冏家决定在月初时将冏品按相同的量投放市场,年初冏品的库存量为50000件,用S 表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,编 写其程序.【解析】 依题意,每月应投放市场12000+3=4000 (件).这样库存量随月份的变化情况 如下表:算法的程序框图如下图. 其程序如下:S=50000 S=S —4000 S=S —4000 S=S — 400 PRINT "S="; S END【点评】 利用赋值语句可对变量屡次赋值,实现代数中的四那么运算.但代数中的运算很多都是方程、不等式的形式,这是赋值语句所不能实现的,要写成类似于函数y=f (x)的形式才 能构造成赋值语句的形式,从而用算法程序处理.这是解决这类问题的关键.举一反三:高清:算法与程序框图 397425知识讲解1中的例2【变式11 "鸡兔同笼〞问题是我国古代著名的趣题之一.大约在 1500年前,?孙子算经? 中就记载了这个有趣的问题.书中这样描述:今有鸡兔同笼,上有三十五头,下有九十四足, 问鸡兔几何?试设计一个算法,输入鸡兔的头和鸡兔的脚的总数,分别输出鸡、兔的数量.开桧[A55 00. VI "YOOO I 000 |厂二1 |6SY0Q0 |/输出【解析】先假设M只都是兔子,那么就4M只脚,这比N只脚多了( 4M —N)只脚,每只鸡比兔少2只脚,所以鸡的数量为A 4M N ,从而得到兔的数量为B=M—A.2算法步骤如下:第一步,输入鸡和兔的总数量M.第二步,输入鸡和兔的脚的总数量N.第三步,鸡的数量为A. 2第四步,兔的数量为B=M-A.第五步,输出A, B,得出结果.程序框图如下图.程序如下:INPUT “鸡和兔的总数量为:〞;MINPUT “鸡和兔的脚的总数量为:〞;NA=(4*M — N)/2 B=M -APRINT “鸡的数量为:〞;A/知出PRINT "兔的数量为:〞;BEND【变式2】“植树造林,防风抗沙〞.某沙漠地区在2021年年底有绿化带树林20000亩,该地区每年春天会种树400亩加以绿公,但同时每年冬天又会有总绿化面积的1%被沙漠化,问2021年年底该地区总绿化面积有多少亩?画出解决此问题的算法的程序框图, 并写出程序.【解析】该地区总绿化面积每年都在变化,可以设置一个变量来表示每年年底的绿化面积.【点评】利用赋值语句可以对同一变量进行屡次赋值,程序输出变量的最后值.类型二:条件语句例5.给出三个正整a, b, c,判断以这3个数为三条边边长的三角形是否存在,假设存在, 那么求出其面积,请设计程序实现该功能,并画出相应的程序框图.【解析】由于不是任意三条线段都能构成三角形的三边,因此必须先判断三边是否满足任意两边之和大于第三边,即a+b>c,a+c> b,b+c>a,这些是保证能组成三角形的必要条件.经1 判断,如果满足上述条件,那么按下面的公式计算三角形的面积,p ^(a b c),S Jp(P a)(p b)(p c).程序框图如下图.程序如下:INPUT a, b, cIF a+b>c AND a+c>b AND b+c>a THEN p=(a+b+c)/2S=SQR(p*(p —a)*(p — b)*(p -c)PRINT "三角形的面积为“ ;SELSEPRINT "不能构成三角形〞END IFEND【点评】编程的一般步骤为:(1)算法分析:根据提供的问题利用数学及相关学科的知识,设计出解决问题的算法;(2)画出程序框图:依据算法分析,画出对应的程序框图;(3)写出程序:根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来.举一反三:【变式1】根据如下图的伪代码,当输入a,b分别为2,3时,最后输出的m的值是Read a,baIf a>b Then +m一即Else +1m—加End 值Print m 卡【答案】3【解析】由可知,m为a,b中的最大值,故最后输出的m值为3.1,x 0例6.符号函数y 0, x 0,试编写程序输入x的值,输出y的值,并画出程序框图.1,x【解析】解法一〔嵌套结构〕INPUT xIF x>0 THEN y=1ELSEIF x=0 THEN y=0ELSE y= 一1END IFEND IFPRINT y END解法二〔叠加结构〕,如以下图:INPUT xIF x>0 THENy=1END IFIF x=0 THENy=0END IFIF xv 0 THEN/3W7【点评】:(1)条件结构的差异,造成程序执行的不同.当输入x的值时,解法一中先判断外层的条件,依次执行不同的分支;而解法二中按程序中条件语句的先后依次判断所有的条件,满足哪个条件就执行哪个条件下的语句.(2)条件语句的嵌套可以多于两层,表达算法步骤中的多重限制条件.举一反三:【变式11读下面的程序,并答复以下问题.INPUT xIF xv=2 THEN y=x A2ELSEIF xv=5 THEN y=2*x — 3ELSE y=1/xEND IFEND IFPRINT y END该程序的作用是输入x 的值,输出y 的值.(1)画出该程序对应的程序框图;(2)假设要使输入的x 值与输出的y 值相等,问这样的x 值有几个?程序.(1)程序对应的程序框图如下图. (2) x=x 2,那么 x=0 或 x=1 .此时均满足x<2.假设 2x —3=x,那么 x=3,满足 2<x05.-1右一 x ,贝U x= ± 1,不湎足x>5.x综上可知满足题设条件的x 值有3个,即x=0或x=1或x=3.【变式2】 输入一个自然数N,求其被3除得到的余数,设计一个程序,并输出相应的 信息. 【解析】程序如下:INPUT"请输入一个自然数 N;"; NM=N MOD3 IF M=0 THENPRINT "能被3整除〞 END IF IF M=1 THEN PRINT “余数为1〞 END IF IF M=2 THEN PRINT “余数为2〞END IF END【解析】由程序可知这是一个求y2x 2x1(x 2)(2 x 5)的函数值的 (x 5)例7.某商场对顾客实行优惠举措,假设购物金额x在800元以上,那么打八折;假设购物金额x在500元以上,那么打九折;否那么不打折.画出程序框图,要求输入购物金额款额,并x,输出实际付写出相应的程序.【解析】依照题意,实际付款额y与购物金额x的函数关系为:x, (x 500)y 0.9x (500 x 800),程序框图如下图. 0.8x (x 800)程序:INPUT "x="; xIF x>800 THEN y=0.8*x ELSE IF x>500THEN y=0.9*x ELSE y=x END IF END IFPRINT y END【点评】对于实际问题应先建立函数模型,然后设计算法,对自变量x的取值进行判断, 这是应用条件语句的根据.举一反三:【变式11某市电信部门规定:拨打市内时,如果通话时间不超过3分钟,那么收取通话费0.2元;如果通话时间超过3分钟,那么超过局部以0.1形分钟收取通话费〔t以分钟计,不足1分钟按1分钟计〕,问:如何设计一个计算通话费用的算法,画出程序框图并写出相应的【解析】我们令 c (单位:元)表示通话费用,t (单位:分钟)表示通话时间,那么有0.2(0 t 3)c 0.2 0.1(t 3) (t 3)依上面分析可知解决这一问题的算法步骤如下: 第一步:输入通话时间; 第二步:如果 0<t03,那么 c=0.2,否贝U c=0.2+0.1(t-3); 第三步:输出费用c. 程序框图如下图.程序为:INPUT"通话时间为" ;tIF tv =3 AND t >0 THEN c=0.2 ELSE c=0.2+0.1*(t —3) END IF PRINT “通话费用为" ;cEND类型三:循环语句高清:根本算法语句例5例8 .试用两种语句写出计算1+2+3+-+2021的程序,并画出相应的程序框图.【解析】 先设计出计数变量和累加变量 S,依两种语句的特点分别写出,应注意各自的 条件.S=0 i=1 WHILE i<=2021S=S+i i=i+1WEND PRINT S END程序?WHILE 语句如下,程序框图如下图:S=0 i=1 DOS=S+ii=i+1LOOP UNTIL i >2021 PRINT S END举一反三:【变式1】编写一个程序,计算1X3X5X7X …x 99的值.【解析】方法一:利用当型循环得到如图l 所示的程序框图 方法二:利用直到型循环得到如图 2所示的程序图.利用当型〔WHILE 〕循环语句编写程序如下:S=1 i=3WHILE i <=99S=S*i i=i+2WEND PRINT S ENDUNTIL 语句如下,程序框图如图所〔分别用两种循环语句〕图1S-S^iZt+2/情卢$ /利用直到型(UNTIL)循环语句编写程序如下:S=1i=3DOS=S*ii=i+2LOOP UNTIL i >99PRINT SEND例9.某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量到达30000台?【解析】根据题意,每年销售量比上一年增加的百分率相同,设总销售量为S, n年达到30000台.第一年销售了5000台;第二年销售了5000+5000X 10%=5000X (1+10%)(台);第三年销售了5000X(1+10%)+5000X(1+10%)X10%=5000X (1+10%)2(台);第n 年销售了5000X(1+10%)n 1(台).前n 年的总销售量S=5000+5000X (1+10%)+5000X (1+10%)2+…+5000X (1+10%)n 1(台).程序框图如下图.程序:m=5000S=0i=0WHILE Sv 30000 S=S+m m=m*(1+0.1)i=i+1WEND【点评】(1)循环条件是总销售量小于 30000台.(2)此题中第n 年销售量为5000X(1+10%)n1台. (3) S 表示总销售量,即前n 年销售量之和.举一反三:【变式11 一个小球从100 m 的高度落下,每次落地后又反跳回原高度的一半, 再落下, 在第10次落地时,小球共经过多少路程?【解析】第1次下落的高度h 1=100 m ;1第2次下落的图度?一几50m ;22 1第3次下落的高度h 3 2 h 2 25m ;1第10次下落的图度匕.-h 9. 21所以递推关系是h 1=100, h n 1 — h n , n=1, 2, 3,…,9.到第10次落地时,共经过的 ZIII llzZZZZZ路程为S=h 1+2h 2+2h 3+ - +2h 10=2(h 1+h 2+- - +h 10)— h 1,故可将s 作为累加变量,i 作为计数变量.s=0 h=100 i=1WHILE iv=10 s=s+2h h=h/2 i=i+1 WEND s=s — 100 PRINT s END【稳固练习】1 .对赋值语句的描述正确的选项是〔 〕.①可以给变量提供初值;②可以将表达式的值赋给变量;③可以给一个变量重复赋值;④ 不能给同一变量重复赋值.A.①②③B.①②C.③④D.①②④2 . “x=3*5",“x=x+1〞是某一程序中的先后相邻的两个语句,那么以下说法正确的选项是〔〕①x=3*5的意思是x=3X5=15,此式与算术中的式子是一样的;②x=3*5是将数值15赋给 x;③x=3*5可以写为3*5=x ;④x=x+1在执行时赋值号右边x 的值是15,执行后左边x 的值 是16.A .①③B .②④C .①④D .②③程序框图如下图.根据以上程序框图,可设计程序如下:[A=100 |3 .以下程序运行后输出的结果是〔〕F=LB=A*AA=A+BB=B+A| PRINT A, B |A. 12, 5 B, 12, 21 C. 12, 3 D. 21, 124 .给出以下四个问题:①输入一个数x,输出它的相反数;②求面积为6的正方形的周长;③求三个数a, b, c中的最大数;④求函数f〔x〕 x 1 〔x 0〕的函数值.其中不需要用条件x 2 〔x 0〕语句来描述的有〔〕.A. 1个B. 2个C. 3个D. 4个5 .程序如下:根据程序提示依次输入4, 2, -5,那么程序运行结果是〔〕.A. max=maxB. max=2C. max=—5D. max=46 .下面程序输入“ x二九〞时的运算结果是〔〕.INPUT "x="; xIF x>0 THENy= 一2ELSEIF x=0 THENy=0ELSEy=2 END IFEND IFPRINT yENDA. -2B. 0C.兀D. 27 .如果以下程序运行后输出的结果是132,那么在程序中LOOP UNTIL后的“条件〞应为〔A. i>11B. i>=11C. i<=11D. i<118 .执行以下程序后,x的值是(i=1x=5WHILE iv20x=x+i/5i=i+2WENDPRINT x ENDA. 25B. 24C. 23D. 229 .A (XI, y1),B (x2, y2)是平面上两点,试根据平面几何中两点中点的坐标公式,设计一个程序输入A, B两点的坐标,输出它们中点的坐标,现已经给出程序的一局部.试在横线处把程序补充完整.INPUT x1 , y1INPUT x2, y2① _______PRINT x, y END10 .将以下程序补充完整,要求输入两个数,输出其中较大的一个.INPUT a, b IF a> b THENPRINT aELSEEND IFEND〔注:是X 除以10的商;“MOD 〞是X 除以10的余数〕 那么该程序输出的x 的含义是.12 .以下运行程序,填写输出结果.禺) S=0 WHILE S <=20 i=i+1 S=S+i WEND PRINT i END(1) ______ ;13 .根据下面的程序,画出程序框图.11.(1) i=0S=0WHILE S <=20S=S+ii=i+1WENDPRINT iEND111 114 .求」------ - -L —1—的值,要求回出程序框图,写出用根本语句编写的程序.1 2 2 3 3 4 99 10015 .在音乐唱片超市里,每张唱片售价25元,顾客购置5张以上〔含5张〕唱片,那么按九折收费;顾客购置10张以上〔含10张〕唱片,那么按八五折收费.编写程序,根据输入顾客购置唱片的数量a,输出顾客要缴纳的金额c.并画出程序框图.16 .农历9月9日是我国传统的重阳节,某饭店自助餐厅决定在这一天进行优惠酬宾活动. 对于80岁〔包括80岁〕以上的老人,享受免费自助餐;70岁以上〔包括70岁〕的老人享受5 折优惠,60岁以上〔包括60岁〕的老人享受6折优惠,其余顾客享受9折优惠.请设计算法, 完成这一天的计费工作,要求输入用餐者的年龄、消费额,输出应付金额,编写出程序.【答案与解析】1 .【答案】A【解析】赋值语言不仅可以提供初值,也可将表达式的值赋给变量,还可对某一变量重复赋值.故只有④错.2 .【答案】B【解析】赋值语句中的“二〞与算术上的“二〞是不一样的,式子两边的值也不能互换,而x=x+1是将x+1的值赋给X.3 .【答案】B【解析】A=3+32=12, B=32+12=21.4 .【答案】A【解析】只有问题①不需要用条件语句来描述.5 .【答案】D【解析】该程序是求三个数中的最大数.6 .【答案】A2 〔x 0〕【解析】此程序表示的函数为分段函数y 0 〔x 0〕,故X=TT时,y=-2.2 〔x 0〕7 .【答案】D【解析】 该程序中使用了直到型循环语句,当条件不满足时执行循环体,满足时退出循环, 由于输出的是132,故执行了两次循环体,因此条件应为i<11.8 .【答案】Ax 5 -, 5此i=3,仍继续循环•…,一 一 1当 i=19 时,x 5 一 5此时将i+2的值赋给i,i=21>20. 1 3 5 L 19退出循环,」• x 5 1 3 5 L —- 25. 59.【答案】① x 二(x -+x 2)/2 ②y=(y 〔+y 2)/2【解析】 两点(x1, y1), (x2, y2)是平面上的两点,那么它们的中点(x, v)的坐标公十力 X x 2 Vl V2式为x ----------- , y ------------- . 2 2根据平面几何知识,易知①x=(x 1+x 2)/2;②y=(y 1+y 2)/2.10 .【答案】PRINT b【解析】 假设a>b,那么PRINT a,否那么PRINT b.11 .【答案】交换十位和个位上的数字后得到的新数【解析】 此题的关键是读懂程序.“a=x'10〞的含义是将两位数x 的十位数字取出来,语句 “b=x MOD 10〞取余运算即取出x 的个位数."x=10*b+a 〞得到的是原两位数中的十位上的数 字与个位上的数字对调后的两位数.12 .【答案】(1) 7 (2) 6【解析】(1)第一次运算后S=0, i=1;第二次S=1, i=2;第三次S=3, i=3;第四次S=6, i=4;第五次 S=10, i=5;第六次 S=15, i=6;第七次 S=21>20,结束,i=7.(2)由于第一次运算后S=1,只需6次即可.i=6.13•【解析】从程序可以看出,这是求一个学生五门课平均成绩的程序,我们只要把输入语句、 输出语句、赋值语句转化到程序框图中,就很容易把框图画出来.程序框图如以下图.【解析】i=1,满足条件,x=5, 19 石'4*——/Weaver/ ♦14 •【解析】程序框图如下图.S=0i=1WHILE i < =99S=S+1/(i*(i+1)) i=i+1 WENDPRINT SEND J 必力| 程序如下:下J乎1* /丁―#/f西卓115 •【解析】根据题意知顾客要缴纳的金额c是购置唱片数量a的分段函数,函数关系式为25a (0 a 5)c 22.5a (5 a 10),由于条件不同,结果不同,所以21.25a (a 10)程序框图中需要用到条件结构,程序中需要用到条件语句.程序如下;程序框图如图.INPUTIF a> 0 AND av 5 THENc=25*aELSEIF av 10 THENc=22.5*aELSEc=21.25*aEND IFEND IFPRINT cEND16 •【解析】设用x、n 分别表示用餐者的年龄、消费额,用t表示应付金额,那么程序如下:。
1.2基本算法语句(复习课说课稿)一、教材分析(一)在教材的地位和作用计算机完成任何一项任务都需要算法。
自然语言与程序框图表示的算法,计算机是不能理解的,程序语言是计算机可以理解的算法。
学习算法语句,并应用它来实现算法,是让学生经历学习和应用算法过程的重要一环。
本节复习的五种算法语句是为了将算法的控制结构转换为计算机能够理解的程序语言和能在计算机上实现的程序,其作用就是实现算法与计算机程序的转换。
(二)教材内容本节内容主要是复习算法初步的第二部分,内容主要包括五种算法语句及其表达方式、结构、应用。
(三)教学目标1.知识目标(1)正确理解输入语句、输出语句、赋值语句的结构;(2)正确理解条件语句的概念,并掌握其结构及功能;(3)掌握循环语句的具体应用。
2.过程与方法(1)让学生充分地感知、体验应用计算机解决数学问题的方法,并能初步操作、模仿;(2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理的数学方法。
3.情感态度价值观通过本节内容的学习,使我们认识到计算机与人们的生活密切相关,增强计算机应用意识,形成自觉地将数学理论和现代信息技术结合的思想。
(四)教学重点理解五种基本算法语句及其表达方式、结构、用法。
(五)教学难点条件语句以及循环语句在具体问题中的应用。
二、教法分析本节课是基本算法语句的复习课,鉴于这部分内容抽象程度较高,难度较大。
采用问题探究式与计算机实践相结合的教学方式。
在教学过程中通过不断地提出问题让学生思考和实践检验,使学生掌握五种基本语句的内容并能灵活应用。
三、学法分析学生已经学习了基本算法语句,因此引导学生回顾基础知识,教师在对例题分析后,采用小组讨论法,培养学生互助协作的精神,并且通过实践自己发现问题,解决问题,逐步形成探究的习惯。
四、教学过程教学环节大体包括以下几个方面教学环节时间安排(一)创设情境 5分钟(二)基础巩固 14分钟(三)问题探究 15分钟(四)课时小结 5分钟(五)布置作业 1分钟以上教学环节,无绝对严密的界限,主要在于将它们有机灵活地结合,以符合学生学习的规律,调动学生积极参与。
1.2 基本算法语句1.2.1 输入语句.输出语句和赋值语句1、输入语句(1)输入语句的一般格式(2)输入语句的作用是实现算法的输入信息功能;(3)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(4)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;(5)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。
2、输出语句(1)输出语句的一般格式 (2)输出语句的作用是实现算法的输出结果功能;(3)“提示内容”提示用户输入什么样的信息,表达式是指程序要输出的数据;(4)输出语句可以输出常量、变量或表达式的值以及字符。
3、赋值语句(1)赋值语句的一般格式(2)赋值语句的作用是将表达式所代表的值赋给变量;(3)赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的。
赋值号的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;(4)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式;(5)对于一个变量可以多次赋值。
注意:①赋值号左边只能是变量名字,而不能是表达式。
如:2=X 是错误的。
②赋值号左右不能对换。
如“A=B ”“B=A ”的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等)④赋值号“=”与数学中的等号意义不同。
1.2.2条件语句1、条件语句的一般格式有两种:(1)IF —THEN —ELSE 语句;(2)IF —THEN 语句。
2、IF —THEN —ELSE 语句IF —THEN —ELSE 语句的一般格式为图1,对应的程序框图为图2。
图1分析:在IF —THEN —ELSE 语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END IF 表示条件语句的结束。
计算机在执行时,首先对IF 后的条件进行判断,如果条件符合,则执行THEN 后面的语句1;若条件不符合,则执行ELSE 后面的语句2。
1.五种基本算法语句任何一种程序设计语言中都包含五种基本的算法语句,分别它们是___________、___________、___________、___________、和___________.2.输入语句输入语句与程序框图中的___________对应,以BASIC语言为例,其一般格式为:INPUT “提示内容”;变量其中,“提示内容”一般是提示用户输入什么样的信息.输入语句的作用是输入提示内容要求的相应信息或值,计算机每次都把新输入的值赋给变量.3.输出语句输出语句与程序框图中的___________对应,以BASIC语言为例,其一般格式为:PRINT “S ”;S输出语句的作用是输出算法的信息(表达式).输出语句的功能是在计算机的屏幕上输出常量、变量的值和系统信息.4.赋值语句赋值语句与程序框图中表示赋值的处理框对应,以BASIC语言为例,其一般格式为:___________赋值语句的作用是将表达式所代表的值赋给变量.判断赋值语句正确与否的两个步骤:(1)看格式,看是否满足“变量=表达式”的格式.(2)看内容,看赋值号是否超过了一个,即看是否进行了代数式的计算.5.条件语句条件语句与程序框图中的___________相对应.条件语句主要有两种,分别是“___________”语句和“___________”语句.(1)IF—THEN—END IF语句计算机在执行如图所示的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.(2)IF—THEN—ELSE—END IF语句当计算机执行如图所示的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.注意:①当判断语句的两个出口只有一个需要执行其他语句时,使用“IF—THEN—END IF”语句;当判断语句的两个出口都需要执行其他语句时,使用“IF—THEN—ELSE—END IF”语句.②“条件”可以是复合条件,此时应用AND加以连接.③END IF是“出口”,是条件语句的结束符号,在书写程序时不要漏掉.6.循环语句循环语句与程序框图中的循环结构相对应.一般程序设计语言中都有__________和__________两种循环语句结构.(1)直到型(UNTIL)语句当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断.如果条件不符合,继续执行循环体;然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到条件符合时为止.这时,计算机将不执行循环体,直接跳到UNTIL语句后,接着执行UNTIL语句之后的语句.如图所示:(2)当型(WHILE)语句当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE和WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.如图所示:应用循环语句编写程序时需注意:①循环语句中的循环变量一般要设初始值.②在循环过程中需要有“结束”的语句,程序中最忌“死循环”.K知识参考答案:6.直到型(UNTIL) 当型(WHILE)K—重点输入语句、输出语句、赋值语句、条件语句和循环语句的基本用法K—难点正确编写算法语句K—易错(1)条件语句中缺少END IF;(2)混淆WHILE语句与UNTIL语句.1.输入语句、输出语句、赋值语句(1)输入语句可以给多个变量赋值,其格式为:INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…(2)输出语句具有计算功能.(3)对于赋值语句,①在代数中A=B与B=A是等效的两个等式,而在赋值语句中则是两个不同的赋值过程.②“=”左边必须是变量,右边可以是常量、变量或算式.③一个语句只能给一个变量赋值,不能对几个变量连续赋值,但可以辗转赋值.④可给一个变量多次赋值,但只保留最后一次所赋的值.【例1】下列语句正确的是①输入语句INPUT x②输入语句INPUT “A,B,C”;a,b,c③输出语句PRINT A+B=C④赋值语句3=A.A.①③B.②③C.②④D.①②【答案】D【解析】根据输入语句的一般格式知:①②正确;输出语句不具有赋值或执行功能,③错误;④赋值语句应改为A=3,④错误.故选D.【名师点睛】当输入程序语句时,只能从左到右依次输入.上标、下标、幂等的表示与数学中平时的书写习惯是不相同的,算法语句中的运算符有:^,*,/,MOD,+,-,sqr等.【例2】下列程序语句正确的是A.输出语句PRINT A=4 B.输入语句INPUT x=3C.赋值语句A=A*A+A–3 D.赋值语句55=a【答案】C2.条件语句条件语句可实现算法中的条件结构,当计算机处理按条件判断后的不同情况时,就需要用到条件语句.如求分段函数的函数值等,往往要用到条件语句,有时甚至要用到条件语句的嵌套.在有些较为复杂的算法中,有时需要对按条件执行的某一语句(特别是ELSE后的语句)继续按照另一个要求进行判断,这时可以再利用一个条件语句进行判断,这就形成了条件语句的嵌套.条件语句的嵌套是条件结构嵌套的实现和表达.一般形式如下:IF 条件1 THEN语句体1ELS EIF 条件2 THEN语句体2ELSE语句体3END IFEND IF【例3】如图所示的程序是计算函数y=f(x)函数值的程序,若输入的x的值为4,则输出的y值为A.17 B.3 C.–3 D.–17【答案】C【名师点睛】在设计条件语句时,要明确算法语句中关系运算符和逻辑运算符及其应用.关系运算符:>,=,<,>=,<=,<>.如3x<=.这与代数中的表示是有区x≤在程序中表示为3别的.逻辑运算符:AND,OR.如23x>,这是程序语句的专用表示方法.x<=AND 2x<≤在程序中应表示为3【例4】下列关于条件语句的叙述,正确的是A.条件语句中必须有if、else和endB.条件语句中可以没有endC.条件语句中可以没有else,但必须有endD.条件语句中可以没有else及没end【答案】C【解析】条件语句是处理条件分支逻辑结构的算法语句.表示形式有2种:①IF–THEN–ELSE格式:执行时,先对IF后的条件进行判断,若条件符合,执行语句1,否则执行语句2.②IF–THEN格式:执行时,先对IF后的条件进行判断,若条件符合,执行THEN后的语句,否则结束条件语句,执行其他语句.所以条件语句中可以没有else,但必须有end.故选C.【名师点睛】条件语句必须以IF开始,以END IF结束,一个IF必须和一个END IF对应,尤其对条件语句的嵌套问题,应注意每一层的结构的完整性,不能漏掉END IF.3.循环语句WHILE 语句与UNTIL 语句两种循环语句的联系与区别:(1)联系:两种语句都可以实现计算机反复执行循环体的目的,只是表达形式不同.一般来讲,WHILE 语句与UNTIL 语句可以相互转化. (2)区别:①直到型循环语句是先执行(循环体),后判断(条件),而当型循环语句是先判断(条件),后执行(循环体).②直到型循环语句是条件不满足时执行循环体,条件满足时结束循环;而当型循环语句是当条件满足时执行循环体,不满足时结束循环.③直到型循环结构至少执行一次循环体,而当型循环结构可能一次也不执行循环体.④在设计程序时,一般说来,这两种语句用哪一种都可以,但在某种限定条件下,有时用WHILE 语句较好,有时用UNTIL 语句较好. 【例5】执行下列程序后,输出的i 的值是i=1WHILE i<=10 i=i+5 WEND PRINT i ENDA .5B .6C .10D .11【答案】D【名师点睛】条件语句与循环语句的嵌套问题,求解时一般先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不能冲突. 4.混淆WHILE 语句与UNTIL 语句【例6】编写程序计算98246++⋅⋅⋅++的值. 【答案】答案详见解析 【解析】【错解一】程序如下:【错解二】程序如下:【错因分析】错解一中WEND应与WHILE对应;错解二中DO与LOOP UNTIL对应,另外,i=i+1应为i=i+2.【正解一】程序如下:【正解二】程序如下:sum=0DOsum=sum+ii=i+2LOOP UNTIL i>98PRINT sumEND【名师点睛】一定要牢记WHILE语句与UNTIL语句的区别.1.对赋值语句的描述正确的是①可以给变量提供初值;②可以将表达式的值赋给变量;③可以给一个变量重复赋值;④不能给同一个变量重复赋值.A.①②③B.①②C.②③④D.①②④2.执行‘PRINT “3+5=”;3+5’的输出结果是A.3+5=3+5 B.3+5=8C.8=3+5 D.8=83.下列程序的输出结果是A=10A=A+15PRINT AENDA.10 B.15 C.25 D.54.阅读下面的程序,判断程序执行后的结果是x=3A .6,9B .9,6C .6,12D .9,95.在设计求函数2,2()1,2266,2x x f x x x x x ⎧>⎪=--<≤⎨⎪-≤-⎩的值的程序中不可能用到的算法语句为A .输入语句B .条件语句C .输出语句D .循环语句6.根据下列算法语句,当输入x 为60时,输出y 的值为A .25B .30C .31D .617.读下面的程序:该程序的作用是A.计算9个数的和B.计算9个数的平均数C.计算10个数的和D.计算10个数的平均数8.以下程序运行后的输出结果为i=1WHILE i<8i=i+2S=2*i+3i=i–1WENDPRINT SENDA.17 B.19C.21 D.239.下列给出的输入、输出语句正确的是①输入语句:INPUT a;b;c②输入语句:INPUT x=3③输出语句:PRINT A=4④输出语句:PRINT 20,3*2A.①②B.②③C.③④D.④10.执行图程序中,若输出y的值为2,则输入x的值为__________.11.下面是用程序语句表示的一个问题的算法,试根据其画出程序框图.INPUT x,yPRINT x/4,2*yx=x+2y=y–1PRINT x,yEND12.下列正确的语句的个数是①输入语句:INPUT a+2②赋值语句:x=x–5③输出语句:PRINT M=2A.0 B.1 C.2 D.3 13.阅读下面的程序,然后判断程序执行后的结果是x=2y=3*x–1x=yPRINT 3*x–1ENDA.5 B.15 C.11 D.14 14.若下面的程序运行之后输出的值为16,那么输入的值x应该是A.3或3-D.5或5--B.5-C.5或315.阅读下面的程序:程序运行的结果是A.3 B.3 4C.3 4 5 D.3 4 5 616.下面为一个求50个数的平均数的程序,在横线上应填充的语句为A.i>50 B.i<50 C.i>=50 D.i<=50 17.如图程序的输出结果为__________.18.计算机执行下面的程序后,输出的结果是__________.19.根据所给的程序,可知输出的结果S为________.20.下列程序运行的结果是__________.21.已知函数221,0()25,0x xf xx x⎧-≥⎪=⎨-<⎪⎩,对输入的每一个x值,都得到相应的函数值()f x,请画出程序框图并写出程序.22.编写一个程序,求满足11111023n+++⋅⋅⋅+>的n的最小值.23.给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依次类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示):(1)图中①处和②处应填上什么语句,使之能完成该题算法功能;(2)根据程序框图写出程序.1 2 3 4 5 6 7 8 9 12 13 14 15 16A B C B D C D C D B D D D A1.【答案】A【解析】赋值语句的功能:赋值语句可以给变量提供初始值,可以将表达式的值赋给变量,可以给一个变量重复赋值.故选A.2.【答案】B3.【答案】C【解析】A的初始值为10,通过下一个赋值语句把10+15的计算结果赋给变量A,即可得到25,然后输出.故选C.4.【答案】B【解析】模拟执行程序,x=3,y=3+3=6,x=6+3=9.输出x,y的值:9,6.故选B.5.【答案】D【解析】本题主要考查算法语句的运用.对于分段函数的算法,输入语句和输出语句都是需要的,条件语句也是需要的,只有循环语句不可能用到,故选D.6.【答案】C【解析】因为x=60>50,所以y=25+0.6×(60–50)=31,故选C.7.【答案】D【解析】根据程序可知,共输入10个数,由“A=S/10”可知是求10个数的平均数.8.【答案】C9.【答案】D【解析】①错,变量之间应用“,”隔开;②错,不能输入赋值语句;③错,不能输出赋值语句;④对,可以输出数值和表达式.故选D.102【解析】模拟执行程序的运行过程知,该程序的功能是输出函数y=2211,1x xx x⎧≥⎪⎨-+<⎪⎩,的值.又输出y的值为2,则当x≥1时,令y=x2=2,解得x2当x<1时,令y=–x2+1=2,无解,所以输入x2故2.11.【答案】详见解析.【解析】根据题意,所求的程序框图如下:12.【答案】B【解析】①中输入语句可以给变量赋值,不能给表达式2x x=-表示变a+赋值,所以①错误;②中5量x减去5后再赋给x,即完成5=-后,x比原来的值小5,所以②正确;③中不能输出赋值语句,x x所以③错误.故选B.13.【答案】D【解析】把2赋值给变量x,再把3x–1赋值给变量y,此时y=5,再把y赋值给变量x,此时x=5,再输出31⨯-=,故选D.x-这个表达式的值,是3511414.【答案】D15.【答案】D【解析】本题主要考查了条件语句的叠加,程序执行条件语句的叠加的过程中对于所有的条件都要进行判断,依次验证每一个条件,直到结束.在本题中共出现四次条件判断,每一个条件都成立,故输出结果为3456.故选D.16.【答案】A【解析】由程序的功能是求50个数的平均数,则循环体共需要执行50次,由循环变量的初值为1,步长为1.故当循环50次时,此时循环变量的值为51,应退出循环,又因直到型循环是满足条件退出循环,本题即i>50时退出循环.故选A.17.【答案】(7,10)【解析】模拟程序的运行,如下: x =4, y =3 x =4+3=7, y =7+3=10.故输出结果为(7,10).故答案为:(7,10). 18.【答案】4,119.【答案】7【解析】第一次循环:3,4S I ==;第二次循环:5,7S I ==;第三次循环:7,108S I ==>,结束循环,故输出的S 为7. 20.【答案】64【解析】先画出对应的程序框图,如下:执行程序,有S =0,i =1第1次循环,满足条件i ≤15,有S =1,i =3;21.【答案】详见解析.【解析】程序框图如图所示:程序如下:INPUT xIF x>=0 THENy=x^2–1ELSEy=2*x^2–5END IFPRINT yEND22.【答案】详见解析.【解析】用WHILE语句编写的程序如下:n=1WHILE S<=10n=n+1S=S+1/nWENDPRINT nEND用UNTIL语句编写的程序如下:S=1n=1DOn=n+1S=S+1/nLOOP UNTIL S>10PRINT nEND23.【答案】(1)①处应填i≤30?②处应填p=p+i(2)程序详见解析.故②中应填写p=p+i.即①处应填i≤30?②处应填p=p+i;(2)程序如下所示:p=1S=0WHILE i<=30S=S+pp=p+ii=i+1 WEND PRINT SEND。