vp_arth Asked:2020-03-07 21:21:15 +0000 UTC2020-03-07 21:21:15 +0000 UTC 2020-03-07 21:21:15 +0000 UTC 如何编写伪代码? 772 什么是伪代码? 它是干什么用的? 好的伪代码应该是什么样子,它应该具备什么品质? псевдокод 1 个回答 Voted Best Answer vp_arth 2020-03-07T21:21:15Z2020-03-07T21:21:15Z 什么是伪代码? 伪代码是一种代码和自然语言的混合体。 伪代码是一种紧凑的(通常是非正式的)语言,用于描述算法,使用命令式编程语言的关键字,但省略不相关的细节和特定语法 。维基百科 它应该很容易理解,但同时编写好的伪代码可能是一个很大的挑战。 它是干什么用的? 伪代码试图在自然语言的可理解性和代码保真度之间取得平衡。 当我们用自然语言描述算法时,高级抽象会使算法分析及其在特定编程语言中的实现变得不必要地复杂化。 另一方面,当我们在 PL 中描述算法时,我们必须花费大量时间来描述我们可能不会实现的算法的细节(毕竟,我们通常在决定实现哪个算法之前先分析算法) 好的伪代码应该: 喜欢好的代码和简单的语言。 忽略非 必要的细节 如果您想知道在您的伪代码中的什么地方放一个逗号,那您就做错了。 省略明显的 不需要,例如,指出从上下文中显而易见的变量类型 考虑上下文 表达式Отсортировать массив с помощью quicksort——只有当它没有写在快速排序算法的描述中时才有意义。 不要太抽象 一定要能通过你的伪代码看到被描述的模型,否则无法分析算法,太抽象了。 最重要的是,跟踪你的伪代码在实践中是如何工作的。 如果您发现您的同事无法解析您的伪代码,或无法将其翻译成 PL,那么处理伪代码可能是值得的。 伪代码示例: Пузырьковая сортировка: для j от 1 до n-1 для i от 1 до n-j если aᵢ < aᵢ₊₁ поменять их местами 在移动设备上,上面的代码可能无法正确显示:它说a[i]<a[i+1]
伪代码是一种代码和自然语言的混合体。
它应该很容易理解,但同时编写好的伪代码可能是一个很大的挑战。
伪代码试图在自然语言的可理解性和代码保真度之间取得平衡。
好的伪代码应该:
忽略非
必要的细节 如果您想知道在您的伪代码中的什么地方放一个逗号,那您就做错了。
省略明显的
不需要,例如,指出从上下文中显而易见的变量类型
考虑上下文 表达式
Отсортировать массив с помощью quicksort——只有当它没有写在快速排序算法的描述中时才有意义。一定要能通过你的伪代码看到被描述的模型,否则无法分析算法,太抽象了。
最重要的是,跟踪你的伪代码在实践中是如何工作的。
如果您发现您的同事无法解析您的伪代码,或无法将其翻译成 PL,那么处理伪代码可能是值得的。
伪代码示例:
在移动设备上,上面的代码可能无法正确显示:它说
a[i]<a[i+1]