蚀1.2 基本算法语句
袀1.2.1 输入语句、输出语句和赋值语句
薆整体设计
蚅教学分析
蒀 通过上一节的学习,学生了解了算法的含义,学习了用算法步骤和程序框图表示算法
的方法,本节介绍用程序设计语言表示算法的方法.算法步骤和程序框图表示的算法,计算
机是不能理解的,程序是算法的精确形式,是计算机可以理解的算法.本节的教学重点是通
过实例使学生理解三种基本算法语句的结构和用法,并在此基础上编写由算法语句组成的程
序,从而更细致地刻画算法,进一步体会算法的基本思想.
蚇三维目标
蚅1.理解学习基本算法语句的意义.
膄2.学会输入语句、输出语句和赋值语句的基本用法.
膀3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.
肇教学重点:输入语句、输出语句和赋值语句的基本用法.虿重点难点
薄教学难点:算法语句的写法.
羁课时安排
螀 1课时
膅教学过程
羃导入新课
蚁 思路1(情境导入)
薇 中国足球队在亚洲杯上的失利说明,中国足球仍然需要请外国教练.高水平的外国教练
有先进的足球理念,有系统科学的训练计划,有先进的足球技术,但由于语言不通不能直接
传授给队员.算法步骤、程序框图虽然容易掌握,但计算机不能理解,因此我们需要学习算
法语句. 1
薈 思路2(直接导入)
蒂 前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,我们开
始学习算法语句.
莁推进新课
蕿新知探究
蚆提出问题
肆(1)指出输入语句的格式、功能、要求.
膂(2)指出输出语句的格式、功能、要求.
蚀(3)指出赋值语句的格式、功能、要求.
螄(4)利用框图总结三种语句的功能、格式、特点.
薅(5)指出三种语句与框图的对应关系.
袂讨论结果:
肇例如:INPUT “x=”;x
羅功能:实现算法的输入变量信息(数值或字符)的功能.
蚃要求:
蕿1°输入语句要求输入的值是具体的常量.
芅2°提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算
机屏幕上显示,提示内容与变量之间要用分号隔开.
莄3°一个输入语句可以给多个变量赋值,中间用“,”分隔.
莃形式如:INPUT“a=,b=,c=,”;a,b,c
薀(2)输出语句的一般格式:PRINT“提示内容”;表达式
薈例如:PRINT“S=”;S
2
袃功能:实现算法输出信息(表达式)的功能.
膃要求:
莈1°表达式是指算法和程序要求输出的信息.
蚆2°提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号
和表达式分开.
芃3°如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之
间可用“,”分隔.
薀形式如:PRINT“a,b,c:”;a,b,c
葿(3)赋值语句的一般格式:变量=表达式.
袄赋值语句中的“=”称作赋值号.
蚂功能:将表达式所代表的值赋给变量.
蒀1°赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或
莀要求:
膇2°赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”“B=A”的含义运行结果是不同的,如x=5是对的,5=x 是错的,A+B=C是错
的,C=A+B是对的.
莆3°不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x
-1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.
在一个赋值语句中只能给一个变量赋值,不能出现两个或以上的“=”.但对于同一个变量可以多
次赋值.
肀(4)三种语句的功能、格式、特点如下:
芈 在QBASIC语言中,输入语句?是INPUT语句,输出语句是PRINT语句,赋值语句
是LET语句(“LET”可以省略).下表列出了这三种语句的一般格式、主要功能和相关说明,
供教师教学时参考,不要求学生掌握.
|
3
螆功能 | 蚄可对程序中的变量赋值 | 莂可输出表达式的值,计算 | 膈可对程序中的变量赋值,计算 |
膈说明 | 肃①又称“键盘输入语句”,在程序运行过程中,停机等候用户由键盘输入数据,而不需要在写程序时指定 肂②“提示内容”和它后面的“;”可以省略 艿③一个语句可以给多个变量赋值,中间用“,”分隔 芇④无计算功能 蒂⑤用户由键盘输入的数据必须是常量,输入多个数据时用“,” 同淘分隔,且个数要与变量的个数相 | 螂①又称“打印语句”,将表达式的值在屏幕上显示出来 莁②表达式可以是变量、计算公式或系统信息 莅③一个语句可以输出多个表达式.不同的表达式之间可用“,”分隔 膆④有计算功能,能豆 | 薃①在程序运行过程中给变量赋值 膈②“LET”可以省略,“=”的右侧必须是表达式,左侧必须是变量 螇③一个语句只能给一个变量赋值 蚅④有计算功能 芃⑤将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最后被赋予的 |
袆应用示例 |
肄思路1
蝿例1 用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值.
编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值.
芁算法分析:根据题意,对于每一个输入的自变量的值,都要输出相应的函数值.写成算法步
骤如下:
芈第一步,输入一个自变量的x的值.
蒄第二步,计算y=x3+3x2-24x+30.
薀第三步,输出y.
肈程序框图如下图:
莇 显然,这是一个由顺序结构构成的算法,按照程序框图中流程线的方向,依次将程序
4
框中的内容写成相应的算法语句,就得相应的程序.
袃解:程序:
芀INPUT“x”;x
聿y=x^3+3*x^2-24*x+30
蒅PRINTy
莃END
羁点评:前面我们学习了算法步骤、程序框图,我们对照程序框图与算法语句可以得到它们
之间的对应关系.例如:在这个程序中,第1行中的INPUT语句就是输入语句.这个语句的一
般格式是
膁INPUT “提示内容”;变量 |
袇其中,“提示内容”一般是提示用户输入什么样的信息,每次运行例1中的程序时,依次输
“x”新获得的值计算变量“y”的值.
入-5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输入的值赋给变量“x”,并按
螂例2 给一个变量重复赋值.
螁解:程序:羈A=10
羆A=A+15
蒅PRINTA
蒁END
羀点评:给一个变量重复赋值,变量只保存最后一次赋值,比如此程序的输出值是25.
莈例3 编写程序,计算一个学生数学、语文、英语三门课的平均成绩.
袅算法分析:
节先写出解决本例的算法步骤:
螇第一步,输入该学生数学、语文、英语三门课的成绩a,b,c. |
|
5
第二步,计算y= | a | ? | b | ? | c | . |
蒆 | | | 3 | | | |
芄第三步,输出y.
羂程序框图如下:
袈 由于PRINT语?句还可以用于输出数值计算的结果,所以这个算法可以写成下列程序.
薅程序:
螃INPUT“Maths=”;a
螂INPUT“Chinese=”;b
羀INPUT“English=”;c
羇PRINT“The average=”;(a+b+c)/3
膃END |
里的表达式前也可以有“提示内容”.
薂例4 变换两个变量A和B的值,并输出交换前后的值.
芃解:程序:
螈INPUTA,B
蒈PRINTA,B
芆x=A
蚀A=B
袀B=x
薆PRINT A,B |
|
6
蚅END
蒀思路2
蚇例1 写出求三个数a,b,c的方差的程序.
蚅分析:方差是在初中统计内容中学习过的知识,计算所有数的方差首先计算所有数的平均
数 | x | ,通过公式s2= | ( | x 1 | ? | x | ) | 2 | ? | ( | x | 2 | ? | x | ) | 2 | ? | ? | ? | ( | x | n | ? | x | ) | 2 | 来计算. |
| | | | | | | | | | | | | | n | | | | | | | | | | | | | |
膄算法步骤:
第一步,计算平均数 | x | ? | a | ? | b | ? | c | . | ||||||||||||||||
膀 | 3 | |||||||||||||||||||||||
虿第二步,计算方差s2= | ( | a | ? | x | ) | 2 | ? | ( b | ? | x | ) | 2 | ? | ( | c | ? | x | ) | 2 | . | ||||
| 3 | | | | | | | | | | | |||||||||||||
肇第三步,得到的结果即为所求. | ||||||||||||||||||||||||
螀y=(a+b+c)/3
膅S=((a-y)2+(b-y)2+(c-y)2)/3
羃PRINTS
蚁END
薇点评:套用公式求值问题是传统数学求值问题的一种,它是一种典型的顺序结构,也就是
说只通过输入、输出和赋值语句就可以完成任务.解决这类问题的关键是先分析这种问题的
解法,即构造计算的过程,再写出算法步骤和流程图,再翻译成算法语句即可.
薈例2 编写一个程序,要求输入两个正数a和b的值,输出ab和ba的值.
蒂分析:可以利用?INPUT语?句输入两个正数,然后将ab和ba的值分别赋给两个变量输
出即可.也可以将ab和ba的底数和幂数进行交换,故还可以利用赋值语句,采用将两个变量
的值互换的办法实现. 7
莁解:程序1:
蕿INPUT“a,b:”;a,b
蚆A=a^b
肆B=b^a
膂PRINT“a^b=”;A,“b^a=”;B
蚀END
螄程序2:
薅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,b的值可通过下面三个语句来实现:
薀t=a
薈a=b
袃b=t
膃通过引进一个中间变量t实现变量a和b的值的交换,因此只需用赋值语句即可实现算法.
在一些较为复杂的问题算法中经常需要对两个变量的值进行交换,因此应熟练掌握这种方法.莈知能训练 8
蚆1.判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?
芃(1)输入语句INPUT a;b;c
薀(2)输出语句A=4
葿(3)赋值语句3=B
袄(4)赋值语句A=B=-2
蚂解:(1)错,变量之间应用“,”号隔开.
莀(2)错,PRINT语句不能用赋值号“=”.
蒀(3)错,赋值语句中“=”号左右不能互换.
膇(4)错,一个赋值语句只能给一个变量赋值.
莆点评:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构.输入语句、输出语
句和赋值语句都不包括“控制转移”,由它们组成的程序段必然是顺序结构.
肀2.请写出下面运算输出的结果.
芈(1)a=5芅b=3
螅c=(a+b)/2
袁d=c*c
荿PRINT“d=”;d
蚈(2)a=1
芄b=2
薁c=a+b
莀b=a+c-b
螆PRINT “a=,b=,c=”;a,b,c
9
蚄(3)a=10
莂b=20
膈c=30
膈a=b
肃b=c
肂c=a
艿PRINT“a=,b=,c=” ;a,b,c
芇解:(1)16;语句c=(a+b)/2是将a,b和的一半赋值给变量c,语句d=c*c是将c的平方
赋值给d,最后输出d的值.
蒂(2)1,2,3;语句c=a+b是将a,b的和赋值给c,语句b=a+c-b是将a+c-b的值赋值
给了b.
螂(3)20,30,20;经过语句a=b后a,b,c的值是20,20,30.经过语句b=c后a,b,c
的值是20,30,30.经过语句c=a后a,b,c的值是20,30,20.
每个语句,再整体把握并概括出程序的功能.
莅拓展提升
膆 已知某生某三科的成绩为80、75、95分,求三科的总分及平均分.
薃分析:将三科成绩赋给三个变量A,B,C,然后对三个变量进行操作、运算,求其总分、
平均分.变量的起名规则:由字母、数字、下划线组成,但第一个字符必须是字母(大、小
写皆可),起名时尽量做到见名知义,如本例中我们可用变量?ZF表示总分,PJF表?示平
均分.
解:程序框图如下图:
程序:
A=80
B=75
C=95
ZF=A+B+C
PJF=ZF/3
PRINT ZF,PJF
END
10
课堂小结
(1)输入语句、输出语句和赋值语句的基本用法.(2)用输入语句、输出语句和赋值语句编写算法语句.作业?习题1.2A组2.
设计感想
本节的引入阐明了程序框图与算法语句的关系,本节利用框图与语句的对应关系降低了本节的学习难度.由于本节是算法语句的开始,所以本节选用了大量难度较低的算法语句供学生练习,让学生充分体会程序框图与算法语句的关系,为今后的学习打好基础并树立信心.
Forpersonal use only in study and research; not for commercial use
11