资料摘要

基本算法语句1.理解学习基本算法语句的意义. 2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法. 3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。用来表明赋给某一个变量

  • 资料类型:教学教案文档
  • 所属课文:1.2.1 输入语句、输出语句和赋值语句
  • 支持正文预览,并提供同课文课件入口
浏览次数
23
下载次数
0
更新时间
2019-06-28 20:56:00
来源学校
学校:阜康市第一中学

1.2.1 输入语句、输出语句和赋值语句名师教学设计1

未知
2019-06-28 20:56:00
23
0
PDF / 未知页
未知字
配套课件
积分:1
第 1 页,共 1 页

1.2.1 输入语句、输出语句和赋值语句名师教学设计1

未知

摘要:暂无摘要

关键词:1.2.1 输入语句、输…名师教学设计1

正文

基本算法语句

1.理解学习基本算法语句的意义. 2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法. 3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 1. 赋值、输入和输出语句

(1)赋值语句:

在表述一个算法时,经常要引入变量,并赋给该变量一个值。用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。

在算法语句中,赋值语句是最基本的语句。

赋值语句的一般格式为:变量名表达式。

赋值语句中的“”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。

说明:

①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式; ②赋值语句中的赋值号“”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;

③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“”;

④赋值号与数学中的等号的意义不同。赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;

⑤对于一个变量可以多次赋值。

(2)输入语句

1

在某些算法中,变量的初值要根据情况经常地改变。一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。这个过程在程序语言中,用“输入语句”来控制。不同的程序语言都有自己的输入指令和方法。

在Scilab2.7中的输入语句之一是“input”。“input”在计算机程序中,通常称为键盘输入语句。“input”不仅可以输入数值,也可以输入单个或多个字符,如

X=input(“What is your name?”.“string”)

输入你的名字。

String代表输入字符型变量。

在Scilab2.7中,还有其它输入语句。如“read”输入语句。在其它各种程序语言中,一般都有自己的输入控制语句,它们的作用是相同的,只是每种程序语言的控制代码和表现形式不同。这里,我们只需理解程序语言的含义,减少你今后深入学习程序语言的困难。

输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量。

(3)输出语句

任何求解问题的算法,都要把求解的结果“数出”。由此可知,任何程序语言也必须有“输出语句”来控制数出。不同的程序语言都有自己的输出语句和表现形式,但功能是一样的,就是以某种形式把求解结果“数出”出来。

在Scilab中,有各种输出语句,如:print,write,format,printf,disp。 例如:一个算法是用Scilab中的rand()函数,首先生成一个0~1之间的随机数并把它赋值给变量a,再把数值3复制给变量b,把ab赋值给变量c,最后把它们都输出到屏幕上,这个算法用Scilab程序写出,并用print(%io(2),a,b,c)语句控制输出。在Scilab界面内直接写出程序并运行如下:

;b=3;c=ab;print(%io(2),a,b,c)

a=rand()c= 3.7560439 b= 3. a= 2

.7560439 程序中的print(%io(2),a,b,c)的参数%io(2)表示在屏幕上输出。

2. 条件语句

处理条件分支逻辑结构的算法语句,叫做条件语句。

计算机通常是按照程序中语句出现的先后顺序依次往下执行的,但有时需要根据某个给定的条件是否满足而决定所要执行的语句,这时就需要条件语句。Scilab语言中的条件语句分为if语句和select-case语句。

我们主要介绍if语句。

if语句的一般格式是:

if 表达式

语句序列1;

else 语句序列2;

end 该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2。

其实,if语句的简单的格式是:

if 表达式

语句序列1;

end 这就是说,如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1。

3. 循环结构

在算法程序语言中一般通过循环语句来处理算法中的循环结构。我们知道,在实际问题中会遇到许多有规律的重复运算,或者在程序中需要多某些语句进行重复的执行,这样就需要用到循环语句进行控制。

Scilab程序语言中提供了两种循环语句:for循环和while循环。

3

for循环的格式为:

for循环变量=初值:步长:终值

循环体

end 这种循环结构,循环变量被赋初值后,如果循环变量没有超过终值,则执行语句序列;循环变量递增(递增值为步长),如果没有超过终值,继续执行循环;否则,循环结束。

while语句的格式为:

while 表达式

循环体

end 这种循环结构,首先要求对表达式进行判断,如果表达式为真,则执行循环体部分。每次开始执行循环体前,都要判断表达式是否为真。这样重复执行,一直到表达式值为假时,就跳过循环体部分,循环结束。

类型一

赋值语句的应用

例1:请写出下面程序运行后输出的结果.

a=7;b=5;c=a-b/2;

d=c*c;d[解析]

作为对于赋值号的理解,还要注意以下几点:

①赋值号左边只能是变量名字,而不能是表达式.如:2=X是错误的.

②赋值号左右不能对换.如“A=B”、“B=A”的含义、运行结果是不同的.

③不能利用赋值语句进行代数式的演算,如化简、因式分解.

7-5[答案]

∵a=7,b=5,∴c=2=1,

∴d=12=1. 4

∴运行输出的结果是1. 练习1:下列关于赋值语句的说法错误的是(

) A.赋值语句的作用是先计算出赋值号右边的表达式的值

B.赋值语句是把左边变量的值赋给赋值号右边的表达式

C.赋值语句是把右边表达式的值赋给赋值号左边的变量

D.在算法语句中,赋值语句是最基本的语句

[答案]

B 练习2:请写下面程序运行的结果.

x=0;x=x+1;x=x+2;x=x+3;x

[解析]

∵x=0,∴x=x+1=1,x=x+2=1+2=3,x=x+3=3+3=6. 故程序运行的结果是6. 类型二

输入、输出语句

例2:编写一个程序,要求输入两个数a、b的值,输出a+b和ab的值.

[解析]

(1)输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能).若输入多个数,各数之间应用逗号“,”隔开.

(2)计算机执行到输入语句时,等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续运行,“提示内容”及其后的“;”可省略.

(3)输出语句可以输出常量、变量或表达式的值(输出语句有计算功能)或字符,程序中引号内的部分将原始呈现.

[答案]

程序如下:

a=input”a=”;b=input”b=”;c=a+b;d=a*b;print%io2,d,c;

5

练习1:任给三个变量a、b、c赋值,设计一个计算a2-3b2+5c的程序.

[解析]

程序如下:

a=input(”a=”);

b=input(”b=”);

c=input(”c=”);

S=a^2-3*b^2+5*c print(%io(2),S). 类型三

三种语句的功能

例3:写出下列语句描述的算法的输出结果.

a=10;b=20;c=30;(3)a=b;b=c;c=a;print%io2,a,b,c;a=5;a=1;b=3;b=2;(1)c=a+b/2

(2)c=a+b;d=c*c;b=a+c-b;print%io2,d;print%io2,a,b,c;

[解析]

分别将输入的值代入程序中依次逐步计算即可,要注意赋值前后变量值的变化.赋值语句在给变量赋值时,先计算右边的式子,然后赋值给左边的变量,另外可以给一个变量先后多次赋不同的值,但变量的取值只与最后一次赋值有关,解决此类问题要时刻把握某个变量在程序中的来龙去脉,时刻关注其值的改变情况.

a+b[解析]

(1)∵a=5,b=3,∴c==4. 2又d=c2,∴d=16.故输出结果为:d=16. (2)∵a=1,b=2,c=a+b,∴c=3. 又b=a+c-b,∴b=2.故输出结果为:

c=3.

b=2.

a=1. (3)∵b=20,且a=b,∴a=20;

∵c=30,且b=c,∴b=30;

∵a=20,且c=a,∴c=20;

6

故输出结果为:c=20.

b=30.

a=20. 练习1:阅读下列程序,给出当a=2,b=-5时的运行结果:

a=input“a=”;b=input“b=”;x=a+b;(1)y=a-b;

(2)a=x+y/2;b=x-y/2;print%io2,a,b;a=input“a=”;b=input“b=”;a=a+b;b=a-b;

(3)a=a+b/2;b=a-b/2;print%io2,a,b;a=input“a=”;b=input“b=”;a=a+b;b=a-b;

a=a-b/2;b=a+b/2;print%io2,b,a;x+yx-y-3-7[答案]

(1)∵a=2,b=-5,∴x=a+b=-3,y=a-b=7,a==2;b===222-5. 故运行的结果为:b=-5,a=2. (2)∵a=2,b=-5,∴a=a+b=-3,

a+b-3+2∴b=a-b=-3-(-5)=2,a===-0.5,

22a-b-0.5-2b===-1.25. 22故运行的结果为:b=-1.25,a=-0.5. (3)∵a=2,b=-5,

∴a=a+b=-3,b=a-b=-3-(-5)=2,

a-b-3-2∴a===-2.5,

22a+b-2.5+2b===-0.25. 22故运行的结果为:a=-2.5,b=-0.25. 类型四

条件语句的应用

1,

x≥0例4:编写程序计算:y=. -1,x<0

[解析]

以x≥0是否成立作为条件判断,利用if语句的一般格式.

[答案]

程序如下:

7

x=input”x=”;if

x>=0

y=1;else

y=-1;endprint%io2,y;练习1:编写程序,输入两个实数,由大到小输出这两个数.

[答案]

程序如下:

a=input“a=”;b=input“b=”;if

a

t=a;

a=b;

b=t;

endab练习2:编写一个程序对输入的任意一个非零实数,判断其符号.

[答案]

程序如下:

x=input“x=”;if

x>0

print%io2,“+”;

else

print%io2,“-”;end类型五

循环语句的应用

111例5:应用循环语句编写程序求2+4+…+100的值.

[解析]

程序如下:

练习1:利用循环语句编写一个程序,求所输入的50名同学数学成绩中大于80分的成绩的平均8

分.

[解析]

程序如下:

S=0;b=0;for i=1:1:50

a=input“chengji=”;

if a>80

S=S+a;

b=b+1;

endendaver=S/b;dispaver;例6:写出求满足1+2+3+…+n>2 010的最小的自然数n的程序,并画出其程序框图.

[解析]

程序框图如下:

程序如下:

练习1:编写程序计算102+202+302+…+1002的值.

9

[解析]

程序如下:

1.下列赋值语句正确的是(

) A.6=x

B.x+y=6 C.x=y=2

D.x=x+2 [答案]

D 2.当a=1,b=3时,执行完下面一段程序后x的值是(

if

a

endxA.1

B.3 C.4

D.-2 [答案]

C 3.下列程序运行后输出的结果为(

) x=1;

y=1;

z=0;

while

x<=4 10

)

while

y<=x+2 z=z+1;

y=y+1;

end print(%io(2),z);

x=z+1;

y=1;

end end A.3,4,5,6

C.5,6,7,8

[答案]

A 4.下列程序的运行结果是________.

a=1;b=3;a=a+b;

b=b*a;print%io2,a,b;[答案]

12,4 5.运行下面的程序时,若输入的值为100、99,则输出的结果为________;若输入的值为1、2,则输出的结果为________.

B.4,5,6,7 D.6,7,8,9 11

A=input”A=”;B=input”B=”;if

A

T=A;

A=B;

B=T;else

A=A-B;endprint%io2,A;[答案]

1

2 6.在求1+2+3+…+50的值时,在Scilab中的文本编辑中写出的程序如下:则横线上应填写的语句是________.

S=0;for i=

;

endprint%io2,S;[答案]

S=S+i 7.根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能.

n=1;S=1;while

S<5 000

S=S*n;

n=n+1;endn=n-1;print%io2,n;

[答案]

该算法的程序框图如图所示:

12

该算法的功能是求使1×2×…×n<5 000的最大正整数.

基础巩固

一、选择题

1.执行“print(%io(2),3+5)”的输出结果是(

) A.3+5=3+5

C.8

[答案]

C [解析]

输出语句有计算功能,∴3+5=8. 2.下列给出的输入、输出语句正确的是(

) ①input

a;b;c

②input

x=3 ③print

A=4

④print(%io(2),a) A.①②

C.③④

[答案]

D [解析]

由输入、输出语句的定义可知①②③不正确,故选D. 3.给出以下四个问题:①输入一个数x,输出它的相反数;②求面积为6的正方形的周长;③13

B.3+5=8 D.8=8 B.②③

D.④

x-1,

x≥0求三个数a、b、c中的最大数;④求函数f(x)=的函数值.

x+2,

x<0

其中不需要用条件语句来描述其算法的有(

) A.1个

C.3个

[答案]

B [解析]

①②直接用顺序结构即可,不需用条件语句;而③需要判断三个数的大小,④是分段函数求值问题,故需用到条件语句.

4.下列对while语句的说法不正确的是(

) A.当计算机遇到while语句时,先判断是否满足条件,如果符合条件,就执行循环体

B.当条件不符合时,将不执行循环体直接跳出循环

C.while语句的格式为:while—表达式—循环体—end D.while语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件

[答案]

D [解析]

while语句的特点是“前测试”,即先判断是否满足条件,后执行循环体.

5.下列关于for循环的说法错误的是(

) A.在for循环中,循环表达式也称为循环体

B.在for循环中,步长为1,可以省略不写;若为其他值,则不可省略

C.理解for循环关键是理解为循环变量设定初值、步长、终值

D.在for循环中,“end”控制结束一次循环,开始一次新的循环

[答案]

C [解析]

本题是对for循环的综合考查,理解for循环的关键是理解循环体在计算机中是如何执行的,故选C. 二、填空题

14

B.2个

D.4个

6.执行下列程序:

A=20;B=15;A=A+B;B=A-B;

A=A*B;B=A+B;print%io2,B;运行结果为________.

[答案]

720 [解析]

∵A=20,B=15,∴A=A+B=35,B=A-B=20,∴A=A×B=35×20=700,∴B=A+B=700+20=720.故运行结果为720. 7.执行下面的程序语句,输入a=3,b=-1,n=4后,输出的结果是________.

a=input“a=”;b=input“b=”;n=input“n=”;i=1;while

i<=n

c=a+b;

a=b;

b=c;

i=i+1endprint%io2,c;[答案]

4 [解析]

循环体被执行了四次,第一次执行循环体得到的结果是:c=2,a=-1,b=2,i=2;执行第二次得到的结果是:c=1,a=2,b=1,i=3;执行第三次得到的结果是:c=3,a=1,b=3,i=4;执行第四次得到的结果是:c=4,a=3,b=4,i=5,这时的c被输出.

能力提升

一、选择题

1.下边程序的输出结果为(

) 15

A=8;B=7;A=A+B;B=A-B;

C=A*B;A=C;print%io2,B,A;A.15,1

C.56,8

[答案]

D [解析]

执行过程中,A,B,C的值的变化情况为:A=7,B=7,A=15,B=8,C=120,A=120,故输出结果是A=120,B=8. 2.若输入4,则下面程序执行后输出的结果是(

) B.15,7 D.120,8

A.4

C.0.1

[答案]

B [解析]

∵输入4,满足t≤4,∴c=0.2,故选B. 3.下面程序的作用是(

) i=1;sum=0;for i =

sum=sum+i;endprint%io2,sum;16

B.0.2

D.0.3

A.求1+3+…+9+11 B.求1+2+3+…+10 C.求1×3×5×…×11 D.求1×2×3×4×…×10 [答案]

B [解析]

i的初值为1,sum的初值为0,步长为1.程序的处理过程为:第1轮的结果为:sum=0+1=1,i=1+1=2;第2轮的结果为sum=1+2,i=2+1=3;第3轮的结果为:sum=1+2+3,i=3+1=4;…;第10轮(最后一轮)的结果为:sum=1+2+3+4+5+6+7+8+9+10,i=10+1=11.i=11>10,跳出循环.故选B. 4.以下程序运行后的输出结果为(

)

A.21

C.17

[答案]

A [解析]

执行第一次后,i=3,S=9;

执行第二次后,i=5,S=13;

执行第三次后,i=7,S=17;

执行第四次后,i=9,S=21. 二、填空题

5.下列程序的运行结果是________.

B.13 D.25 17

a=2;b=3;c=4;a=b;

b=a+c;c=b+a;a=a+b+c/2;print%io2,a;[答案]

10 [解析]

∵a=2,b=3,c=4,

∴a=b=3,b=a+c=7,c=b+a=10,

a+b+c3+7+10a===10. 22故运行结果为10. 6.如图的程序框图所对应的程序是________.

[答案]

x=input”x=”;y=2^x;

print%io2,y;[解析]

输入x、输出y分别转化为输入语句、输出语句,y=2x转化为赋值语句.

7.读下面的程序,如果输出y的值是20,则通过键盘输入的变量x的值是________.

18

[答案]

2 [解析]

该程序的功能是求分段函数

10x

x≤5y=的函数值.

5x+5

x>5

若x≤5时,10x=20,∴x=2,满足x≤5,∴x=2. 若x>5时,5x+5=20,∴x=3,不满足x>5,∴输入的变量x的值为2. 11118.下面是一个用于计算+++…+的程序,试填上适当的语句.

1×22×33×420×21s=0;i=1;while

i<=20

;

i=i+1;endprint%io2,s;[答案]

s=s+1/(i*(i+1)) [解析]

累加求和需用赋值语句“s=s+1/(i*(i+1))”.

9.如果以下的程序运行的结果为240,那么在程序中while后面的“表达式”应为i>________. i=16;S=1;while

i>

S=S*i;

i=i-1;endprint%io2,S;19

[答案]

14 [解析]

该程序使用了while循环语句,当表达式为真时,执行循环体;当表达式为假时,退出循环.由于输出的结果为240=16×15,所以执行了两次循环,因此表达式应为i>14. 三、解答题

10.设计一个程序,输入一个学生的成绩S,根据该成绩的不同值作以下输出:若S<60,则输出“不及格”;若60≤S≤90,则输出“及格”;若S>90,则输出“优秀”.

[解析]

程序如下:

11.铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50kg时,按0.25元/kg;超过50kg而不超过100kg时,其超过部分按0.35元/kg;超过100kg时,其超过部分按0.45元/kg.编写程序,输入行李重量,计算并输出托运费用.

[解析]

设行李质量为ωkg,应付运费为x元,则运费公式为

0.25×ω,

ω≤50x=0.25×50+0.35ω-50,

50<ω≤1000.25×50+0.35×50+0.45×ω-100,ω>100程序框图如下图所示:

. 20

程序如下:

21

第 1 页,共 1 页

文档信息

  • 格式: PDF
  • 页数: 未知页
  • 字数: 未知
  • 上传时间: 2019-06-28 20:56:00
  • 下载次数: 0
  • 浏览次数: 23
  • 积分: 1
  • 收藏: 0

作者信息

教师头像

5ygggwenku_147287

来自:学校:阜康市第一中学

下载提示

下载文档后,您可以获得:

  • 完整无水印文档
  • 高清阅读体验
  • 随时保存查看
  • 支持打印下载

关于本教案的常见问题

Q:1.2.1 输入语句、输出语句和赋值语句名师教学设计1是什么类型的资料?

A:这是一份教学教案文档,可用于备课、课堂讲解与课后复习,支持在线预览正文内容。

Q:这份教案对应哪篇课文?

A:对应课文《1.2.1 输入语句、输出语句和赋值语句》,可从面包屑进入课文目录查看同课其他资料。

Q:如何找到配套课件?

A:页面提供「配套课件/同课文课件」入口;也可进入课文详情页同时查看教案与课件列表。