高中数学人教B版必修三第一单元121 赋值输入和输出语句.docx
《高中数学人教B版必修三第一单元121 赋值输入和输出语句.docx》由会员分享,可在线阅读,更多相关《高中数学人教B版必修三第一单元121 赋值输入和输出语句.docx(11页珍藏版)》请在冰点文库上搜索。
高中数学人教B版必修三第一单元121赋值输入和输出语句
1.2.1 赋值、输入和输出语句
学习目标
1.了解学习程序语句的必要性和根本目的.2.理解赋值、输入和输出的格式和功能.3.能把本节涉及的程序框转化为相应的程序语句.
知识点一 赋值语句
思考1 计算机用变量来存取数据.怎样表示“把变量a,b中的数据相加,存入c中”?
思考2 输入语句和赋值语句都可以给变量赋值,二者有何不同?
思考3 赋值语句中的“=”和平时所用的“=”意义相同吗?
梳理 赋值语句
(1)格式:
________________.
(2)功能:
将表达式所代表的值赋给变量.一般先计算“=”右边____________,然后把这个值赋给“=”左边的________.
知识点二 输入语句
思考1 一个计算圆的面积的程序,需要使用者输入什么信息?
思考2 输入语句所输入的内容可以是函数、变量或表达式吗?
梳理 输入语句
在某些算法中,变量的初值要根据情况经常地改变.一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可.这个过程在程序语言中,用“__________”来控制.“__________”在计算机程序中,通常称为键盘输入语句.
知识点三 输出语句
思考1 一个程序如果没有输出语句,影响程序运行吗?
你知道运行结果吗?
思考2 输出语句能否一次完成输出多个表达式的功能?
梳理 输出语句
任何求解问题的算法,都要把求解的结果“输出”,由此可知,任何程序语言也必须有“__________”来控制输出.
知识点四 算法语句中的表达方式
数学表达式
程序语句表达式
xa
x^a
2x
2*x
a/b
类型一 赋值语句
例1 判断下列给出的赋值语句是否正确?
为什么?
(1)赋值语句 3=B;
(2)赋值语句 x+y=0;
(3)赋值语句 A=B=-2;
(4)赋值语句 T=T*T.
反思与感悟 赋值号与数学中的等号的意义是不同的,赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值;如果已有值,则执行该语句,以赋值号右边表达式的值代替该变量原来的值,即将原值“冲掉”;赋值号的左边不能是常量,一个赋值语句的表达式不能出现两个及两个以上的赋值号.
跟踪训练1 判断下列各组语句是否正确.
(1)赋值语句r=9;
(2)赋值语句9=r;
(3)赋值语句R=r=9.
类型二 输入语句
例2 写出鸡兔同笼问题的一个算法,画出相应算法的框图,写出计算机程序.
反思与感悟 本题得出的程序本身没法得出A,B的值,只有把上述程序保存成一个文件,然后在Scilab界面内执行该程序,然后根据屏幕出现的提示内容,从键盘输入相应数据才能计算出结果.
跟踪训练2 “植树造林,防风抗沙”.某沙漠地区在2013年底有绿化带树林20000亩.该地区每年春天都会种树400亩加以绿化,但同时每年冬天又会有总绿化面积的1%被沙漠化,问2016年底该地区总绿化面积S有多少亩?
画出程序框图,并写出程序.
类型三 输出语句
例3 一个算法是,用Scilab中的rand()函数,首先生成一个0~1之间的随机数并把它赋值给变量a,再把3赋值给变量b,把a+b赋值给变量c,最后把它们都输出到屏幕上.这个算法用Scilab程序写出,并用print(%io
(2),a,b,c)语句控制输出,写出该程序.
反思与感悟
(1)print(%io
(2),表达式)中的表达式指程序要输出的数据,输出语句可以输出常量,变量或表达式的值.例如print(%io
(2),B),print(%io
(2),4]输出,print(%io
(2),a,b,c)在屏幕上输出的顺序是c,b,a.
跟踪训练3 用描点法作函数y=2x3+3x2-12x+15的图象时,需要求出自变量与函数的一组对应值.编写该程序.
1.将两个数a=8,b=17交换,使a=17,b=8,下面语句正确的一组是( )
A.
B.
C.
D.
2.下面算法执行后的结果为________.
a=2;
a=4;
a=a+a;
a
3.下面算法执行后的结果为________.
a=2;
b=3;
c=a+b;
b=a+c-b;
print(%io
(2),a,b,c);
4.下列程序的运行结果是________.
a=2;
b=3;
c=4;
a=b;
b=a+c;
c=b+a;
a=(a+b+c)/2;
print(%io
(2),a);
5.已知三角形的三边长分别为a,b,c,借助海伦公式求三角形的面积.
1.赋值语句中的“=”称作赋值号,而不是“等号”;格式中右边“表达式”可以是一个数值、常量或算式,如果“表达式”是一个算式,赋值语句的作用是先计算出“=”右边表达式的值,然后将该值赋给“=”左边的变量.
2.需输入信息时用input语句,需输出信息时用print语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
答案精析
问题导学
知识点一
思考1 用赋值语句“c=a+b”.
思考2 输入语句可使初始值与程序分开,利用输入语句改变初始数据时,程序不变,而赋值语句是程序的一部分,输入语句可对多个变量赋值,赋值语句只能给一个变量赋值.
思考3 意义不同,赋值语句中的“=”叫赋值号,它表示把右边的表达式所代表的常量、变量或算式赋给左边的变量,如C=Y+Z表示把计算Y+Z所得的值赋给C.
梳理
(1)变量名=表达式
(2)表达式的值 变量.
知识点二
思考1 圆的半径.
思考2 输入语句要求输入的值只能是具体的常数,不可以是函数、变量或表达式.如输入“5]梳理 输入语句 input.
知识点三
思考1 不影响.程序照常运行,但运行结果就不会告诉你.
思考2 能.
梳理 输出语句.
题型探究
类型一
例1 解
(1)错,赋值语句中“=”号左边不能是常量;
(2)错,不能给一个表达式赋值;
(3)错,一个赋值语句只能给一个变量赋值;
(4)正确,该句的功能是将当前T的值平方后再赋给变量T.
跟踪训练1 解
(1)对,
(2)错,(3)错.
类型二
例2 解 算法:
S1 输入鸡和兔的总数量M;
S2 输入鸡和兔腿的总数量N;
S3 鸡的数量A=
;
S4 兔的数量B=M-A;
S5 输出A,B.
程序框图如下图所示.
程序如下.
M=input(“Howmanyheads”);
N=input(“Howmanylegs”);
A=(4*M-N)/2;
B=M-A;
A
B
跟踪训练2 解 程序框图如图.
程序如下.
S=20000;
S=(S+400)*(1-0.01);
S=(S+400)*(1-0.01);
S=(S+400)*(1-0.01);
S
类型三
例3 解 程序如下.
a=rand();
b=3;
c=a+b;
print(%io
(2),a,b,c);
跟踪训练3 解 我们用Scilab语言来描述.
x=input(“x=”);
y=2*x^3+3*x^3-12*x+15;
print(%io
(2),y,x);
当堂训练
1.B [先把b的值赋给中间变量c,于是c=17;再把a的值赋给变量b,于是b=8;最后把c的值赋给变量a,于是a=17]
2.8
解析 先把2赋给a,然后又把4赋给a,此时a的原值2被4“冲掉”,所以a的值为4,最后把4+4再赋给a,因此输出的a的值为8.
3.5,4,2
解析 由于把2+3的值赋给c,所以c的值为5,又把2+5-3的值赋给b,所以b的值为4,a的值没有变化仍为2.
4.10
解析 ∵a=2,b=3,c=4,
∴执行程序语句后,a=b=3,b=a+c=7,c=b+a=10,
a=
=
=10.故程序的运行结果为10.
5.解 程序如下.
a=input(“a=”);
b=input(“b=”);
c=input(“c=”);
p=(a+b+c)/2;
S=sqrt(p*(p-a)*(p-b)*(p-c));
print(%io
(2),S);