算法与程序框图教案(高一数学)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 算法初步 §1.1 算法与程序框图
【入门向导】
“孙子问题”最早出现在我国《算经十书》之一的《孙子算经》中.其原文是:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何?答曰:二十三”.意思是说:今有一些事物,不知道它的数目,三个三个地数它们剩余二个,五个五个地数它们剩余三个,七个七个地数它们剩余二个,问这些事物的数目是多少?
“孙子问题”相当于求关于x ,y ,z 的不定方程组⎩⎪⎨⎪
⎧
m =3x +2
m =5y +3
m =7z +2
的正整数解.
《孙子算经》中给出了具体的解法,其步骤是:选定5×7的一个倍数,被3除余1,即70;选定3×7的一个倍数,被5除余1,即21;选定3×5的一个倍数,被7除余1,即15.然后按下式计算:m =70×2+21×3+15×2-105P .式中105为3,5,7的最小公倍数,P 为适当的整数,使得0 你能想出一种算法,利用计算机来解决上述问题吗? 1.对算法含义的理解 (1)算法是机械的 算法的设计要“面面俱到”不能省略任何一个小小的步骤,有时可能要进行大量重复计算,但只要按步骤一步一步地执行,总能得到结果.算法的这种机械化的特点,在设计出算法后,便于把具体过程交给计算机去完成. (2)算法是普遍存在的 实际上处理任何问题都需要算法,如国际象棋的棋谱、走法、胜负的评判标准,邮寄物品的相关手续,求一个二元一次方程组的解等等. (3)求解某个具体问题的算法一般是不唯一的 算法实际上是解决问题的步骤和方法,求解问题的出发点不同,就会得到不同的算法.如求二元一次方程组的解有代入消元法和加减消元法,但不同的算法可能会有“优劣”之分. 例1 早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、 泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤.从下列选项中选出最好的一种流程( ) A .1.洗脸刷牙、2.刷水壶、3.烧水、4.泡面、5.吃饭、6.听广播 B .1.刷水壶、2.烧水同时洗脸刷牙、3.泡面、4.吃饭、5.听广播 C .1.刷水壶、2.烧水同时洗脸刷牙、3.泡面、4.吃饭同时听广播 D .1.吃饭同时听广播、2.泡面、3.烧水同时洗脸刷牙、4.刷水壶 分析 处理问题的算法要求能够一步一步地执行,好的算法还要花费时间少. 解析 A 中洗脸刷牙可以在烧水的过程中进行,听广播可以和吃饭同时进行;D 中吃饭要在刷水壶、烧水、泡面之后. 答案 C 2.算法与数学问题解法的区别与联系 (1)联系 算法与解法是一般与特殊的关系,也是抽象与具体的关系.如教材中由具体的二元一次方程组的求解过程(解法)出发,归纳出了二元一次方程组求解的步骤;同时指出,这样的求解步骤也适合有限制条件的二元一次方程组,这些步骤就构成了二元一次方程组的算法.算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可利用这类问题的一般算法解决. (2)区别 算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程. 例2 给出求解方程组⎩⎪⎨⎪⎧ 2x +y =7. ① 4x +5y =11 ② 的一个算法. 解 方法一 (消元法) S1 ②-①×2,得3y =-3,③ S2 解③得y =-1;④ S3 将④代入①,得x =4; S4 输出x =4,y =-1. 方法二 (公式法) S1 计算D =2×5-4×1=6; S2 因为D =6,所以 x =5×7-11×16=4,y =11×2-7×4 6=-1; S3 输出x =4,y =-1. 点评本题中的方法二,直接利用高斯消去法的算法步骤,显得更为简捷.3.程序框图 (1)与自然语言相比用程序框图表示算法的优越性 用自然语言表示算法的步骤有明确的顺序性,但在处理条件结构或循环结构这样的问题时比较困难,不够直观、准确.程序框图是表示算法的另一种形式,它的结构清晰,步骤准确,有时能解决自然语言不易表达的问题. (2)画程序框图的规则 画程序框图的规则应是大家共同遵守的一些规则,目的是为了使大家彼此之间能读懂各自画的框图. ①使用标准的框图符号; ②框图一般按从上到下,从左到右的方向来画; ③除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号; ④在图形符号内描述语言要简练、清楚. 例3已知圆的半径,设计一个算法求圆的周长和面积的近似值,并用程序框图表示. 分析解答本题可由圆的周长公式和面积公式直接求解,其中圆的半径可由算法输入. 解算法设计:S1输入圆的半径R. S2计算L=2πR. S3计算S=πR2. S4输出L和S. 程序框图: 1.算法的确定性理解不到位 例1求2+4+6+8+…+100的算法. 错解 算法: S1 计算2+4+6+8+…+100; S2 输出第一步中的结果. 错解辨析 对于连加连乘的问题,不能直接得到答案,应当逐步进行. 正解 算法: S1 计算2+4得到6; S2 将第一步的结果与6相加得到12; S3 将第二步的结果与8相加得到20; S4 如此继续下去,一直加到100; S5 输出运算结果. 2.程序框图中循环结构功能、条件出错 例2 如图所示是某一算法的程序框图,根据该框图指出这一算法的功能. 错解 求S =12+14+16+18+1 10的值. 正解 在该程序框图中,S 与n 为两个累加变量,k 为计数变量,所以该算 法的功能是求12+14+16+…+1 20的值. 1.按部就班法 此法是基本方法,要求按问题的解题步骤“按部就班”地做,每一步都有唯一的结果,且在有限步之后得出结果. 例1 写出作∠ABC 的平分线的一个算法.