bkdrong的专栏

如何学习一门新的语言?1 学习的目的?解决问题。2 如何解决问题?通过语言本身和通过和语言相关的库。

学习就是学习语言的使用以及库的使用。

我们一般都学习过一种或者几种语言,从学习语言的过程中我们自己已经摸索出了语言的特征。并且使用它来解决了一些问题。然后我们把这些问题重新提出,用新语言如何解决?这是很好的练习过程。

语言的元素:语元(在词法分析中叫token),这个是构成语言的基本元素。在不同语言下有不同的规则。语元的种类包含关键字,标识符,符号。要知道这种语言的关键字都有哪些,标识符的构成规则(正则表达式),各种符号的意义。语法:语言是由语句或者表达式构成(一些函数式语言是由函数和宏构成),这些语句和表达式的结构如何呢?如何使用这些表达式呢?举个例子: if表达式 在 C/C++ 中 if-stmt: if exp stmts [else stmts] 如果 exp 成立则执行stmt,else 部分可以选择有或者没有 在lisp语言中 (if cond exp1 [exp2]) 如果cond成立则返回exp1 如果有exp2 则返回exp2 否则返回NIL 循环 在C/C++中 while-stmt: while(exp) stmts 如果exp 成立则执行stmts直到exp不成立 而在lisp中使用 loop 宏来实现,语言本身没有提供当你理解各个语句或者表达式语法的时候,你已经掌握了它的语义。掌握了这些语句我们就可以解决一些通用的不涉及库的问题,也就是只能运算,而不能输入输出及访问其他设备。这些设备是由特定的操作系统提供访问提,因此那些库就是为了和操作系统或者其他的设施(比如数据库,比如XML等)交互的。接下来就是练习:我们要把掌握的语元和语法,,把原来的问题实验一下。1 输入不同的成绩,给出不同的评级。 >90 为[80,90) 为B [60-80)为 C用C语言就是 if(score >= 90) return ‘A’; if(score >=80 && score <90) return ‘B’; if(score >=60 && score< 80) return ‘C’;用 common lisp (if (>= score 90) ‘A’ (if (and (>= score 80) (< score 90) ) ‘B’ (if (and (>= score 60) (<80 score 80) ) ‘C’)))2 打印出9*9矩阵C/C++ for(int i=1;i<=9;i++) for(int j=1;j<=9;j++) printf("%d ",i*j);lisp (loop for i from 1 to 9 do (loop for j from 1 to 9 do (format t "~a ")))库的掌握:参考书,例子程序,实验

没有行李,没有背包,不带电脑更不要手机,

bkdrong的专栏

相关文章:

你感兴趣的文章:

标签云: