1、 17.1算法的含义与程序框图【考纲要求】1、 了解算法的含义,了解算法的思想。2、 理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。3、 理解几种基本算法语句(输入语句、输出语句、赋值语句、条件语句、循环语句)的含义。【基础知识】1算法的含义现代意义上的算法是可以用计算机来解决的某一类问题的程序或步骤,程序和步骤必须是明确和有效的,且能在有限步完成. 广义的算法是指做某一件事的步骤或程序。2算法特点具有概括性;确切性;有限性;不唯一性;普遍性.具体地说,概括性是指能解决一类问题;确切性是指每一步操作的内容和顺序必须是明确的;有限性是指必须在有限步内结束并返回一个结果;不唯一性是指一个问
2、题可以有多个算法,算法有优劣之分;普遍性是指很多具体的问题,都可以设计合理的算法去解决.3算法的语言自然语言、程序框图、程序设计语言4流程图 流程图又称程序框图,是一种用确定的图形,指向线及文字说明来准确,直观地表示算法的图形. 基本的程序框和它们各自表示的功能: 判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N” 5算法的三种基本逻辑结构和框图表示6循环语句的两种类型:当型和直到型 在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环。这种循环结构称为当型循环结构。在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,
3、直到条件满足时终止循环.这种循环结构称为直到型循环结构。两种循环语句的语句结构及框图如下.说明:“循环体”是由语句组成的程序段,能够完成一项工作. 注意两种循环语句的区别及循环内部改变循环的条件。【典型例题】例1 写出找出1至1 000内7的倍数的一个算法.解答:算法1:S1 令A=0;S2 将A不断增加1,每加一次,就将A除以7,若余数为0,则找 到了一个7的倍数,将其输出;S3 反复执行第二步,直到A=1 000结束.算法2:S1 令k=1;S2 输出k7的值;S3 将k的值增加1,若k7的值小于1 000,则返回S2,否则结 束.算法3:S1 令x=7;S2 输出x的值;S3 将x的值增
4、加7,若没有超过1 000,则返回S2,否则结束.例2 设计算法求的值,并画出程序框图。思路解析:(1)这是一个累加求和问题,共99项相加;(2)设计一个计数变量,一个累加变量,用循环结构实现这一算法。解答:算法如下:第一步:令S=0,第二步:若成立,则执行第三步; 否则,输出S,结束算法;第三步:第四步:,返回第二步。程序框图:方法一:当型循环程序框图:方法二:直到型循环程序框图:注:利用循环结构表示算法,一定要先确定是利用当型循环结构,还是直到型循环结构;第二要选择准确的表示累计的变量;第三要注意在哪一步开始循环。17.1算法的含义与程序框图强化训练【基础精练】1下列结构图中要素之间表示从
5、属关系的是 ()2下列框图中不是结构图的是 ()3如图是一个商场某一个时间制订销售计划时的局部结构图,则“计划”受影响的主要要素有 ()A1个B2个 C3个 D4个4如图所示程序框图运行后输出的结果为 ()A36 B45 C55 D565如程序框图所示,其作用是输入x的值,输出相应的y的值若要使输入的x的值与输出的y的值相等,则这样的x的值有 () A1个 B2个 C3个 D4个6如图,小圆圈表示网络的结点,结点之间的连线表示它们有网线相联,连线标注的数字表示该段网线单位时间内可以通过的最大信息量,现从结点B向结点A传递信息,信息可以分开沿不同的路线同时传递,则单位时间内传递的最大信息量为 (
6、)A26 B24 C20 D197在如下程序框图中,输入f0(x)cosx,则输出的是_8在如下图所示的程序框图中,当程序被执行后,输出s的结果是_ 9某篮球队6名主力队员在最近三场比赛中投进的三分球个数如下表所示: 队员i123456三分球个数a1 a2 a3a4a5a6下图是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图,则图中判断框应填_,输出的s_. 10据有关人士预测,我国的消费正由生存型消费转向质量型消费,城镇居民消费热点是商品住房、小轿车、新型食品、服务消费和文化消费;农村消费热点是住房、家电,试设计表示消费情况的结构图11某市环境保护局信访工作流程如下:(1)法制科受
7、理来访,一般信访填单转办,重大信访报局长批示;(2)及时转送有关部门办理,督办,如特殊情况不能按期办毕,批准后可延办,办毕反馈;(3)信访办理情况反馈后,归档备查,定期通报据上给出该局信访工作流程图12在国家法定工作日内,每周满工作量的时间为40小时,若每周工作时间不超过40小时,则每小时工资8元;如因需要加班,超过40小时的每小时工资为10元某公务员在一周内工作时间为x小时,但他须交纳个人住房公积金和失业保险(这两项费用为每周总收入的10%)试分析算法步骤并画出其净得工资y元的算法的程序框图(注:满工作量外的工作时间为加班)【拓展提高】1. 修订后的法规定,公民全月工资、薪金所得税的起征点为
8、1600元,即月收入不超过1600元,免于征税;超过1600元的按以下税率纳税;超过部分在500元以内(含500元)税率为5,超过500元至2000元的部分(含2000元)税率为10,超过2000元至5000元部分,税率为15,已知某厂工人的月最高收入不高于5000元。(1)请用自然语言写出该厂工人的月收入与应纳税款的一个算法(不要写成程序框图或计算机程序);(2)将该算法用程序框图描述之。(3) 写出相应的计算机程序【基础精练参考答案】1.C【解析】:A、B、D均为逻辑关系,只有C是从属关系2.C【解析】:流程图指的是一个动态过程,应有先后顺序,而结构图描述的是静态的系统结构,所以只有C是流
9、程图,不是结构图3.C【解析】:受“政府行为”、“策划部”和“社会需求”的影响4.B【解析】:其实质是求123945.5.C【解析】:这是一个用条件分支结构设计的算法,该程序框图所表示的算法的作用是求分段函数y的函数值,当x2时,令x2x,得x0或1;当2x5时,令2x3x,得x3;当x5时,令x,得x1(舍去),故只有3个值符合题意9. i7(或i6)a1+a2+a6【解析】:由题意该程序框图实际上是求该6名队员在最近三场比赛中投进三分球总数,故判断框应填i6?或i7?,输出s为a1+a2+a3+a4+a5+a6.10.【解析】:如图所示:11.解:工作流程图如下:12.解:算法如下:第一步,输入工作时间x小时第二步,若x40,则y8x(110%),否则y408(110%)(x40)10(110%)第三步,输出y值程序框图:【拓展提高参考答案】解答:(1)算法: 第一步 输入工资x (注x=5000);第二步 如果x=1600,那么y=0;如果1600x=2100,那么 y=0.05(x-1600);否则 y=25+0.1(x-2100)第三步 输出税款y, 结束。(2)程序框图为: