基本算法语句与算法案例教案练习(含答案).doc_第1页
基本算法语句与算法案例教案练习(含答案).doc_第2页
基本算法语句与算法案例教案练习(含答案).doc_第3页
基本算法语句与算法案例教案练习(含答案).doc_第4页
基本算法语句与算法案例教案练习(含答案).doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

专业资料圆你梦想算法初步基本算法语句与算法案例【知识网络】1理解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句。2能用自然语言、流程图和伪代码表述算法,会用“While循环”和“For循环”语句或GoTo语句实施循环(注意:优先使用While和For语句,尽量少用GoTo语句)。【典型例题】例1(1)下列问题所描述出来的算法,其中不包含条件语句的为()A读入三个表示三条边长的数,计算三角形的面积B给出两点的坐标,计算直线的斜率C给出一个数x,计算它的常用对数的值D给出三棱锥的底面积与高,求其体积S1I3 While I SSIII+2End whilePrint SEnd(例1(2)图)(2)设计一个计算135791113的算法图中给出了程序的一部分,则在横线上不能填入下面的那一个数?答:()A13B13.5C14D14.5(3)若mod(m,3)=1,则m的取值不可以是()A2005B2006C2008D2020(4)下面的表述: 6p;t35+2;b+35;p(3x+2)-4)x+3;aa3;x,y,z5;ab3;xy+2+x 其中正确表述的赋值语句有 (注:要求把正确的表述全填上)(5)下面程序的运行结果为4的图为 a3b5If ba then c Print cElsePrint bEnd ifEnda3b4If ab then Print bElseaa+1End ifPrint aEnda3b4If ab then ca+b Print cElseaa+b-3End ifPrint aEnd例2 某百货公司为了促销,采用打折的优惠办法:每位顾客一次购物在100元以上者(含100元,下同),按九五折优惠;在200元以上者,按九折优惠;在300元以上者,按八五折优惠;在500元以上者,按八折优惠试写出算法、画出流程图、伪代码,以求优惠价例3 定义运算“!”为:n!=123n,其中n为正整数,并且读作“n的阶乘”,例如,5!=12345=120,10!=9!10= 3628800计算2007!写出算法分析与伪代码,并画出流程图。例4 所谓自守数就是自己和自己相乘以后得到的数,尾数不变首先,在正整数中,凡末尾数是1、5和6的数,不论自乘多少次,尾数仍然是1、5、6,因而这类数均是自守数如果把尾数取到两位,比如末尾是25和76的数就是自守数例如,试设计一个算法,找出尾数取到三位的所有的自守数【课内作业】1下列语句属正确的赋值语句的是()A4yBp+q38Cm=n2Dss2+12给出以下问题:求面积为1的正三角形的周长;求键盘所输入的三个数的算术平均数;求键盘所输入的两个数的最小数;求函数当自变量取x0时的函数值其中不需要用条件语句来描述算法的问题有()A1个B2个C3个D4个Read a,b,cmaIf bm then mbElse If cm then mc End ifPrint mEnd第3题3已知算法的伪代码如下,当输入a=5,b=6,c=3,运行该程序,输出的结果为()A3B6C5D144用辗转相除法求800和360的最大公约数时,需要做除法的次数是()A1次B2次C3次D4次5写出下列程序的运行结果:a5b7cb-aba+b+cPrint c/2Enda5b7c(a+b)/2Print cEnd(1) (2) 输出结果为 输出结果为 Read a,b,cabbccaPrint a,b,cEndRead a,bmaabbmPrint a,bEnd(3) (4) 若输入3,4,则输出结果为 若输入2,3,4,则输出结果为 Read a,bIf a0 then Print ElseIf b0 thenPrint Else Print End ifEnd ifEnd(第6题)6设计一个解关于x的方程:ax+b=0的程序图中给出了程序的一部分,请在横线上填上适当的语句,使程序完整7960与1632的最大公约数为 8写出求所有立方小于104的正整数的程序9标有1,2,3,4,5,6,7,8的八个号码球,有一个是最轻的,试写出挑出最轻球的伪代码开始I=1S=I+SI100结束YNS=0I=I+3输出 S10题图10试根据流程图回答:在执行循环内容时,共经过多少次的判断?共经过多少次循环体?算法初步基本算法语句与算法案例A组1阅读下列三组伪代码,当a=3,b= -5时,输出结果为3的有()Read a,baa+bba-bb(a-b)/2a(a+b)/2Print aRead a,baa+bba-ba(a+b)/2b(a-b)/2Print aRead a,bxa+bya-ba(x+y)/2b(x-y)/2Print aA0组B。1组C。2组D。3组2求满足1357n10000的最小整数n的伪代码如下:S1I3While S10000SSIII+2End whilePrint 则处的内容为()AIB。I+2C。I-2D。I+1Read a,bWhile ab ra-b If br thenabbrElse arEnd ifEnd whilePrint bEnd第3题图3下列一段伪代码的目的是()A求a、b的最小公倍数B求a、b的最大公约数C求大数除以小数所得的商D求大数除以小数所得的余数4这是一个算法的操作说明:初始值为n0,x1,y1,z0;nn+1;xx+2;y2y;zz+xy;如果z7000,则执行语句;否则回到语句继续执行;打印n,z;程序终止。由语句打印出的数值为 , 。5猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个以后每天早上都吃前一天剩下的一半加一个到第10天早上想吃时,见只剩一个桃子了求第一天共摘了多少桃子?S1I1While I9 End whilePrint SEnd第5题图右面是一个算法的伪代码,试将它补充完整。Read arSrr-aaPrint SEnd第6题6请设计一个问题,使得该问题的算法如已知的伪代码所示 7有一个算法如下:S1 输入x;S2 判断x0? 是:z=1;否:z= -1;S3 z1+z;S4 输出z试写出上述算法的流程图及相应的伪代码8菲波拉契数列是这样的一列数:0,1,1,2,3,5,8,13,21,34,其特点是后一项等于前两项的和,并且称8为该数列的第7项,34为该数列的第10项,余相同试设计一个算法并写出其伪代码,输出这个数列的前n项以及前n项的和(n为整数,n3)B组1与下列伪代码对应的数学表达式是()Read ne0s1For I from 1 to n step 1ss*Iee+1/sEnd forPrint eAB。s=1+2+3+nCs=123nD。s=2下面伪代码输出的结果为()I1For n from 1 to 11 step 2I2I+1If I20 then II-20End ifEnd forPrint IA0B。7C。10D。153方程x3+x+lgx-5=0在(1,5)上的实数根的个数为()A0个 B1个 C2个 D3个4写出下列伪代码的运行结果i0S0While S20 ii+1 SS+iEnd whilePrint iEnd第4题图2i0S0While S20 SS+i ii+1End whilePrint iEnd第4题图1(1)图1的运行结果为 ;(2)图1的运行结果为 。5以下给出的是用条件语句编写的一个伪代码,该伪代码的功能是 。Read xIf x3 theny2*xElseIf x3 thenyx*2-1Else y2End ifEnd ifPrint yEnd第5题图6某地电信部门规定:拨打市内电话时,如果通话时间不超过3min,则收取通话费0.22元;如果通话时间超过3min,则超过部分按每分钟0.1元收取通话费,不足1min按1min计设通话时间为t(min),通话费用为y(元),如何设计一个计算通话费用的算法?试写出算法伪代码7一个小朋友在一次玩皮球时,偶然发现一个现象:球从某高度落下后,每次都反弹回原高度的,再落下,再反弹回上次高度的,如此反复假设球从100处落下,那么第10次下落的高度是多少?在第10次落地时共经过多少路程?试用伪代码表示其算法8求的近似值可以用以下公式:现给定一个很小的正数a(例如,a10-100),当a时,取,这些项的和为的近似值,然后可求出的近似值.请设计一个算法并写出其伪代码,求出的近似值.算法初步基本算法语句与算法案例【典型例题】例1(1)D。提示:A须判断三边能否构成三角形;B须判断两点的横坐标是否相等;C须判断x是否为正。(2)A提示:当I9成立时,只能运算1357。(3)B。提示:mod(m,3)=1表示m被3除余1,2005、2005、2020均满足被3除余1,而2006被3除余2。(4)。提示:根据赋值语句的意义与使用规范作答。(5)。提示:的运行结果为7。例2 设购物款为x元,优惠价为y元,则优惠付款公式为开始输入xx100?YyxNx200?Yy0.95xNx300?Yy0.9xNx500?Yy0.85xNy0.8x输出y结束例2答图Read xIf x100 then yxElse If x200 theny0.95x ElseIf x300 then y0.9xElse If x500 then y0.85x Elsey0.8x End ifEnd if End ifEnd ifPrint yEnd 算法分析: S1 输入x的值; S2 如果x100,输出y=x,否则转入S3; S3 如果x200,输出y=0.95x,否则转入S4; S4 如果x300,输出y=0.9x,否则转入S5; S5 如果x500,输出y=0.85x,否则转入S6; S6 输出y=0.8x 流程图与伪代码见例2答图S1I2SSI输出S结束答图例3-1开始II+1I2007YN例3算法:S1I2While I2007 SS*I II+1End whilePrint SEnd答图例3-2S1 S1;S2 I2;S3 SSI;S4 II+1;S5 如果I2007,转S3;S6 输出S流程图为答图例3-1伪代码为答图例3-2例4分析 设末三位为的数具有自守的性质,则依上述问题的提出中的信息可知:,即 =故 由上分析可知,若末三位为的数具有自守的性质,则能被1000整除解 可用“For”循环语句或“While”循环语句来实现下列的算法用“For”循环语句写伪代码可见图1所示,用“While”循环语句写伪代码可见图2所示For I from 100 to 999 If int(I*I-I)/1000)= (I*I-I)/1000 then print INext IEnd例4答图1 I99While I999 II+1 If int(I*I-I)/1000)= (I*I-I)/1000 then print IEnd whileEnd例4答图2 【课内练习】1D。提示:根据赋值语句的格式进行判断。2B。提示:可不用条件语句。3B。提示:该伪代码的作用是求三个数中的最大值。4C。提示:800=3602+80,360=804+40,80=402。5(1)6;(2)7;(3)4,3;(4)2,4,36:x= -;:“方程无解”;:“解为一切实数”I1While I8Read a(i)II+1End whileI2ma(1)While I8If mm(i) then ma(i)Else II+1End ifEnd whilePrint mEnd第9题答796。提示:(1632,960)(672,960)(672,288)(384,288)(96,288)(96,288)(96,192)(96,96)。i1n=i3While n104Print nii+1n=i3End whileEnd第8题答8见答图。9见答图。10这是一个“While循环”,执行循环内容时,都是先判断,后做循环体内容的当I=1时,经过第1次判断,满足条件,第1次进入循环体,出来后,I=4;当I=4,经过第2次判断,满足条件,第2次进入循环体,出来后,I=7;当I=100时,满足条件,再一次进入循环体,出来后,I=103;当I=103时,判断不满足条件,至此循环结束故当I分别取1,4,7,100时,会进入循环体执行相应的任务,而判断时,I分别取了1,4,7,100,103故判断的次数为=35次,而经过循环体的次数则为34次算法初步基本算法语句与算法案例A组1B。提示:只有输出了3。输出的为,输出的为。2C。3B。48,7682。5S2*(S+1);II+1。6已知圆O内有一个边长为a的圆的内接正方形,求圆的面积比正方形的面积大多少开始输入xx0?Nz=1Yz= -1zz+1输入z结束第7题答图Read xIf x0 then z-1Else z1End ifzz+1Print zRead nA0B1Print A,BSA+BFor I from 3 to n CA+B SS+C Print C AB BCEnd forPrint SEnd第8题答图7见答图。8见答图。B组1A。2B3B。提示:f(x)= x3+x+lgx-5,f(1)f(5)0,且f(x)为单调函数4(1)7;(2)65求下列函数当自变量输入值为x时的函数值f(x),其中6y是关于t的分段函数,关系式为Read tIf t3 then y0.22ElseIf int(t)=t

温馨提示

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

评论

0/150

提交评论