1、第二节 基本算法语句输入、输出和赋值语句的理解判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?1)输入语句:INPUTa;b;c(2)输出语句:A4(3)赋值语句:3B(4)赋值语句:AB2分析 利用输入语句、输出语句和赋值语句的要求进行判断解(1)错变量之间应用“,”号隔开;(2)错PRINT语句不能用赋值号“”;(3)错赋值语句中“”号左右不能互换;(4)错一个赋值语句只能给一个变量赋值规律总结 对于输入语句、输出语句和赋值语句的基本格式,需要准确记忆,否则就是不正确的程序,上机不能执行或出现不符合题意的结果输入语句、输出语句和赋值语句都不包括“控制转移”,由它们组成的程序段必
2、然是顺序结构变式训练1请写出下面运算输出的结果(1)a5b3c(ab)/2dc*cPRINT“d”;d(2)a1b2cabbacbPRINT“a,b,c”;a,b,c3)a10b20c30abbccaPRINT“a,b,c”;a,b,c【解析】(1)语句c(ab)/2是将a,b和的一半赋值给变量c,语句dc*c是将c的平方赋值给d,最后输出d的值,即输出“d16”(2)语句cab是将a,b的和赋值给c,语句bacb是将acb的值赋值给了b,故a1,c123,b1322,即最后输出“a1,b2,c3”(3)经过语句ab后,a,b,c的值是20,20,30;经过语句bc后,a,b,c的值是20,3
3、0,30;经过语句ca后,a,b,c的值是20,30,20,即最后输出“a20,b30,c20”赋值语句的应用16)235()235(=+=d赋值语句的应用写出求三个数a,b,c的方差的程序分析 首先计算所有数的平均数,通过公式来计算再写出算法步骤,依据步骤及规则写出程序解 算法步骤:第一步:计算平均数;第二步:计算方差;第三步:得到的结果即为所求程序如下:INPUTa,b,cy(abc)/3s(ay)2(by)2(cy)2)/3PRINTsEND规律总结 套用公式求值问题是传统数学求值问题的一种,它是一种典型的顺序结构,也就是说只通过输入、输出和赋值语句就可以完成任务解决这类问题的关键是先分
4、析这种问题的解法,即设计计算的过程,再写出算法步骤和流程图,最后翻译成算法语句即可变式训练 编写一个程序,要求输入两个正数a和b的值,输出的值【解析】可以利用INPUT语句输入两个正数,然后将的值分别赋给两个变量输出即可也可以将的底数和幂数进行交换 程序1:INPUT“a,b:”;a,bAabBbaPRINT“”;A,“”;BEND程序2:INPUT“a,b:”;a,bAabPRINT“”;AxaabbxAabPRINT“”;AEND利用集合之间的关系求参数的范围编写程序,输出两个不相等的实数a、b的较大值分析 要输出两个不相等的实数a、b的较大值,就是要对a,b的大小关系进行判断利用条件语句
5、就可以实现该种判断条件语句的两种形式皆可解 算法一:第一步:输入a,b的数值;第二步:判断a,b的大小关系,若ab,则输出a的值,否则输出b的值程序如下:INPUT“a,b”;a,bIF abTHENPRINTaELSEPRINTbEND IFEND算法二:第一步:输入a,b的数值;第二步:判断a,b的大小关系,若b a,则将b的值赋予a;否则直接执行第三步;第三步:输出a的值,结束程序如下:INPUT“a,b”;a,bIF ba THENabEND IFPRINT aEND规律总结(1)条件语句为实现问题的分类讨论提供了可能许多程序都要用到条件语句,因此,要充分理解条件语句的作用,明确其书写
6、规范,为熟练运用条件语句解决问题奠定基础(2)尽可能少的引用变量,过多的变量不仅会使算法和程序变得复杂,而且不利于计算机的执行变式训练 符号函数的定义为试编写程序,输入x的值,输出y的值【解析】程序一:INPUT xIF x0 THENy1ELSEIF x0 THENy0ELSEy1END IFEND IFPRINTyEND程序二:INPUTxIF x0 THENy1END IFIF x0 THENy0END IFIF x0 THENy1END IFPRINT yEND循环语句及其应用(12分)设计一个计算135799的算法,并编写算法程序分析 连续50个奇数相乘,需要一个乘法公式的多次应用,
7、循环语句即可实现该运算循环语句有两种形式,因此,算法和程序就有多种不同的形式解 算法如下:第一步:s1.第二步:i3.2分第三步:ssi.第四步:ii2.4分第五步:如果i99,那么转到第三步第六步:输出s.6分程序如下:(“WHILE型”循环语句)s1i3WHILEi998分ss*iii210分WENDPRINTsEND12分规律总结循环语句是程序语言的精髓,是计算机高速运算的基础,所以需要正确理解循环语句的作用对两种常见的循环形式要能够正确表述上述题目亦可以利用“UNTIL型”循环语句表示变式训练 编写一个程序,求1!2!10!的值【解析】这个问题是求前10个正整数的阶乘之和,可以用“WH
8、ILE WHILE”循环嵌套语句格式来实现,也可以直接用“WHILEWEND”来实现程序一:s0i1WHILEi10j1t1WHILEjitt*jjj1WENDsstii1WENDPRINTsEND程序二:s0i1j1WHILEi5 THEN YY7IF X4 THEN YY6IF X3 THEN YY6PRINT Y错解 因为8715,所以该程序的运行结果是15.错解分析 上述解法中,误认为在一个程序中只执行一个条件语句,与在一个条件语句中只选择其中一个分支相混淆事实上,三个条件语句按顺序依次执行正解这里有三个条件语句,各个条件语句是独立的,三个条件均成立,所以按顺序依次执行,所以 876627.该程序运行的运行结果是27.