学科网之数学直通车----算法初步知识体系
第一节算法与程序框图基础梳理1.算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是确定的和能执行的,而且能够在有限步之内完成.2.程序框图(1)定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)说明:在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
3.三种基本逻辑结构条件结构循环结构定义由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体程序框图名称顺序结构条件结构循环结构内容定义由若干个依次执行的步骤组成,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤成为循环体程序框图
典例分析题型一算法的设计【例1】已知点和直线l:Ax+By+C=0(A≠0),求点到直线l的距离d,写出其算法并画出程序框图.分析由公式可知,欲求点到直线的距离,要先求及,代入,用顺序结构解决.解算法如下:第一步,输入点P的坐标x0,y0及直线方程的系数A、B、C.第二步,计算第三步,计算第四步,计算第五步,输出d.
程序框图:学后反思给出一个问题,设计算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)将解决问题的过程划分为若干个步骤;(4)借助变量或参数用数学表达式表述算法;(5)用简练的语言将各个步骤表示出来.
1城区一中学生数学模块学分认定由模块成绩决定,模块成绩由模块考试成绩和平时成绩构成,各占50%,若模块成绩大于或等于60分,获得2学分,否则不能获得学分(为0分),设计一算法,通过考试成绩和平时成绩计算学分,并画出程序框图开始结束输入a,bS>=60?credit=2credit=0否是S=(a+b)*0.5输出credit
2、对任意正整数n,的值,并画出程序框图.开始输入一个正整数n输入S的值结束S=0i=1S=S+1/ii=i+1i≤nYN设计一个算法求步骤A步骤B思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?
例3设计一算法,求和:1+2+3+…+100结束i=i+1Sum=Sum+ii=100?否是能否说说这个流程图的异同点?
i=i+1Sum=Sum+i解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。直到型结构当型结构i=i+1Sum=Sum+i是否i=i+1Sum=Sum+i否是i=100?请填上判断的条件。
开始输入aa≥0输出|a|=a输出|a|=-a结束NYP11 练习1
开始X1=1X2=2m=(x1+x2)/2x2=mx1=mm*m-30|x1-x2|<0.005(x1*x1-3)*(m*m-3)>0输出所求的近似值m结束m=(x1+x2)/2NyyN练习2
▲下面是关于城市居民生活用水收费的问题为了加强居民的节水意识,某市制定了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费,超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费.开始输入xx≤7y=1.2xy=1.9x-4.9输入y结束yNP.11习题A组第1题程序框图
开始S=0I=I+1I=1S=S+I*II≤100输出S结束NYP.11习题1.1A组第2题
输入x开始x>3y=1.2x+1.4y=5输入y结束NYP.11习题A组第3题程序框图
开始输入50米跑成绩:xx<6.8输出提示“若要继续请按键”Y“,否则请按其他键输入到变量mm=“y”orm=“Y”结束输出xNYYNP.11习题1.1B组第1题程序框图
开始输出提出:“输入第一个方程的系数”“x的系数是”:a1“y的系数是”:b1“常数项是”:c1输出“x=”;x“y=”;y方程有无数多组解a1*b2-a2*b1≠0x=(c2*b1-c1*b2)/(a1*b2-a2*b1)y=(c2*b1-c1*b2)/(a1*b2-a2*b1)结束输出提出:“输入第二个方程的系数”“x的系数是”:a2“y的系数是”:b2“常数项是”:c2NYc1=c2方程无解P.11习题1.1B组第2题
举一反三1.写出求解方程a+x+c=0的一个算法.解析第一步,判断a是否等于零.若a=0,则解x=-c;若a≠0,则执行第二步.第二步,判断判别式Δ=1-4ac是否小于零.若Δ50).其中f(单位:元)为托运费,ω为托运物品的重量(单位:kg).试设计计算费用f的算法,并画出程序框图.分析这是一个实际问题,求费用f的计算公式随物品的重量ω的变化而不同,因此要对物品重量ω进行判断,比较ω与50的大小,然后由相应关系式求出费用f并输出.
解算法如下:第一步,输入ω.第二步,如果ω≤50,那么f=0.53ω;否则,f=50×0.53+(ω-50)×0.85.第三步,输出f.程序框图:学后反思利用条件结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框,而判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件.
3.儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m,但不超过1.5m,可买半票;若超过1.5m,应买全票.请以此设计一个算法并画出相应的程序框图.解析算法如下:第一步,测量儿童身高h.第二步,如果h≤1.1,那么免费乘车;否则,如果h≤1.5,那么买半票乘车;否则买全票.程序框图如图所示.举一反三
题型四算法的循环结构【例4】(12分)某企业2008年的生产总值为200万元,技术创新后预计以后每年的生产总值将比上一年增加5%,问:最早哪一年的生产总值将超过300万元?试写出解决该问题的一个算法,并画出相应的程序框图.分析设第n年后该企业生产总值为a,则,此时为(2008+n)年.解算法设计如下:第一步,n=0,a=200,r=0.05.第二步,T=ar(计算年增量).第三步,a=a+T(计算年产量)…………………………….3′第四步,如果a≤300,那么n=n+1,重复执行第二步;如果a>300,则执行第五步.第五步,N=2008+n.第六步,输出N……………………………………………6′
程序框图:方法一:方法二:……………12′…………12′
学后反思注意直到型循环结构和当型循环结构的本质区别,直到型循环结构先执行a=a+T,再判断a>300,若不满足,则执行循环体,直到满足才输出N;而当型循环结构先判断a≤300,若成立,则执行循环体,直到a≤300不成立才结束循环,输出N.举一反三4.(2009·江苏)如图是一个算法的流程图,最后输出的W=.答案:22解析:第一次:T=1,S=1-0=1;第二次:T=3,S=3-1=8;第三次:T=5,S=5-8=17,此时满足S≥10,所以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的错误在于被判断的条件x=0放在菱形框外,应放在菱形框里,同时菱形判断框只能有一个进口和两个出口.正解程序框图如图.
考点演练答案:A>0?V=S+T10.(2009·辽宁改编)某店一个月的收入和支出总共记录了N个数据,其中收入记为正数,支出记为负数.该店用如图所示的程序框图计算月总收入S和月净盈利V,那么在图中空白的判断框和处理框中,应分别填入,.解析:分析题意并结合框图可知:S代表收入,T代表支出,∴当A=>0时,累加到S,反之,累加到T,故判断条件为A>0?;则知T=0ANDx