2基本算法语句.doc_第1页
2基本算法语句.doc_第2页
2基本算法语句.doc_第3页
2基本算法语句.doc_第4页
2基本算法语句.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

基本算法语句一、基本概念(一)输入语句、输出语句、赋值语句:1.输入语句:在某些算法中,变量的初始值要根据情况经常地改变,一般我们把程序和初始数据分开,在每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可.这个过程在程序语言中,用“输入语句”来控制.格式:INPUT “提示内容”;变量 例如:INPUT “x=”;x说明:(1)输入语句的功能是实现算法的输入变量信息. (2)输入语句要求输入的是具体的常量.(公式,运算都不行) (3)对于输入语句的格式:INPUT “提示内容”;变量.其中“提示内容”与变量之间必须用分号“;”隔开,“提示内容”的主要作用是能够让程序运行者更清楚地在计算机屏幕上看到程序指令,以便更方便、精确的输入相应变量值. 例如:INPUT “X=”;Y INPUT “Y=”;X Z=2X PRINT “Z=”;Z 结果应为第二次输入的数的2倍,即提示内容中的文字是给人看的,而不是给计算机看的. (4)输入语句可以给多个变量赋值. 正确:INPUT “提示内容1,提示内容2,提示内容3,”;变量1,变量2,变量3, 例如:INPUT“x,y,z=”;x,y,z 错误:INPUT“A=”;A,“B=”;B(5)变量是指在运行时其值是可以变化的量,QB不支持中文提示.2.输出语句:任何求解问题的算法,都要求把求解的结果“输出”.由此可知任何程序语言也必须由“输出语句”来控制输出,不同的程序语言都有自己的输出语句和表现形式,但功能都时一样的,就是以某种形式把求解结果“输出”出来.格式:PRINT“提示内容”;表达式 例如:PRINT“S=”;S说明:(1)输出语句的作用式实现算法的输出结果功能. (2)表达式式指程序要输出的数据.(3)上述两种语句“提示内容”也可以不写,即格式为:PRINT x(4) 如同输入语句一样,输出语句也可以一次完成输出多个表达的功能正确: PRINT “提示内容1,提示内容2,提示内容3,”;变量1,变量2,变量3, PRINT “提示内容1”; 变量1,“提示内容2”; 变量2,“提示内容3”; 变量3, 例如:PRINT“x,y,z=”;x,y,z PRINT “A=”;A,“B=”;B 注意:用分号隔开的部分也可以用逗号隔开,区别是:用逗号时,后一个表达式的值和前一个表达式之间的间隔大一些;当两个表达式之间的分隔符用分号时,后一个表达式的值紧跟在迁移个输出项之后输出(5)输出语句可以输出常量、变量、表达式的值以及字符,输出语句兼有计算和显示的双重功能.也可以没有任何输出项,起到换行或输出一个空行的作用. 例如:PRINT 3+5 PRINT 8 PRINT A PRINT “YES”3.赋值语句:在表述一个算法是,经常引入变量,并赋给该变量一个值.用来表明赋给某一个变量具体的确定的值的语句叫赋值语句.格式:变量=表达式 例如:a=3,a=a+1,y=3x+2说明:(1)变量:是指在运行期间可以改变的量,它在每一个时刻有一个确定的值. (2)每个变量都有变量名,其命名规则是:由以英文字母开头,后面可以跟英文字母、数字和小数点,不能含空格.例如:A,C,MP4,都是正确的,而像68,3AB,1B1,M+,等都是非法的. (3)变量名大小写通用,即A和a代表的是同一变量. (4)命名原则应该是“常用从简,专用从繁,见名知义”,以便于编程和交流.一般变量名应与物理,数学的形式相同.比如用NAME代表姓名,SUM代表求和,AVER代表平均值. (5)对简单变量来说,程序中每出现一个简单变量名,系统就会自动给它分配相应的存储单元,用以存放变量的值.变量被赋值后,在存储单元中一直保留到对它的重新赋值为止.例如:x=1 x=x+1 x=x*x PRINT x结果应为4(6)赋值号左右不能对换.赋值语句是将赋值号右面的表达式的值赋值给赋值号左面的变量.例如:x=1 y=2 x=y(y=x) PRINT x,y 2 2(1 1)(7)赋值号左面只能是单个变量,不能是表达式,例如:A+1=A(错)(8)在一个赋值语句中只能给一个变量赋值,不能出现两个或多个赋值的“=”(9)注意理解输入语句与赋值语句的区别.输入语句是在编完程序后,在运行的过程中输入变量的值,可以不必修改程序而进行多组数的计算;赋值语句是在编程的过程中输入的变量值,无法灵活改变,需修改程序.(10)同一行写多个语句式要用冒号将语句分开.常见形式:(1)赋予变量常数值:x=1 (2) 赋予变量其它变量或表达式的值:a=b (3)将含有变量自身的表达式赋予变量:i=i+1程序语句中的符号变化:(,*)(,/)(取商,)(53=1)( ,=)( ,)等满足条件?步骤A是否(二)条件语句:人们对计算机的要求不仅仅是一些简单的代数运算,而是经常需要计算机按照条件进行分析、比较、判断,并按照判断后的不同情况进行不同的操作和处理.如“判断一个数的正负”,“比较两数大小关系”等.要解决这些问题计算机就需要用到条件语句.条件语句就是处理条件分支逻辑结构的算法语句.(1)IF-THEN格式(一个分支的条件结构) 格式:IF条件THEN语句体END IF例如:找出三个数中的最大数Input“a1,a2,a3=”;a1,a2,a3max=a1if a2max then max=a2 end ifif a3max then max=a3 end ifprint“the max number is:”;max满足条件?步骤A步骤B是否说明:条件表示判断的条件,步骤A表示满足条件时执行的操作内容,条件不满足时,结束条件语句,转而执行其它语句,end if表示条件语句的结束.(2)IF-THEN-ELSE格式(两个分支的条件结构) 格式:IF条件THEN 语句体1ELSE 语句体2END IF例如:求一元二次方程的实根(有根前提下)input “please input a,(a0):”;ainput “please input b:”;binput “please input c:”;cdet=b2-4*a*cp=-b/(2*a)q=sqr(abs(det)/(2*a)if det=0 then print “x1=x2=”;pelse print “x1=”;p+q,“x2=”;p-qend if说明:计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)步骤A,否则(else)执行步骤B.思考:如何用两种语句编写程序求x的绝对值的程序?(3)条件语句的嵌套(多个分支)格式:IF 条件1 THEN 语句体1 IF条件2 THEN 语句体2 ELSE 语句体3 END IF ELSE 语句体4END IF例如:已知函数,试编写程序,输入x的值,输出y的值.input xif x0 then y=2*x2-1else if x=0 then y=2*x+1 else y=-2*x2+4 end ifend ifprint yend说明:在编写条件语句的嵌套中的“条件”时,要注意“IF”与“END IF”的配对,有时可以利用文字的缩进来表示嵌套的层次.(三)循环语句:在程序处理中,经常需要对一条或一组语句重复执行多次,以最终完成某项任务,这就是循环的概念.(1)直到型(UNTIL型)循环语句格式:DO循环体LOOP UNTIL 条件说明:计算机执行UNTIL语句时,先执行DO和LOOP UNTIL之间的循环体,然后判断条件是否成立,如果不成立,执行循环体.这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行LOOP UNTIL后面的语句.例如:编写一个程序,计算的值.S=1i=3DO S=S*i i=i+2LOOP UNTIL i99PRINT SEND(2)当型(WHILE型)循环语句格式:WHILE 条件 循环体WEND说明:计算机执行次程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILE和WEND之间的循环体,然后再判断上述条件,再次执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时,不再执行循环体,将跳到WEND语句后面,执行WEND后面的语句.例如:编写一个程序,计算的值.S=1i=3WHILE i=99 S=S*i i=i+2WENDPRINT SEND说明:(1)当型循环先判断后执行,直到型循环先执行后判断. (2)当型循环用WHILE型语句,是当满足条件时执行循环体;直到型循环用UNTIL语句,是不满足条件时执行循环体. (3)对同一算法来说,当型循环和直到型循环的条件互为反条件. (4)当型语句与直到型语句一般情况下可以相互转化.(3)循环语句的嵌套在一个循环体内又完整地包含了另一个循环的,成为循环的嵌套.前面介绍的两种类型的循环可以互相嵌套.我们通常把循环嵌套在外层(程序执行时先执行的)循环语句叫外循环,把循环嵌套在外循环里面(程序执行时后执行的)的循环语句叫做内循环.例:编写一个程序,求,其中法一:利用“当循环”(利用)第一步:输入i=1,S=0,m=1第二步:i从1循环到100,用,求出i!,用S=S+m表示前i项和;第三步:循环结束,输出S的值i=1S=0m=1WHILE i=100 m=m*i S=S+m i=i+1WENDPRINT SEND法二:利用循环嵌套sum=0i=1WHILE i=10 j=1 t=1 WHILE j=it=t*jj=j+1 WEND sum=sum+t i=i+1WENDPRINT sumEND循环嵌套的形式:(1)WHILE+WHILE格式WHILE 条件1 WHILE 条件2 WENDWEND(2) UNTIL+UNTIL格式DO DO LOOP UNTIL 条件2 LOOP UNTIL 条件1(3)WHILE+UNTIL格式WHILE 条件1 DO LOOP UNTIL 条件2 WEND(4)UNTIL+WHILE 格式DO WHILE 条件2 WEND LOOP UNTIL 条件1(4)FOR-NEXT循环(了解)格式:FOR =TOSTEP(也有写成FOR FROMTOSTEP) NEXT 例如:求20!的值P=1FOR i=20 TO 1 STEP -1 P=P*iNEXT iPRINT “20!=”;PEND说明:(1)重复执行循环体“”次. (2)三个表达式分别表示初值、终值和步长,步长为1时可省略 (3)FOR-NEXT循环一般用来解决循环次数固定的问题,也就是说,通过给定的问题,如果我们能够给出循环控制变量的初值,终值和步长,可以考虑使用该循环结构.二、习题精练(一)基本概念1.下列关于“赋值语句”的叙述正确的是( D ) A.3.6=x是赋值语句B.利用赋值语句可以惊醒代数式的化简C.赋值语句中的等号与数学中的等号的意义相同D.赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值2.“x=3*5”,“x=x+1”,是某一程序先后相邻的连个语句,那么下列说法中正确的是( A ) x=3*5的意思是x=3*5=15,此式子与算术中的等号是一样的x=3*5是将值15赋给xx=3*5可以写成x=x+1语句在执行时=右边的x的值是15,执行后左边x的值是16A. B. C. D.3.在编辑程序时经常用到一些特殊的函数,比如SQR( )和ABS( ),它们的意义是( C )A.求平方,求绝对值 B.求平方根,求绝对值C.取算数平方根,求绝对值 D.以上说法都不对4.下列程序语言中表达式的值正确的是( C )A.6*SQR(4)+32*2= B.3*(5+4)+SQR(9)2=17C.(5+3*(12-7)/4=5 D.(2+3)*5-4+2*3*SQR(4)2=725.对于分式在程序语言中的表达式正确的是( D )A.C+D/A+B B. (C+D)/A+B C.C+D/(A+B) D. (C+D)/(A+B)6. 当x的值为5时,语句PRINT x; “是质数”在屏幕中的输出结果为(D )A.5 B.是质数C.5“是质数” D.5是质数a=1b=3a=a+bb=a-bPRINT a,b(1题)(二)程序应用1.计算机执行下面的程序段后,输出的结果是( B ) A.1,3 B. 4,1C.0,0 D. 6,02.下列赋值能使y的值为4的是( D )A=10,B=A-8,A=A-BPRINT AEND(3题)A.y-2=6 B.2*3-2=yC.4=y D.y=2*3-2IF ab THENx=a+bELSEx=a-bEND(4题)3.下面的程序输出的结果是( B )A.10 B.8C.2 D.-24.当a=1,b=3时,执行完下面一段程序后x的值是( C )A.1 B. 3C.4 D. -25.如图所示是一个算法的伪代码,如果输出的y值是32,则输入x的值是_. 6.下面程序的功能是求某一函数的函数值,请写出该函数的表达式_.INPUT xIF x3 THEN y=x2-1 ELSE y=2 END IFEND IFPRINT “y=”;yEND(6题)INPUT “x=”;xIF x=5 THENy=4*xELSEy=x2END IFPRINT “y=”;y(5题)7.下面程序运行后输出的结果为_.22 -228.右程序运行后输出的结果为 ( A ) A. 3 4 5 6 B. 4 5 6 7 C. 5 6 7 8 D. 6 7 8 9a=0 j=1WHILE j=5 a=(a+j) MOD 5 j=j+1WENDPRINT aEND(9题)x=1 y=1WHILE x=4Z=0WHILE y=x+2 Z=Z+1 y=y+1WENDPRINT Zx=x+1y=1WENDEND (8题)x=5 y=20IF x0 THEN x=y3ELSE y=y+3END IFPRINT xy ; yxEND(7题)()j=1 n=0WHILE j=11 j=j+1 IF j MOD 4=0 THEN n=n+1 END IF j=j+1WENDPRINT nEND(10题)9.程序运行后输出的结果为 ( D ) A. 50 B. 5 C. 25 D. 010.程序输出的n的值是_.311.阅读下列程序:程序的运行结果是_.3 4 5 6a=3IF a=3 THEN PRINT 3END IFIF a=4 THEN PRINT 4END IFIF a=5 THEN PRINT 5END IFIF a=6 THEN PRINT 6END IFEND(11题)12.如图所示程序运行后输出的结果是_.S=0FOR i=1 to 100 step 2S=S+i2PRINT S (12题)13.阅读下列算法语句,若输入的n为10,则输出的变量S和T的值为( A )A. 30,25 B. 30,30 C. 25,25 D. 25,30INPUT “n=”;nS=0T=0DOS=S+nn=n-1T=T+nn=n-1LOOP UNTIL n1PRINT S,TEND(13题)14.下列程序表示的计算式子是_ input “n=”;ni=1sum=0while i=nsum=sum+1/(i*(i+1)i=i+1endprint sum(14题)15.当x=2时,下面程序段的结果是_.15i=1s=0while i=4s=s*x+1i=i+1wendprint send(15题)16.下面程序运行的结果是_.34A=1B=1while B15A=A+BB=A+BwendC=A+Bprint C(16题)(三)程序设计1.已知函数, 编写一程序求函数值.INPUT “x=” ; xIF x1 THEN y=SQR(3*x)+3ELSE y=ABS(x)+1END IFEND IFPRINT “y=” ; yEND (1题)2.编写程序,使得输入一个三位数,将它方向输出,例如输入219,输出2;输入230,输出32.INPUT “请输入三位正整数x:”;xIF x1000 THEN PRINT “你的输入有误”ELSEa=x100b=(x-100*a)10c=x-100*a-10*by=100*c+10*b+aPRINT “反向输出为y:”;y(2题)INPUT “请输入实数x和y值:”;x,yIF x0 AND y0 THEN f=3*x2+y2ELSEIF x0 AND y0 THEN f

温馨提示

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

评论

0/150

提交评论