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

伪代码不是可执行代码,因此并非强制使用确切的语法; 但是,遵循行业中广泛使用的标准会很有帮助,解决方案团队可以轻松理解。

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

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

如果算法不存在伪代码,则在编码阶段会花费不必要的时间思考解决方案或提取一些模糊的想法,通常会在最后期限临近的情况下进行。

在对算法进行故障排除时,伪代码会提供如何组合算法的背景思考,开发人员可能会或可能不会总是在身边帮助解决它。

看一下这个伪代码示例:
这是用软件开发工具编写的基于文本的伪代码。
//前面的笔触//指示文本是注释(或用开发术语注释掉),因此不是可执行代码的一部分。
下面的粗体字显示了开发人员的语法和尺寸,因为他们将其从伪代码中的要求解释为可执行代码。

// How do we get our ideas into code?
// Draw the face, an oval in the center
ellipse(width/2, height/2, 200, 300);

// Draw the two eyes, two ovals, about 2/3 up the face, and 1/5 the size of the face
ellipse(width/2 – 40, height/2 – 50, 40, 40);
ellipse(width/2 + 40, height/2 – 50, 40, 40);

下面的另一个示例显示了一种更加技术化和结构化的伪代码编写方法:

If student’s grade is greater than or equal to 60
Print “Well Done!”

else

Print “Sorry, you failed”

当引用结构化伪代码时,存在代表算法逻辑的标准术语,例如SEQUENCE,WHILE,IF-THEN-ELSE,其他有用的构造包括REPEAT-UNTIL,CASE和FOR。

这些术语为开发人员所理解,有助于建立需求,而无需使用others语或其他人可能无法理解的个人术语。

  • SEQUENCE指示任务的自上而下执行。
  • WHILE是一个重复循环,直到满足开始定义的条件为止。
  • IF-THEN-ELSE是在两个条件之间做出的决定:
IF HoursWorked > NormalWeek THEN
    Display overtime timesheet message
ELSE
    Display normal timesheet message
  • REPEAT-UNTIL是重复循环,直到满足最后定义的条件为止。
REPEAT

sequence

UNTIL condition
  • CASE根据表达式的值提供多个决策。
  • FOR是一个重复的计数循环

请注意,对于每个任务或过程,请在末尾使用END/ENDIF(使用IF),以表明它是终止点或输出结果。
当构造相互嵌套时,必须从其父构造中清楚地缩进它们,换句话说,所有显示依赖性的语句都应该缩进。
使用动词,“正在执行”的单词时,请使用诸如处理,计算机,重置,增量,添加,乘法,打印,显示等术语,并注意缩进会产生所需的伪代码。

现在让我们看一下算法及其与伪代码的区别。

首先,什么是算法?

“非正式地,算法是任何定义明确的计算过程,
一些值或一组值作为输入,并产生一些值或一组值,例如
输出。因此,算法是一系列计算步骤,可将
输入到输出中。”

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

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

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

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

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

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

算法之所以被命名是因为它们可以包括对其他算法的引用和调用。无论使用哪种编码软件,开发算法时都可能存在许多复杂性和技术性,因此需要进行明确定义以产生准确且理想的结果。

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

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

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

总而言之,伪代码是用于计划代码逻辑和实现健壮解决方案的重要叙述。这些解决方案使用结构合理,快速有效的算法来实现,这些算法可产生准确且理想的结果。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:伪代码和算法
本文链接:https://www.vsdiffer.com/vs/pseudocode-vs-algorithm.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。