基本算法语句和算法案例.ppt_第1页
基本算法语句和算法案例.ppt_第2页
基本算法语句和算法案例.ppt_第3页
基本算法语句和算法案例.ppt_第4页
基本算法语句和算法案例.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1.在算法程序中,下列赋值能使y的值为4的是( ) A.y-2=6 B.2*3-2=y C.4=y D.y=2*3-2 赋值时把“=”右边的值赋给左边的变量,选D. 易错点:赋值语句中的赋值号“=”的含义.赋值语句中的赋值号与数学中的等号是不完全一样.,D,2.利用秦九韶算法求多项式f(x)=6x5+5x4+4x3+3x2+2x+1当x=2时的值,下列说法正确的是( ) A.先求1+22 B.先求62+5,第二步求2(62+5)+4 C.f(2)=625+524+423+322+22+1直接运算求解 D.以上皆错,B,f(x)=6x5+5x4+4x3+3x2+2x+1=(6x +5)x+4)x+3)x+2)x+1, 故应先求62+5,第二步求2(62+5)+4,选B. 易错点:多项式的改写.,3.如图所示的程序执行后输出的结果是( ) A.1 B.0 C.1 D.2,当s=5+4+3+2=14,n=1时,不执行循环体,选C. 易错点:循环体执行的次数.,C,4.将十进制数89化为二进制数等于 . 89=244+1,44=222+0, 22=211+0,11=25+1,5=22+1. 所以89=2(2(2(2(22+1)+1)+0)+0)+1 =2(2(2(2(22+1)+1)+0)+0)+1 =2(2(2(23+21+1)+0)+0)+1 =126+025+124+123+022+021+120=1011001(2). 即89=1011001(2),填1011001(2).,1011001(2),5.288和123的最大公约数是 . 288=1232+42, 123=422+39, 42=391+3, 39=313. 所以288和123的最大公约数为3,填3.,3,1.输入、输出、赋值语句的一般格式和功能,2.条件语句条件语句与程序框图中的条件结构相对应.条件语句的格式及框图如下: (1)IFTHEN格式,(2)IFTHENELSE格式,3.循环语句循环语句与程序框图中的循环结构相对应.循环语句的格式及框图如下: (1)UNTIL语句,(2)WHILE语句,4.算法案例 (1)辗转相除法与更相减损术辗转相除法与更相减损术都是用于求两个正整数的最大公约数的方法. (2)秦九韶算法秦九韶算法是用于计算一元n次多项式的值的方法. (3)进位值进位制是人们为了计数和运算方便而约定的记数系统.“满k进一”就是k进制,k进制的基数就是k.,重点突破:输入、输出和赋值语句 右面的算法程序,若输入6,18,32,则输出结果是( ) A.6,18,32 B.18,6,32 C.18,32,18 D.32,18,6,本题的程序为赋值语句,从赋值语句的意义入手即可.,C,先把b的值18赋给a,所以a=18; 再把c的值32赋给b,所以b=32; 最后把a的值18赋给c,所以c=18.选C. 在赋值语句中,a=b或ab的含义是把b的值赋给a.应注意,赋值号“”左边只能是变量,而不能是表达式;赋值号“”的左右两边不能对调;不能利用赋值语句进行代数式的演算(如化简、因式分解等).,写出下列程序的运行结果.,A=11 B=22 A=A+B PRINT“A=”;A PRINT“B=”;B END,执行上述语句的结果是( ) A.A=33 B=11 B.A=11 B=22 C.A=33 B=22 D.A=11 B=33 将A=11,B=22的和赋给变量“A”,此时,A=33,选C.,C,重点突破:条件语句 下列程序输入2,3,则程序执行结果为( ),INPUT a,b IF ab THEN t=a a=b b=t ENDIF PRINT a,b END,A.2,3 B.3,2 C.2,2 D.3,3,B,本题解答可用条件语句中的IFTHEN语句,并结合赋值语句即可. 输入2,3,符合条件ab,故执行语句体.赋值语句的功能是将a,b两个变量交换,故程序执行结果为3,2,选B. 对于包含一个分支的条件语句,采用IFTHEN语句.首先,要对IF后面的条件进行判断,如果条件符合,就执行THEN后面的语句;若不符合,就执行ENDIF后面的语句.,下面程序运行的结果是3,则输入的x的值是( ),C,INPUT x IF x=0 THEN y=x2+2 ELSE y=-x END IF PRINT y END,A.1 B.3 C.1或3 D.1或3,x2+2 (x0) -x (x0) x0, x2+2=3 , 故x=1或x=-3,选C.,程序对应的函数是y=,由,解得x=1;由,x0, -x=3,解得x=-3.,重点突破:循环语句 要使下面程序能运算出“1+2+3+100”的结果,需将语句“i=i+1”加在( ),S=0 i=1 WHILE i=100 S=S+i WEND PRINT S END,A.处 B.处 C.处 D.处,C,本题解答可用循环语句中的WHILE语句,i为计数变量,i=i+1应在循环体中,注意到初始值S=0,i=1,问题可得到解决. 由程序可知,应先执行累加变量,再执行计数变量,选C. 累加求和、累乘求积等问题,常常要用到循环语句.解决这类问题,首先关注初始值的设定,然后确定累加(积)变量、计数变量的次序.,分别写出下列算法语句(1)和(2)运行的结果: (1),S=0 i=0 DO S=S+i i=i+1 LOOP UNTIL S20 PRINT i END,(2),S=0 i=0 DO i=i+1 S=S+i LOOP UNTI LS20 PRINT i END (1) ;(2) .,7,6,(1)程序反映出的算法过程为 S=0,i=0时,执行S=S+i后,S=0,执行i=i+1后,i=1; S=0,i=1时,执行S=S+i后,S=1,执行i=i+1后,i=2; S=1,i=2时,执行S=S+i后,S=3,执行i=i+1后,i=3; S=3,i=3时,执行S=S+i后,S=6,执行i=i+1后,i=4;,S=6,i=4时,执行S=S+i后,S=10,执行i=i+1后,i=5; S=10,i=5时,执行S=S+i后,S=15,执行i=i+1后,i=6; S=15,i=6时,执行S=S+i后,S=21,执行i=i+1后,i=7, 此时S=2120,执行PRINT i,i=7,填7.,(2)程序反映出的算法过程为 S=0,i=0时,执行i=i+1后,i=1,执行S=S+i后,S=1; S=1,i=1时,执行i=i+1后,i=2,执行S=S+i后,S=3; S=3,i=2时,执行i=i+1后,i=3,执行S=S+i后,S=6; S=6,i=3时,执行i=i+1后,i=4,执行S=S+i后,S=10;,S=10,i=4时,执行i=i+1后,i=5,执行S=S+i后,S=15; S=15,i=5时,执行i=i+1后,i=6,执行S=S+i后,S=21, 此时S=2120,执行PRINT i,i=6,填6.,高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序. 由于涉及到54名同学的分数,因此可以使用循环结构控制输入分数,用条件结构来判断分数是否高于90分,同时统计累加高于90分的成绩的总和与人数,从而求出平均分.,程序框图:,程序:,S=0 M=0 i=1 WHILE i90 THEN S=S+x M=M+1 END IF i=i+1 WEND P=S/M PRINT P END,本题应用的是WHILE型循环结构,同时又有条件结构,应注意层次及其条件;其次,循环语句有两种:WHILE语句和UNTIL语句,编写程序解决问题时,一定要注意格式及条件的表达方法.另外,要注意在BASIC语言中,常见运算符号的书写方式:ab(ab);ab(ab);a/b( ); SQR(x)( );ABS(x)(|x|)等.,1.条件语句的嵌套的一般形式和程序框图一般形式,对应的程序框图为,2.辗转相除法的算法步骤及程序框图算法步骤如下: 第一步,给定两个正整数m,n. 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.,程序框图:,3.秦九韶算法的算法步骤及程序框图算法步骤如下: 第一步,输入多项式次数n、最高次项的系数an和x的值. 第二步,将v的值初始化为an,将i的值初始化为n1. 第三步,输入i次项的系数ai. 第四步,v=vx+ai,i=i1. 第五步,判断i是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v.,程序框图:,1.(2009龙岩质检卷)如图所示的程序运行后,输出的结果为( ),C,i=1 WHILE i7 i=i+1 S=2*i-1 i=i+2 WEND PRINT S,i END,A.13,7 B.7,4 C.9,7 D.9,5,当i=1时,执行i=i+1后,i=2,执行S=2i1后,S=3,执行i=i+2后,i=4; 当i=4时,执行i=i+1后,i=5,执行S=2i-1后,S=9,执行i=i+2后,i=7, 此时,不满足i7,不执行循环体,输出9,7,选C. 本题以算法程序为载体,考查循环语句的理解和应用,突出新课程强调“双基”的理念.,2.(2009潮州模拟卷)为了在运行下面的程序之后得到输出y=25,键盘输入x应该为 .,-6或6,INPUT x IF x0 THEN y=(x+1)*(x+1) ELSE y=(x-

温馨提示

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

评论

0/150

提交评论