12基本算法句 ①赋值号的左右两边不能对换,如A=B~B=A"的含义运行结果是不同的 【学习目标 ρ格式中右边表达式可以是一个数据、常量和算式,如果“表达式是一个算式时,赋值语句的作用是先计 1、正确理解输入语句、输出语句、赋值语句的结构 算出右边表达式的值,然后将该值给一左边的变量: 2、会写一些简单的程序 ③赋值号左边只能是变量名字,而不能是表达式,如:2=X是错误的 3、掌握赋值语句中的一”号的作用 不能利用赋值语句进行代数式的演算(如化简、因式分解等) 4、正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系 ⑤对于一个变量可以多次赋值 5、会应用条件语句和循环语句编写程序 ⑥有计算功 【要点樵理】 ⑦赋值号与数学中的等号的意义是不同的赋值号左边的变量如果原来没有值,则执行赋值语句后,获得 要点一、教入语句 个值,如果己有值,则执行该语句后,以值号右边表达式的值代替该变量的原值,即将“原值"冲掉 在程序中的NPUT语句就是输入溺这个语句的一般格式是: 要点四、条件句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句它的一般格式是: INPUT“提示内容数量 F-THEN-ELSE格 其中,“提示内容”一般是提示用户输入什么样的信息 PT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为: NPUT“提示内容1挺示内容提示内容3…;数量1囊量23 IF条件THEN 满足条伟 语句1 功能:可对程序中的变量赋值 要点诠幂: 语句2 语句1 语句2 ①提示内容提示用户输入什么样的信息,必须加双引号,提示内容“原原本本的在计算机屏摹上显示,提 END IF 示内容与变量之间要用分号隔开 ②变量是指程序在运行时其值是可以变化的量 ③-个语句可以给多个变量赋值,中间用,吩隔,但最后的变量的后面不需要 ④要求输入的数据必须是常量,而不能是函数、变量或表达式 算机执行上述语句时,首先对F后的条件进行判斷,如果条件符合,就执行THEN后的语句,否则 ⑤无计算功能 执行ESE后的语句2其对应的程序框图为:(如上右图) 例如,输入一个学生数学,语文,英语三门课的成绩,可以写成: 在某些情况下,也可以只使用ITEN语句:(即 IF-THEN格丸 INPUT“数学,语文,英语”:a,b,c 要点二、轴出语句 在程序中的PRNT语句是输出语句它的一般格式是 条件THEN 满足条件 PRINT“提示内容;表达式 否 END IF 语句 同输入语句一样,表达式前也可以有提示内容 功能:可输出表达式的值,计算 要点诠幂 ①提示内容提示用户输出什么样的信息,提示内容必须加双引号,提示内容要用分号和表达式分开 ②表达式是指程序要输出的数据,可以是变量、计算公式或系统信息 计算杋执行这种形式的条件语句时,也是首先对I后的条件进行判断,如果条件符合,就执行TEN后的 ③一个语句可以输出多个表达式,不同的表达式之间可用,"吩隔 语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句其对应的程序框图为:(如上右图) ④有计算功能,可以输出常量、变量或表达式的值以及字符 要点诠释 要点三、赋值语句 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去需要计 用来表明给某一个变量一个具体的确定值的语句它的一般格式是: 算机按条件进行分析、比较、判斷,并按判断后的不同情况进行不同的处理 变量表达式 要点五、循环语句 算法中的循环结构是由循环語句来实现的对应于程序框图中的两种循环结构,一般程序吽语言中也有当 赋值语句中的~叫做赋值号 型WHLE型和直到型NL型两种语句结构即WHLE语句和UML语句 功能:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式LWHE句的一般格式是 的值 循环体 要点诠幂 WHLE条件 循环体
1.2 基本算法语句 【学习目标】 1、正确理解输入语句、输出语句、赋值语句的结构. 2、会写一些简单的程序. 3、掌握赋值语句中的“=”号的作用. 4、正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系. 5、会应用条件语句和循环语句编写程序. 【要点梳理】 要点一、输入语句 在程序中的 INPUT 语句就是输入语句.这个语句的一般格式是: 其中,“提示内容”一般是提示用户输入什么样的信息. INPUT 语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为: 功能:可对程序中的变量赋值. 要点诠释: ①“提示内容”提示用户输入什么样的信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提 示内容与变量之间要用分号隔开; ②变量是指程序在运行时其值是可以变化的量; ③一个语句可以给多个变量赋值,中间用“,”分隔,但最后的变量的后面不需要; ④要求输入的数据必须是常量,而不能是函数、变量或表达式; ⑤无计算功能. 例如,输入一个学生数学,语文,英语三门课的成绩,可以写成: INPUT “数学,语文,英语”;a,b,c 要点二、输出语句 在程序中的 PRINT 语句是输出语句.它的一般格式是: 同输入语句一样,表达式前也可以有“提示内容”. 功能:可输出表达式的值,计算. 要点诠释: ①“提示内容”提示用户输出什么样的信息,提示内容必须加双引号,提示内容要用分号和表达式分开; ②表达式是指程序要输出的数据,可以是变量、计算公式或系统信息; ③一个语句可以输出多个表达式,不同的表达式之间可用“,”分隔; ④有计算功能,可以输出常量、变量或表达式的值以及字符. 要点三、赋值语句 用来表明赋给某一个变量一个具体的确定值的语句.它的一般格式是: 赋值语句中的“=”叫做赋值号. 功能:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式 的值. 要点诠释: ①赋值号的左右两边不能对换,如“A=B”“B=A”的含义运行结果是不同的; ②格式中右边“表达式”可以是一个数据、常量和算式,如果“表达式”是一个算式时,赋值语句的作用是先计 算出“=”右边表达式的值,然后将该值赋给“=”左边的变量; ③赋值号左边只能是变量名字,而不能是表达式,如:2=X 是错误的; ④不能利用赋值语句进行代数式的演算(如化简、因式分解等); ⑤对于一个变量可以多次赋值; ⑥有计算功能; ⑦赋值号与数学中的等号的意义是不同的.赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一 个值,如果已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将“原值”冲掉. 要点四、条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句.它的一般格式是: (IF-THEN-ELSE 格式) 当计算机执行上述语句时,首先对 IF 后的条件进行判断,如果条件符合,就执行 THEN 后的语句 1,否则 执行 ELSE 后的语句 2.其对应的程序框图为:(如上右图) 在某些情况下,也可以只使用 IF-THEN 语句:(即 IF-THEN 格式) 计算机执行这种形式的条件语句时,也是首先对 IF 后的条件进行判断,如果条件符合,就执行 THEN 后的 语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句.其对应的程序框图为:(如上右图) 要点诠释: 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计 算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理. 要点五、循环语句 算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中也有当 型(WHILE 型)和直到型(UNTIL 型)两种语句结构.即 WHILE 语句和 UNTIL 语句. 1.WHILE 语句的一般格式是: IF 条件 THEN 语句 1 ELSE 语句 2 END IF 满足条件? 语句 1 语句 2 是 否 IF 条件 THEN 语句 END IF 满足条件? 语句 是 否 WHILE 条件 循环体 WEND 满足条件? 循环体 是 否 INPUT “提示内容”;变量 INPUT “提示内容 1,提示内容 2,提示内容 3,…”;变量 1,变量 2,变量 3,… PRINT “提示内容”;表达式 变量=表达式
INPut a:b:c:2NPUT=3:③ inPUT a2b,c;④NUT“,b=,ab:⑤NUT“, b=3, (2)下列给出的输出语句正确的是 PRINT A=②PRNT“你的姓名"M③ print a,t:④PRNT2,32:⑤ PRINT S 【答案】(1)8(2)③④⑤ 例2.任给三个变量ab,c赋值,计算x-3+c 解析】程序如下 其中循环体是由计算机反复执行的一组语句构成的WHLE后面的条件”是用于控制计算机执行循环体或 跳出循环体的 NPUT“b:b 当计算机遇到WHIE语句时,先判断条件的真假,如果条件符合,就执行WHIE与WEND之间的循环 NPUT“c";c 体:然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为 =afa-3'b b+5'c 止这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句因此,当型循环有时 RINT S 也称为前测试型循环其对应的程序结构框图为:(如上右图) 2NTL语句的一般格式是 【总结升华】注意程序中x2-32+5c的写法,也可写为22-32+5 【变式1】判断下列赋值语句是否正确: 1).m:(2)x+=10:(3)A=B=2:(4)MNe 循环体 【解析】(1)错误:(2)错误:(3)错误:(4)正确 【总结升华】由赋值语句中赋值号左边是变量,右边是表达式、常量或变量知(1.()错误,(4)正 循环体 确。赋值语句只能给一个变量赋值,不能出现两个或多个≈,从而(3)错误。 例3.编写一个程序,要求输入两个正数a、b的值,输出和的值。 【解析】可以利用NPU『语句输入两个正数,然后将和护的值分别赋给两个变量,然后输出这两个变 量的值即可:另一方面与妒作为两个幂的值,是把底数和指数进行了交换,故还可以利用赋值语句,采用将 两个变量的值互换的办法实现这一算法。 其对应的程序结构框图为:(如上右图) 解法一:程序为: 直到型循环又称为后测试型ˉ循环,从UNL型循环结枃分析,诎算杋执行该语句时,先执行一次循环体, NPUT“a,b=”;a,b 然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行 A=rb 直到某一次条件满足时,不再执衍循环体,跳到L0 OP UNTIL语句后执行其他语句,是先执行循环体后进行条 B-m a INPUT“a,b=";a,b 件判断的循环语句 PRINT“2=”;A A=ab 要点诠释 RNT“+=:B PRINT“22;A 当型循环与直到型循环的区别 ①当型循环是先判斷后执行,直到型循环是先执衍后判断 解法二:程序为 ②当型循环用WHⅢLE语句,直到型循环用UML语句 ③对同一算法来说,当型循环和直到型循环的条件互为反条件 【典型例题】 PRNT“h;A 类型一:输入语句、输出语句和赋值语句 例1.判断下列输入、输出语句是否正确?为什么? (1)输入语句 nput a: b:c 【总结升华】注意观察两种解法的区别。解法二更巧妙地利用了赋值语句,互换变量来实现算法。 (2)输入语句NPUT=3 举反三 【变式]写出下列语句措述的算法的输出结果。 (4)输出语句PRNT2,y2 【解析】(1)错,变量之应用“,开:(2)锆,NPUT语句中只能是变量而不能是表达:(3)错,RI 语句中不能用赋值号;(4)对,PRNT语句可以输出常量、变量、表达的值。 【总结升华】输入语句的格式是: INPUT"提示内容:变量,其作用是输入信息:输出语句的格式是: PRNT提示内容:表达式,其作用是输出结果。 PRNT“:d 举一反三 Nn 【变式1】(1)下列绘出的输入语句正确的是
其中循环体是由计算机反复执行的一组语句构成的.WHLIE 后面的“条件”是用于控制计算机执行循环体或 跳出循环体的. 当计算机遇到 WHILE 语句时,先判断条件的真假,如果条件符合,就执行 WHILE 与 WEND 之间的循环 体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为 止.这时,计算机将不执行循环体,直接跳到 WEND 语句后,接着执行 WEND 之后的语句.因此,当型循环有时 也称为“前测试型”循环.其对应的程序结构框图为:(如上右图) 2.UNTIL 语句的一般格式是: 其对应的程序结构框图为:(如上右图) 直到型循环又称为“后测试型”循环,从 UNTIL 型循环结构分析,计算机执行该语句时,先执行一次循环体, 然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行, 直到某一次条件满足时,不再执行循环体,跳到 LOOP UNTIL 语句后执行其他语句,是先执行循环体后进行条 件判断的循环语句. 要点诠释 当型循环与直到型循环的区别 ①当型循环是先判断后执行,直到型循环是先执行后判断; ②当型循环用 WHILE 语句,直到型循环用 UNTIL 语句; ③对同一算法来说,当型循环和直到型循环的条件互为反条件. 【典型例题】 类型一:输入语句、输出语句和赋值语句 例 1.判断下列输入、输出语句是否正确?为什么? (1)输入语句 INPUT a;b;c (2)输入语句 INPUT x=3 (3)输出语句 PRINT A=4 (4)输出语句 PRINT 20,3*2 【解析】(1)错,变量之应用“,”隔开;(2)错,INPUT 语句中只能是变量而不能是表达;(3)错,PRINT 语句中不能用赋值号“=”;(4)对,PRINT 语句可以输出常量、变量、表达的值。 【总结升华】输入语句的格式是:INPUT“提示内容”;变量,其作用是输入信息;输出语句的格式是: PRINT“提示内容”;表达式,其作用是输出结果。 举一反三: 【变式 1】(1)下列给出的输入语句正确的是________。 ①INPUT a;b;c;②INPUT x=3;③INPUT a,b,c;④INPUT “a=,b=”,a,b;⑤INPUT “a=, b=”a,b。 (2)下列给出的输出语句正确的是________。 ①PRINT A=4;②PRINT “你的姓名”XM;③PRINT a,bc;④PRINT 20,3*2;⑤PRINT S。 【答案】(1)③ (2)③④⑤ 例 2.任给三个变量 a,b,c 赋值,计算 a 2―3b2+5c 的值。 【解析】程序如下: 【总结升华】注意程序中 a 2―3b2+5c 的写法,也可写为“a^2―3*b^2+5*c”。 举一反三: 【变式 1】判断下列赋值语句是否正确: (1)4=m;(2)x+y=10;(3)A=B=2;(4)N=N2。 【解析】(1)错误;(2)错误;(3)错误;(4)正确。 【总结升华】由赋值语句中赋值号“=”左边是变量,右边是表达式、常量或变量知(1)、(2)错误,(4)正 确。赋值语句只能给一个变量赋值,不能出现两个或多个“=”,从而(3)错误。 例 3.编写一个程序,要求输入两个正数 a、b 的值,输出 a b 和 b a的值。 【解析】可以利用“INPUT”语句输入两个正数,然后将 a b 和 b a的值分别赋给两个变量,然后输出这两个变 量的值即可;另一方面 a b 与 b a作为两个幂的值,是把底数和指数进行了交换,故还可以利用赋值语句,采用将 两个变量的值互换的办法实现这一算法。 解法一:程序为: 解法二:程序为: 【总结升华】注意观察两种解法的区别。解法二更巧妙地利用了赋值语句,互换变量来实现算法。 举一反三: 【变式 1】写出下列语句描述的算法的输出结果。 (1) DO 循环体 LOOP UNTIL 条件 满足条件? 循环体 是 否 INPUT “a=”;a INPUT “b=”;b INPUT “c=”;c S=a*a―3*b*b+5*c PRINT S END INPUT “a,b=”;a,b A=a^b B=b^a PRINT “a b=”;A PRINT “b a=”;B END INPUT “a,b=”;a,b A=a^b PRINT “a b=”;A x=a a=b b=x A=a^b PRINT “b a=”;A END a=5 b=3 c=(a+b)/2 d=c*c PRINT “d=”;d END
【总结升华】变量x主要用于存放一个变量的值,应用珷值语句将原来的三个数进行了轮换,输出的a,b, 已经不是原来的a,b,c了,而依次对应的是原来的c,a,b catb bFate-b 类型二:条件语句 PRINT "F, b,c=:a,b,c 例5.给出三个正整数ab,c,判断以这3个数为三条边边长的三角形是否存在,若存在,则求出其面积, 请设计程序实现该功能,并画出相应的程序框图。 【解析】由于不是任意三条线段都能构成三角形的三边,因此必须先判断三边是否满足任意两边之和大于 第三边,即atb>,ar>b,bc>a,这些是保证能纽成三角形的必要条件。经判断,如果满足上述条件,则 按下面的公式计第三角重机p=+-apb 程序框图如图所示 程序如下: PRNT“a,b=,c=”;a,b,c inPUt a, b, c IF atb>c and a+o>b and bte>a theN 【解析】(1)∵=5,b=3,c 4,;d==16 S=SQRP*(p-a*(p-b ip-c) (2)∵F1,b=2,cab,∴=3,又将a-b赋值给b,b=1+3-2 PRINT“三角形的面积为:S (3)由b=20及ab知20,由e0及=知=0,由0及=a知c=20 【总结升华】此题主要考查对三种语句的理解,要对三种語句理解透彻。注意写出每一步的运算结果,以 RNT“不能构成三角形” END IF 减少错 /s/当“病罗 例4.“植树造林,防风抗沙”。某沙漠地区在2010年底有绿化带树林200亩,该地区每年春天会种树 END 400亩加以绿化,但同时每年冬天又会有总绿化面积的1%被沙漠化,问2013年底该地区总绿化面积有多少 【总结升华】编程的一般步骤为: 亩?画出解决此问题的算法的程序框图,并写出程序。 (1)算法分析:根据提供的问题利用数学及相关学科的知识,设计出解决问题的算法 【解析】该地区总绿化面积每年都在变化,可以设置一个变量来表示每年底的绿化面积 (2)画出程序框图:依据算法分析,画出对应的程序框图 程序框图如图 (3)写出程序:根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来。 §=000 S=S+40(1-001) 【变式1】(跏05秋湖北荆州区期末)已知1图列程序,当输入F时,输出结果是 S=S+4001-001) s441 INPUT t S=S+4001-001) 4040 IF t<3 THEN PRNT“203年年底总绿化面积为;S END C=02 【总结升华】利用赋值语句可以对同一变量进行多次赋 值,程序输出变量的最后值 ELSE C=02.1°(y) 【变式订】在一次数学考试中,小明、小亮、小强的成绩分别为a、b、c后来发现统计错了。小亮的成绩 记在小明的名下,小强的成绩记在小亮的名下,而小明的成绩记在小强的名下了。设计程序更正成绩单。 IF 【解析】程序: PRINT C INPUT“更正前的成绩”:ab,c 【答案】04 【解析】F5,不满足条件K3执行Ee后语句 c2+0.15-304 PRINT“更正后的成绩:a,b,c 输出结果是04. 故答案为:04
(2) (3) 【解析】(1)∵a=5,b=3, 4 2 a b c + = = ,∴d=c2=16。 (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。 【总结升华】此题主要考查对三种语句的理解,要对三种语句理解透彻。注意写出每一步的运算结果,以 减少错误。 例 4.“植树造林,防风抗沙”。某沙漠地区在 2010 年年底有绿化带树林 20000 亩,该地区每年春天会种树 400 亩加以绿化,但同时每年冬天又会有总绿化面积的 1%被沙漠化,问 2013 年年底该地区总绿化面积有多少 亩?画出解决此问题的算法的程序框图,并写出程序。 【解析】该地区总绿化面积每年都在变化,可以设置一个变量来表示每年年底的绿化面积。 程序框图如图。 程序: 【总结升华】利用赋值语句可以对同一变量进行多次赋 值,程序输出变量的最后值。 举一反三: 【变式 1】在一次数学考试中,小明、小亮、小强的成绩分别为 a、b、c,后来发现统计错了。小亮的成绩 记在小明的名下,小强的成绩记在小亮的名下,而小明的成绩记在小强的名下了。设计程序更正成绩单。 【解析】程序: 【总结升华】变量 x 主要用于存放一个变量的值,应用赋值语句将原来的三个数进行了轮换,输出的 a,b, c 已经不是原来的 a,b,c 了,而依次对应的是原来的 c,a,b。 类型二:条件语句 例 5.给出三个正整数 a,b,c,判断以这 3 个数为三条边边长的三角形是否存在,若存在,则求出其面积, 请设计程序实现该功能,并画出相应的程序框图。 【解析】由于不是任意三条线段都能构成三角形的三边,因此必须先判断三边是否满足任意两边之和大于 第三边,即 a+b>c,a+c>b,b+c>a,这些是保证能组成三角形的必要条件。经判断,如果满足上述条件,则 按下面的公式计算三角形的面积, 1 ( ) 2 p a b c = + + , S p p a p b p c = − − − ( )( )( ) 。 程序框图如图所示。 程序如下: 【总结升华】编程的一般步骤为: (1)算法分析:根据提供的问题利用数学及相关学科的知识,设计出解决问题的算法; (2)画出程序框图:依据算法分析,画出对应的程序框图; (3)写出程序:根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来。 举一反三: 【变式 1】(2015 秋 湖北荆州区期末)已知 1 图列程序,当输入 t=5 时,输出结果是________. 【答案】0.4 【解析】t=5,不满足条件 t≤3 执行 Else 后语句, c=0.2+0.1(5-3)=0.4 输出结果是 0.4. 故答案为:0.4. a=1 b=2 c=a+b b=a+c―b PRINT “a=,b=,c=”;a,b,c END a=10 b=20 c=30 a=b b=c c=a PRINT “a=,b=,c=”;a,b,c END INPUT “更正前的成绩”;a,b,c x=a a=c c=b b=x PRINT “更正后的成绩”;a,b,c END S=20000 S=(S+400)*(1―0.01) S=(S+400)*(1―0.01) S=(S+400)*(1―0.01) PRINT “2013 年年底总绿化面积为”;S END INPUT a,b,c IF a+b>c AND a+c>b AND b+c>a THEN p=(a+b+c)/2 S=SQR(p*(p―a)*(p―b)*(p―c) PRINT “三角形的面积为”;S ELSE PRINT “不能构成三角形” END IF END
例6.(206河南周口月考)输入任意两个实数编写程序求其差的绝对值,并画出程序框图 【解析】程序如下: = C y =l D y= InPut a, b 【答案】C IF a=b then 【变式】读下面的程序,并回答问题。 IF x<=2 THEN ELSE ELSE IF X<=5 THEN I F ELSE PRINT C END IF END IF END PRINT Y 程序框图如图所示 该程序的作用是输入x的值,输出y的值。 (1)画出该程序对应的程序框图 (2)若要使输入的x值与输出的y值相等,问这样的x值有几个? 输人a (rs2) H这是个:35 (r>5) eb-a (1)程序对应的程序框图如右图所示 此时均满足x 若2x-=x,则x=3,满足2<x5 若-=r,则x=址l,不满足x>5。 【总结升】这是一个分段函数求值的问惠,在计算之前,需要对自变量进行判断,这就需要用到条件结综上可知满是题设条件的x值有3个,即x或或 构,并且还是一个有两个分支的条件结构。所以可以运用T-THEN-ESE语句。 【变式3】输入一个自然数N,求其被3除得到的余数,设计一个程序,并输出相应的信息。 【变式山】已知程序如下,若输λx=,则输出结果是() 【解析】程序如下: INPUT“x=”;x NPUT“请输入一个自然数N::N IFx>=0 THEN MEN MOD3 FMO THEN PRINT“能被3整除 ENDIF IF MI THEN PRNT“y= END END IF IFME THEN PRNT“余数为2 END IF
例 6.(2016 河南周口月考)输入任意两个实数,编写程序求其差的绝对值,并画出程序框图. 【解析】程序如下: INPUT a,b IF a>=b THEN c=a-b ELSE c=b-a END IF PRINT c END 程序框图如图所示. 【总结升华】这是一个分段函数求值的问题,在计算之前,需要对自变量进行判断,这就需要用到条件结 构,并且还是一个有两个分支的条件结构。所以可以运用“IF—THEN—ELSE”语句。 举一反三: 【变式 1】已知程序如下,若输入 x=5,则输出结果是( ) A. 5 1 x y = = B. 5 1 x y = = − C.y=1 D.y=-1 【答案】C 【变式 2】读下面的程序,并回答问题。 该程序的作用是输入 x 的值,输出 y 的值。 (1)画出该程序对应的程序框图; (2)若要使输入的 x 值与输出的 y 值相等,问这样的 x 值有几个? 【解析】由程序可知这是一个求 2 ( 2) 2 3 (2 5) 1 ( 5) x x y x x x x = − 的函数值的程序。 (1)程序对应的程序框图如右图所示。 (2)x=x2,则 x=0 或 x=1。 此时均满足 x≤2。 若 2x-3=x,则 x=3,满足 2<x≤5。 若 1 x x = ,则 x=±1,不满足 x>5。 综上可知满足题设条件的 x 值有 3 个,即 x=0 或 x=1 或 x=3。 【变式 3】输入一个自然数 N,求其被 3 除得到的余数,设计一个程序,并输出相应的信息。 【解析】程序如下: INPUT “x=”;x IF x>=0 THEN y=1 ELSE y=-1 END IF PRINT “y=”;y END INPUT x IF x<=2 THEN y=x^2 ELSE IF x<=5 THEN y=2*x-3 ELSE y=1/x END IF END IF PRINT y END INPUT “请输入一个自然数 N;”;N M=N MOD3 IF M=0 THEN PRINT “能被 3 整除” END IF IF M=1 THEN PRINT “余数为 1” END IF IF M=2 THEN PRINT “余数为 2” END IF END
③最后一行,应该用cn结束 【变式1】分析下面程序的算法功能,画出其算法的程序框图。 类型三:环语句 WHILE K<= 例7.(15春河南南阳期中)根据下面的要求,求满足1+2++.+n00的最小的自然数n (1)画出执行该问题的程序框图 F1+02 (2)以下是解决该问题的一个程序字,但有处错误,请找出错误并予以更正 【解析】程序框图如下图所示。 S=S+1 loop while S>= 500 n+1 【思路点拨】(1)分析題目中的要求,发现这是一个累加型的题,故可能用循环结构来实现,在编写算 法的过程中要注意,累加的初始值为l,累加值每一次增加,退出循环的条件是累加结果>,即可得到流 2)直到型循环结构是直到满足条件退出循环则Wh错误,应改成 LOOP UNTIL,以及根据循环次数 可知输出结果为n. 【解析】(1)程序框图如图:(两者选其一即可,答案不唯一) 这是一个用循环语句编写的程序,第一次循环取x-1,第二次取x=-1+02,…,最后一次取l,这实 际上就是把区间,平均分成10等份,求函数/(x)=r在区间的端点及各等分点处的函数值问题 例8.编写一个程序计算1+-+-+…+,并画出程序框图。 【解析】解法一(当型循环),如图: WHILE K<=1000 S=Sti 500 S≈是 END 解法二(直到型循环),如图: (2)①直到型循环结构是直到满足条件退出循环,d错误,应改成LO0 P UNTIL: sum=sum+Ih 2根据环次数可知输出m+1应改为输出n LOOP UNTIL I>1000 PRINT sum
类型三:循环语句 例 7.(2015 春 河南南阳期中)根据下面的要求,求满足 1+2+3+…+n>500 的最小的自然数 n. (1)画出执行该问题的程序框图; (2)以下是解决该问题的一个程序,但有 2 处错误,请找出错误并予以更正. 【思路点拨】(1)分析题目中的要求,发现这是一个累加型的问题,故可能用循环结构来实现,在编写算 法的过程中要注意,累加的初始值为 1,累加值每一次增加 1,退出循环的条件是累加结果>500,即可得到流 程图; (2)直到型循环结构是直到满足条件退出循环则“While”错误,应改成 LOOP UNTIL,以及根据循环次数 可知输出结果为 n. 【解析】(1)程序框图如图:(两者选其一即可,答案不唯一) (2)①直到型循环结构是直到满足条件退出循环,While 错误,应改成 LOOP UNTIL; ②根据循环次数可知输出 n+1 应改为输出 n. ③最后一行,应该用“end”结束 举一反三: 【变式 1】分析下面程序的算法功能,画出其算法的程序框图。 【解析】程序框图如下图所示。 这是一个用循环语句编写的程序,第一次循环取 x=-1,第二次取 x=-1+0.2,…,最后一次取 x=1,这实 际上就是把区间[-1,1]平均分成 10 等份,求函数 3 f x x ( ) = 在区间的端点及各等分点处的函数值问题。 例 8.编写一个程序计算 1 1 1 1 2 3 1000 + + + + ,并画出程序框图。 【解析】解法一(当型循环),如图: 解法二(直到型循环),如图: i=-1 WHILE i<=1 x=i y=x^3 i=i+0.2 PRINT “y=”;y WEND END i=1 sum=0 WHILE i<=1000 sum=sum+1/i i=i+1 WEND PRINT sum END i=1 sum=0 DO sum=sum+1/i i=i+1 LOOP UNTIL i>1000 PRINT sum END