Oberon程序设计—目录
内 容
前 言
1, 什么是Oberon?
1.1 ALGOL家族
1.2 该系统
2, 第一:程序
2.1 一个符号来描述的语法:
2.2练习
第一部分,符号和基本类型,分配,控制结构,程序过程,模块
3, 标记和基本类型
3.1 Oberon词汇:
3.1.1 标识符
3.1.2 数字
3.1.3 字符常量
3.1.4 字符串
3.1.5 运算符和分隔符
3.1.6 预先声明的标识符
3.1.7 规则的空格和回车
3.2 基本类型
3.2.1 整型SHORTINT,INTGER和LONGINT
3.2.2 实型REAL和长实形LONGREAL
3.2.3 层次结构的NUMERIC数值类型
3.2.4 布尔类型BOOLEAN
3.2.5 类型SET
3.2.6 字符类型CHAR
4, 声明,表达式和赋值语句
4.1 声明
4.1.1 常量的声明
4.1.2 变量声明
4.2 表达式
4.2.1 语法和语义
4.2.2 类型规则
4.2.3 关系
4.2.4 算术表达式
4.2.5 布尔表达式
4.2.6 集表达式
4.2.7 预先说明的功能
4.3 赋值语句
4.3.1 类型规则
4.3.2 正式定义,前置条件和后置条件
4.3.3 语句序列
4.3.4 特殊赋值语句作为预先声明的程序
4.4 总结
4.5 练习
5, 控制结构
5.1 条件语句
5.1.1 IF语句
5.1.2 形式定义语句
5.1.3 CASE语句
5.1.4 正式定义的表
5.2 重复语句
5.2.1 while语句
5.2.2 形式定义语句
5.2.3 重复语句
5.2.4 正式定义的重复语句
5.2.5 LOOP循环语句
5.3 总结
5.4 练习
6, 程序和模块
6.1 程序:一个语句序列
6.2 局部性的概念
6.2.1 范围
6.2.2 嵌套作用域
6.2.3 优势方位
6.3 模块
6.3.1 范围由一个全局变量声明定义模块
6.3.2 模块的语句序列
6.3.3 出口和进口报关单
6.4 功能程序和参数
6.4.1 功能程序标题
6.4.2 形参和返回语句
6.4.3 实际参数,函数调用
6.5 适当的程序
6.5.1 语法,调用语句
6.5.2 值和变量参数
6.6 更多功能的程序
6.6.1 副作用
6.6.2 递归
6.7 编译器的提示
6.8 总结
6.9 练习
7, 输入和输出
7.1 连续的输入和输出,和模块
7.2 图形产量
7.3 分形蕨,完成的例子
7.4 该系统:简短的题外话
7.4.1 命令的执行
7.4.2 文本的作用
7.4.3 模块和输出
7.4.4 模块XY平面
7.5 总结
7.6 练习
第二部分阵列,记录,指针,动态数据,逐步细化,数据抽象
8, 类型声明,数组和记录类型
8.1 类型声明
8.2 阵列
8.2.1 数组类型和数组的声明
8.2.2 数组指示,分配和表达阵列式
8.2.3 参数
8.2.4 开放数组类型
8.2.5 阵列作为一个表
8.2.6 字符串和数组类型的字符
8.3 记录
8.3.1 记录类型和记录的声明
8.3.2 记录指示器,赋值语句和表达式
8.3.3 使用记录
8.4 总结
8.5 练习
9, 动态数据结构和指针类型
9.1 指针
9.1.1 指针类型和指针声明
9.1.2 创建引用指针变量
9.1.3 指针解引用
9.1.4 内存管理
9.2 列表
9.2.1 简单或线性表
9.2.2 FIFO列表
9.3 树
9.3.1 固有的递归程序
9.3.2 搜索树
9.4 其他动态数据结构
9.5 总结
9.6 练习
10,逐步求精和数据抽象
10.1 离散事件仿真一个等待线
10.2 将队列的操作条件为:
10.2.1 数据表示系统状态
10.2.2 第一轮的排队算法的改进
10.3 隐藏的细节
10.3.1 实施模块日历
10.3.2 计算统计:模块的路径
10.4 完成仿真实例
10.5 以上的程序结构和抽象
10.5.1 分解成模块,数据隐藏
10.5.2 模块:实例和抽象数据结构
10.5.3 模块文件:一个抽象数据类型的一个例子
10.5.4 文本的结构和命名
10.6 总结
10.7 练习
第三部分类型的扩展,程序类型,对象定位
11,扩展型和程序记录类型
11.1 扩展
11.1.1 扩展类型声明
11.1.2 记录指示器和作业
11.2 指针,类型的警卫和型式试验指针类型
11.2.1 延伸
11.2.2 静态和动态类型,型后卫,型式试验
11.2.3 语句,区域型后卫
11.3 程序类型
11.3.1 程序类型和程序变量
11.3.2 表达式和赋值语句
11.3.3 调用过程变量
11.3.4 正式参数的程序类型
11.3.4 调用
11.4 总结
11.5 练习
12,面向对象
12.1 通用模块
12.2 异构数据结构
12.3 对象,程序动态绑定
12.4 对象和模块
12.4.1 模块图形
12.4 对象与模型
12.4.1 模块图形
12.4.2 形状特异模块
12.4.3 创造新形象
12.4.4 重新定义动态绑定的程序
12.4.5 总结
12.5 消息处理程序
12.5.1 消息处理程序
12.5.2 消息广播
12.5.3 andlers概论
12.5.4 总结
12.6 结论与展望
12.6.1 两类:对象的比较可以声明为任意类型的面向对象的编程范式
12.7 练习
13,仿真实例
13.1通用模块QS
13.1.1 定义
13.1.2 实施
13.2 面向对象的仿真日历
13.2.1 数据类型和基本模块的结构组成
13.2.2 模块:一个抽象的模拟
13.3 基于仿真模块
13.3.1 数据类型和模块结构
13.3.2 用定义模块站
13.3.3 实施模块站
13.3.4 模块方式实现
13.4 总结
13.5 练习
14,Oberon-2
14.1 型结合的程序
14.1.1 语法和普通语义学
14.1.2 语句
14.2 声明
14.3 开放数组变量
14.4 用表奥伯伦2
14.5 读表口
14.6 小结与讨论
14.7 练习
附录A Oberon编程语言:
A.1 引言
A.2 语法
A.3 的词汇和表达
A.4 声明和范围规则
A.5 常量的声明
A.6 调用类型声明
A.7 变量声明
A.8 表达式
A.9 语句
A.10 程序声明
A.11 模块
A.12 模块系统
附录B ASCII字符集和极值
附录C模块,并XY 平面
索引
Oberon程序设计—目录的更多相关文章
- Oberon程序设计语言简介
Oberon奥伯龙是一种通用编程语言,也是一种同名操作系统(由Oberon语言开发,且参考过贝尔实验室的新一代网络操作系统Plan9),是由原Pascal程序设计语言的发明者Niklaus Wirth ...
- JavaScript 高级程序设计 目录
为什么会写这个学习教程呢??因为一直以来,学习JavaScript都没有系统的学过,用什么学什么,所以今天开始,重新把JavaScript系统的学一遍!(本人也是菜鸟一枚,语文水平也还是小学程度,看得 ...
- 读javascript高级程序设计-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- (C) Windows 32 API程序设计目录
(一)第一个窗口程序 01 创建第一个窗口. (二)输出文本 01 获取Windows图形构件大小信息
- (Delphi) Windows 32 API程序设计目录
这里所有程序均使用Delphi调用Windows 32 API方式实现,并不是使用VCL已经封装好的类实现的! (一)第一个窗口程序 01 创建第一个窗口.
- Spring企业级程序设计 • 【目录】
章节 内容 实践练习 Spring企业级程序设计目录(作业笔记) 第1章 Spring企业级程序设计 • [第1章 Spring之旅] 第2章 Spring企业级程序设计 • [第2章 Spring ...
- 《汇编语言程序设计》——仿windows计算器
<汇编语言程序设计> ——计算器程序设计 目录 一. 题目与目标 1. 题目 2. 学习目的 二. 分析与设计 1. 系统分析 2. ...
- 20155303 实验四 Android程序设计
20155303 实验四 Android程序设计 目录 第24章:初识Android 任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号 学习 ...
- 20155303 实验二 Java面向对象程序设计
20155303 实验二 Java面向对象程序设计 目录 一.单元测试和TDD 任务一:实现百分制成绩转成"优.良.中.及格.不及格"五级制成绩的功能 任务二:以TDD的方式研究学 ...
随机推荐
- jQ内容的强大,后面继续跟进...
<script type="text/javascript" src="jQ/jquery.js"></script> <scri ...
- Shell终端收听音乐--网易云音乐命令行版
Musicbox:网易云音乐命令行版本 高品质网易云音乐命令行版本,简洁优雅,丝般顺滑,基于Python编写. 这款命令行的客户端使用 Python 构建,以 mpg123 作为播放后端: Vim 式 ...
- Ansible Filter
没啥好说的. 自己看吧 http://docs.ansible.com/ansible/playbooks_filters.html
- 【IE6的疯狂之十一】CSS的优先级及!important在IE6下的BUG
一 css的优先级 今天有人跟我说css hack中用!important来区分ie6,因为ie6不支持!important,是的在很早以前我也是用过这种方法写hack,但是后来就基本不用了.本来我对 ...
- 拒绝深坑!记录找了多半天时间的C++编译失败的错误
采用新的源码,和原来的服务改动也不是很大,但是拒绝深坑啊,找了半天以为是源码的问题,结果倒好原来是环境的问题,还是要感谢一个神一样的人物的帮助 编译的时候一直出现undefined reference ...
- Error C1189: #error: Please use the /MD switch for _AFXDLL builds
在VS 2013中编译程序时出现错误: 错误提示1: error C1189: #error : Building MFC application with /MD[d] (CRT dll versi ...
- sendUserActionEvent() mView== null after clicking on button
this is not a problem related to your code, but related to S4 android version. Same question has bee ...
- JQuery笔记(二)jq常用方法animate()
在jq中,比较方便的是相对于js,jq封装了很多方法,很方便使用,下面我举几个常用的方法 animate()方法 <!DOCTYPE html> <html lang="e ...
- 织梦dedecms文章发布日期时间调用标签大全
dedecms首页时间标签: 1.12-27 样式 [field:pubdate function='strftime("%m-%d",@me)'/] 2.May 15, 2012 ...
- rune is alias of int32
I think chendesheng's quote gets at the root cause best: Go uses a lot of signed values, not just fo ...