《2020算法与流程图精品(1)精品》由会员分享,可在线阅读,更多相关《2020算法与流程图精品(1)精品(16页珍藏版)》请在金锄头文库上搜索。
1、13.1 算法与流程图基础自测1.以下对算法的描述正确的有 个.对一类问题都有效;算法可执行的步骤必须是有限的;计算可以一步步地进行,每一步都有确切的含义;是一种通法,只要按部就班地做,总能得到结果.答案 42.任何一个算法都必须有的基本结构是 .答案 顺序结构3.下列问题的算法适宜用选择结构表示的是 (填序号).求点P(-1,3)到直线l:3x-2y+1=0的距离由直角三角形的两条直角边求斜边解不等式ax+b0 (a0)计算100个数的平均数答案 4.下列4种框图结构中,是直到型循环结构的为 (填序号).答案 5.(2008广东理,9)阅读下面的流程图,若输入m=4,n=3,则输出a= ,i
2、= .(注:框图中的赋值符号“”也可以写成“=”或“:=”) 答案 12 3 例1 已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图. 解 算法如下:第一步,输入x0,y0及直线方程的系数A,B,C. 流程图:第二步,计算Z1Ax0+By0+C.第三步,计算Z2A2+B2.第四步,计算d.第五步,输出d.例2 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f =其中f(单位:元)为托运费,为托运物品的重量(单位:千克).试设计计算费用f的算法,并画
3、出流程图.解 算法如下:S1 输入;S2 如果100,那么f0.6;否则f 1000.6+(-100)0.85;S3 输出f.流程图为:例3 (14分)画出计算12-22+32-42+992-1002的值的流程图.解 流程图如下图. 14分1.写出求解一个任意二次函数y=ax2+bx+c(a0)的最值的算法.解 算法设计如下:第一步,计算m ;第二步,若a0,输出最小值m;第三步,若a0,输出最大值m.2.到银行办理个人异地汇款(不超过100万元),银行收取一定的手续费,汇款额不超过100元,收取1元手续费,超过100元但不超过5 000元,按汇款额的1%收取,超过5 000元,一律收取50元
4、手续费,试用条件语句描述汇款额为x元时,银行收取手续费y元的过程,画出流程图.解 这是一个实际问题,故应先建立数学模型,y=由此看出,求手续费时,需先判断x的范围,故应用选择结构描述.流程图如图所示:3.利用两种循环写出1+2+3+100的算法,并画出各自的流程图.解 直到型循环算法:第一步:S0;第二步:I1;第三步:SS+I;第四步:II+1;第五步:如果I不大于100,转第三步;否则,输出S.相应的流程图如图甲所示.当型循环算法如下:S1 令i1,S0S2 若i100成立,则执行S3;否则,输出S,结束算法S3 SS+iS4 ii+1,返回S2相应的流程图如图乙所示.一、填空题1.算法:
5、S1 输入n;S2 判断n是否是2,若n=2,则n满足条件,若n2,则执行S3;S3 依次从2到n-1检验能不能整除n,若不能整除n,满足上述条件的是 .答案 质数2.在算法的逻辑结构中,要求进行逻辑判断,并根据结果进行不同处理的是哪种结构 .答案 选择结构和循环结构3.阅读下面的流程图,若输入的a、b、c分别是21、32、75,则输出的a、b、c分别是 .答案 75,21,324.如果执行下面的流程图,那么输出的S= .答案 2 5505.(2009兴化市板桥高级中学12月月考)如下图的流程图输出的结果为 . 答案 1326.如图所示,流程图所进行的求和运算是 . 答案 +7.(2008山东
6、理,13)执行下边的流程图,若p=0.8,则输出的n= .(注:框中的赋值符号“”,也可以写成“=”或“:=”) 答案 48.若框图所给的程序运行的结果为S=90,那么判断框中应填入的关于k的判断条件是 .答案 k8 二、解答题9.已知函数f(x)=,写出该函数的函数值的算法并画出流程图.解 算法如下:第一步,输入x.第二步,如果x0,那么使f(x)3x-1;否则f(x)2-5x.第三步,输出函数值f(x).流程图如下: 10.写出求过两点P1(x1,y1),P2(x2,y2)的直线的斜率的算法,并画出流程图.解 由于当x1=x2时,过两点P1、P2的直线的斜率不存在,只有当x1x2时,根据斜
7、率公式k=求出,故可设计如下的算法和流程图.算法如下:第一步:输入x1,y1,x2,y2;第二步:如果x1=x2,输出“斜率不存在”,否则,k ;第三步:输出k.相应的流程图如图所示:11.画出求+的值的流程图.解 流程图如图所示:12.某企业2007年的生产总值为200万元,技术创新后预计以后的每年的生产总值将比上一年增加5%,问最早哪一年的年生产总值将超过300万元?试写出解决该问题的一个算法,并画出相应的流程图.解 算法设计如下:第一步,n0,a200,r0.05.第二步,Tar(计算年增量).第三步,aa+T(计算年产量).第四步,如果a300,那么nn+1,重复执行第二步.如果a30
8、0,则执行第五步.第五步,N2 007+n.第六步,输出N.流程图如下:方法一方法二13.2 基本算法语句、算法案例基础自测1.下面是一个算法的操作说明:初始值为n0,x1,y1,z0;nn+1;xx+2;y2y;zz+xy;如果z7 000,则执行语句;否则回到语句继续执行;打印n,z;程序终止.由语句打印出的数值为 、 .答案 8 7 6822.按照下面的算法进行操作:S1 x2.35S2 yInt(x)S3 Print y最后输出的结果是 .答案 23.读下面的伪代码:Read xIf x0 ThenPrint xElsePrint -xEnd If这个伪代码表示的算法的功能是 .答案
9、输入一个数,输出其绝对值4.下面是一个算法的伪代码.如果输入的x的值是20,则输出的y的值是 .答案 1505.与下列伪代码对应的数学表达式是 .Read ne0S1For I From 1 To n Step 1SSIee+1/SEnd forPrint e答案 S=1+例1 设计算法,求用长度为l的细铁丝分别围成一个正方形和一个圆时的面积.要求输入l的值,输出正方形和圆的面积.解 伪代码如下:Read lS1(ll)/16S2(ll)/(43.14)Print S1Print S2End例2 (14分)已知分段函数y=,编写伪代码,输入自变量x的值,输出其相应的函数值,并画出流程图.解 伪
10、代码如下:流程图如图所示:Read xIf x0 Theny -x+1ElseIf x=0 Theny0Elseyx+1End IfEnd IfPrint yEnd7分例3 编写一组伪代码计算1+,并画出相应的流程图.解 伪代码如下:i1S0While i1 000SS+1/iii+1End WhilePrint SEnd流程图如图所示:1.下面的表述:6p;t35+2;b+35;p(3x+2)-4)x+3;aa3;x,y,z5;ab3;xy+2+x.其中正确表述的赋值语句有 .(注:要求把正确的表述的序号全填上)答案 2.某百货公司为了促销,采用打折的优惠办法:每位顾客一次购物在100元以上
11、者(含100元,下同),按九五折优惠;在200元以上者,按九折优惠;在300元以上者,按八五折优惠;在500元以上者,按八折优惠.试写出算法、画出流程图、伪代码,以求优惠价.解 设购物款为x元,优惠价为y元,则优惠付款公式为y=算法分析:S1 输入x的值;S2 如果x100,输出yx,否则转入S3;S3 如果x200,输出y0.95x,否则转入S4;S4 如果x300,输出y0.9x,否则转入S5;S5 如果x500,输出y0.85x,否则转入S6;S6 输出y0.8x.3.某玩具厂1996年的生产总值为200万元,如果年生产增长率5%,计算最早在哪一年生产总值超过300万元.试写出伪代码.解 伪代码如下:n1 996p1.05a200While a300aapnn+1End WhilePrint nEnd一、填空题1.伪代码a3b5Print a+b的运行结果是 .答案 82.为了在运行下面的伪代码后输出y=16,应输入的整数x的值是 .Read xIf x0 Theny(x+1)2Elsey1-x2End IfPrint y答案 -53.写出下列伪代码的运行结果. 图1 图2(1)图1的运行结果为 ;(2)图2的运行结果为 .答案 (1)7 (2)64.以下给出的是用条件语句编写的一个伪代码,该伪代码的功能是 .