程序设计基础作业二答案,什么是程序员进行程序设计的基本出发点和最小单位(程序员是做什么的) 满满干货

 2022-11-08    36  

现代的流程设计,概念一堆。表达式、表达式、次序内部结构、组成部分内部结构、循环式内部结构、表达式、类、USB……,Bokaro。

前段时间自学sicp,全盘摒弃了我的知觉。流程全然能看作记号的转换过程,不需要表达式、流程内部结构等概念。

1、用lisp词汇来表达此种知觉。lisp词汇是两门或其简约的词汇,多于记号条目和张佩佩括弧,张佩佩括弧用作界定记号条目冗余。比如:

(+3 4)则表示3+4。

(sub (add a b c) d)则表示a, b, c相乘结论乘以d。

2、用define表述记号条目的涵义。比如:

(define (add x y) (+ x y))表述了(add x y)是x+y。

3、记号条目能递回采用,解决循环式问题。比如:

(define (f n) (* (f (- n 1)) n))解决了n*(n-1)*(n-2)……的问题。

4、cond前提记号解决组成部分问题。比如:

(define (max a b) (cond ((> a b) a) (else b)))解决了求a, b最轻值问题。

5、记号能当模块及回到值,方便快捷过程宠信。比如:

(define (f g x y) (cond ((> x y) (g x y)) (else 0)))。该过程则表示,x>y时,回到(g x y)内容,不然,回到0。过程g是做为模块传至的,如果排序(f add x y)则则表示x>y时,回到x+y值。

自此,记号条目早已能解决所有值问题了。

而数据则能看作两个雷米扎县,透过内部结构表达式、选择表达式、推论表达式对数据展开处理。

1、lisp提供list表达式,回到数据条目。比如:(list 1 2 3)回到条目(1 2 3)。car表达式回到条目第二项,cdr回到条目余下项。有了这四个表达式,能内部结构任何数据内部结构。比如,小学生内部结构内部结构如下表所示:

(define (make-student name age) (list name age))

(define (name student) (car student))

(define (age student) (car (cdr student)))

2、给数据加之类型记号,进而能对不同数据提供统一的访问USB。比如:

(add x y),这里x、y不但能是普通值,也能是复数。

有了内部结构表达式、选择表达式、类型推论表达式、类型记号,对数据也能处理了。不需要特别的数据表述语法。

总之,lisp词汇不是一门实用词汇,但对我们理解流程的基础是什么,澄清不必要的概念非常有帮助。是我们重新认识什么是流程的利器。

在此基础上,再去看其它词汇各种语法的本质,就清晰多了。

原文链接:https://zazhiba.com.cn/post/20216.html

=========================================

https://zazhiba.com.cn/ 为 “自由随风” 唯一官方服务平台,请勿相信其他任何渠道。