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的方式研究学 ...
随机推荐
- struts2.0中struts.xml配置文件详解
先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...
- 2016-2017 CT S03E02: Codeforces Trainings Season 3 Episode 2
A HHPaint B Square Root C Interesting Places D Road to Home E Ant and apples F Square G Pair H The F ...
- CodeForces 689D Friends and Subsequences
枚举,二分,$RMQ$. 对于一个序列来说,如果固定区间左端点,随着右端点的增大,最大值肯定是非递减的,最小值肯定是非递增的. 因此,根据这种单调性,我们可以枚举区间左端点$L$,二分找到第一个位置$ ...
- git上传报错的解决方案
刚创建的github版本库,在push代码时出错:$ git push -u origin masterTo git@github.com:******/Demo.git ! [rejected] m ...
- socket编程之TCP/UDP
目标: 1.编写TCP服务端客户端,实现客户端发送数据,服务端接收打印 2.采用OOP方式编写TCP服务端客户端,实现客户端发送数据,服务端添加时间戳,返回给客户端 3.采用OOP方式编写UDP服务端 ...
- 移动平台下的Socket几个问题
在页游时代,使用Flash ActionScript 3.0进行开发,as3提供比较简单和健全的socket API.到了手游时代,基于tcp的socket编程遇到了一些棘手的问题.通常情况下手游都要 ...
- nodejs 包引用的终极结论
通常我们用exports 或module.exports 来导出一个文件中的接口和字段,用require来引用导出的对象.那么这个exports 和 module.exports到底有啥关联呢? 1. ...
- [ mysql优化一 ] explain解释select语句
NOSQL 没有什么数据表, 只是一些变量,key_value ,redis 支持的变量比较多.可以持久化文件到硬盘上. mysql 关系型数据库 ,表和表中间有各种id的关系. 缺点 高并发读 ...
- ACM-ICPC之路
自从了解到了ACM,我就坚定了参加这个比赛的信心.虽然零基础开始,但是阻挡不了我的前进之路.从大一上学期的完成二十道题,到假期完成四十道题:从第一次校赛不了解退出循环方式只完成了一道题,到大一预选赛第 ...
- 给go添加各种package
go version 1.1.2 For example you need to install the webscoket pakeage try go get code.goo ...