1、第十五单元 算法初步,知识体系,第一节 算法与程序框图,基础梳理,1.算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题. 2.程序框图 定义:用一些通用图形符号构成一张图来表示算法.,3. 三种基本逻辑结构,典例分析,题型一 算法的设计,【例1】已知点 和直线l:Ax+By+C=0(A0), 求点 到直线l的距离d,写出其算法并画出程序框图.,分析 由公式 可知,欲求点到直线的距离,要 先求 及 ,代入 ,用顺序结构解决.,解 算法如下: S1,输入点P的坐标x0,y0及直线方程的系数A、B、C.
2、 S2,计算 S3,计算 S4,计算 S5,输出d.,程序框图:,学后反思 给出一个问题,设计算法时应注意: (1)认真分析问题,联系解决此问题的一般数学方法; (2)综合考虑此类问题中可能涉及的各种情况; (3)将解决问题的过程划分为若干个步骤; (4)借助变量或参数用数学表达式表述算法; (5)用简练的语言将各个步骤表示出来.,举一反三,1. 写出求解方程a +x+c=0的一个算法.,解析 S1,判断a是否等于零.若a=0,则解x=-c;若a0,则执行S2.S2,判断判别式=1-4ac是否小于零.若0,则原方程无实数解;若0,则执行S3.S3,计算S4,输出方程的实数解.,题型二 算法的顺
3、序结构 【例2】如图,设计算法求底面边长为4,侧棱长为5的正四棱锥的侧面积及体积,并画出相应的程序框图.,分析 方法一:先求体积V= Sh,S= ,高h= ,R= a,斜高h= ,从而求得 =4 ah=2ah. 方法二:推导出利用a和l表达的侧面积及体积公式,然后代入求解.,解 由方法一可得算法一: S1,a=4,l=5. S2,R= a. S3,h= ,S= . S4,V= Sh. S5,输出V. S6,h= . S7, =2ah. S8,输出 . 由方法二得算法二: S1,a=4,l=5. S2,S侧=2a . S3,V= S4,输出S侧、V.,算法一程序框图如图1,算法二程序框图如图2.
4、图1 图2,学后反思 通过本题体会算法的思想,比较两种算法的优点.利用算法和程序框图,能够规范思维,可以锻炼书面表达的能力,先求什么,后求什么,无论是用算法表达,还是用程序框图表达,都是一目了然,非常清晰的,所以把这种方法用于我们平时的做题会使解题的思路简练、易懂、有逻辑性.,2. 写出求过两点 (2,0), (0,3)的直线方程的一个算法,并画出程序框图.,解析 算法如下:第一步,a=2,b=3.第二步,输出结果程序框图:,题型三 算法的条件分支结构,【例3】“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算: f
5、= 0.53 (50),500.53+(-50)0.85 (50). 其中f(单位:元)为托运费,为托运物品的重量(单位:kg).试设计计算费用f的算法,并画出程序框图.,分析 这是一个实际问题,求费用f的计算公式随物品的重量的变化而不同,因此要对物品重量进行判断,比较与50的大小,然后由相应关系式求出费用f并输出.,解 算法如下: S1,输入. S2,如果50,那么f=0.53;否则,f=500.53+(-50)0.85. S3,输出f. 程序框图:,学后反思 利用条件结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框,而判断框内的条件不同,对应的下一图框中的内容和操作要
6、相应地进行变化,故要逐个分析判断框内的条件.,3. 儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m,但不超过1.5 m,可买半票;若超过1.5 m,应买全票.请以此设计一个算法并画出相应的程序框图.,解析 算法如下: S1,测量儿童身高h. S2,如果h1.1,那么免费乘车;否则,如果h1.5,那么买半票乘车;否则买全票. 程序框图如图所示.,举一反三,题型四 算法的循环结构,【例4】(12分)某企业2008年的生产总值为200万元,技术创新后预计以后每年的生产总值将比上一年增加5%,问:最早哪一年的生产总值将超过300万元?试写出解决该问题的一个算法,并画出相应的程
7、序框图.,分析 设第n年后该企业生产总值为a,则 ,此时为 (2 008+n)年.,解 算法设计如下: S1,n=0,a=200,r=0.05. S2,T=ar(计算年增量). S3,a=a+T(计算年产量).3 S4,如果a300,那么n=n+1,重复执行第二步; 如果a300,则执行第五步. S5,N=2 008+n. S6,输出N6,程序框图: 方法一: 方法二:12 12,学后反思 注意直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行a=a+T,再判断a300,若不满足,则执行循环体,直到满足才输出N;而当型循环结构先判断a300,若成立,则执行循环体,直到a300不成立才
8、结束循环,输出N.,举一反三 4.(2009江苏)如图是一个算法的流程图,最后输出的W= .,答案: 22,解析: 第一次:T=1,S=1 -0=1; 第二次:T=3,S=3 -1=8; 第三次:T=5,S=5 -8=17, 此时满足S10,所以W=S+T=17+5=22.,易错警示,【例1】设计一个程序框图,求 的值.,错解 如图1,图2.,错解分析 图1的错误在于i=i+1,步长为1, 计算的是 图2的错误在于先执行i=i+2而后执行 , 计算的是,正解,【例2】已知函数请设计一个程序框图求函数值y.,错解 程序框图如图1,图2.图1 图2,错解分析 图1表示的函数为故错误.图2的错误在于
9、被判断的条件x=0放在菱形框外,应放在菱形框里,同时菱形判断框只能有一个进口和两个出口.,正解 程序框图如图.,考点演练,答案: A0?V=S+T,10. (2009辽宁改编)某店一个月的收入和支出总共记录了N个数据 ,其中收入记为正数,支出记为负数.该店用如图所示的程序框图计算月总收入S和月净盈利V,那么在图中空白的判断框和处理框中,应分别填入,.,解析: 分析题意并结合框图可知:S代表收入,T代表支出,当A= 0时,累加到S,反之,累加到T,故判断条件为A0?;则知T0,总利润V=S+T.,第10题图,11. 用 代表第i个学生的学号, 代表第i个学生的成绩 (i=1,2,3,50).设计程序框图打印出不低于80分的全部学生的学号和 成绩.,解析,12. 在国家法定工作日内,每周满工作量的时间为40小时,若每周工作时间不超过40小时,则每小时工资8元;如因需要加班,超过40小时的每小时工资为10元.某公务员在一周内工作时间为x小时,但他须交纳个人住房公积金和失业保险(这两项费用为每周总收入的10%).试分析算法步骤并画出其净得工资y元的算法的程序框图.(注:满工作量外的工作时间为加班),