如何编写伪代码

作者: Gregory Harris
创建日期: 14 四月 2021
更新日期: 24 六月 2024
Anonim
编程基础第二课:什么是伪代码?
视频: 编程基础第二课:什么是伪代码?

内容

伪代码是一个简单的工具,可用于调度算法运行。当您必须编写复杂的代码时,您不太可能在开始工作之前将整个程序留在脑海中。想象一下伪代码是一种一致的口头描述,您稍后将其转换为一种编程语言。它是人类语言和编程语言的结合:伪代码使用计算机代码的语法,但其主要目的是可读。

脚步

方法 1 of 5:理解伪代码

  1. 1 找出什么是伪代码。 伪代码是对代码的一致口头描述,可以逐渐转换为编程语言。许多程序员在开始对代码进行更多技术工作之前使用它来规划算法的功能。伪代码是一个松散的计划,一个思考程序问题的工具,一个让你可以将你的想法传达给其他人的交流工具。
  2. 2 找出伪代码为何有用。 伪代码用于演示计算机算法可以并且应该如何工作。工程师经常使用伪代码作为编程的中间阶段——介于规划阶段和编写工作代码阶段之间。好的伪代码可以变成对程序最终版本的注释,并有助于程序员在未来修复错误或更正代码。伪代码也很有用:
    • 描述算法应该如何工作。伪代码显示程序、机制或技术的某个部分应如何在程序中显示。有经验的程序员经常使用伪代码向初级程序员解释他们的开发步骤。
    • 向不熟悉编程的人解释程序的过程。计算机需要非常严格的代码才能使程序运行,但人们,尤其是那些不参与编程的人,发现更容易理解一种更简单、更主观的语言,它清楚地描述了每一行代码的目的。
    • 在一个小组中开发代码。高技能工程师经常在他们的工作中加入伪代码,以帮助程序员解决他们即将面临的难题。如果您与其他程序员在一个小组中工作,伪代码将帮助您向其他人解释您在做什么。
  3. 3 请记住,伪代码是主观的而不是标准化的。 它缺乏明确定义的语法 - 只有一个不成文的规则来使用其他程序员可以轻松理解的标准结构。如果您是自己编写代码,伪代码可以帮助您整理思路并制定计划。如果您与其他工程师一起工作(无论他们的熟练程度如何),重要的是至少使用基本结构,以便其他人了解您想要做什么。
    • 如果您在某个机构学习编程,很可能会为您提供所谓的伪代码标准知识的测试。标准可能因教师而异,因学校而异。
    • 可理解性是伪代码的主要标准,因此如果您在工作中使用标准结构,伪代码将非常有用。您需要将伪代码转换为编程语言,而伪代码将允许您在头脑中组织整个结构。
  4. 4 学习理解算法。 算法是一种以程序熟悉的方式解决问题的过程,以及执行动作的顺序。算法只是一组允许您解决问题的步骤:动作序列、选择、迭代和调用类型。
    • 在 C 编程语言中,序列运算符始终存在。
    • 选择是一个“if then else”结构。
    • 使用一组调用执行迭代:“while”、“do”、“for”。
    • 使用“switch”操作符选择呼叫类型。
  5. 5 知道哪三个元素控制着算法。 如果您可以使用序列函数、while 函数和 if-then-else 函数,您就拥有了编写工作算法的所有基本元素。
    • SEQUENCE 是一种线性进程,其中一个任务以特定顺序依次执行。例如:
      • 读取矩形的高度
      • 读取矩形的宽度
      • 计算面积为高 x 宽
    • WHILE 是开始时的循环(重复)条件检查。循环的开始和结束由单词 WHILE(暂时)和 ENDWHILE(暂时结束)表示。循环仅在满足条件时结束。例如:
      • 虽然人口限制
        • 将人口计算为人口 + 出生 - 死亡
      • 结束时
    • IF-THEN-ELSE (if ... then ... else ...) 是一个选择函数,可以在两个选项之间进行选择。二元选择由四个关键字定义:IF、THEN、ELSE 和 ENDIF。例如:
      • IF (if) 工作时间> norm max THEN (then)
        • 显示回收时间
      • 其他(否则)
        • 显示营业时间
      • ENDIF(结束)

方法 2 of 5:伪代码示例

  1. 1 考虑一个简单的程序示例。 想象一下,程序必须替换文本文件中的字母组合“foo”。程序将读取此文件中的每一行,在每一行中查找所需的组合并将其替换为另一个。重复步骤从空格开始 - 理想情况下,这应该是实际代码中的样子。伪代码的初始草图可能如下所示:
    • 打开文件
    • 在文件的每一行:
      • 找到一个组合
      • 删除组合
      • 插入另一个组合
    • 关闭文件
  2. 2 迭代编写伪代码:写入一次,然后更改其中的数据...伪代码的好处之一是您只能勾勒出基础知识,而将困难的内容留待以后处理。请注意,在上面的示例中,没有指示字母组合应该是什么。作为程序员,您可以重写伪代码以包含用于删除单个字母并将其替换为其他字母的算法。第二个草图可能如下所示:
    • 打开文件
    • 在文件的每一行:
      • 找一个这样的词:
        • 读取字符串中的一个字符
        • 如果字符匹配,则:
          • 如果以下所有字符都匹配
          • 那么这是正确的选择
          • 删除单词字符
          • 插入新单词字符
    • 关闭文件
  3. 3 使用代码添加新功能。 伪代码帮助程序员思考问题的解决方案。这可以与等式中的中间计算进行比较。正确使用伪代码可以使复杂的任务变得简单。你可以一点一点地修改伪代码,一步一步:
    • 打开文件
    • 请求替换词
    • 请求替换词
    • 在文件的每一行:
      • 找一个这样的词:
        • 读取字符串中的一个字符
        • 如果字符匹配,则:
          • 如果以下所有字符都匹配
          • 那么这是正确的选择
      • 计算一个单词的重复次数
      • 删除单词字符
      • 插入新单词字符
      • 显示一个单词的重复次数
    • 关闭文件

方法 3 of 5:编写伪代码的标准过程

  1. 1 每行只写一个命中。 每个伪代码调用应该只给计算机一个动作。大多数情况下,对于任务的正确描述,每个任务将对应一行伪代码。写一个to-do list,然后把它变成伪代码,然后把伪代码变成真正的可执行代码。
    • 任务列表:
      • 读取名称、一小时费用、小时数
      • 执行计算
      • 扣除前金额=每小时成本*小时数
      • 扣除额=扣除前金额*扣除系数
      • 扣除后金额=扣除前金额-扣除金额
      • 记下姓名、扣前金额、扣款、扣后金额
    • 伪代码:
      • READ 名称、小时值、小时数、扣除系数
      • AmountUnderDeduction = 小时成本 * 小时数
      • 扣除额 = AmountDeduction * 扣除系数
      • 扣除后金额 = 扣除前金额 - 扣除金额
      • 写姓名、扣前金额、扣款、扣款后金额
  2. 2 用大写字母写 main 函数的第一个单词。 在上面的例子中,READ 和 WRITE 是大写字母,因为它们是程序的主要功能。重要的关键字可以是 READ、WRITE、IF、ELSE、ENDIF、WHILE、ENDWHILE、REPEAT 和 UNTIL。
  3. 3 写你的意思,不要编程。 一些程序员将伪代码编写为程序——例如,“if a% 2 == 1 then”。然而,那些阅读伪代码的人会发现很难理解抽象符号。理解“如果是奇数然后”这样的短语会容易得多。你写得越清楚,人们就越容易理解你的意思。
  4. 4 绝对写下一切。 应该尽可能详细地描述一个过程中发生的所有事情。伪代码类似于简单的指令。变量很少在伪代码中使用——更常见的是它描述了程序应该对更容易理解的对象做什么:帐号、名称、交易金额。
    • 这是一个很好的伪代码示例:
      • 如果账号和密码合适,则显示基本的账户信息。
      • 计算与每次发货的发票金额成比例的总成本。
    • 下面是一个不成功的伪代码示例:
      • 让 g = 54 / r (不要使用变量。更好地描述隐藏在下面的内容。)
      • 做主处理,直到进程结束 (有必要明确主要处理是什么,什么将表明处理结束。)
  5. 5 使用标准的编程语言工具。 尽管伪代码没有标准,但如果您使用现有编程语言(带有序列的那些)的构造,其他程序员会更容易理解您在做什么。就像在编程语言中一样,在俄语中使用“if”、“then”、“while”、“else”和“loop”或它们的类似物。请注意以下结构:
    • 如果条件然后指令。这意味着单独的语句只会在满足单独的条件时触发。在这种情况下,指令是程序必须执行的步骤。条件是指数据必须满足一定的要求,经过检查后程序才能工作。
    • 而条件做指令。这意味着必须一遍又一遍地重复该语句,直到不再满足条件。
    • 在条件下做指令。此构造类似于 while CONDITION do INSTRUCTION。在第一种情况下,在语句生效之前检查条件,但在这种情况下,先运行语句,并且 INSTRUCTION 任务将至少触发一次。
    • 为 a = NUM​​BER1 到 NUMBER2 做指令。这意味着变量“a”将自动取值 NUMBER1。 “a”将在每一步中增加 1,直到变量达到 NUMBER2。任何其他字母都可用于表示变量。
    • 函数名称(参数):指令。每次在代码中使用特定的字母组合时,它都用作某些指令的名称。参数是用于优化语句的变量列表。
  6. 6 块中的单独步骤。 块是将多个语句链接成一个的语法元素。使用块,您可以组织信息(例如,块 1 中的步骤始终在块 2 中的步骤之前执行)或组合信息(例如,指令 1 和指令 2 具有相同的主题)。一般来说,所有的请求都应该分开,以显示它们对他人的依赖。有两种方法可以做到这一点。
    • 带花括号:
      • {
      • 说明1
      • 说明2
      • ...}
    • 使用空格。使用空格时,同一块中的每条指令都必须从距屏幕左边缘相同的距离开始。块内的块将位于更远的位置。顶级块指令关闭子块,即使下面有一条具有相同数量前导空格的指令。
      • 块1
      • 块1
        • 区块2
        • 区块2
          • 区块3
        • 区块2
          • 区块3
      • 块1

方法 4 of 5:练习编写伪代码

  1. 1 首先,描述过程的目的。 这将帮助您确定您的伪代码是否完整。如果伪代码可以解决问题,则认为是完整的。描述过程。如果它很简单,你只需要很少的行。重读你写的内容并思考:
    • 这个伪代码会被至少熟悉这个过程的人理解吗?
    • 伪代码可以轻松变成真正的计算机代码吗?
    • 伪代码是否描述了整个过程并忽略了任何细节?
    • 目标受众能否理解伪代码中的每个对象名称?
  2. 2 写下第一步,为您准备说明。 通常,代码的第一部分定义了使算法工作的变量和其他元素。
    • 包括变量值。在代码中指定如何使用每个变量和每个数据单元。
    • 定义控件。您将需要用伪代码语言(面向对象编程语言中的文本和图像以及其他语言中的更简单工具)来描述它们,就像使用真实代码一样。
  3. 3 编写函数式伪代码。 在指定程序“设置”后,通过创建事件驱动或面向对象的代码来依赖伪代码原则。每行代码都应该描述一个查询、循环、选择或任何其他函数。
  4. 4 根据需要添加注释。 在真实的计算机代码中,注释向读者解释了任务和代码片段的作用。这应该在简单自然语言的伪代码中详细说明,因为在将伪代码转换为实际代码之前,您不会使用注释。
    • 许多程序员更喜欢将伪代码转换为带有注释的常规代码。这允许其他也在该项目上工作、分析或学习某些东西的程序员了解开发人员想要对每个特定行做什么。
    • 以 // 开始注释以防止计算机阅读它们。斜线必须用空格隔开。例如:
      • // 如果机器人前面没有障碍物 THEN
        • //移动机器人
        • //将shift命令添加到命令历史中
        • //返回真
      • / / 别的
        • // RETURN 错误地不移动机器人
      • / / 万一
  5. 5 重新阅读完成的工作并查找逻辑和语法中的错误。 语法不必完全正确,但伪代码应该看起来合乎逻辑。试着让自己站在阅读此代码的人的角度,并考虑您的命令是否尽可能清晰。
    • 根据它们涵盖的元素对代码模块进行评级。例如,计算机的关键操作包括从文件中读取和检索信息、写入文件或将其显示在屏幕上、数学计算、评估变量数据、比较一个或多个元素。所有这些过程都在计算机代码以及您为此程序创建的伪代码中占有一席之地。
    • 在伪代码中嵌入特定任务。在用空格分隔每个新任务后,以伪代码形式呈现此信息,模仿真实的编程语言,但不遵守编程语言的硬性规则。
    • 检查伪代码中是否存在所有必需的元素。即使不需要一些技术细节,例如变量解释,也应该清楚地说明每个任务和每个元素。
  6. 6 重读伪代码。 当您的伪代码描述了该过程而没有明显错误时,请与该项目的任何贡献者一起重新阅读。请您的同事向您指出哪些部分需要改进。程序员通常不会详细描述流程,因此在此阶段您可以添加所需的一切。如果您正在自己编写代码,请重读您所写的内容并请人审查您的工作。
    • 如果您的同事对伪代码不满意,请更清楚地重写它。问问你的同事你没有管理什么:这些步骤是否通常看起来难以理解,或者你是否忘记在伪代码中包含流程的一些重要部分?
  7. 7 保存伪代码。 当您查看了代码并且同事批准了您的工作后,将伪代码保存到存档中。当您编写真正的代码时,请在代码注释中包含伪代码。以 // 开始注释以防止计算机尝试将它们作为程序执行。

方法 5 of 5:将伪代码转换为编程语言代码

  1. 1 跟踪伪代码并了解它是如何工作的。 伪代码为您提供了一个算法。例如,代码可能按字母顺序对列表进行排序。伪代码将帮助您弄清楚如何使用您正在使用的编程语言构建算法。
  2. 2 使用适合您的编程语言的编程元素。 这些元素可以包括变量声明、if 和循环语句。每条线都可以以不同的方式栩栩如生。一切都取决于您使用的编程语言的级别。
    • 例如,尝试在屏幕上显示某些数据。为此,您可以使用您正在使用的特殊窗口或现有图形界面。
  3. 3 实现伪代码。 如果伪代码写得简单、干练、清晰,那么整个算法在程序运行时会更高效且不会出错。
  4. 4 重新跟踪并将工作代码与伪代码进行比较。 检查工作代码是否遵循伪代码逻辑。例如,如果您的伪代码提供输入和输出,请尝试所有可能的输入方法并将代码的输出与伪代码的输出进行比较。您可以请同事跟踪或推荐修复代码的方法。

提示

  • 尝试了解计算机的基本操作。该代码应指示计算机执行操作。了解这些操作的原理将帮助您编写跟踪主要代码正在做什么的伪代码。
  • 尽可能有效地利用空间。空格可用于分隔代码元素,这在伪代码中尤其重要,可以使人们更容易阅读。想象一下这个空间是一个单独的块。以相同数量空格开头的行在同一个块中,它们对算法中的过程具有大致相同的重要性。