算法与流程图
§§13.113.1算法与流程图算法与流程图 基础自测基础自测 1.以下对算法的描述正确的有个. ①对一类问题都有效;②算法可执行的步骤必须是有限的;③计算可以一步步地进行,每一步都有确切 的含义; ④是一种通法,只要按部就班地做,总能得到结果. 答案答案4 2.任何一个算法都必须有的基本结构是 . 答案答案顺序结构 3.下列问题的算法适宜用选择结构表示的是(填序号). ①求点 P(-1,3)到直线 l:3x-2y+1=0 的距离 ②由直角三角形的两条直角边求斜边 ③解不等式 ax+b>>0 (a≠0) ④计算 100 个数的平均数 答案答案③ 4.下列 4 种框图结构中,是直到型循环结构的为(填序号). 答案答案② 5.((20082008·广东理,·广东理,9 9))阅读下面的流程图,若输入 m=4,n=3,则输出 a=,i= .(注:框图中 的赋值符号“←”也可以写成“=”或“:=” ) 答案答案12 3 例例 1 1已知点 P(x 0,y0)和直线 l:Ax+By+C=0,求点 P(x0,y0)到直线 l 的距离 d,写出其算法并画出 流程图. 解解算法如下: 第一步,输入 x 0,y0及直线方程的系数 A,B,C. 流程图: 第二步,计算 Z 1←Ax0+By0+C. 第三步,计算 Z 2←A +B . 第四步,计算 d← 第五步,输出 d. 例例 2 2“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式, 某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算: 1 2 22 . 0.6 f = 1000.6(100)0.85 程图. 解解算法如下: S1输入 ; (100) (100) 其中 f(单位:元)为托运费, 为托运物品的重量(单位:千克).试设计计算费用 f 的算法,并画出流 S2如果≤100,那么 f←0.6;否则 f ←100×0.6+(-100)×0.85; S3输出 f. 流程图为: 例例 3 3(14 分)画出计算 1 -2 +3 -4 +…+99 -100 的值 解解流程图如下图. 222222的流程图. 14 分 1.写出求解一个任意二次函数 y=ax +bx+c(a≠0)的最值的算法. 解解算法设计如下: 第一步,计算 m ← 2 4ac b2 ; 4a 第二步,若 a>>0,输出最小值 m; 第三步,若 a<<0,输出最大值 m. 2.到银行办理个人异地汇款(不超过100 万元) ,银行收取一定的手续费,汇款额不超过100 元,收取1 元 手续费,超过 100 元但不超过 5 000 元,按汇款额的 1%收取,超过 5 000 元,一律收取 50 元手续费, 试用条件语句描述汇款额为 x 元时,银行收取手续费 y 元的过程,画出流程图. 解解这是一个实际问题,故应先建立数学模型, 1, y=0.01x, 50. 0 x 100 由此看出,求手续费时,需先判断 x 的范围,故应用选择结构描述.100 x 5 000 5 000 x 1 000 000 流程图如图所示: 3.利用两种循环写出 1+2+3+…+100 的算法,并画出各自的流程图. 解解直到型循环算法: 第一步:S←0; 第二步:I←1; 第三步:S←S+I; 第四步:I←I+1; 第五步:如果 I 不大于 100,转第三步;否则,输出 S. 相应的流程图如图甲所示. 当型循环算法如下: S1令 i←1,S←0 S2若 i≤100 成立,则执行 S3;否则,输出 S,结束算法 S3 S←S+i S4 i←i+1,返回 S2 相应的流程图如图乙所示. 一、填空题一、填空题 1.算法: S1输入 n; S2判断 n 是否是 2,若 n=2,则 n 满足条件,若 n>>2,则执行 S3; S3依次从 2 到 n-1 检验能不能整除 n,若不能整除 n,满足上述条件的是 . 答案答案质数 2.在算法的逻辑结构中,要求进行逻辑判断,并根据结果进行不同处理的是哪种结构 . 答案答案选择结构和循环结构 3.阅读下面的流程图,若输入的 a、b、c 分别是 21、32、75,则输出的 a、b、c 分别是 . 答案答案75,21,32 4.如果执行下面的流程图,那么输出的 S= . 答案答案2 550 5.((20092009·兴化市板桥高级中学·兴化市板桥高级中学 1212 月月考)月月考)如下图的流程图输出的结果为 . 答案答案132 6.如图所示,流程图所进行的求和运算是 . 1111 答案答案+++…+ 20246 7. ((20082008·· 山东理,山东理, 1313)) 执行下边的流程图, 若 p=0.8, 则输出的 n= . (注: 框中的赋值符号 “←” , 也可以写成“=”或“:=” ) 答案答案4 8.若框图所给的程序运行的结果为 S=90,那么判断框中应填入的关于 k 的判断条件是 . 答案答案k≤8 二、解答题二、解答题 3x 1 9.已知函数 f(x)= 25x 解解算法如下: 第一步,输入 x. (x 0) (x 0) ,写出该函数的函数值的算法并画出流程图. 第二步,如果 x<<0,那么使 f(x)←3x-1; 否则 f(x)←2-5x. 第三步,输出函数值 f(x). 流程图如下: 10.写出求过两点 P 1(x1,y1),P2(x2,y2)的直线的斜率的算法,并画出流程图. 解解由于当 x 1=x2时,过两点 P1、P2的直线的斜率不存在,只有当 x1≠x2时,根据斜率公式 k= y2 y1 求出,故可设计如下的算法和流程图. x2 x1 算法如下: 第一步:输入 x 1,y1,x2,y2; 第二步:如果 x 1=x2,输出“斜率不存在” ,否则, k ← y2 y1 ; x2 x1 第三步:输出 k. 相应的流程图如图所示: 11.画出求 1111 +++…+的值的流程图. 991001 22334 解解流程图如图所示: 12.某企业 2007 年的生产总值为 200 万元,技术创新后预计以后的每年的生产总值将比上一年增加 5%,问 最早哪一年的年生产总值将超过 300 万元?试写出解决该问题的一个算法,并画出相应的流程图. 解解算法设计如下: 第一步,n←0,a←200,r←0.05. 第二步,T←ar(计算年增量). 第三步,a←a+T(计算年产量). 第四步,如果 a≤300,那么 n←n+1,重复执行第二步. 如果 a>>300,则执行第五步. 第五步,N←2 007+n. 第六步,输出 N. 流程图如下: 方法一方法一 方法二方法二 §§13.213.2基本算法语句、算法案例基本算法语句、算法案例 1.下面是一个算法的操作说明: ①初始值为 n←0,x←1,y←1,z←0; ②n←n+1; ③x←x+2; ④y←2y; ⑤z←z+xy; ⑥如果 z>7 000,则执行语句⑦;否则回到语句②继续执行; ⑦打印 n,z; ⑧程序终止. 由语句