在本文中,我们将讨论最常见的误解:算法和伪代码是不是同一件事?有什么区别?

先来看一下定义 -

算法:系统逻辑方法,它是定义明确的逐步过程,可以使计算机解决问题。
伪代码:它是简单的纯英语编程代码版本,在使用特定编程语言实现之前,使用短短语为程序编写代码。
程序:这是遵照编程语言所有规则为问题编写的准确代码。

1.算法

使用一种算法以定义明确的步骤的形式为特定问题提供解决方案。每当您使用计算机解决特定问题时,导致解决方案的步骤都应正确传达给计算机。在计算机上执行算法时,将几种操作(例如加法和减法)组合在一起以执行更复杂的数学运算。可以使用自然语言,流程图等表达算法。

让我们看一个例子,以更好地理解。作为程序员都知道线性搜索程序。

线性搜索算法:

1.从arr []的最左侧元素开始,然后将x与arr []的每个元素挨个比较。
2.如果x与元素匹配,则返回索引。
3.如果x与任何元素都不匹配,则返回-1。

在这里,可以看到如何用简单的英语解释线性搜索程序的步骤。

2.伪代码

它是可用于表示程序算法的方法之一。 它没有像任何编程语言一样的特定语法,因此无法在计算机上执行。 有几种格式可用于编写伪代码,并且大多数格式都采用C,Lisp,FORTRAN等语言的结构。

由于伪算法可以被熟悉不同编程语言的程序员阅读和理解,因此许多时间算法都是使用伪代码来表示的。 伪代码使您可以包括多种控制结构,例如While,If-then-else,Repeat-until,for和case,这在许多高级语言中都存在。

注意:伪代码不是实际的编程语言。

用于线性搜索的伪代码:

FUNCTION linearSearch(list, searchTerm):
     FOR index FROM 0 -> length(list):
       IF list[index] == searchTerm THEN
           RETURN index
       ENDIF
       ENDLOOP
           RETURN -1
END FUNCTION

在这里,没有使用任何特定的编程语言,而是以更简单的形式编写了线性搜索的步骤,可以将其进一步修改为合适的程序。

3.程序

程序是计算机要遵循的一组指令。 机器无法直接读取程序,因为它只能理解机器代码。 但是可以用计算机语言编写内容,然后编译器或解释器可使计算机可以理解。

线性搜索程序:

// C++ code for linearly search x in arr[].  If x  
// is present  then return its  location,  otherwise 
// return -1 
int search(int arr[], int n, int x) 
{ 
    int i; 
    for (i = 0; i < n; i++) 
        if (arr[i] == x) 
         return i; 
    return -1; 
}

算法、伪代码和程序的区别:

  • 算法定义为为给定问题提供解决方案的明确定义的步骤序列,而伪代码是可用于表示算法的方法之一。
  • 虽然算法通常是用自然语言或普通英语编写的,但伪代码是以类似于高级编程语言的结构的格式编写的。 另一方面,程序允许用特定的编程语言编写代码。
  • 因此,如上所述,可以清楚地看到算法是如何用于生成伪代码的,该伪代码通过遵循编程语言的特定语法来创建程序代码来进一步扩展。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.hasdiffer.com]
本文标题:算法,伪代码和程序的区别
本文链接:http://www.vsdiffer.com/algorithm-pseudocode-vs-program.html
免责声明:本站部分内容除注明转载外,均为本站网站用户投稿或互联网整理。对于该内容的正确性如何,本站不负任何责任。同时,如本网站内容无意之中冒犯了您的权益,请联系站长,邮箱:1478761107#qq.com(使用@代替#),我们核实并会尽快处理。

随机