人教版高中数学基本算法语句____________________________________________________________________________________________________________________________________________________________________1.理解学习基本算法语句的意义.2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。
在算法语句中,赋值语句是最基本的语句。
赋值语句的一般格式为:__________________。
赋值语句中的“=”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。
说明:①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;②赋值语句中的赋值号“=”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。
在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”;④赋值号与数学中的等号的意义不同。
赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。
如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;⑤对于一个变量可以多次赋值。
(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。
一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。
这个过程在程序语言中,用“输入语句”来控制。
不同的程序语言都有自己的输入指令和方法。
在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+赋值给变量c,最后把它们都输出到屏幕上,这个算给变量a,再把数值3复制给变量b,把b法用Scilab程序写出,并用print(%io(2),a,b,c)语句控制输出。
在Scilab界面内直接写出程序并运行如下:a=rand();b=3;c=ba+;print(%io(2),a,b,c)c=3.7560439b=3.a=.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循环。
for循环的格式为:for循环变量=初值:步长:终值循环体end这种循环结构,循环变量被赋初值后,如果循环变量没有超过终值,则执行语句序列;循环变量递增(递增值为步长),如果没有超过终值,继续执行循环;否则,循环结束。
while语句的格式为:while 表达式循环体end这种循环结构,首先要求对表达式进行判断,如果表达式为真,则执行循环体部分。
每次开始执行循环体前,都要判断表达式是否为真。
这样重复执行,一直到表达式值为假时,就跳过循环体部分,循环结束。
类型一赋值语句的应用例1:请写出下面程序运行后输出的结果.a=7;b=5;c=(a-b)/2;d=c*c;d练习1:下列关于赋值语句的说法错误的是()A.赋值语句的作用是先计算出赋值号右边的表达式的值B.赋值语句是把左边变量的值赋给赋值号右边的表达式C.赋值语句是把右边表达式的值赋给赋值号左边的变量D.在算法语句中,赋值语句是最基本的语句练习2:请写下面程序运行的结果.x=0;x=x+1;x=x+2;x=x+3;x类型二输入、输出语句例2:编写一个程序,要求输入两个数a、b的值,输出a+b和ab的值.练习1:任给三个变量a、b、c赋值,设计一个计算a2-3b2+5c的程序.类型三三种语句的功能例3:写出下列语句描述的算法的输出结果.(1)a=5;b=3;c=(a+b)/2d=c*c;print(%io(2),d);(2)a=1;b=2;c=a+b;b=a+c-b;print(%io(2),a,b,c);(3)a=10;b=20;c=30;a=b;b=c;c=a;print(%io(2),a,b,c);练习1:阅读下列程序,给出当a=2,b=-5时的运行结果:(1)a=input(“a=”);b=input(“b=”);x=a+b;y=a-b;a=(x+y)/2;b=(x-y)/2;print(%io(2),a,b);(2)a=input(“a=”);b=input(“b=”);a=a+b;b=a-b;a=(a+b)/2;b=(a-b)/2;print(%io(2),a,b);(3)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);类型四 条件语句的应用例4:编写程序计算:y =⎩⎪⎨⎪⎧1, x ≥0-1,x <0.练习1:编写程序,输入两个实数,由大到小输出这两个数.练习2:编写一个程序对输入的任意一个非零实数,判断其符号.类型五 循环语句的应用例5:应用循环语句编写程序求12+14+…+1100的值.练习1:利用循环语句编写一个程序,求所输入的50名同学数学成绩中大于80分的成绩的平均分.例6:写出求满足1+2+3+…+n >2 010的最小的自然数n 的程序,并画出其程序框图.练习1:编写程序计算102+202+302+…+1002的值.1.下列赋值语句正确的是( ) A .6=x B .x +y =6 C .x =y =2D .x =x +22.当a =1,b =3时,执行完下面一段程序后x 的值是( ) if a<b x =a +b elsex =a -b end xA .1B .3C .4D .-23.下列程序运行后输出的结果为( ) x =1; y =1; z =0; while x<=4 while y<=x +2 z =z +1; y =y +1; endprint(%io(2),z); x =z +1; y =1; end end A .3,4,5,6 B .4,5,6,7 C .5,6,7,8D .6,7,8,94.下列程序的运行结果是________. a =1;b =3;a =a +b ;b =b*a ;print (%io (2),a ,b );5.运行下面的程序时,若输入的值为100、99,则输出的结果为________;若输入的值为1、2,则输出的结果为________.A =input (”A =”);B =input (”B =”);if A<B T =A ; A =B ;B =T ;elseA =A -B ;endprint (%io (2),A );6.在求1+2+3+…+50的值时,在Scilab 中的文本编辑中写出的程序如下:则横线上应填写的语句是________.;%io (2),S );7.根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能. n =1;S =1;while S<5 000 S =S*n ;n =n +1;endn =n -1;print (%io (2),n );_________________________________________________________________________________ _________________________________________________________________________________基础巩固一、选择题1.执行“print(%io(2),3+5)”的输出结果是( ) A .3+5=3+5 B .3+5=8 C .8D .8=82.下列给出的输入、输出语句正确的是( ) ①input a ;b ;c ②input x =3③print A =4 ④print(%io(2),a) A .①② B .②③ C .③④D .④3.给出以下四个问题:①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数a 、b 、c 中的最大数;④求函数f (x )=⎩⎪⎨⎪⎧x -1, x ≥0x +2, x <0的函数值.其中不需要用条件语句来描述其算法的有( ) A .1个 B .2个 C .3个D .4个4.下列对while 语句的说法不正确的是( )A .当计算机遇到while 语句时,先判断是否满足条件,如果符合条件,就执行循环体B .当条件不符合时,将不执行循环体直接跳出循环C .while 语句的格式为:while —表达式—循环体—endD .while 语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件 5.下列关于for 循环的说法错误的是( ) A .在for 循环中,循环表达式也称为循环体B .在for 循环中,步长为1,可以省略不写;若为其他值,则不可省略C .理解for 循环关键是理解为循环变量设定初值、步长、终值D .在for 循环中,“end”控制结束一次循环,开始一次新的循环 二、填空题 6.执行下列程序:A =20;B =15;A =A +B ;B =A -B ;A =A*B ;B =A +B ;print (%io (2),B );运行结果为________.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 ); 能力提升一、选择题1.下边程序的输出结果为( ) A =8;B =7;A =A +B ;B =A -B ;C =A*B ;A =C ;print (%io (2),B ,A ); A .15,1 B .15,7 C .56,8D .120,82.若输入4,则下面程序执行后输出的结果是()A .4B .0.2C .0.1D .0.33.下面程序的作用是( )i =1;sum =0;for i =sum =sum +i ;endprint (%io (2),sum );A .求1+3+…+9+11B .求1+2+3+…+10C .求1×3×5×…×11D .求1×2×3×4×…×104.以下程序运行后的输出结果为( )A .21B .13C .17D .25二、填空题5.下列程序的运行结果是________.a =2;b =3;c =4;a =b ;b =a +c ;c =b +a ;a =(a +b +c )/2;print (%io (2),a );6.如图的程序框图所对应的程序是________.7.读下面的程序,如果输出y 的值是20,则通过键盘输入的变量x 的值是________.118.下面是一个用于计算11×2+12×3+13×4+…+120×21的程序,试填上适当的语句.9.如果以下的程序运行的结果为240,那么在程序中while 后面的“表达式”应为i>________.三、解答题10.设计一个程序,输入一个学生的成绩S ,根据该成绩的不同值作以下输出:若S <60,则输出“不及格”;若60≤S ≤90,则输出“及格”;若S >90,则输出“优秀”.11.铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50kg 时,按0.25元/kg ;超过50kg 而不超过100kg 时,其超过部分按0.35元/kg ;超过100kg 时,其超过部分按0.45元/kg.编写程序,输入行李重量,计算并输出托运费用.。