程序设计语言与软件开发方荡 程序设计语言的发展 形式语言与自动机 形式语义学 程序设计方法学 计算语言学 软件开发方法学
程序设计语言与软件开发方法学 • 程序设计语言的发展 • 形式语言与自动机 • 形式语义学 • 程序设计方法学 • 计算语言学 • 软件开发方法学
程序设计语言的发展 算法、过程与程序 机器指令与机器语言 汇编语言与汇编程序 高级语言与编译程序 MAS与超级语言 返回
程序设计语言的发展 • 算法、过程与程序 • 机器指令与机器语言 • 汇编语言与汇编程序 • 高级语言与编译程序 • MAS与超级语言 返回
算法、过程与程序 算法:一个有穷规则的集合,其中之规则确定了 个解决某一特定类型问题的运算序列。算法的特性 有穷性、确定性、输入、输出和能行性。 ·过程:一个有穷规则的集合,其中之规则确定了 个解决某一特定类型问题的运算序列。过程的特性: 确定性、输入、输出和能行性。 程序:是具有特殊功能的指令序列。 程序设计:编写程序的过程 返回
算法、过程与程序 • 算法:一个有穷规则的集合,其中之规则确定了一 个解决某一特定类型问题的运算序列。算法的特性: 有穷性、确定性、输入、输出和能行性。 • 过程:一个有穷规则的集合,其中之规则确定了一 个解决某一特定类型问题的运算序列。过程的特性: 确定性、输入、输出和能行性。 • 程序:是具有特殊功能的指令序列。 • 程序设计:编写程序的过程。 返回
机器指令与机器语言 机器指令的格式:操作码地址码 机器指令的分类:1控制指令;2算术运算指 令;3逻辑运算指令;4移位操作指令;5传 送操作指令;6输入输出指令。 机器语言:机器指令系统:机器语言程序 机器指令的实现:微指令与微程序 RISC:精简指令系统计算机 返回
机器指令与机器语言 • 机器指令的格式: • 机器指令的分类:1 控制指令;2 算术运算指 令;3 逻辑运算指令;4 移位操作指令;5 传 送操作指令;6 输入输出指令。 • 机器语言:机器指令系统:机器语言程序 • 机器指令的实现:微指令与微程序 • RISC:精简指令系统计算机 返回 操作码 地址码
汇编语言与汇编程序 程序的可读性 汇编指令:用英文字母和一些符号对机器语言指令和存 储空间及数据进行编码,为0、1串进行命名所得到的 指 °操作符:ad(加法),mu1(无符号乘法)idiy(有符号除 neg(求补)xchg(交换)test(逻辑比较)jmp(无 条件转移 汇编语言程序→汇编程序→>机器语言程序 汇编语言的好处:使得程序设计人员从原来记忆0、1串 的烦恼中解放出来,变按二进制数字与地址空间的存 取与操作为按名存取与操作
汇编语言与汇编程序 • 程序的可读性 • 汇编指令:用英文字母和一些符号对机器语言指令和存 储空间及数据进行编码,为0、1串进行命名所得到的 指令。 • 操作符:add(加法) mul(无符号乘法) idiv(有符号除 法) neg(求补) xchg(交换) test(逻辑比较) jmp(无 条件转移) • 汇编语言程序→汇编程序→机器语言程序 • 汇编语言的好处:使得程序设计人员从原来记忆0、1串 的烦恼中解放出来,变按二进制数字与地址空间的存 取与操作为按名存取与操作。 返回
高级语言与编译程序 。高级语言的语句:把人们利用机器语言或江编语 编程时所用数据的逻辑结构,和对数据进行处理时 的操作序列的逻辑结构,归纳抽象为数据类型和语 句,利用英文字母、数字和一些符号通过一定规贝 (语法)对其编码,所用编码的自然语言含义与对 应逻辑结构的意义尽量接近。 例如:ifa≤ b then x:= a else x:=b; 高级语言程序→编译程序>机器语言程序 高级语言分类 对高级语言多态性的反思 返回
高级语言与编译程序 • 高级语言的语句:把人们利用机器语言或汇编语言 编程时所用数据的逻辑结构,和对数据进行处理时 的操作序列的逻辑结构,归纳抽象为数据类型和语 句,利用英文字母、数字和一些符号通过一定规则 (语法)对其编码,所用编码的自然语言含义与对 应逻辑结构的意义尽量接近。 • 例如:if ab then x:=a else x:=b ; • 高级语言程序→编译程序→机器语言程序 • 高级语言分类 • 对高级语言多态性的反思 返回
高级语言分类 过程型语言认为计算机所解决的问题是由 问题的 顺次解决而解决的,把解决各个问题的动作及所参加的成 员,抽象为操作(语句)和数据。前期高级语言大多是过 程型的。常见的有: FORTRAN, ALGOL60, COBOL, BASIC, PASCAL, C, ADANG 域的函数顾射,把要解决的简题划歲”个个相关成员的 集合和集合间的函数关系。典型代表如LISI 逻辑型语言认为计算机所解决的问题是由已知事实及一定 规则进行逻辑推理得到一定结 把要解决的问题描述为 系列事实与规则的集合。典型代表 PROLOG 对象型语言认为计算机要解决的问题是参与问题的所有个 体及个体间的相互作用的结果,把问题描述为表述个体的 对象集合及个体间相互作用的消息集合,典型代表如
高级语言分类 • 过程型语言认为计算机所解决的问题是由一个个小问题的 顺次解决而解决的,把解决各个问题的动作及所参加的成 员,抽象为操作(语句)和数据。前期高级语言大多是过 程型的。常见的有: FORTRAN,ALGOL60,COBOL,BASIC,PASCAL,C,ADA等。 • 函数型语言认为计算机所解决的问题是从一个域到另一个 域的函数映射,把要解决的问题划分成一个个相关成员的 集合和集合间的函数关系。典型代表如LISP • 逻辑型语言认为计算机所解决的问题是由已知事实及一定 规则进行逻辑推理得到一定结论,把要解决的问题描述为 一系列事实与规则的集合。典型代表PROLOG • 对象型语言认为计算机要解决的问题是参与问题的所有个 体及个体间的相互作用的结果,把问题描述为表述个体的 对象集合及个体间相互作用的消息集合,典型代表如 SMALLTALK,C++,JAVA等。 返回
对高级语言多态性的反思 计算机高级语言虽然种类繁多,但它的产生与 发展也受到两方面的限制,其一是实现它的物理机 器原理等价性的限制;其二是它所抽象与表术的现 实世界同一性的限制。所以会出现过程型、函数型 逻辑型和对象型等高级语言,是因为现实世界在不 同领域以不同的表现形式为主,以其它表现形式为 辅;还因为人们对于现实世界认识的主观性与片面 性 返回
对高级语言多态性的反思 计算机高级语言虽然种类繁多,但它的产生与 发展也受到两方面的限制,其一是实现它的物理机 器原理等价性的限制;其二是它所抽象与表术的现 实世界同一性的限制。所以会出现过程型、函数型、 逻辑型和对象型等高级语言,是因为现实世界在不 同领域以不同的表现形式为主,以其它表现形式为 辅;还因为人们对于现实世界认识的主观性与片面 性。 返回
MAS与超级语言 把用高级语言解决某问题而设计的一个完整的程序 作为整体抽象为一个 Agent,把由多个 Agent通过交 互作用而形成的整体称为多 Agent系统( Multi Agent System,简称MAS),把描述MAS中各 Agent的 组成成份及各 Agent间相互作用规则的程序设计语 言称为超级语言。 程序设计语言的发展目标一是为了提高数据表示的 抽象程度,如过程、对象类、 Agent类等,二是为 了提高程序编制的自动化程度,如指令、语句,规 划和目标等 返」
MAS与超级语言 • 把用高级语言解决某问题而设计的一个完整的程序 作为整体抽象为一个Agent,把由多个Agent通过交 互作用而形成的整体称为多Agent系统(MultiAgent System,简称MAS),把描述MAS中各Agent的 组成成份及各Agent间相互作用规则的程序设计语 言称为超级语言。 • 程序设计语言的发展目标一是为了提高数据表示的 抽象程度,如过程、对象类、Agent类等,二是为 了提高程序编制的自动化程度,如指令、语句,规 划和目标等。 返回
语言及其组成 自然语言:音义结合的符号系统。 程序设计语言:码义结合的符号系统。 ·形式语言:一个符号选自某个字母表的字符串集合。 词法:它规定了仕么样的号组成的字符序列或空间排列 这个语言合法的单词 °交洼;是关于用證的单词枃成短、句子和篇章的规则, 又 语法:由词法和文法构成。 语义:就是指单词、短语、句子和文章的意义或含义。如 语用:是指在一定的语言环境中语言和它的使用者之间的 关 语境:语言的使用环境。 返回
语言及其组成 • 自然语言:音义结合的符号系统。 • 程序设计语言:码义结合的符号系统。 • 形式语言:一个符号选自某个字母表的字符串集合。 • 词法:它规定了什么样的符号组成的字符序列或空间排列 是这个语言合法的单词(或字)。 • 文法:是关于用语言的单词构成短语、句子和篇章的规则, 在此基础上可以形成各种句子和文章。 • 语法:由词法和文法构成。 • 语义:就是指单词、短语、句子和文章的意义或含义。如 “上马”的语义 • 语用:是指在一定的语言环境中语言和它的使用者之间的 关系。 • 语境:语言的使用环境。 返回