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的方式研究学 ...
随机推荐
- datagridview自绘
https://msdn.microsoft.com/zh-cn/library/85kxk29c(v=vs.85).aspx 以上效果实现代码如下,细节部分就由你完善了,这里只是写个小例子: usi ...
- LeetCode 476. Number Complement
Given a positive integer, output its complement number. The complement strategy is to flip the bits ...
- Linux网络管理之net-tools VS iproute2
查看网卡及IP ifconfig ip link [show] --------- ifconfig -a ip addr show 激活和停止网络接口 ifconfig eth0 up/down i ...
- gulp 安装步骤
第一步:安装node 搭建node环境:进入官网 http://nodejs.org ,然后点击的绿色的 install 按钮,下载完成后直接运行程序. 第二步:使用命令行 (1)输入指令:node ...
- openSuse使用技巧
1.opensuse的gnome默认使用nautilus作为文件浏览工具,若要设置文件的默认排序和视图,参考网页 https://thelinuxexperiment.com/change-the-d ...
- Java动态解压zip压缩包
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; impo ...
- 驱动相关Error
驱动中 fltKernel.h报 EPROCESS和PETHREAD重定义异常解决办法 驱动编写中经常会莫名出现 error C2371: 'PEPROCESS' : redefinition; di ...
- CSS 待解决问题
记录一些待解决的问题 1. 关于 table 边框参差不齐问题 乍一看表头的边框有 间隙, 下边框也有点没有对其的问题. 解决方案: 给 table 添加: border-collapse: col ...
- ajax写法
$.ajax({ type:'post', url:'<%=path%>/login', cache:false, dataType:'json', success:function(da ...
- Qt实现悬浮窗效果
当鼠标移动到头像控件时,显示悬浮窗,当鼠标离开时,悬浮窗隐藏. 1.控件选择 悬浮窗可以从QDialog派生,并将窗口的属性设置为无边框 this->setWindowFlags(this- ...