什么是伪码(what is the pseudocode)和算法?(algorithm?)的区别

简单来说,伪代码是一种描述算法逻辑的叙述。...

什么是伪码(what is the pseudocode)和算法?(algorithm?)的区别

简单来说,伪代码是一种描述算法逻辑的叙述。

伪代码不是可执行代码,因此不必使用精确的语法;但是,遵循业界广泛使用的标准是很有帮助的,解决方案团队可以很容易地理解该标准。

统一建模语言(UML)和其他业务建模方法也可以称为伪代码的例子。尽管这些工具不完全基于文本,但它们用于提供可执行任务或流程的可视化表示。

最好的做法是清楚地记录结构化和完整的伪代码,以帮助准确地翻译它,这是规划解决方案和编程逻辑的重要部分。

如果一个算法不存在伪代码,那么在编码阶段就要花费不必要的时间去思考解决方案,或者提取一些模糊的想法,通常最后期限就要到了。

在对算法进行故障排除时,伪代码提供了如何将其组合在一起的背景思想,开发人员可能会也可能不会一直在帮助解决问题。

看看这个来自khan academy[i]的伪代码示例:

这是用软件开发工具编写的基于文本的伪代码。

前面的笔划//表示文本是注释(或在开发术语中注释掉),因此不是可执行代码的一部分。

下面的粗体文本显示了开发人员将伪代码中的需求解释为可执行代码时的语法和维度。

//如何将我们的想法转化为代码?//绘制面,在中心椭圆上画一个椭圆形(宽/2,高/2200300);//画两只眼睛,两个椭圆形,大约2/3的脸,1/5的脸椭圆的大小(宽/2-40,高/2-50,40,40);椭圆(宽/2+40,高/2-50,40,40);

下面的另一个例子展示了编写伪代码的更具技术性和结构化的方法:

如果学生成绩大于或等于60分,请打印“干得好!”elsePrint“对不起,你失败了”

当提到结构化伪代码时,有一些表示算法逻辑的标准术语,例如SEQUENCE,而IF-THEN-ELSE和其他结构也很有用,包括REPEAT-UNTIL、CASE和FOR。

这些术语被开发人员理解,并且有助于构建需求,而不使用其他人可能不理解的俚语或个人术语。

  • SEQUENCE表示从上到下依次执行任务。
  • WHILE是在满足开始时定义的条件之前执行的重复循环。
  • IF-THEN-ELSE是在两个条件之间做出的决定:
例如如果工作小时数>;正常工作周,然后显示加班时间表消息显示正常时间表消息
  • REPEAT-UNTIL是一个重复的循环,一直执行到满足最后定义的条件为止。
示例RepeatSequenceUntil条件
  • CASE提供了基于表达式值的多个决策。
  • 因为这是一个重复的计数循环

请注意,对于每个任务或流程,在末尾使用END/ENDIF(如果使用IF)表示它是终止点或输出结果。

当构造相互嵌套时,它们必须从父构造中清楚地缩进,因此换句话说,所有显示依赖关系的语句都应该缩进。

用动词表示“做”字,使用诸如进程、计算机、重置、增量、加法、乘法、打印、显示等术语,并注意缩进和伪代码。

什么是伪码(what is the pseudocode)和算法?(algorithm?)的区别

现在让我们看看算法以及它们与伪代码的区别。

首先,什么是算法?

非正式地说,算法是任何定义良好的计算过程,它以某个值或一组值作为输入,产生某个值或一组值作为输出。因此,算法是一系列将输入转化为输出的计算步骤

因此,更简单地说,算法是由解决问题或完成任务的一系列步骤定义的可执行代码逻辑。

与伪代码不同,编写算法的人需要编程知识,因为它是由计算机(而不是开发人员)来解释的,以执行任务、操作、加密和提取数据。

算法从根本上指导计算机程序执行代码逻辑中定义的任务。任何编程语法中的错误都会妨碍这些任务的成功执行,而这正是需要编程知识的地方。

在规划阶段编写伪代码时,要记住算法必须有效、集中,并达到最终结果;必须始终考虑解决方案的所有方面。

算法做什么?基本上,它由触发器、进程或其他算法执行,并接受数据作为其输入。数据经过指令和操作的步骤来产生输出。

数据存储在变量中,每个变量都以算法命名,以便在执行过程中将数据分配给它。

算法也被命名,因为它们可以包含对其他算法的引用和调用。无论使用何种编码软件,在开发算法时都可能存在许多复杂性和技术性问题,因此需要进行良好的定义,以产生准确和期望的结果。

在设计和实现算法时要考虑的另一个重要方面是算法的执行速度。这一点在习惯了更快的软件和更快的设备的最终用户中越来越明显。

例如,对搜索条件应用过滤器并等待结果显示的时间异常长,这可能是一种无法忍受的体验。然后,开发人员将研究如何以及何时接收数据,是否可以在子进程中过滤数据等。

编写减慢任何进程的代码逻辑会对用户、开发人员和业务产生负面影响。

总之,伪代码是规划代码逻辑和实现健壮解决方案的重要叙述。这些解决方案是使用结构良好、快速有效的算法来实现的,这些算法可以产生准确和期望的结果。

 

 

  • 发表于 2021-06-24 23:47
  • 阅读 ( 1613 )
  • 分类:IT

你可能感兴趣的文章

适应的(adaptive)和非自适应路由算法(non adaptive routing algorithms)的区别

...应路由算法 5. 摘要 什么是自适应路由算法(adaptive routing algorithms)? 动态路由或自适应路由使用自适应算法。这些算法根据拓扑结构和网络流量改变路由决策。相邻路由器或所有路由器提供路由信息。主要的优化参数是一些跳数...

  • 发布于 2020-10-18 20:02
  • 阅读 ( 593 )

算法(algorithm)和流程图(flowchart)的区别

...列比较-算法与表格形式的流程图 6. 摘要 什么是算法(an algorithm)? 每一个任务都是根据一个算法来完成的。如果Facebook有一个这样的问题,那么它将如何在一个日志中出现。首先,用户应该打开浏览器。然后他应该输入正确的网...

  • 发布于 2020-10-19 17:44
  • 阅读 ( 855 )

sata 3的实际速度是多少?

...ias and Clock Recovery. This is often accomplished using a specific coding algorithm called 8b/10b Encoding. It is not the only encoding algorithm which has been devised to this end (there is also a Manchester encoding), but it has become the de facto standard for SATA data transfer. In 8b/10b encod...

  • 发布于 2021-04-10 11:06
  • 阅读 ( 149 )

本周最佳科技作品,11月4日

...矶书评:斯蒂芬·马奇-文学不是数据:反对数字人文
 Algorithms are inherently fascistic, because they give the comforting illusion of an alterity to human affairs. "You don’t like this music? The algorithms have worked it out" is not so far from "You don’t like this law? I...

  • 发布于 2021-04-24 12:42
  • 阅读 ( 134 )

dda公司(dda)和bresenham算法(bresenham’s algorithm)的区别

...实际差异。 什么是数字差分算法(dda)(digital differential algorithm (dda))? DDA主要用于在计算机图形学中绘制线,在预测下一个像素值时使用实际值。假设初始像素值为(X0,Y0)(X0,Y0),目标像素为(X1,Y1)(X1,Y1)。我们将...

  • 发布于 2021-06-25 00:12
  • 阅读 ( 614 )

算法(algorithm)和伪码(pseudocode)的区别

...了解决问题的正确步骤序列。 Figure 1: Writing Algorithms using Pseudocode 在编写程序时,识别程序的算法是非常重要的。例如,要添加两个数字,首先将sum变量初始化为0,然后输入两个数字。然后,加法存储到sum变量中。最后,打印出...

  • 发布于 2021-06-30 18:03
  • 阅读 ( 890 )

普里姆斯(prims)和krushal算法(krushal algorithm)的区别

...语 图,克鲁希尔算法,PRM算法,树 什么是prims算法(prims algorithm)? Prim的算法有助于从图中找到最小生成树。它确定包含图的每个顶点的边的子集。它还减少了边的权重之和。此外,该算法从根节点开始,在每一步检查所有相邻...

  • 发布于 2021-07-01 11:09
  • 阅读 ( 242 )

遗传算法(genetic algorithm)和传统算法(traditional algorithm)的区别

...、搜索、排序、分治、传统算法 什么是遗传算法(genetic algorithm)? 遗传算法是指基于遗传和自然选择的一类算法。这与物种适应环境变化并能够生存的过程相似。换句话说,它是建立在生物进化的基础上的。 此外,该算法不断...

  • 发布于 2021-07-01 15:41
  • 阅读 ( 239 )

伪码(pseudocode)和流程图(flowchart)的区别

...差异比较 关键术语 算法,流程图,伪码 什么是伪码(a pseudocode)? 伪代码是一种非正式的程序编写方式。然而,它不是一个计算机程序。它仅用自然语言和数学符号表示程序的算法。此外,没有专门的编程语言来编写伪代码。...

  • 发布于 2021-07-01 17:09
  • 阅读 ( 1217 )

树桩(stub)和司机(driver)的区别

...例程,除了声明它们自己和它们接受的参数之外,实际上什么都不做。剩下的代码可以接受这些参数并将其用作输入。存根和驱动程序通常只是用作例程的占位符,即仍然需要开发的代码。因此,存根和驱动程序只包含足够的代...

  • 发布于 2021-07-12 11:27
  • 阅读 ( 169 )
araon111
araon111

0 篇文章