美文网首页技术
SCIP学习笔记

SCIP学习笔记

作者: bigtom | 来源:发表于2016-09-22 11:11 被阅读49次

    采用100个函数在一种数据结构上操作,远远优于用十个函数在十个数据结构上操作。

    计算机科学并不是一种科学,而且其重要性也与计算机本身并无太大关系。计算机革命是有关我们如何去思考的方式,以及我们如何去表达自己的思考的一个革命。

    数学为精确处理“是什么”提供了一种框架,而计算则为精确处理“怎么做”提供了一种框架。

    构造过程抽象

    心智的活动,除了尽力产生各种简单的认识之外,主要体现在如下三个方面:1)将若干简单认识组合为一个复合认识,由此产生各种复杂的认识。2)将两个认识放在一起对照,不管它们如何简单或复杂,由此得到有关它们的相互关系的认识。3)将有关认识与那些在实际中和它们同在的所有其他认识隔离开,这就是抽象。

    LISP的名字来自表处理(list processing),这一语言最重要的特点是:计算过程本身可以作为Lisp的数据来表示和操作(注解:我认为这句话的意思就是函数式编程,也就是说函数成为和其他对象一样的一等公民,类似现在最流行的javascript)

    表达式

    (define pi 3.14159)
    (define radius 10)
    (* pi (* radius radius))    
    
    (* (+ 2 (* 4 6)) 
       (+ 3 5 7))
    

    定义函数

    下面定义一个平方函数

    (define (square x) (* x x))
    (square 21)
    

    在定义两个数的平方和函数

    (define (sum_of_squares x y) (+ (square x) (square y)))
    (sum_of_squares 3 4)
    

    先求值参数而后应用的应用序求值方式

    条件表达式和谓词

    (define (abs x)
        (cond ((> x 0) x )
                  ((= x 0) 0 )
                  ((< x 0) (- x))))
    (abs -1)
    

    如果只有两种条件的话,可以使用if

    (define (abs x)
        (if (< x 0) (- x) x))
    

    and or not

    (and (> x 5) (< x 10))
    

    相关文章

      网友评论

        本文标题:SCIP学习笔记

        本文链接:https://www.haomeiwen.com/subject/hokzettx.html