计算机算法与程序的联系与区别,软件和程序的区别

2013-11-18 21:26 “@SpeedVan”的内容

传统方式只是让机器运转而已,而且很难模仿出逻辑

我很赞同这句话,你这段话让我有兴趣研究FP和逻辑之间关系,找到一篇文章:

问题:

我一直在阅读了许多文章试图了解函数和逻辑编程之间的差异,但我到目前为止只知道,逻辑编程定义方案是通过数学表达式。但是,这样的事情是不相关的逻辑编程。

答案:

我不会说,逻辑编程定义是通过数学表达式,这听起来更像是函数式编程。逻辑编程是使用逻辑表达式(当然,最终的逻辑是数学)。

在我看来,函数和逻辑编程的主要区别是“积木building blocks”:函数式编程使用函数,而逻辑编程使用谓词。谓词不是一个函数,它没有返回值。根据它的参数值,它的值可能是True或false,如果一些值是不确定的(通常情况下),我们将尝试找到谓词真值。

Prolog语言使用的一种特殊形式命名Horn子句属于一阶逻辑的逻辑条款; Hilog使用高阶逻辑的句子。

有人说,逻辑编程是函数编程的一个超集,因为每个函数可表示为一个谓词。

比如foo(x,y) -> x+y. 写成:

foo(X,Y,ReturnValue):-

ReturnValue is X+Y.

逻辑和函数之间的另一个区别是回溯backtracking。

..

完。

抄一段话:

Imperative programming is painting, logic programming is sculpture, declarative programming is word art, functional programming process art

命令式编程是绘画,逻辑编程是雕塑,声明编程是艺术字,函数式编程是工艺美术品

[该贴被banq于2013-11-19 08:22修改过]

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览35199 人正在系统学习中 相关资源:VIP会员电子书,CSDN-文档类

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月13日
下一篇 2021年6月13日

相关推荐