pascal基础知识

大致概括pascal的基本知识(类似目录的形式)
能有算法和数据结构整理再加分,快一点

一、算法的基础知识
1.用计算机解决问题的步骤:
① 分析问题
② 算法设计
③ 描述算法
④ 编程实现
从上面的求解问题过程可以看出,关键在于前三步的解决:第一步就是解决模型的数据结构,第二步是解决问题的算法,第三步是形式化地描写算法。
2.算法的定义:
算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算。算法可以理解为:程序(数据处理)+ 数据结构(数据组织)。
3.算法的性质:
① 有限性
② 确定性
③ 输入输出(可以没有输入,但一定有输出)
④ 可行性
常见的算法有:穷举法、迭代法、递推法、递归法、回溯法、深度及广度搜索法、动态规划、构造法等等。
2.N-S图:
1973年,美国学者I.Nassi和B.Shneiderman提出了一种用图形表示算法的方法,称为N-S流程图。N-S图包括顺序、选择和循环三种基本结构。
3.程序设计语言:
计算机中的语言分为低级语言和高级语言,而低级语言又分为机器语言和汇编语言。
机器语言是一种CPU的指令系统,它是CPU可以识别的一系列有0和1这种二进制代码组成的指令。它依赖于机器,不同类型的计算机有不同的机器语言,机器语言的程序有许多机器指令组成,每条指令由操作码和地址码组成,数据和指令都放在不同的地址单元中。
汇编语言它是一种符号语言,为了克服机器语言固有的缺陷,20世纪50年代中期出现,将难以记忆和辨别的机器语言操作码用有意义的英文单词作为“助记符”来代替0、1进行编程。
高级语言,不再面向机器,而是接近人类的自然语言。常见的还有C/C++,Pascal,Basic,Java等。
数据类型、常量、变量及说明方法
数据类型确定了该类型数据项的表示、取值范围以及所能参与的运算。在pascal语言中,无论常量还是变量都必须属于一个确定的数据类型。
Pascal 提供了丰富的数据类型,可以分为三大类:
① 简单类型:分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型)
② 构造类型:分为数组类型、集合类型、记录类型和文件类型
③ 指针类型
这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。另外,我们把整型、字符型、布尔型、枚举型和子界型称为顺序类型。

另:数据结构
-栈 队列
– 并查集
– 堆
– 字母树 线段树 平衡树 动态树
– 块状链表
– 后缀数组
– ……


– 先进后出
* 队列
– 先进先出
* 常见的应用有哪些?
– 表达式求值
– 搜索
* 深搜
* 广搜
– 优化

* 集合用代表元表示
– representative?Getfather(x)
* 初始的时候,所有元素各自成为一个集合
– for i?1 to N
* father[i]?i
* 判断是否在同一集合
– 代表元是否相同
* return Getfather(x)=Getfather(y)
* 合并两个集合
– 将其中一集合的代表元指向另一集合代表元
* father[Getfather(x)]?y

并查集
* 如何寻找代表元?
– Getfather(x)
* if father[x]=x
– return x
* return Getfather(father[x])
* 如何优化?
– 路径压缩
* Getfather(x)
– if father[x]=x
>>return x
– father[x]?Getfather(father[x])
– return father[x]

* 用途
– 用于寻找最值
* 大根堆、小根堆
* 小根堆性质
– 是一棵完全二叉树
* i的父亲是谁?
– idiv 2
* i的左右儿子是谁?
– 2i和2i+1
– 树上的每棵子树,儿子的值不小于根
堆排序
– 建堆
– 取出根
– 删除根
– 反复取、删的过程
时间效率
– O(Nlog N)
块状数组
* 增加一下题目内容
– 询问区间最大值
– 询问区间和
– 询问区间内的和最大连续串
– 可以修改一个数
– 可以将一串连续的数变为一个值
– 可以将一串连续的数旋转一下
* 块状数组?块状链表
– 可以将一串连续的数翻转一下

可能有些难
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-23
我这儿有资料,你把邮箱留下,我发给你
第2个回答  2009-08-23
一、第一次课的内容
1、 信息学奥林匹克简介
2、 Pascal语言简介;
3、 Free Pascal环境介绍;
4、 编辑运行第一个Pascal语言程序;
5、 Pascal程序结构。
二、第二次课内容
1、 Pascal语言基本字符集、保留字、标识符的有概念及组成;
2、 数据类型、常量、变量及说明方法;
3、 Pascal语言包含的所有数据类型;
4、 整数类型和实数类型的类型符、取值范围及可进行的运算;
5、 举例讲解上述内容的使用及对Free Pascal语言环境的进一步熟悉。
三、第三次课内容
1、 结构化程序设计思想介绍;
2、 赋值语句介绍及应用举例;
3、 Write、Writeln语句介绍及应用举例;
4、 Pascal语言的表达式;
5、 程序设计的解题步骤及应用举例。
四、第四次课内容
1、 Read、Readln语句介绍及应用举例;
2、 字符类型及逻辑类型的类型符、取值范围及可进行的运算;
3、 Randomize语句、Trunc函数及随机整数的产生;
4、 所学内容的应用举例。
五、第五次课内容
1、 复合语句介绍;
2、 顺序结构语句总结;
3、 选择结构程序设计介绍;
4、 if…then语句介绍;
5、 if…then…else语句介绍;
6、 条件语句的嵌套;
7、 本次内容的应用举例;
六、第六次课内容
1、 顺序结构及分支结构程序设计的应用举例;
2、 对循环结构的初步认识;
3、 While语句介绍及应用举例。
七、第七次课内容
1、 循环结构的介绍;
2、 For语句介绍;
3、 循环结构的嵌套;
4、 循环结构的应用;
八、第八次课内容
1、 顺序结构、选择结构、循环结构应用举例;
2、 Repeat语句介绍及应用;
3、 三种循环语句分析及比较;
九、第九次课内容
1、 文件的介绍;
2、 从文本文件中如何读数据;
3、 Assign、Reset、Read、Readln及Close的使用;
4、 读文件应用举例。
5、 Case语句介绍及应用举例。
十、第十次课内容
1、 如何将数据输出到文件中;
2、 Assign、Rewrite、Write、Writeln及Close的使用;
3、 写文件应用举例;
4、 Pascal常用函数介绍。
十一、第十一次课内容
1、 认识数组;
2、 类型的定义方法;
3、 一维数组的定义和使用;
4、 一维数组的应用举例。
十二、第十二次课内容
1、 二维数组的定义和使用;
2、 多维数组的简单介绍;
3、 Inc、Dec、Break、Continue语句及应用举例。
十三、第十三次课内容
1、 字符数组;
2、 字符串的特性;
3、 字符串函数;
4、 字符串的应用。
十四、第十四次课内容
1、 一维数组的查找、插入、删除;
2、 一维数组的排序;
3、 数组的复习及应用举例。
十五、第十五次课内容
1、 枚举类型的定义及应用;
2、 子界类型的定义及应用;
3、 对程序设计中所有语句的复习。
十六、第十六次课内容
1、 子程序的概念、作用及分类;
2、 函数的定义、调用及应用举例;
3、 值参数和变量参数;
4、 按值传递的执行过程;
5、 前面所学内容的应用举例。
十七、第十七次课内容
1、 过程的定义、调用及应用举例;
2、 按地址传递的执行过程;
3、 Label说明及Goto语句的简单介绍。
十八、第十八次课内容
1、 全局变量及局部变量的作用域;
2、 函数和过程的作用域;
3、 子程序的递归及应用举例;
4、 子程序的嵌套;
5、 程序说明部分的完整复习。
十九、第十九次课内容
1、 记录类型的定义及使用;
2、 记录类型的应用举例;
3、 前面所学内容的应用举例。
二十、第二十次课内容
1、 集合类型的定义及使用;
2、 集合类型的应用举例;
3、 指针类型的简单介绍;
4、 参加竞赛时应注意的一些问题;
5、 初级班后继课程的安排介绍。

科技馆信息学奥林匹克中级班内容
一、第一次课内容
1、 顺序结构语句复习;
2、 选择结构语句复习;
3、 循环结构语句复习;
4、 程序设计应用举例;
5、 典型试题分析。
二、第二次课内容
1、 子界类型及枚举类型典型试题分析及应用举例;
2、 数组类型典型试题分析及应用举例。
三、第三次课内容
1、程序设计应用举例;
2、函数及过程典型试题分析;
四、第四次课内容
1、 集合、记录的应用举例;
2、 集合、记录典型试题分析。
五、第五次课内容
1、程序设计中的基本算法之模拟法。
六、第六次课内容
1、程序设计中的基本算法之枚举法。
七、第七次课内容
1、程序设计中的基本算法之贪心法。
八、第八次课内容
1、程序设计中的基本算法之递归法。
九、第九次课内容
1、程序设计中的基本算法之回溯法。
十、第十次课内容
1、程序设计中的基本算法之分治法。
十一、第十一次课内容
1、 进制;
2、 二、八、十六进制和十进制的相互转换;
3、 二、八、十六进制之间的转换。
十二、第十二次课内容(排列与组合)
1、 加法原理与乘法原理;
2、 排列;
3、 组合。
十三、第十三次课内容(高精度运算)
1、 高精度数的读入和存储;
2、 高精度加法;
3、 高精度减法;
4、 高精度乘法;
5、 高精度除法。
十四、第十四次课内容(排序算法)
1、 归并排序;
2、 希尔排序;
3、 堆排序;
4、 快速排序;
5、 基数排序。
十五、第十五次课内容
1、 指针类型的复习;
2、 链表的结构及操作;
3、 典型试题分析。
相似回答