算法与程序框图知识讲解

上传人:宝路 文档编号:22000571 上传时间:2017-11-25 格式:DOC 页数:13 大小:941.35KB
返回 下载 相关 举报
算法与程序框图知识讲解_第1页
第1页 / 共13页
算法与程序框图知识讲解_第2页
第2页 / 共13页
算法与程序框图知识讲解_第3页
第3页 / 共13页
算法与程序框图知识讲解_第4页
第4页 / 共13页
算法与程序框图知识讲解_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《算法与程序框图知识讲解》由会员分享,可在线阅读,更多相关《算法与程序框图知识讲解(13页珍藏版)》请在金锄头文库上搜索。

1、算法与程序框图【学习目标】1.初步建立算法的概念; 2.让学生通过丰富的实例体会算法的思想;3.让学生通过对具体问题的探究,初步了解算法的含义;4.掌握程序框图的概念;5.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;6.掌握画程序框图的基本规则,能正确画出程序框图.【要点梳理】要点一、算法的概念1、算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2、算法的特征:(1)确定性:

2、算法的每一步都应当做到准确无误、 “不重不漏”.“不重”是指不是可有可无的、甚至无用的步骤, “不漏”是指缺少哪一步都无法完成任务.(2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确, “前一步”是“后一步”的前提, “后一步”是“前一步”的继续.(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.(4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法3、设计算法的要求(1)写出的算法,必须能解决一类问题(如:判断一个整数 35 是否为质数;求任意一个

3、方程的近似解) ,并且能够重复使用(2)要使算法尽量简单、步骤尽量少(3)要保证算法正确且计算机能够执行,如:让计算机计算 12345 是可以做到的4、算法的描述:(1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构清晰、条理分明、通俗易懂、便于检查修改及交流等特点.(3)程序语言:算法最终可以通过程序的形式编写出来,并在计算机上

4、执行.要点诠释:算法的特点:思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成,而这些恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作,正因为这些,现代算法的作用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一.事实上,算法中出现的程序只是用基本的语句把程序的主要结构描述出来,与真正的程序还有差距,所以算法描述的许多程序并不能直接运行,要运行程序,还要把程序按照某种语言的严格要求重新改写才行.要点二、程序框图1、程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.2、构成程序框的图形符号及其作用

5、程序框 名称 功能起止框表示一个算法的起始和结束,是任何算法程序框图不可缺少的.输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置.处理框赋值、计算.算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内.判断框判断某一条件是否成立,成立时在出口处标明“是”或 “Y”;不成立时在出口处则标明“否”或 “N”.流程线 算法进行的前进方向以及先后顺序连结点 连接另一页或另一部分的框图3、程序框图的构成一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字.4、算法的三种基本逻辑结构(1)顺序结构顺序结构是

6、最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构.见示意图和实例: 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.如在示意图中,A 框和 B 框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执行 B 框所指定的操作.(2)条件结构如下面图示中虚线框内是一个条件结构,此结构中含有一个判断框,算法执行到此判断给定的条件 P是否成立,选择不同的执行框(A 框、B 框).无论 P 条件是否成立,只能执行 A 框或 B 框之一,不可能既执行 A 框又执行 B

7、 框,也不可能 A 框、B 框都不执行.A 框或 B 框中可以有一个是空的,即不执行任何操作.见示意图要点诠释:条件结构中的条件要准确,不能含混不清,要清楚在什么情况下需要作怎样的判断,用什么条件来区分(3)循环结构在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.循环结构有两种形式:当型循环结构和直到型循环结构.当型循环结构,如左下图所示,它的功能是当给定的条件 P 成立时,执行 A 框,A 框执行完毕后,返回来再判断条件 P 是否成立,如果仍然成立,返回来再执行 A 框,如此反复执行 A 框,直到某一次返回

8、来判断条件 P 不成立时为止,此时不再执行 A 框,离开循环结构,继续执行下面的框图.直到型循环结构,如右下图所示,它的功能是先执行重复执行的 A 框,然后判断给定的条件 P 是否成立,如果 P 仍然不成立,则返回来继续执行 A 框,再判断条件 P 是否成立,依次重复操作,直到某一次给定的判断条件 P 成立为止,此时不再返回来执行 A 框,离开循环结构,继续执行下面的框图.见示意图要点诠释:循环结构中使用什么样的条件控制循环的开始和结束,要清楚满足某个条件的变量的次数与循环次数的联系与区别.误区提醒1、框图中的流程线不能出现交叉的现象.若有交叉,则程序语句无法写出;2、各种框图有其固定的格式和

9、作用,不要乱用.如条件结构中不要忘了“是”与“否” ,流程线不要忘记画箭头;3、条件分支结构的方向要准确;4、循环结构中,计数变量要赋初值,计数变量的自加不要忘记,自加多少不能弄错.另外计数变量一般只负责计数任务;5、循环结构中循环的次数要严格把握,区分“”与“”等.循环变量的取值与循环结构(当型与直到型)有关,需区分清楚.另外,同一问题用两种不同的结构解决时,其判断条件恰是相反的;6、程序框图不要出现死循环(无限步的循环).【典型例题】类型一:算法的概念例 1下列对算法的理解不正确的是( )A算法有一个共同特点就是对一类问题都有效(而不是个别问题)B算法要求一步步执行,且每一步都能得到唯一的

10、结果C算法一般是机械的,有时要进行大量重复的计算,它的优点是一种通法D任何问题都可以用算法来解决【答案】 D【解析】 算法是解决问题的精确的描述,但是并不是所有问题都有算法【总结升华】 算法一般是机械的,有时需要进行大量的重复计算,只要按部就班去做,总能算出结果.通常把算法过程称为“数学机械化” ,数学机械化的最大优点是它可以借助计算机来完成.实际上处理任何问题都需要算法,如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续.举一反三:【变式 1】我们已学过的算法有求解一元二次方程的求根公

11、式,加减消元法求二元一次方程组的解,二分法求出函数的零点等,对算法的描述有:对一类问题都有效;算法可执行的步骤必须是有限的;算法可以一步一步地进行,每一步都有确切的含义;是一种通法,只要按部就班地做,总能得到结果以上算法的描述正确的有( ) A1 个 B2 个 C3 个 D4 个【答案】D【变式 2】下列哪个不是算法的特征( )A.抽象性 B.精确性C.有穷性 D.唯一性【答案】D.类型二:算法的描述例 2写出求解二元一次方程组 的一个算法1122axbyc【解析】 1122 axbyc因为是二元一次方程组,所以 a1、a 2 不能同时为 0第一步,假设 a10(若 a1=0,可将第一个方程与

12、第二个方程互换) ,得到 21 2211bcy即方程组化为 11221()axbycac 第二步,若 a1b2a 2b10,解得 211b第三步,将代入,整理得 211cxa第四步,输出结果 x、y如果 a1b2a 2b1=0,从可以看出,方程组无解或有无穷多组解【总结升华】一般化,得到求二元一次方程组 的高斯消去算法步骤:121()axyb第一步:计算 ;1212Da第二步:若 ,则原方程组无解或有无穷多组解,否则( ) .0 0D121baxy第三步:输出计算的结果 、 或者无法求解的信息xy举一反三:【变式 1】试描述求解三元一次方程组 的算法步骤12 36 zxy【解析】算法 1:第一

13、步,+,得 x=5 第二步,将分别代入式和式可得 7 31yz第三步,得 y=4 第四步,将代入可得 z=11第五步,得到方程组的解为 51xyz算法 2:第一步,+,得 2xy=14 第二步,得 xy=9 第三步,得 x=5 第四步,将代入式,得 y=4 第五步,将和代入式,得 z=11第六步,得到方程组的解为 51xyz【变式 2】 鸡兔同笼问题:一群小兔一群鸡,两群合到一群里,要数腿 48,要数脑袋17,多少小兔多少鸡?【解析】算术算法:小兔的只数: ;小鸡的只数:17-7=10.48172应用解二元一次方程组的方法来求解鸡兔同笼问题的步骤第一步:设有小鸡 x 只,小兔 y 只,则有 )

14、2(4821yx第二步:将方程组中的第一个方程两边乘2 加到第二个方程中去,得到,得到 y=7;21748)(yx第三步:将 y=7 代入(1)得 x=10类型三:算法的设计例 3、给出求 1+2+3+4+5 的一个算法. 【解析】本题可以按照逐一相加的程序进行,也可以运用公式 直接计算,123n 2)1(还可以用循环方法求和.算法 1第一步:计算 1+2,得到 3;第二步:将第一步中的运算结果 3 与 3 相加,得到 6;第三步:将第二步中的运算结果 6 与 4 相加,得到 10;第四步:将第三步中的运算结果 10 与 5 相加,得到 15.算法 2第一步:取 =5; n第二步:计算 ;)1

15、(第三步:输出运算结果.算法 3第一步:使 ;S第二步:使 ;2i第三步:使 ;i第四步:使 ;1第五步:如果 ,则返回第三步,否则输出 .5S【总结升华】一个问题的算法可能不唯一;若将本例改为“给出求 的一个算法” ,则上述算法 2 和算法 3 表达较为方便.2310举一反三:【变式 1】写出求 的一个算法.1230【答案】第一步:使 , ; S第二步:使 ;i第三步:使 ;1n第四步:使 ;第五步:使 ;i第六步:如果 ,则返回第三步,否则输出 .0S【变式 2】求 1357911 的值,写出其算法.【答案】算法 1:第一步,先求 13,得到结果 3;第二步,将第一步所得结果 3 再乘以 5,得到结果 15;第三步,再将 15 乘以 7,得到结果 105;第四步,再将 105 乘以 9,得到 945;第五步,再将 945 乘以 11,得到 10395,即是最后结果.算法 2:用 P 表示被乘数,i 表示乘数.第一步,使 P=1;第二步,使 i=3;第三步,使 P=Pi;第四步,使 i=i+2;第五步,若 i11,则返回到第三步继

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号