Questions tagged «structured-programming»

4
命令式,过程式和结构化编程之间有什么区别?
通过研究(书籍,维基百科,关于SE的类似问题等),我了解到命令式编程是主要的编程范例之一,您在其中描述了一系列要由计算机执行的命令(或语句)(因此,要求其采取特定措施,因此命名为“命令性”)。到现在为止还挺好。 另一方面,过程式编程是命令式编程的一种特定类型(或子集),您可以在其中使用过程(即函数)来描述计算机应执行的命令。 第一个问题:是否有一种非过程式命令式编程语言?换句话说,没有程序就可以进行命令式编程吗? 更新:第一个问题似乎已得到解答。语言可以是必不可少的,而无需程序化或结构化。一个示例是纯汇编语言。 然后还有结构化编程,这似乎是命令式编程的另一种类型(或子集),它的出现是为了消除对GOTO语句的依赖。 第二个问题:过程式编程和结构化编程有什么区别?您能否拥有一个没有另一个,反之亦然?我们可以说过程编程是结构化编程的一个子集吗?

7
过程编程时代的设计模式是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 相似:20年前编程是如何完成的? OOP如今非常流行,其起源于1960年代的Simula 67,后来被Smalltalk和C ++所流行。我们有DRY,SOLID,以及许多有关面向对象世界中的设计模式的书籍。 但是在广泛采用OOP范式之前,编程的主要原则是什么?主要的设计模式是什么?

6
初学者:为什么输出命令中不包含操作?
我正在阅读一本编程入门书,其中列出了一个伪代码中的简单示例: Start input myNumber set myAnswer = myNumber * 2 output myAnswer Stop 我们为什么不能省略创建另一个名为的变量,myAnswer而只是将操作放入输出命令中,如下所示: Start input myNumber output myNumber * 2 Stop 为什么前者正确而后者不正确?

6
带中断/返回的Foreach循环与带显式不变和后置条件的while循环
这是检查值是否在数组中的最流行的方法(在我看来): for (int x : array) { if (x == value) return true; } return false; 但是,在我也许是Wirth或Dijkstra读过的一本书中,据说这种风格更好(与内部退出的while循环相比): int i = 0; while (i < array.length && array[i] != value) i++; return i < array.length; 这样,附加的退出条件就成为循环不变式的显式部分,没有隐藏的条件,并且在循环内退出,一切都变得更加明显,并且结构化编程的方式更加明显。我通常优选后者的图案尽可能和所使用的for从-loop只迭代a到b。 但是我不能说第一个版本不太清楚。至少对于初学者来说,它甚至更清晰,更容易理解。所以我仍然在问自己一个问题哪个更好? 也许有人可以对其中一种方法给出很好的理由? 更新:这不是多个函数返回点,lambda或本身在数组中查找元素的问题。这是关于如何编写具有比单个不等式更复杂的不变式的循环。 更新:好的,我看到回答和评论的人的观点:我在这里混入了foreach循环,它本身已经比while循环更加清晰易读。我不应该那样做。但这也是一个有趣的问题,因此我们将其保留为:foreach循环和内部一个额外条件,或者while循环具有一个显式循环不变性和after后置条件。看来带有条件和退出/中断的foreach循环是成功的。我将创建一个没有foreach循环的附加问题(用于链接列表)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.