- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二节 算法和算法的描述 韩信点兵 韩信带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。韩信马上说出人数:1049。 韩信已经知道死了四五百了,具体多少不知道,那么韩信是如何快速求出结果的呢? 知识与技能 (1)了解算法的定义及其表达方法; (2)认知流程图的六种基本符号; (3)理解计算机解决问题的一般过程。 (4)理解用不同的表达方法描述算法的优缺点; (5)掌握用流程图描述简单的算法。 重点难点 (1)算法的定义; (2)算法的三种表达方法; (3)流程图的六种基本符号; (4)用流程图描述简单的算法。 什么是算法 算法是解决问题的方法和步骤。通俗点说,就是计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。 算法独立于任何具体的程序设计语言,一个算法可以用多种程序设计语言来实现。 例:两个大人和两个小孩一起渡河。渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四人都会划船,但都不会游泳。他们怎样渡过河去?请写出你的渡河方案。 设计算法 渡河的方法与步骤: 第1步:两个小孩同船渡过河去; 第2步:一个小孩划船回来; 第3步:一个大人独自划船渡过河去; 第4步:对岸的小孩划船回来; 第5步:两个小孩再同船渡过河去; 第6步:一个小孩划船回来; 第7步:余下的一个大人独自划船渡过河去; 第8步:对岸的小孩划船回来; 第9步:两个小孩再同船渡过河去。 算法的特征 算法要有一个清晰的起始步,表示处理问题的起点,且每一个步骤只能有一个确定的后继步骤( 算法的确定性),从而组成一个步骤的有限序列( 算法的有穷性);要有一个终止步(序列的终止)表示问题得到解决或不能得到解决;每条规则必须是确定的、可行的( 算法的可行性)、不能存在二义性。算法总是对数据进行加工处理,因此,算法的执行过程中通常要有数据 输入(0个或多个)和数据 输出(至少一个)的步骤。 描述算法的方法 1、自然语言:即用人们日常使用的语言和数学语言描述的算法。无需专门训练,描述的算法通俗易懂。 思考:经典算法中的百钱百鸡。现拿100文钱去买100只鸡,公鸡为5文钱一只,母鸡3文钱一只,小鸡是1文钱买三只。有哪些买法?输出组合。 通过阅读得知,自然语言描述算法的缺点有: (1)、由于自然语言的歧义性而导致算法执行的不确定性; (2)、自然语言语句较长而导致描述的算法太长; (3)、难以清楚地描述循环和分支结构的算法; (4)、不便于翻译成计算机设计语言。 实践:判断输入的三角形边长A、B、C能否构成三角形,能构成三角形则输出其面积,否则输出“不能构成三角形”。 算法: 1、输入三边长,分别为A、B、C 2、判断三边能否构成三角形 3、能构成三角形则计算其面积并显示,否则显示“不能构成三角形” 4、结束 韩信点兵算法1 从1开始,取出一个自然数判断它被3、5、7整除后的余数是否为1、3、4,如果是,则这个数即是所求的数,求解结束。否则,用下一个数再试,直到找到这个数为止。(假设人数N100) 自然语言描述 1、将N的初始值赋为1 2、如果N100并且N被3、5、7整除后余数为1、3、4,则输出N的值,转入第4步 3、将N的值加1,转到第2步 4、结束程序 开始/结束符,表示算法的开始或结束; 输入/输出框,用于指出数据的输入或输出; 处理框,用于指出要处理的内容; 判断框,用于指出分支情况,通常,上面的顶 点表示入口,其它顶点表示出口; 流程线,表示流程控制方向; 2、流程图:即用一组标准的图形符号来描述算法。 开始 结束 连接点,表示算法中的连接。 流程图描述 开始 N被3、5、7整除 余数为1、3、4(N100) N=N+1 结束 N Y N=1 输出N值 用伪代码描述算法 For I=1 to N if n能被3、5、7整除余数为2、3、2 then 输出n exit for end if next1 3 、伪代码:伪代码是一种非正式代码,常用自然语言、数学语言和符号来描述算法的操作步骤。 完整的源程序 Private Sub Command1_Click() 算法:使用穷举法确立一个范围[1,100]然后从自然数1开始尝试,找到满足条件的数即输出 Dim i As Integer For i = 1 To 100 If i
文档评论(0)