冒号课堂§4.2:逻辑范式 - 编程入门网
冒号课堂§4.2:逻辑范式时间:2011-06-27 BlogJava xyz98第四课 重温范式(2) 4.2逻辑范式——当算法失去了控制 道常无为而无不为 ——《老子·道经》 关键词: 编程范式,逻辑式编程,Prolog,算法,逻辑,控制 摘要: 再谈逻辑式编程 ?提问 衡量软件复杂度是由代码的长度决定的吗? 为什么逻辑式的编码一般比过程式的更简洁? 逻辑式编程相比命令式编程有哪些优势和劣势? :讲解 问号提出:“逻辑式编程不是也很特别吗?前面似乎介绍得也不多。” “那我们就用逻辑式语言Prolog再实现一次quicksort吧。”冒号说着将幻灯片翻页——
逗号挠挠头:“看不太懂哦,好在我记住了您的一句话:容忍无知。我忍了!” 大伙都乐了。 冒号课堂§4.2:逻辑范式(2)时间:2011-06-27 BlogJava xyz98“本节课的焦点不是语言而是范式,因此对Prolog代码不详加解说。我只简单地说三点:首先,Prolog代码是由一系列事实(fact)、规则(rule)和查询(query)语句组成的[1]。其次,与大多数语言不同的是,大写字母或下划线开头的标识符是变量,其他的是常量或函数。请注意,这不是约定俗成,而是语法规定。最后,符号‘:-’等价于if;逗号‘,’等价于and。比如,我们可以用Prolog来表达一个断言:如果一个人未婚且为男士,那么他就是一光棍。”冒号转身在黑板上写下——
听见下面一阵嘀咕声,冒号忽地闪过一个念头:这个例子该不会伤了某位满足条件的同志吧?顿了一会,继续说道:“逻辑式实现的排序虽不比函数式更简洁,但比过程式来还是绰绰有余的。毕竟同属声明式,省去了不少有关变量赋值、迭代和流程控制方面的代码。我们再看一个更加典型的范例。” 黑板上出现了一幅树状图形—— 冒号简作说明:“这是一个三代家谱图。已知每人的性别和父辈,要求判断任意两人之间的关系。我们先用Java来试一试——”
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |