程序流程图的switch怎么表⽰_⽰例说明算法和流程图
算法和流程图是解释程序过程的两种⼯具。在此页⾯中,我们将讨论算法和流程图之间的差异,以及如何创建流程图以直观地说明算法。
算法和流程图是⽤于创建新程序(尤其是在计算机编程中)的两种不同⼯具。算法是对过程的逐步分析,⽽流程图以图形⽅式解释了程序的步骤。
算法定义
编写解决问题的逻辑逐步⽅法称为算法;换句话说,算法是解决问题的过程。为了解决数学或计算机问题,这是过程的第⼀步。算法包括计算,推理和数据处理。可以通过⾃然语⾔,伪代码和流程图等来表⽰算法。
流程图的定义
流程图是算法的图形或图形表⽰,借助不同的符号,形状和箭头来演⽰过程或程序。使⽤算法,我们可以轻松理解程序。使⽤流程图的主要⽬的是分析不同的⽅法。流程图中应⽤了⼏种标准符号:
上⾯的符号代表流程图的不同部分。流程图中的过程可以通过具有不同⼤⼩和颜⾊的框和箭头表⽰。在流程图中,我们可以轻松地突出显⽰某些元素以及每个部分之间的关系。
算法和流程图之间的区别
如果将流程图与电影进⾏⽐较,则算法就是该电影的故事。换句话说,算法是流程图的核⼼。实际上,在计算机编程领域,算法和流程图之间在各个⽅⾯都有很多差异,例如准确性,它们的显⽰⽅式以及⼈们对它们的感觉。下表详细说明了它们之间的区别。
算法类型
算法在计算机编程中得到⼴泛使⽤也就不⾜为奇了。但是,它可以应⽤于解决数学问题,甚⾄在⽇常⽣活中。这⾥有⼀个问题:有⼏种类型的算法?根据奥地利符号计算研究所(RISC)的计算机科学家Chr
istoph Koutschan博⼠的说法,他对重要算法类型的投票进⾏了调查。结果,他列出了计算机科学中的32个关键算法。尽管算法很复杂,但是我们通常可以根据算法的功能将算法分为六种基本类型。
1.Recursive Algorithm
它是指通过将问题反复分解为同类⼦问题来解决问题的⽅法。使⽤递归算法解决问题的经典⽰例是河内塔。
2. Divide and Conquer Algorithm
传统上,分治法包括两部分:1.将问题分解为⼀些较⼩的相同类型的独⽴⼦问题;2.分别解决这些较⼩的问题后,到原始问题的最终解决⽅案。流程图转换为ns图
分⽽治之算法的要点是:
如果您可以到原始问题的重复⼦问题和循环⼦结构,则可以迅速将原始问题变成⼀个⼩的简单问题。
尝试将整个解决⽅案分解为不同的步骤(不同的步骤需要不同的解决⽅案),以简化流程。
⼦问题容易解决吗?如果不是这样,最初的问题可能会花费很多时间。
3.Dynamic Programming Algorithm
由理查德·贝尔曼(Richard Bellman)在1950年代开发的动态编程算法通常⽤于优化问题。在这种算法中,将收集过去的结果以供将来使⽤。与分治法⼀样,动态编程算法将复杂的问题分解为⼀些简单的⼦问题,从⽽简化了该问题。但是,它们之间最显着的区别是,后者需要重叠的⼦问题,⽽前者则不需要。
4.Greedy Algorithm
这是解决优化问题的另⼀种⽅法-贪婪算法。它指的是始终在每个步骤中到最佳解决⽅案,⽽不是考虑整体最优性。也就是说,他所做的只是局部最优。由于贪婪算法的局限性,必须注意的是,选择贪婪算法的关键是将来是否考虑任何后果。
5.Brute Force Algorithm
蛮⼒算法通常是基于问题的描述和所涉及概念的定义,是对该问题的简单直接的解决⽅案。您也可以使⽤“随便做!” 描述蛮⼒的策略。简⽽⾔之,蛮⼒算法被认为是最简单的算法之⼀,它迭代所有可能性并最终得到令⼈满意的解决⽅案。
6.Backtracking Algorithm
基于深度优先的递归搜索,回溯算法专注于在类似枚举的搜索过程中到问题的解决⽅案。当它不能满⾜条件时,它将返回“回溯”并尝试另⼀条路径。它适⽤于解决⼤型和复杂的问题,因此赢得了“⼀般解决⽅法”的美誉。⼋皇后之谜是最著名的回溯算法⽰例之⼀。
如何使⽤流程图表⽰算法
现在我们有了算法和流程图的定义,我们如何使⽤流程图表⽰算法?要创建算法,我们需要专业⼯具软件。
算法主要⽤于数学和计算机程序,⽽流程图可⽤于描述各种过程:商务,教育,个⼈和算法。因此,流程图通常⽤作程序规划⼯具,以可视⽅式组织程序的逐步过程。这⾥有些例⼦:
⽰例1:打印1⾄20:
算法:
步骤1:将X初始化为0,
步骤2:将X递增1,
第3步:打印X,
步骤4:如果X⼩于20,则返回步骤2。
流程图:
⽰例2:将温度从华⽒(℉)转换为摄⽒(℃)算法:
第1步:读取华⽒温度,
步骤2:使⽤公式C = 5/9 *(F-32)计算温度,
步骤3:打印C
流程图:
⽰例3:确定学⽣是否通过了考试:
算法:
步骤1:输⼊4门课程M1,M2,M3和M4的成绩,
步骤2:使⽤公式“等级=(M1 + M2 + M3 + M4)/ 4”计算平均等级步骤3:如果平均成绩低于60,则打印“失败”,否则打印“通过”。流程图:
结论

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。