1.2.1输入语句、输出语句和赋值语句_第1页
1.2.1输入语句、输出语句和赋值语句_第2页
1.2.1输入语句、输出语句和赋值语句_第3页
1.2.1输入语句、输出语句和赋值语句_第4页
1.2.1输入语句、输出语句和赋值语句_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基本算法语句1理解学习基本算法语句的意义.2学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。在算法语句中,赋值语句是最基本的语句。赋值语句的一般格式为:变量名表达式。赋值语句中的“”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。说明:赋值语句左边只能是变量名字,而不是表达式,右边表达式可以

2、是一个数据、常量或表达式; 赋值语句中的赋值号“”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“”;赋值号与数学中的等号的意义不同。赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;对于一个变量可以多次赋值。(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。一般我们把程

3、序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。这个过程在程序语言中,用“输入语句”来控制。不同的程序语言都有自己的输入指令和方法。在Scilab2.7中的输入语句之一是“input”。“input”在计算机程序中,通常称为键盘输入语句。“input”不仅可以输入数值,也可以输入单个或多个字符,如X=input(“What is your name?”.“string”) 输入你的名字。 String代表输入字符型变量。在Scilab2.7中,还有其它输入语句。如“read”输入语句。在其它各种程序语言中,一般都有自己的输入控制语句,

4、它们的作用是相同的,只是每种程序语言的控制代码和表现形式不同。这里,我们只需理解程序语言的含义,减少你今后深入学习程序语言的困难。输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量。(3)输出语句任何求解问题的算法,都要把求解的结果“数出”。由此可知,任何程序语言也必须有“输出语句”来控制数出。不同的程序语言都有自己的输出语句和表现形式,但功能是一样的,就是以某种形式把求解结果“数出”出来。在Scilab中,有各种输出语句,如:print,write,form

5、at,printf,disp。 例如:一个算法是用Scilab中的rand()函数,首先生成一个01之间的随机数并把它赋值给变量,再把数值3复制给变量,把赋值给变量,最后把它们都输出到屏幕上,这个算法用Scilab程序写出,并用print(%io(2),)语句控制输出。在Scilab界面内直接写出程序并运行如下:=rand();=3;=;print(%io(2),)= 3.7560439= 3.= .7560439程序中的print(%io(2),)的参数%io(2)表示在屏幕上输出。2. 条件语句处理条件分支逻辑结构的算法语句,叫做条件语句。计算机通常是按照程序中语句出现的先后顺序依次往下执

6、行的,但有时需要根据某个给定的条件是否满足而决定所要执行的语句,这时就需要条件语句。Scilab语言中的条件语句分为if语句和select-case语句。我们主要介绍if语句。if语句的一般格式是: if 表达式 语句序列1; else 语句序列2; end该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2。其实,if语句的简单的格式是: if 表达式 语句序列1; end这就是说,如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1。3. 循环结构在算法程序语言中一般通过循环语句来处理算法中的循环结构。我们知道

7、,在实际问题中会遇到许多有规律的重复运算,或者在程序中需要多某些语句进行重复的执行,这样就需要用到循环语句进行控制。Scilab程序语言中提供了两种循环语句:for循环和while循环。for循环的格式为:for循环变量=初值:步长:终值 循环体end这种循环结构,循环变量被赋初值后,如果循环变量没有超过终值,则执行语句序列;循环变量递增(递增值为步长),如果没有超过终值,继续执行循环;否则,循环结束。while语句的格式为:while 表达式 循环体end这种循环结构,首先要求对表达式进行判断,如果表达式为真,则执行循环体部分。每次开始执行循环体前,都要判断表达式是否为真。这样重复执行,一直

8、到表达式值为假时,就跳过循环体部分,循环结束。类型一 赋值语句的应用例1:请写出下面程序运行后输出的结果eq x(aal(a7;,b5;,cab/2;,dc*c;,d)解析作为对于赋值号的理解,还要注意以下几点:赋值号左边只能是变量名字,而不能是表达式如:2X是错误的赋值号左右不能对换如“AB”、“BA”的含义、运行结果是不同的不能利用赋值语句进行代数式的演算,如化简、因式分解答案a7,b5,ceq f(75,2)1,d121.运行输出的结果是1.练习1:下列关于赋值语句的说法错误的是()A赋值语句的作用是先计算出赋值号右边的表达式的值B赋值语句是把左边变量的值赋给赋值号右边的表达式C赋值语句

9、是把右边表达式的值赋给赋值号左边的变量D在算法语句中,赋值语句是最基本的语句答案B练习2:请写下面程序运行的结果eq x(aal(x0;,xx1;,xx2;,xx3;,x)解析x0,xx11,xx2123,xx3336.故程序运行的结果是6.类型二 输入、输出语句例2:编写一个程序,要求输入两个数a、b的值,输出ab和ab的值解析(1)输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能)若输入多个数,各数之间应用逗号“,”隔开(2)计算机执行到输入语句时,等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续运行,“提示内容”及其后的“;”可省略(3)输出语句可

10、以输出常量、变量或表达式的值(输出语句有计算功能)或字符,程序中引号内的部分将原始呈现答案程序如下:eq x(aal(ainput”a”;,binput”b”;,cab;,da*b;,print%io2,d,c;)练习1:任给三个变量a、b、c赋值,设计一个计算a23b25c的程序. 解析程序如下:ainput(”a”);binput(”b”);cinput(”c”);Sa23*b2+5*cprint(%io(2),S).类型三 三种语句的功能 例3:写出下列语句描述的算法的输出结果(1)eq x(aal(a5;,b3;,cab/2,dc*c;,print%io2,d;)(2)eq x(aal

11、(a1;,b2;,cab;,bacb;,print%io2,a,b,c;) (3)eq x(aal(a10;,b20;,c30;,ab;,bc;,ca;,print%io2,a,b,c;)解析分别将输入的值代入程序中依次逐步计算即可,要注意赋值前后变量值的变化赋值语句在给变量赋值时,先计算右边的式子,然后赋值给左边的变量,另外可以给一个变量先后多次赋不同的值,但变量的取值只与最后一次赋值有关,解决此类问题要时刻把握某个变量在程序中的来龙去脉,时刻关注其值的改变情况解析(1)a5,b3,ceq f(ab,2)4.又dc2,d16.故输出结果为:d16.(2)a1,b2,cab,c3.又bacb,

12、b2.故输出结果为:c3.b2.a1.(3)b20,且ab,a20;c30,且bc,b30;a20,且ca,c20;故输出结果为:c20.b30.a20.练习1:阅读下列程序,给出当a2,b5时的运行结果:(1)eq x(aal(ainput“a”;,binput“b”;,xab;,yab;,axy/2;,bxy/2;,print%io2,a,b;) (2)eq x(aal(ainput“a”;,binput“b”;,aab;,bab;,aab/2;,bab/2;,print%io2,a,b;) (3)eq x(aal(ainput“a”;,binput“b”;,aab;,bab;,aab/2

13、;,bab/2;,print%io2,b,a;)答案(1)a2,b5,xab3,yab7,aeq f(xy,2)2;beq f(xy,2)eq f(37,2)5.故运行的结果为:b5,a2.(2)a2,b5,aab3,bab3(5)2,aeq f(ab,2)eq f(32,2)0.5,beq f(ab,2)eq f(0.52,2)1.25.故运行的结果为:b1.25,a0.5.(3)a2,b5,aab3,bab3(5)2,aeq f(ab,2)eq f(32,2)2.5,beq f(ab,2)eq f(2.52,2)0.25.故运行的结果为:a2.5,b0.25.类型四 条件语句的应用例4:编

14、写程序计算:yeq blcrc (avs4alco1(1,x0,1,x0,y1;,else,y1;,end,print%io2,y;)练习1:编写程序,输入两个实数,由大到小输出这两个数答案程序如下:eq x(aal(ainput“a”;,binput“b”;,ifa0,print%io2,“”;,else,print%io2,“”;,end)类型五 循环语句的应用例5:应用循环语句编写程序求eq f(1,2)eq f(1,4)eq f(1,100)的值解析程序如下:练习1:利用循环语句编写一个程序,求所输入的50名同学数学成绩中大于80分的成绩的平均分解析程序如下:eq x(aal(S0;,

15、b0;,for i1:1:50,ainput“chengji”;,if a80,SSa;,bb1;,end,end,averS/b;,dispaver;)例6:写出求满足123n2 010的最小的自然数n的程序,并画出其程序框图解析程序框图如下:程序如下:练习1:编写程序计算1022023021002的值解析程序如下:1下列赋值语句正确的是()A6x Bxy6Cxy2 Dxx2答案D2当a1,b3时,执行完下面一段程序后x的值是()eq x(aal(ifab,xab,else,xab,end,x)A1 B3C4 D2答案C3下列程序运行后输出的结果为()x1;y1;z0;whilex4whil

16、eyx2zz1;yy1;endprint(%io(2),z);xz1;y1;endendA3,4,5,6 B4,5,6,7C5,6,7,8 D6,7,8,9答案A4下列程序的运行结果是_eq x(aal(a1;,b3;,aab;,bb*a;,print%io2,a,b;)答案12,45运行下面的程序时,若输入的值为100、99,则输出的结果为_;若输入的值为1、2,则输出的结果为_eq x(aal(Ainput”A”;,Binput”B”;,ifAB,TA;,AB;,BT;,else,AAB;,end,print%io2,A;)答案126在求12350的值时,在Scilab中的文本编辑中写出的

17、程序如下:则横线上应填写的语句是_eq x(aal(S0;,for i1150,;,end,print%io2,S;)答案SSi7根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能eq x(aal(n1;,S1;,whileS5 000,SS*n;,nn1;,end,nn1;,print%io2,n;) 答案该算法的程序框图如图所示:该算法的功能是求使12n5 000的最大正整数基础巩固一、选择题1执行“print(%io(2),35)”的输出结果是()A3535 B358C8 D88答案C解析输出语句有计算功能,358.2下列给出的输入、输出语句正确的是()inputa;b;cin

18、putx3printA4print(%io(2),a)A BC D答案D解析由输入、输出语句的定义可知不正确,故选D.3给出以下四个问题:输入一个数x,输出它的相反数;求面积为6的正方形的周长;求三个数a、b、c中的最大数;求函数f(x)eq blcrc (avs4alco1(x1,x0,x2,x0)的函数值其中不需要用条件语句来描述其算法的有()A1个 B2个C3个 D4个答案B解析直接用顺序结构即可,不需用条件语句;而需要判断三个数的大小,是分段函数求值问题,故需用到条件语句4下列对while语句的说法不正确的是()A当计算机遇到while语句时,先判断是否满足条件,如果符合条件,就执行循

19、环体B当条件不符合时,将不执行循环体直接跳出循环Cwhile语句的格式为:while表达式循环体endDwhile语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件答案D解析while语句的特点是“前测试”,即先判断是否满足条件,后执行循环体5下列关于for循环的说法错误的是()A在for循环中,循环表达式也称为循环体B在for循环中,步长为1,可以省略不写;若为其他值,则不可省略C理解for循环关键是理解为循环变量设定初值、步长、终值D在for循环中,“end”控制结束一次循环,开始一次新的循环答案C解析本题是对for循环的综合考查,理解for循环的关键是理解循环体在计算机中是如何

20、执行的,故选C.二、填空题6执行下列程序:eq x(aal(A20;,B15;,AAB;,BAB;,AA*B;,BAB;,print%io2,B;)运行结果为_答案720解析A20,B15,AAB35,BAB20,AAB3520700,BAB70020720.故运行结果为720.7执行下面的程序语句,输入a3,b1,n4后,输出的结果是_eq x(aal(ainput“a”;,binput“b”;,ninput“n”;,i1;,whilei10,跳出循环故选B.4以下程序运行后的输出结果为()A21 B13C17 D25答案A解析执行第一次后,i3,S9;执行第二次后,i5,S13;执行第三次后,i7,S17;执行第四次后,i9,S21.二、填空题5下列程序的运行结果是_eq x(aal(a2;,b3;,c4;,ab;,bac;,cba;,aabc/2;,print%io2,a;)答案10解析a2,b3,c4,ab3,bac7,cba10,aeq f(abc,2)eq f(3710,2)10.故运行结果为10.6如图的程序框图所对应的程序是_答案eq x(aal(xinput”x”;,y2x;,print%io

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论