文档介绍:程序设计基础第一章
第1页,共114页,编辑于2022年,星期日
联系方式
******@
**********
主楼B1-513
第2页,共114页,编辑于2022年,星期日
学时:24+24语句:
if (num>0)
then abs:=num
else abs:=-num;
第22页,共114页,编辑于2022年,星期日
高级程序设计语言
独立于计算机的硬件
对具体的算法进行描述(算法语言)
独立性,通用性和可移植性好
第23页,共114页,编辑于2022年,星期日
高级程序设计语言
一般包含有以下四种成分:
数据成分:描述程序所涉及的数据
运算成分:描述运算
控制成分:表达程序的控制结构
传输成分:表达数据的传输(输入输出、文件读写操作)
第24页,共114页,编辑于2022年,星期日
高级程序设计语言
高级语言的程序主要是描述计算机的解题过程,即描述复杂的加工处理过程,所以也称高级语言为面向过程语言。
计算机不能直接执行高级语言的程序(源程序);通常有解释方式和编译方式两种方法在计算机上执行程序(目标程序)。
第25页,共114页,编辑于2022年,星期日
第26页,共114页,编辑于2022年,星期日
思考
大量的程序设计语言被发明、被取代、被修改或组合在一起;
尽管多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的
WHY?
第27页,共114页,编辑于2022年,星期日
高级语言的发展
从
早期语言 到
结构化程序设计语言
从
面向过程 到
非过程化程序语言
第28页,共114页,编辑于2022年,星期日
FORTRAN=FORmula TRANslation
主要用于科学计算
60=ALGOrithmic Language 60
采用BNF形式描述语法
一. 早期的高级语言(50年代)
第29页,共114页,编辑于2022年,星期日
早期的高级语言
3. COBOL
COmmon Business Oriented Language
.广泛应用于各种事务处理领域
.引入了文件和数据描述
第30页,共114页,编辑于2022年,星期日
基于数学原则的语言
1. LISP
.其基础是函数和函数作用
2. APL
.支持函数式程序设计风格
.应用于大量矩阵运算的科学计算
第31页,共114页,编辑于2022年,星期日
3. SNOBOL 4
.主要用于字符串处理
. 与机器无关的宏功能,增加了程序的可移植性
第32页,共114页,编辑于2022年,星期日
PL/1
.希望将所有语言概念集成大全
.分程序概念和递归过程
.数据描述机能
.动态数据结构
.异常处理
.多任务机能
.可用于科学数值计算,数据处理等
.难以得到广泛的应用
三. 概念的集成(64年)
第33页,共114页,编辑于2022年,星期日
引入了许多有趣的概念
1. ALGOL 68
.以零型文法描述语法规则
.引入正交性和通用性原则
四. 再一次突破(60年代后期)
第34页,共114页,编辑于2022年,星期日
2. SIMULA67
.应用于模拟领域
.协同程序
.引入了类的概念
第35页,共114页,编辑于2022年,星期日
3. PASCAL
.具有明显的简洁性
.体现结构程序设计思想
.具有用户自定义类型
利用语法图形式描述语法规则
第36页,共114页,编辑于2022年,星期日
4. BASIC
Beginner's All-purpose Symbolic Instruction Code
.简单易学
.交互式工作环境
.解释执行
第37页,共114页,编辑于2022年,星期日
70年代,支持系统软件开发
1. 语言研究
涉及抽象数据类型,异常处理和并行处理机制
2. MODULA-2
.支持模块结构,模块可以独立编译
.面向实时系统和并行系统综合功能
五. 大量的探索
第38页,共114页,编辑于2022年,星期日
3. C
CPL→BCPL→B→C
.具有高级语言和低级语言的优点
.应用于各种领域
第39页,共114页,编辑于2022年,星期日
70年代以后