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的方式研究学 ...
随机推荐
- New : HTML5 中的新标签
基础 标签 描述 <!DOCTYPE> 定义文档类型. <html> 定义 HTML 文档. <title> 定义文档的标题. <body> 定义文档 ...
- 记JavaScript的入门学习(一)
2016年11月20日算是每天都会利用点时间去思考,去学习,接下来便是我学习JavaScript的前前后后,希望早日学完JavaScript和jQuery 之前学校毕业设计选择了一个如下图的题目 希望 ...
- ansible module
模块是一个独立的, 可以复用的脚本, 它可以被anisible API, Ansible 或者ansible-playbook使用. 在模块退出之前, 它通过输出一个json字符串到标准输出从而反 ...
- Js的Url中传递中文参数乱码的解决
一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: 2. 接收参数页面:test02.html 二:如何获取Url& ...
- 两种画线算法(DDA&Bersenham)
DDA(digital differential analyzer) 由直线的斜截式方程引入 对于正斜率的线段,如果斜率<=1,则以单位x间隔(δx=1)取样,并逐个计算每一个y值 Yk+1 = ...
- checkbox批量操作
hang=data.split("\1");//获取 查询返回的数据 处理数据 var str=""; for(var i =0;i<hang.lengt ...
- 推荐几个好的 Maven 常用仓库网址
注意,以下内容转载自:推荐几个好的 Maven 常用仓库网址 Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个 ...
- xampp版本和具体的php,mysql版本的对应
在国外网上查找到具体的xampp版本与php,mysql版本的对应关系,特此记录.以便需要的人使用.原文链接如下: http://code.stephenmorley.org/articles/xam ...
- sql优化方式-转载
我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软件生命周期的不同阶段来 ...
- sql server 2008 R2 压缩备份数据库
今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上VPN,通过远程桌面连接,连接上服务器,发现数据库文件已经有20G以上大小了. 文件太大,公司网络也不稳定, ...