-
计算机科学家与数学家类似,他们使用形式语言来描述理念。
-
计算机科学家与工程师类似,他们设计产品,将原件组装成系统,对不同的方案进行评估选择。
-
计算机科学技与自然科学家类似,他们观察复杂系统的行为,构建科学假说,并检验其预测。
-
作为计算机科学家最重要的技能就是 问题求解 。
- 问题求解就是发现问题,创造性地思考解决的方案以及清晰准确地表达解决方案的能力。
一 :什么是程序
- 程序 是指一组定义如何进行计算的指令的集合。
- 有那些指令呢?
输入:从键盘,文件或者其他设备中获取数据。
输出:将数据显示到屏幕,保存到文件中,或者发送到网络上等。
数学:进行基本的数学操作。
条件执行:检查某种条件的状态,并执行相应的代码。
重复:重复执行某种动作,往往在重复中有一些变化
五:值和类型
- 值 是程序操作的最基本的东西,如一个字母或者数字。
- 值的类型。
1:整型(int)
2:浮点型(float)
3:字符串(string)
如何确定一个值的类型。
1六:形式语言和自然语言
-
自然语言是指人们所说的语言,如英语,西班牙语。他们不是由人设计而来的,而是自然演化而来的。
-
形式语言则是人们为了特殊用途设计的语言。例如数学上使用的符号体系是一种特别擅于表示数字和符号之间关系的形式语言;化学家则是使用另一种形式语言来表示化学结构。而最重要的是:
编程语言是人们为了表达计算过程而设计出来的形式语言 -
形式语言的语法规则:
-
形式语言的语法规则分为两种:
分别适用于记号和结构
指定记号所组合的方式。
- 什么是语法分析:
当你阅读英语的句子或形式语言的语句时,需要弄清句子的结构是什么,这个过程称为语法分析
- 形式语言和自然语言之间的区别:
歧义性:形式语言通常设计为几乎或者完全没有歧义,即不论上下文环境如何,任何表达式只有一个含义。
冗余性:为了弥补歧义,减少误解,自然语言采用大量的冗余。因此,自然语言往往很啰嗦。形式语言则相对不那么冗余,更加简洁。
程序 :计算机程序的意义不含歧义,直接如字面所指,完全可以通过它的记号和结构理解其意义。
形式语言的密度远远大于自然语言,所以阅读起来需要花费更多的时间。还有结构非常重要,所以直接自顶向下,从左至右的阅读顺序并不一定是最好的。相反,要试着在头脑中解析程序,辨别出记号并解析出结构。最后,细节很重要,在自然语言中常常可以忽略的小错误,如拼写错误和符号错误,在形式语言中往往会造成很大的差别
七:调试
-
程序错误被成为bug,而插捕bug的过程成为调试
-
程序中可能出现的三种类型的错误:语法错误, 运行时错误,语义错误
八:术语表
问题求解(problem solving):总结问题,寻找解决方案以及表达解决方案的过程
高级语言(high-level language): 设计来方便人们读写的编程语言,如python。
低级语言(low-level language):设计来方便计算机执行的编程语言,也被称为“机器语言”或“汇编语言”
可移植性(portability):程序的一种属性,可以在多种类型的计算机(系统)上执行。
解释器(interpreter):一个读取其他程序并执行其内容的程序。
提示符(prompt):解释器显示的文字,提示用户已经准备好接收用户的输入。
程序(program):一系列代码指令的集合,指定一种运算。
print语句(pring statement):一个指令,可以通知python解释器在屏幕上显示一个值。
操作符(operator):一种特殊的符号,用来表达加法,乘法或字符串拼接等简单的运算。
值(value):程序操作的数据基本单位,如一个数字或一个字符串。
类型(type):值的类别。
整型(integer):用来表示整数的类型。
浮点型(floating-point):用来表示带小数部分的书的类型。
字符串(string):用来表示一串字符的类型。
自然语言(natural-language):自然演化而来的人们所说的语言。
形式语言(formal-language):人们设计为某些特定的目的设计的任何语言。所有编程语言都属于形式语言。
记号(token):程序的语法结构的最基本单位,类似于自然语言中的词。
语法(syntax):用于控制程序结构的规则
语法分析(parse):检查程序并分析其语法结构。
bug:程序中的错误
调试(debugging):发现和纠正bug的过程。
网友评论