pascal语言入门,PASCAL语言的基本知识的字符与符号
pascal语言入门,PASCAL语言的基本知识的字符与符号详细介绍
本文目录一览: pascal基础知识
var
i:integer;
begin
for i:=1 to 200 do
begin
write(i:5);
if i mod 7=0 then writeln;
end;
end.
program a1;
var a,b:integer;
begin
b:=1 to 28;
for a:=1 to 200 do
begin
write(a);
if a:=7*b then writeln;
end;
end.
不一定对啊----
var a,b:integer;
begin
b:=0;
for a:=1 to 200 do
begin
write(a);
b:=b+1;
if b=7 then writeln;
end;
end.
一、PASCAL语言的来历
Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。Pascal也可以是指人名,它的取名原本就是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal,而不是编程工具。以法国数学家命名的pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。
Pascal语言还是一种自编译的语言,这就使它的可靠性大大提高了。
Pascal具有简洁的语法,结构化的程序结构。它是结构化编程语言,于70年代在ALGOL基础上研制出来的。它具有丰富的数据类型并提供了数据类型定义设施,其控制结构体现了结构程序设计原则。
它最初是为系统地教授程序设计而设计的,特点是简明化和结构化,适合教学科学计算与系统软件的研制。如今,在许多学校的计算机语言课上,学的都是Pascal语言。
Pascal是最早出现的结构化编程语言,具有丰富的数据类型和简洁灵活的操作语句,适于描述数值和非数值的问题。
正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。
二、PASCAL语言的发展
在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。
Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体
Pascal有5个主要的版本,分别是Unextended Pascal、Extended Pascal、Object-Oriented Extensions to Pascal、Borland Pascal和Delphi Object Pascal。其中,Unextended Pascal、Extended Pascal和Object-Oriented Extensions to Pascal是由Pascal标准委员会所创立和维护的,Unextended Pascal类似于瑞士Niklaus Wirth教授和K.Jensen于1974年联名发表的Pascal用户手册和报告,而Extended Pascal则是在其基础上进行了扩展,加入了许多新的特性,它们都属于正式的Pascal标准;Object-Oriented Extensions to Pascal是由Pascal标准委员会发表的一份技术报告,在Extended Pascal的基础上增加了一些用以支持面向对象程序设计的特性,但它属于非正式的标准。Borland Pascal和Delphi Object Pascal是由Borland公司专门为其开发的编译工具设计的Pascal语言,前者是用于DOS的Turbo Pascal系列和Windows 3.x的Turbo Pascal for Windows的传统高级语言,后者是用于Windows的Delphi和Linux的Kylix的面向对象程序设计语言,它们都不是正式的Pascal标准,具有专利性。但由于Turbo Pascal系列和Delphi功能强大并且广为流行,Borland Pascal和Delphi Object Pascal已自成为一种标准,为许多人所熟悉。
三、PASCAL语言的影响
高级语言发展过程中,PASCAL是一个重要的里程碑。PASCAL语言是第一个系统地体现了E.W.Dijkstra和C.A.R.Hoare定义的结构化程序设计概念的语言。1971年,瑞士联邦技术学院尼克劳斯·沃尔斯(N.Wirth)教授发明了另一种简单明晰的电脑语言,这就是以电脑先驱帕斯卡的名字命名的PASCAL语言。PASCAL语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。它一出世就受到广泛欢迎,迅速地从欧洲传到美国。沃尔斯一生还写作了大量有关程序设计、算法和数据结构的著作,因此,他获得了1984年度“图灵奖”。
四、PASCAL在学习和竞赛中的应用
在中国的信息学奥林匹克竞赛中,过去比较常用的Pascal编程工具是Turbo Pascal。Turbo Pascal是DOS下的一种16位编程工具,在Delphi出现之前,它是世界上最多人使用的Pascal编程工具,拥有编译速度极快的先进编译器和功能强大而又简便易用的集成开发环境(IDE),在微机程序员中广为流行,正是它的出现奠定了Pascal在DOS/Windows平台上不可动摇的根基,现在常见的版本有Turbo Pascal 5.5、Turbo Pascal 6.0和Borland Turbo Pascal with Objects 7.0。Turbo Pascal 6.0与Turbo Pascal 5.5相比,主要是IDE更为强大,而其程序设计功能改变不大,只是增加了一些新的功能,例如可以内嵌asm汇编语句等。而Borland Turbo Pascal with Objects 7.0(简称Borland Pascal 7.0)则有了新的飞跃,首先是IDE进一步加强,提供了程序浏览器,然后是程序设计功能有了很大的提升,新增了一些十分有用的标准子程序,支持比较完善的面向对象程序设计功能,并提供了DOS实模式、DOS保护模式和Windows模式三种程序编译模式,能够编写出可以使用扩充内存(XMS)的保护模式应用程序或者在Windows 3.x下运行的Windows程序,另外还提供了一个对象窗口库(OWL),使用它可以快速的开发出具有一致的视窗界面(DOS或Windows 3.x)的应用程序。Borland Pascal 7.0在1992年推出,是Turbo Pascal系列在DOS下的最后版本。
现在,随着Turbo Pascal逐渐被淘汰,全国信息学奥林匹克竞赛决赛(NOI)和国际信息学奥林匹克竞赛(IOI)已经指定Free Pascal为比赛使用的Pascal编程工具。Free Pascal是由一个国际组织开发的32位Pascal编程工具,属于共享软件,可用于各种操作系统。根据编译选项的不同,它可以使用Borland Pascal兼容语法、Delphi 2 Object Pascal语法或者其它语法进行编写程序。由于它拥有32位的编译器,而且一直在更新发展中,因此它的功能比Borland Pascal更加强大,拥有许多现代程序设计的特征,但同时也很不成熟,存在很多漏洞。Free Pascal正处于发展初期,相应的函数库十分少,对程序员的吸引力远比不上拥有VCL和CLX的Delphi和Kylix。
跟C++一样是比较高级的语言,而且noip也能考C++,但普遍是考PASCAL的.
pascal基础知识
一、第一次课的内容
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、 典型试题分析。
我这儿有资料,你把邮箱留下,我发给你
一、算法的基础知识
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)
块状数组
* 增加一下题目内容
– 询问区间最大值
– 询问区间和
– 询问区间内的和最大连续串
– 可以修改一个数
– 可以将一串连续的数变为一个值
– 可以将一串连续的数旋转一下
* 块状数组?块状链表
– 可以将一串连续的数翻转一下
可能有些难
关于计算机编程pascal语言的入门(疑问)。
入门嘛,上面的人全别听,听我的,隆重推荐,唯一推荐,唯一的真正的答案!我建议最好是从基础入手,而不是一开始就进行可视化编程。虽然如今国内绝大多数pc都是使用的windows,但是毕竟这知识这个世界的冰山一角。扎实的基础自然会更有用处。编程其实重要的是程序思维,然后是算法和数据结构。这些都是超出语言的,就是说不管是学c学java学delphi还是别的什么,这一部分都是一致的。因此培养这部分的知识可以说是一本万利的事情。初学肯定是通过语言熟悉思想熟悉算法和数据结构,到一定的时候就是纯粹的思想和算法数据结构的学习,便已经脱离程序语言了。经历过这些阶段,换一种语言不过是重新了解一下描述的方式,就像你了解了中文思维,山东话和四川话的差别就不会太大;了解了拉丁语的思维,整个语系的语言都不过是简简单单的记忆工作,应用就好。入门的语言,理论上是怎么方便学哪个,看那个顺眼学哪个。当然这里面还是有不同的推荐的。一般来说我比较推荐pascal、c/c++、java。并不是因为这三个东西很通用很有前途,而是它们实在是严整而有规则(c/c++还显得稍微的宽松了一点),而严谨的语法要求和明确的概念区分是有利于编程思维的形成和算法数据结构的学习的。同样的因为这个理由我不推荐vb,而并不是因为它功能不强大(事实上vb在windows环境中是相当牛的语言)另外一个建议是,如果学c,不要一开始就用vc。ms提供的很多东西很方便,有很多很简单的实现方法,但是它们不标准。vc与ansi c标准是有很大的差距的。首先一个不遵循标准的c/c++程序是不通用的,换个编译器说不定就不被承认了。所以我非常推崇gcc,理由之一是它完全符合 ansi c标准,无论它的c还是c++编译器都很严整,功能上一点也不缺乏(有人说gcc不能做图形界面的程序,这一点完全错误,到处都有的qt库和gtk库都能做出很好的界面),另外一个理由便是它免费,毕竟稍微大一点的软件企业就不会屈从与微软的编译器和平台,而一个免费的c编译器无疑可以创造更多的利益;就算要转vc,标准的c程序也是几乎不要作任何改动的。当然,这一切的前提是,你真的很想很好的学编程,做一个这方面的精英。如果只不过是兴趣,或者只是想拿一个ms的工程师认证然后在国内企业找份诸如设计vf、vb程序之类的工作,那完全可以忽略我上面的话,去找个认证培训班,认认真真听听课,好好完成练习,从vb或者vc入手,考好认证是很不会太难的。毕竟现在很多很好的大学里都从来不缺乏计算机的课程,不会缺少算法或者编译原理的课程,不会没有计算机科学的研究院,而那里面出来的人一般都具备了很好的基础知识,会更加容易成为前面所说的精英。
1.题:一个不换行一个要换行答案补充
比如说Console.WriteLine("a");Console.WriteLine("b")就会输出在2行的a b而 Console.Write("a");Console.Write("b")就在同一行输出a b.答案补充
read():读一个字符,如果到达stream末尾,则返回-1 readLine():是BufferedReader的方法,读一个以'\r'或'\n'结尾的串,如果到达末尾,则返回null答案补充
read返回的是int,readLine返回的是String
计算机编程问题先为你解答。
read是从键盘上读入,而write是输出到屏幕。read(a),程序将会等待键盘输入,输入后把a的值设为输入的内容;write(a),程序将在屏幕上显示a的值,并不会让用户输入。注:使用write(a)时a必须有一个值。
2:
var
a,b,c,d:integer;
begin
read(a,b); {其中a为辆数,b为轮子数}
c:=3*a-b;
d:=a-c;
write(c,' ',d); {c为自行车数,d为三轮车数}
readln; {等待用户按回车}
end.
3:
var
jia,yi,bing:integer;
begin
read(jia,yi,bing);
jia:=jia div 3;
yi:=yi+jia;
bing:=bing+jia;
writeln(jia,' ',yi,' ',bing);
yi:=yi div 3;
jia:=jia+yi;
bing:=bing+yi;
writeln(jia,' ',yi,' ',bing);
bing:=bing div 3;
jia:=jia+bing;
yi:=yi+bing;
writeln(jia,' ',yi,' ',bing);
readln;
end.
4:
var
a,b,c,d,e,n:integer;
begin
read(n); {读取最后每个人的个数}
a:=n div 2;
b:=n div 2;
c:=n div 2;
d:=n div 2;
e:=n+a+b+c+d;
a:=a div 2;
b:=b div 2;
c:=c div 2;
e:=e div 2;
d:=d+a+b+c+e;
a:=a div 2;
b:=b div 2;
e:=e div 2;
d:=d div 2;
c:=c+a+b+d+e;
a:=a div 2;
c:=c div 2
{}指注释
+我Q:346330284, 我教你
1.
read指读入,write指输出。使用read语句后,程序进入等待状态,当你在运行到read命令后,输入一个(段)字符串(数字),则执行下面的语句。
使用write语句后,在运行界面则会显示出你所要输出的字符串。
如:
Program abc;
Var
a:integer;
Begin
Read(a); {读入一个数,存入变量a中}
Write(
pascal很简单的,关键是入门,你找个身边的学长教你更容易些。搞会if for while 就基本入门了,在搞其它的。
东西太多了,如果打半天却比别人慢一步那不是很冤。
1.. read是“读入语句”,write是“输出语句”,打个比方,写作业时将题目读入大脑,那些题目就相当于read进来的东西,而经过大脑的一些处理,你写出了答案,写出的东西就是write出的东西。
具体例子:{定义n,m:integer(整型);} read(n);就把一个程序执行时需要读入的东西读进来了,而write(m) 就是把m 里存的值输出了
2.. 第一题:
var a,b,c,p,s:real;//定义变量
begin//程序开始
a:=25.76; b:=74.03; c:=59.31;//给变量赋值
p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式,知道吧?
if (a+b
<c) or (a+c<b) (b+c<a) then writeln('data error!') {判断能否构成三角形,不能就输出“data error”}
else writeln(s:0:2); {输出结果}
end.//结束程序
第二题
var a,s,i:integer; //定义变量
begin
for i:=1 to 65 do//循环变量,找一个符合条件的值
begin //以下表示每次循环需要做什么
if 2*i+(65-i)*3=150 then writeln(i);
end; {上面的writeln和write功能是一样的,只不过write输出一个东西后不换行,而writeln换行。这个"end;"与上面的begin对应,表示一段的结束而非整个程序的结束}
end.//程序结束
说明:1.“//”后的字和{}内的字起说明作用,程序运行时不会执行
2.第二题没啥意义嘛....笔算也能算出来
3.三四题和一二题相似,需要解答的话再来找我
第三个问题
输入语句就是“read”,意思就是说你编完整个程序后执行,程序需要你的输入数据,而键盘输入嘛...就是用键盘敲数字进去,敲进去的就是输入数据
还有什么不太明白的,竭诚为您解答
入门PASCAL语言,很想知道它与其他语言的区别。
我高中的时候为了参加信息学奥赛才学的pascal,可惜没拿到什么成绩。总的来说,pascal是一种高级编程语言,是第一个结构化的编程语言,Pascal语言可以被方便地用于描述各种算法与数据结构,尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。所以呢,如果为了参赛或者初步了解计算机语言,你可以线学习pascal,方便学习数据结构和算法(这个很重要!!!)。
传统PASCAL的标准库中缺乏对网络编程的支持,并且仅通过自带的graph单元难以实现较好的图形界面(GUI),这些缺点大多需要嵌入汇编语言代码才能得到解决,缺乏与机器语言的接口。另一方面,作为一个面向过程的编程语言,和90年代兴起的面向对象的语言相比,不利于大型软件的开发。因此,pascal很难用于大型编程,商业用途小,教学还可以。所以,如果你以后打算从事计算机软件编程相关专业,从长远来看,以后也要开始学习c,或者c++,然后逐步转到java,安卓,asp等等。
我现在大四,真心给你的忠告,如果是初中或者高中,可以深入学习一下,然后再逐步转到别的,如果大学或者以上,那就算了。学习编程比较枯燥,加油哦!!!
PASCAL语言的基本知识的字符与符号
所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,Turbo Pascal语言一共有51个。下面是Pascal语言的保留字(斜体是Turbo Pascal特有的保留字):(常用)[Copy to clipboard]CODE:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH,EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFACE,LIBRARY,XOR,SHL,FAR,OPERATOR全部: (1)表识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。(2)表识符的分类:a.标准标识符:指Pascal语言预先定义的表识符,具有特殊含义。以下列举了Turbo Pascal语言部分常用的标准表识符:QUOTE:标准常量 False Maxint True标准类型 Boolean Char Real Integer标准函数 Abs Arctan Chr Cos Eof Eoln ExpLn Odd Ord Pred Round Sin SqrSqrt Succ Trunc标准过程 Dispose Get New Pack Page Put ReadReadln Reset Rewrite Unpack Write Writeln标准文件 Input Outputb.用户字定义表识符:由你来根据需要定义。(1)选用的表识符不能和保留字相同。(2)语法上允许预定义的标准标识符作为你定义的的表识符使用,但最好还是不要用。以下列举了你在定义表识符时可以用的字符:[Copy to clipboard]CODE:A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,’,^,@
pascal程序
一、Pascal 语言概述
PASCAL语言也是一种算法语言,它是瑞士苏黎世联邦工业大学的N.沃思(Niklaus Wirth)教授于1968年设计完成的,1971年正式发表。1975年,对PASCAL语言进行了修改,作为"标准PASCAL语言"。
PASCAL语言是在ALGOL 60的基础上发展而成的。它是一种结构化的程序设计语言,可以用来编写应用程序。它又是一种系统程序设计语言,可以用来编写顺序型的系统软件(如编译程序)。它的功能强、编译程序简单,是70年代影响最大一种算法语言。
二、Pascal 语言的特点
从使用者的角度来看,PASCAL语言有以下几个主要的特点:
⒈它是结构化的语言。PASCAL语言提供了直接实现三种基本结构的语句以及定义"过程"和"函数"(子程序)的功能。可以方便地书写出结构化程序。在编写程序时可以完全不使用GOTO语句和标号。这就易于保证程序的正确性和易读性。PASCAL语言强调的是可靠性、易于验证性、概念的清晰性和实现的简化。在结构化这一点上,比其它(如BASIC,FORTRAN77)更好一些。
⒉有丰富的数据类型。PASCAL提供了整数、实型、字符型、布尔型、枚举型、子界型以及由以上类型数据构成的数组类型、集合类型、记录类型和文件类型。此外,还提供了其它许多语言中所没有的指针类型。沃思有一个著名的公式:"算法+数据结构=程序"。指出了在程序设计中研究数据的重要性。丰富的数据结构和上述的结构化性质,使得PASCAL可以被方便地用来描述复杂的算法,得到质量较高的程序。
⒊能适用于数值运算和非数值运算领域。有些语言(如FORTRAN 66,ALGOL 60)只适用于数值计算,有些语言(如COBOL )则适用于商业数据处理和管理领域。PASCAL的功能较强,能广泛应用于各种领域。PASCAL语言还可以用于辅助设计,实现计算机绘图功能。
⒋PASCAL程序的书写格式比较自由。不象FORTRAN和COBOL那样对程序的书写格式有严格的规定。PASCAL允许一行写多个语句,一个语句可以分写在多行上,这样就可以使PASCAL程序写得象诗歌格式一样优美,便于阅读。
由于以上特点,许多学校选PASCAL作为程序设计课程中的一种主要的语言。它能给学生严格而良好的程序设计的基本训练。培养学生结构化程序设计的风格。但它也有一些不足之处,如它的文件处理功能较差等。
三、Pascal语言程序的基本结构
任何程序设计语言都有着一组自己的记号和规则。PASCAL语言同样必须采用其本身所规定的记号和规则来编写程序。尽管不同版本的PASCAL语言所采用的记号的数量、形式不尽相同,但其基本成分一般都符合标准PASCAL的规定,只是某些扩展功能各不相同罢了。下面我们首先来了解Pascal语言的程序基本结构。
为了明显起见先举一个最简单的PASCAL程序例子:
【例1】
从这个简单的程序可以看到:
⒈一个PASCAL程序分为两个部分:程序首部和程序体(或称分程序)。
⒉程序首部是程序的开头部分,它包括:
⑴程序标志。用"program"来标识"这是一个PASCAL 程序"。PASCAL规定任何一个PASCAL程序的首部都必须以此字开头。在turbo pascal语言中,首部也可省略。
⑵程序名称。由程序设计者自己定义,如例中的exam1。
在写完程序首部之后,应有一个分号。
⒊程序体是程序的主体,在有的书本里也称"分程序"。程序体包括说明部分(也可省略)和执行部分两个部分。
⑴说明部分用来描述程序中用到的变量、常量、类型、过程与函数等。本程序中第二行是"变量说明",用来定义变量的名称、类型。
PASCAL规定,凡程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称"说明")。也就是说,不允许使用未说明先使用。
⑵执行部分的作用是通知计算机执行指定的操作。如果一个程序中不写执行部分,在程序运行时计算机什么工作也不做。因此,执行部分是一个PASCAL程序的核心部分。
执行部分以"begin"开始,以"end"结束,其间有若干个语句,语句之间以分号隔开。
执行部分之后有一个句点,表示整个程序结束。
⒋PASCAL程序的书写方法比较灵活。当然,书写不应以节省篇幅为目的,而应以程序结构清晰、易读为目的。在编写程序时尽量模仿本书中例题程序格式。
⒌在程序中,一对大括号间的文字称为注释。注释的内容由人们根据需要书写,可以用英语或汉语表示。注释可以放在任何空格可以出现的位置。执行程序时计算机对注释不予理睬。
四、Turbo Pascal语言系统的使用
目前,常用的Pascal语言系统有Turbo Pascal7.0与Borland Pascal 7.0,下面我们就来学习Turbo Pascal 7.0系统的使用。
1. 系统的启动
在运行系统目录下的启动程序TURBO.EXE,即可启动系统。屏幕上出现如图1所示的集成环境。
2. Turbo Pascal系统集成环境简介
最顶上一行为主菜单。中间蓝色框内为编辑窗口,在它个编辑窗口内可以进行程序的编辑。最底下一行为提示行,显示出系统中常用命令的快捷键,如将当前编辑窗口中文件存盘的命令快捷键为F2,获得系统帮助的快捷键为F1,等等。
3. 新建程序窗口
按F10进行主菜单,选择FILE菜单,执行其中New命令。就可建立一个新的程序窗口(默认文件名为Noname00.pas或Noname01.pas等)。
4. 程序的输入、编辑与运行
在当前程序窗口中,一行一行的输入程序。事实上,程序窗口是一个全屏幕编辑器。所以对程序的编辑与其它编辑器的编辑方法类似,这里不再重复。
当程序输入完毕之后,一般要先按Alt+F9(或执行compile菜单中compile命令)对程序进行编译。如果程序有语法错误,则会在程序窗口的第一行处显示第一个红色错误信息。若无语法错误,则窗口正中央会出现一个对话框,提示编译成功。接下来,我们可以运行程序了。
程序的运行可以通过按ALT+R打开RUN菜单中的RUN命令,或直接按快捷键CTRL+F9。则可以在用户窗口中输出运行结果。通常在程序运行结束后系统回到Pascal系统的集成环境,因此要查看运行结果,要按ALT+F5将屏幕切换到用户屏幕。
5.程序的保存与打开
当我们想把程序窗口中的程序存入磁盘时,可以通过按F2键(或执行File菜单中的save命令)来保存程序。第一次保存文件时屏幕上会出现一个对话框要求输入文件名(默认扩展名为.pas)。
当我们要将磁盘上的程序文件中的PASCAL程序装入窗口时,可按F3(或执行File菜单中的Open命令)来装入程序,此时系统也会弹出一个对话框要求输入要打开的文件名,或直接在文件对话框列表中选择所要的文件,然后回到打开文件。
五、第一个程序
下面程序在运行时,会提示输入一个圆的半径,然后会在屏幕上画一个圆。按回车后程序结束回到程序窗口。
Program ex1;
Uses graph;
Var Gm,Gd,R :integer;
Begin
Gd:=0;
Write('Please enter the radius:');readln(R);
Initgraph(Gm,Gd,' ');
Setcolor(Green);
Circle(320,240,R);
Readln;
Closegraph;
End.
注意,如果上面程序运行时会出现初始化图形错误,请将系统目录下BGI子目录EGAVGA.BGI和UNITS子目录中的Graph.tpu拷贝到系统目录下BIN目录即可。
请输入上面的程序,并练习将其存盘、打开与运行上面程序。
pasical程序基本语句
完全的Pascal程序框架
program程序名(程序参数表); label(可省略) 标号说明; const 常量说明; type 类型说明; var 变量说明; function 函数说明; end; procedure begin 过程说明; end; begin 程序语句; ……; 程序语句; end.
基本符号
Pascal语言只能使用以下几类基本符号:
(1)大小写英文字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z
(2)数字
1 2 3 4 5 6 7 8 9 0
(3)其他符号
+ - * / = <> <= >= > < ( ) [ ] { } := , . ; : .. div mod 运算符 优先级
not 1(最优先)
*,/,div,mod,and 2
xor,+,-,or 3
in,=,<>,>=,<=,<,> 4(末优先)
注意,Pascal语言除了可以使用以上规定的字符外,不得使用其他任何符号。
第一课 Pascal语言知识 一、Pascal 语言概述 Pascal语言是一种算法语言,它是瑞士苏黎世联邦工业大学的沃思教授于1968年设计完成的,1971年正式发表。Pascal语言是在ALGOL60的基础上发展而成的。它是一种结构化的程序设计语言。它的功能强、编译程序简单,是70年代影响最大一种算法语言。 从使用者的角度来看,Pascal语言有以下几个主要的特点: ⒈ 结构化 Pascal可以方便地书写出结构化程序。这就保证程序的正确性和易读性。在结构化这一点上,比其它算法语言更好一些。 ⒉ 数据类型丰富 Pascal提供了整数型、实数型、字符型、布尔型、枚举型、子界型以及由以上类型构成的数组类型、集合类型、记录类型和文件类型。此外,还提供了其它许多语言中所没有的指针类型。丰富的数据结构和上述的结构化性质,使得Pascal可以被方便地用来描述复杂的算法。 ⒊ 适用性好 既适用于数值运算,也适用于非数值运算领域。有些语言只适用于数值计算,有些语言则适用于商业数据处理和管理领域。Pascal的功能较强,能广泛应用于各种领域。 ⒋ 书写较自由 不象有些算法语言那样对程序的书写格式有严格的规定。Pascal允许一行写多个语句,一个语句可以分写在多行上,这样就可以使Pascal程序写得象诗歌格式一样优美,便于阅读,但一行不可超过257个字符。 由于以上特点,许多学校选Pascal作为程序设计课程中的一种主要的语言。它能给学生严格而良好的程序设计的基本训练。培养学生结构化程序设计的风格。
二、Pascal语言程序的基本结构
任何程序设计语言都有一定的规则。使用Pascal语言必须遵循其本身所规定的规则来编写程序。尽管不同版本的Pascal语言所采用的符号的数量、形式不尽相同,但其基本成分一般都符合标准Pascal的规定。下面我们首先来了解Pascal语言的程序基本结构。 为了明显起见,先举一个最简单的Pascal程序例子: 【例1】 program li1(input,output); {程序首部} const pi=3.1415926; var r,l,s:real; begin write('input r:'); readln(r); s:=pi*r*r; l:=2*pi*r; writeln('s=',s); writeln('l=',l); end. 从这个简单的程序可以看到: ⒈ 一个Pascal程序分为两个部分:程序首部和程序体(或称分程序)。 ⒉ 程序首部是程序的开头部分,它包括: ⑴程序标志。用"program"来标明这是一个Pascal 程序。Pascal规定任何一个Pascal程序的首部都必须以此字开头。在Free Pascal中,首部也可省略。 ⑵程序名称。由程序设计者自己定义,如例中的li1。在写完程序首部之后,应有一个分号。 ⒊ 程序体是程序的主体,在有的书本里也称"分程序"。程序体包括说明部分(也可省略)和执行部分两个部分。 ⑴说明部分用来描述程序中用到的变量、常量、类型、过程与函数等。本程序中第二行是"变量说明",用来定义变量的名称、类型。 Pascal规定,凡程序中用到的所有变量、符号常量、数组、过程与函数、记录、文件等数据都必须"先说明,再使用"。 ⑵执行部分的作用是给出需要计算机执行的操作。 执行部分以"begin"开始,以"end"结束,其间有若干个语句,语句之间以分号隔开。执行部分之后有一个句点,表示整个程序结束。 ⒋ Pascal程序的书写方法比较灵活。书写程序应结构清晰、容易阅读理解。在编写程序时希望读者尽量模仿本书中例题程序格式。 ⒌ 在程序中,一对大括号间的文字称为注释(也可用/*、*/)。注释的内容由人们根据需要书写,可以用英语或汉语表示。注释可以放在任何空格可以出现的位置。执行程序时计算机对注释不予理睬。
三、Free Pascal语言系统的使用
目前,信息学竞赛使用的Pascal语言系统是Free Pascal,下面我们就来学习Free Pascal的使用。 1.系统的启动free pascal
在运行系统目录下的启动程序fp.EXE,即可启动系统。屏幕上出现如图1所示的集成环境。 2.Free Pascal系统集成环境简介 最顶上一行为主菜单。中间蓝色框内为编辑窗口,在它个编辑窗口内可以进行程序的编辑。最底下一行为提示行,显示出系统中常用命令的快捷键,如打开一个文件的快捷键为F3,将当前编辑窗口中文件存盘的快捷键为F2,获得系统帮助的快捷键为F1,等等。 3.新建程序窗口 按F10进行主菜单,选择FILE菜单,执行其中New命令。就可建立一个新的程序窗口(默认文件名为Noname00.pas或Noname01.pas等)。 4.程序的输入、编辑与运行 在当前程序窗口中,一行一行的输入程序。程序窗口是一个编辑器。所以对程序的编辑与其它编辑器相似,类似记事本程序。 当程序输入完毕之后,一般要先按Alt+F9(或执行compile菜单中compile命令)对程序进行编译。如果程序有语法错误,则会在程序窗口的下方显示错误信息。若无语法错误,则窗口正中央会出现一个对话框,提示编译成功。接下来,我们可以运行程序了。 程序的运行可以通过按ALT+R打开RUN菜单中的RUN命令,或直接按快捷键CTRL+F9。则可以在用户窗口中输出运行结果。通常在程序运行结束后系统回到Pascal系统的集成环境,因此要查看运行结果,要按ALT+F5将屏幕切换到用户屏幕。 5.程序的保存与打开 当我们想把程序窗口中的程序存入磁盘时,可以通过按F2键(或执行File菜单中的save命令)来保存程序。第一次保存文件时屏幕上会出现一个对话框要求输入文件名(默认扩展名为.pas)。 当我们要将磁盘上的程序文件中的Pascal程序装入窗口时,可按F3(或执行File菜单中的Open命令)来装入程序,此时系统也会弹出一个对话框要求输入要打开的文件名,或直接在文件对话框列表中选择所要的文件,然后回到打开文件。(.pas文件,可以由记事本打开)
编辑本段主要使用标识符
real 实数 integer 整数 longint 长整型 shortint 短整型 int64 超长整型 single 单精度 double 双精度 char 单个字符 string 字符型 ansistring 内存字符型 int64 -2^63-2^63-1的整数类型 qword 无符号的整型(0~2^64-1) begin 开始 end 结束 if 如果 for ... to .... do 循环 readln read 输入 write writeln 输出 then 那么(常与if连用) else 否则 (常与if和then连用,当if后面的条件为假时,程序就会执行else后的语句) boolean 布尔型 true 真实 false 假的
编辑本段pascal错误代码表
pascal运行错误代码表
1无效DOS功能号 2文件未找到 3路径未找到 4打开文件过多 5禁止文件存取 6无效文件句柄 12无效文件存取代码 15无效驱动器号 16不能删除当前目录 17不能跨驱动器改文件名 100磁盘读错误 101磁盘写错误 102文件变量未赋值 103文件未打开 104文件未用输入方式打开 105文件未用输出方式打开 106无效数字格式 150磁盘写保护 151未知单元 152驱动器未准备好 153未知命令 154数据CRC校验错 155驱动器请求的结构长度错 156磁盘定位错 157未知媒介类型 158扇区未找到 159打印机缺纸 160设备写失败 161设备读失败 162硬件故障 200被零除 201范围检查错 202堆栈溢出错 203堆溢出错 204无效指针操作 205浮点上溢出 206浮点下溢出 207无效浮点运算 208未安装覆盖管理程序 209覆盖文件读错 210对象未初始化 211调用抽象方法 212流登计错 213**下标越界 214**溢出 215算术上溢错误 216存取非法 217控制-C 218授权指令 219无效的TYPECAST 220无效的变体TYPECAST 221无效的变体操作 222没有变体方法调用DISPATCHER 223不能建立变体数组 224变体不包含数组 225变体数组边界错误 226TLS初始化错误
pascal编译错误代码表
1内存溢出 2缺标识符 3标识符未定义 4标识符重定义 5语法错误 6实型常量错 7整型常量错 8字符串常量跨行 9文件嵌套过多 10非正常文件结束 11行过长 12缺类型标识符 13打开文件过多 14无效文件名 15文件未找到 16磁盘满 17无效编译指示 18文件过多 19指针定义中未定义类型 20缺变量标识符 21类型错误 22结构过长 24文件分量不能为文件 25无效字符串长度 26类型不匹配 27无效子界基类型 28下界大于上界 29缺有序类型 30缺整型常数 31缺常数 32缺整型或实型常数 33缺指针类型标识符 34无效的函数结果类型 35缺标号标识符 36缺BEGIN 37缺END 38缺整型表达式 39缺有序表达式 40缺布尔表达式 41操作数类型与操作符不匹配 42表达式错 43非法赋值 44缺字段标识符 45目标文件过长 46未定义外部标识符 47无效*.OBJ文件记录 48代码段过长 49数据段过长 50缺DO 51无效PUBLIC定义 52无效EXTRN定义 53EXTRN定义过多 54缺0F 55缺INTERFACE 56无效重定位引用 57缺THEN 58缺T0或DOWNTO 59未定义的向前引用 60过程过多 61无效类型转换 62被零除 63无效文件类型 64不能读写该类型的变量 65缺指针变量 66缺字符串变量 67缺字符串表达式 68单元循环引用 69单元名不匹配 70单元版本不匹配 71单元重名 72单元文件格式错误 73缺IMPLEMENTATI0N 74常数与CASE类型不相匹配 75缺记录变量 76常数越界 77缺文件变量 78缺指针变量 79缺整型或实型表达式 80标号不在当前块中 81标号已定义 82标号未定义 83无效参数 84缺UNIT 85缺“;” 86缺“:” 87缺“,” 88缺“(” 89缺“)” 90缺“=” 91缺“:=” 92缺“[”或“(.” 93缺“]”或“.)” 94缺“.” 96变量过多 97无效FOR控制变量 98缺整型变量 99此处不允许用文件 100字符串长度不匹配 101无效字顺序 102缺字符串常数 103缺整型或实型变量 104缺有序变量 105INLINE错 106缺字符表达式 107重定位项过多 112CASE常量越界 113语句错 114不能调用中断过程 116必须在8087方式下编译 117未找到目标地址 118此处不允许包含文件 120缺NIL 121无效限定符 122无效变量引用 123符号过多 124语句部分过长 126文件必须为变量参数 127条件符号过多 128条件指令错位 130初始条件定义错 131过程和函数头与前面定义的不匹配 132严重磁盘错误 133不能计算该表达式 134表达式错误结束 135无效格式说明符 136无效间接引用 137此处不允许结构变量 138无SYSTEM单元不能计算 139不能存取该符号 140无效浮点运算 141不能将覆盖编译至内存 142缺过程和函数变量 143无效过程或函数引用 144不能覆盖该单元 147缺对象类型 148不允许局部对象类型 149缺VIRTUAL 150缺方法标识符 151不允许虚拟构造方法 152缺构造方法标识符 153缺释放方法标识符 154FAIL只允许在构造方法内使用 155无效的操作符和操作数组合 156缺内存引用 157不能加减可重定位符号 158无效寄存器组合 159未激活286/287指令 160无效符号引用 161代码生成错 162缺ASM
pascal语言知识询问
数组的作用,批量处理一批类型相同的数据啊,可以进行排序等相关操作。
1.算术函数
函数标识符 自变量类型 意义 结果类型
abs 整型、实型 绝对值 同自变量
arctan 整型、实型 反正切 实型
cos 整型、实型 余弦 实型
exp 整型、实型 指数 实型
frac 整型、实型 小数部分 实型
int 整型、实型 整数部分 实型
ln 整型、实型 自然对数 实型
pi 无自变量 圆周率 实型
sin 整型、实型 正弦 实型
sqr 整型、实型 平方 同自变量
sqrt 整型、实型 平方根 实型
例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0
sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71
int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2
2.标准函数
函数标识符 自变量类型 意义 结果类型
odd 整型 判断奇数 布尔型
pred 离散类型 求前趋 同自变量
succ 离散类型 求后继 同自变量
例:odd(1000)=false pred(2000)=1999 succ(2000)=2001
odd(3)=true pred('x')='w succ('x')='y'
3.转换函数
函数标识符 自变量类型 意义 结果类型
chr byte 自变量对应的字符 字符型
ord 离散类型 自变量对应的序号 longint
round 实型 四舍五入 longint
trunc 实型 截断取整 longint
例:chr(66)='B' ord('A')=65 round(-4.3)=-5 trunc(2.88)=2
4.杂类函数
函数标识符 自变量类型 意义 结果类型
random 无自变量 [0,1间的随机实数 real
random word [0,自变量间的随机整数) word
randomize 无自变量 初始化内部随机数产生器 longint
upcase 字符型 使小写英文字母变为大写 字符型
downcase 字符型 使小写英文字母变为大写 字符型
SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。
DOS 具有日期、时间、目录查找、程序执行等功能
CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等 功能
PRINTER 支持打印输出操作。
GRAPH 高级图形软件包,支持多种图形适配器。
GRAPH3 实现TP3.0的图形软件包。
TURBO3 兼容TP3.0的源程序。
OVERLAY 实现高级覆盖管理
SYSTEM单元常用过程与函数
ABS(X) F 求变量的绝对值
ADDR(X) F 测变量地址
APPEND(F) P 打开一个存在的文本文件,并将文件指 针指向文件末尾准备添加元素
ARCTAN(X) F 反正切
ASSIGN(F,C) P 将字符串C所表示的外部文件名赋给文 件变量F
ASSIGNED(X) P 测试程序当中的指针或变量是否为空
BLOCKREAD(F,D,NUM) P 读类型文件。
BLOCKWRITE(F,D,NUM) P 写无类型文件
BREAK P 中止或结束循环
CHDIR(PATH) P 改变当前目录
CHR(X) F 求ASCII码值为X的字符
CLOSE(F) P 关闭文件
CONCAT(S1,S2...S3) F 字符串合并
CONTINUE P 继续循环
COPY(S,POS,LEN) F 返回一个字符串的子串
COS(X) F 余弦函数
CSEG F 返回CS寄存器的当前值
DEC(X) F X:=X-1
DELETE(S,POS,LEN) P 删除一个字符串的子串
DISPOSE(P) P 释放一个动态变量
DSEG F 返回DS寄存器的当前值
EOF(F) F 判断文件是否结束
EOLN(F) F 判断文件类型中的一行是否结束
ERASE(F) P 删除一个存在的外部文件。
EXIT P 过程中止
EXP(X) F 以E为底的指数函数
FILEPOS(F) F 文件记录的当前位置
FILESIZE(F) F 文件记录数
FILLCHAR(D,LEN,DATE) P 填充数值或字符
FLUSH(F) P 清空文件缓存区
FRAC(X) F 取实形变量的小数部分
FREEMEM(P,I) P 释放变长动态变量
GETDIR(DRV,PATH) P 取当前盘,当前目录
GETMEM(P,I) P 分配变长的动态变量,并把块地址存放在一个指针变量中
HALT P 立即中止程序执行,返回TP编辑器或DOS
HI(I) F 返回一个变量的高位字节
INSERT(S,D,POS) F 在一个字符串中某一位置开始插入一个子串
INT F 取整数部分
IORESULT F 返回最后一次输入/出操作的结果状态
LENGTH(S) F 取字符串的长度
LN(R) F 求自然对数
LO(I) F 返回一个变量的低位字节
MAXAVAIL F 返回最大内存空间
MEMAVAIL F 返回可用内存数目
MKDIR(PATH) P 建立一个子目录
MOVE(S,D,LEN) P 快传送
NEW(P) P 建立一个新的动态变量
ODD(X) F 判断一个变量的值是否为奇数
OFS(X) F 侧变量偏移地址
ORD(CH) F 求一个字符的ASCII码值
PARAMCOUNT F DOS参数串长度
PARAMSTR(N) F DOS参数串
PI F 圆周率的值
pos(str1,str2) f 测一个字符串中包含的另一个子串的开始位置
pred(x) f 求前驱
ptr(i) f 指针赋值
random f 返回0~1之间的随机实数
randomize p 初始化随机数发生器
read/readln(f,x) p 读入/输入数据
rename(f,str) p 给一个外部文件改名
reset(f) p 打开文件,并将文件指针指向开始,并准备读数据
rewrite(f) p 打开文件,并将文件指针指向开始,准备写资料
rmdir(path) p 删除一个子目录
round(x) f 求实数的近似数
runerror p 停止程序的运行
scrollto p 滚动显示窗口的某部分内容
seek(f,n) p 将文件指针定位于文件f的第n个文件成分上
seekrof(f) f 定位到文件尾
seekroln(f) f 定位到行尾
seg(n) f 测变量段地址
settextbuf(f) p 将输入/出缓冲区与一个文本文件建立关联
sin(x) f 正弦函数
sizeof(x) f 测变量大小
sptr f 返回sp寄存器的当前值
sqr(x) f 平方
sqrt(x) f 平方根
sseg f 返回ss寄存器的当前值
str(i,s) f 将一个整数转换成字符串
succ(X) f 后继函数
swap(x) f 交换一个变量的高位和低位字节
trunc(x) f 截去实数的小数部分
truncate(f) p 截去文件当前指针以后的内容
upcase(ch) f 将小写字母转换成大写字母
val(s,r,p) p 将一个字符串转换成数值
writeln(f,x) p 输出
dos单元常用过程与函数
getdate p 返回系统当前日期
detftime p 返回最后一次写入的日期和时间
gettime p 返回系统当前时间
packtime p 转换系统日期和时间,封装成4个字节的长整形格式
setdate p 设置系统当前日期
setftime p 写入新的系统日期和时间,覆盖系统最后一次写入的 系统日期和时间文件
settime p 设置系统当前时间
uppacktime p 将系统日期和时间转换成纪录格式
diskfree f 返回指定磁盘可用剩余空间
disksize f 返回指定磁盘的总容量
get/setverity p 返回/设置dos状态下的磁盘读写标记
fexpand f 返回函数名的全称
fsearch f 在一个目录中查找文件
fsplit f 将一个文件名分成目录、文件名、扩展名
findfirst p 在当前目录或指定目录下查找第一个与给定属性相匹 配的文件名
循环语句的用法:
for循环变量:=初值 to [或者downto] 终值 do
循环体;
while 条件 do
循环体;
repeat
循环体;
until条件;
数组的作用:方便记录数据,举例:
如果要读入10个数,我们如果不用数组,那就要开10个变量如a1,a2,a3,a4....a10。
同理 要读入100个数的话- - 就要开100个变量
数组的话就可以方便存储和使用;
如 a:array[1..100] of longint/integer;
数组具体作用:
用来记录,存储,编辑,修改,输出数据(可以是大量的);
2楼的说是类型相同,作用不一定要相同;
用法只要: 你要第i个数据时 你定义的数组如上 则就是 a[i] a[i]就相当于整形或长整型
对于Pascal的所有函数,只要记住几个常用的就行了,如
inc(a);dec(a); ord(ch/string);chr(a); fillchar(a,sizeof(a),k) (括号里的是变量)等
如果要全部 各种辅导书后面的都有的 一一列出太痛苦- -
循环语句:
for : for i:=p to q do begin ...... end; 其中i,p,q是(长)整型;
while: while 条件 do 如果符合这个条件的话进行,否则跳出
begin
...
end;
repeat: repeat
...
until 条件; 如果条件符合的话跳出,否则进行
while repeat 的主要区别是while是先判断后做,repeat是先做后判断;
while是满足就做,否则跳过;
repeat是不满足才做,满足逃过;
这三种最常用。
也主要是这三种循环语句;
唉,累死喽- -
还有,2楼这样复制粘贴怕是不好吧- -
给个联系方式 给你发过去
程序中用来表示如物品件数和物品单价等属性相同的有序数据,Pascal语言把它归为数组。数组成员(分量)称为数组元素。数组必须在说明部分进行定义:确定数组名,数组分量(元素)的个数及类型。一般格式有:
Var 数组名:array[下标类型] of 数组元素类型 ;
数组常量说明格式为:
Const 数组名:array[下标类型]of 数组元素类型=(常量表);
程序中对数组的输入、输出处理,常用循环语句控制下标,进行有序地直接操作每个数组元素。
算术标准函数:
(1) abs(x) 求x的绝对值(|x|);
(2) exp(x) 求ex的值; (e为无理数2.71828…)
(3) frac(x)求x的小数部分;
(4) int(x) 求x的整数部分(不舍入,函数值为实型);
(5) ln(x) 求以e为底的x的对数(log ex );
(6) odd(x) 判断x的奇偶数(当x为奇数时odd(x)值为true,否则为false);
(7) ord(x) 求x的序号,结果为整型(x为有序类型量);
(8) pi π值(3.1380097932…);
(9) pred (x) 求x(有序类型)的前趋值;
(10) succ(x) 求x(有序类型)的后继值;
(11) random 随机函数,产生0~1的随机值;
(12) random(n)产生0~n的随机数(n为word类型,先执行randomize, 才能得到随机整数);
(13) round(x) 求x的四舍五入整数;
(14) trunc(x) 求x的整数部分(截掉小数部分,结果为整型);
(15) sqr(x) 求x的平方值(x2 );
(16) sqrt(x) 求x的开平方根值( );
(17) sin(x) 求x的正弦函数(x为弧度);
(18) cox(x) 求x的余弦函数(x为弧度);
(19) arctan(x) 正切的反三角函数(x为数值);
字符串函数:
求长度length
定义:function Length(S: String): Integer;
例子:
var
S: String;
begin
Readln (S);
Writeln('"', S, '"');
Writeln('length = ', Length(S));
end.
复制子串copy
定义: function Copy(S: String; Index: Integer; Count: Integer): String;
注意:S 是字符串类型的表达式。Index和Count是整型表达式。Copy 返回S中从Index开始,Count个字符长的一个子串。
例子:
var S: String;
begin
S := 'ABCDEF';
S := Copy(S, 2, 3); { 'BCD' }
end.
插入子串insert
定义:procedure Insert(Source: String; var S: String; Index: Integer);
注意:Source 是字符串类型的表达式。 S 是任意长度字符串类型变量。Index 是整型表达式。Insert 把 Source插在S中Index处。如果结果字符串的长度大于255,那么255之后的字符将被删除。
例子:
var
S: String;
begin
S := 'Honest Lincoln';
Insert('Abe ', S, 8); { 'Honest Abe Lincoln' }
end.
删除子串delete
定义:procedure Delete(var S: String; Index: Integer; Count:Integer);
注意:S 是字符串类型变量。 Index和Countare是整型表达式。Delete 删除S中从Index开始的Count个字符。如果Index大于S的长度,则不删除任何字符;如果Count大于S中从Index开始的实际字符数,则删除实际的字符数。
例子:
var
s: string;
begin
s := 'Honest Abe Lincoln';
Delete(s,8,4);
Writeln(s); { 'Honest Lincoln' }
Delete(s,9,10);
Writeln(s); { 'Honest L' }
end.
字符串转为数值val
定义: procedure Val(S; var V; var Code: Integer);
在这里:
S 是由一系列数字字符构成的字符串类型变量;。
V 是整型或实型变量;
Code 是Integer型变量
注意:Val将S转为它的数值形式。
例子:
var s:string;I, Code: Integer;
begin
s:='1234';
val(s,i,code);
writeln(i); { 1234 }
end.
数值转为字符串str
定义: procedure Str(X [: Width [: Decimals ]]; var S:string);
注意:将数值X转成字符串形式。
例子:
var
S: string[11];
begin
Str(I, S);
IntToStr := S;
end;
begin
Writeln(IntToStr(-5322));
Readln;
end.
求子串起始位置pos
定义:function Pos(Substr: String; S: String): Byte;
注意:Substr和S字符串类型表达式。Pos在S中搜索Substr并返回一个integer值。这个值是Substr的第一个字符在S中的位置。如果在S中没有找到Substr,则Pos返回0。
例子:
var S: String;
begin
S := ' 123.5';
{ Convert spaces to zeroes }
while Pos(' ', S) > 0 do
S[Pos(' ', S)] := '0';
end.
字符完全串连+
定义:操作符+把两个字符串联在一起。
例子:
var s1,s2,s:string;
begin
s1:='Turbo ';
s2:='pascal';
s:=s1+s2; { 'Turbo pascal' }
end.
字符串压缩空格串连-
定义:操作符-去掉第一个字符串最后的空格后,将两个字符串联在一起。
例子:
var s1,s2,s:string;
begin
s1:='Turbo ';
s2:='pascal';
s:=s1-s2; { 'Turbopascal' }
end.
以上都是常用的函数。
for循环是一种自动计数型循环。
for 循环语句有两种格式:
(1) for 循环变量:=初值 To 终值 do 语句;
(2) for 循环变量:=初值 downto 终值 do 语句;
第(1)种格式的初值小于等于终值,循环变量值按自动加1递增变化;
第(2)种格式的初值大于或等于终值,循环变量值按自动减1递减变化。for 循环是 (以递增1或以递减1) 计数型循环。
Repeat循环是直到型循环。
程序中的Repeat循环格式为:
repeat
循环体语句;
until 条件表达式; {直到条件为真}
Repeat循环首先执行由Repeat和Until括起来的循环体语句,然后检查Until后面的条件表达式:如果表达式结果为假,则继续执行循环体,接着继续检查Until后面的条件表达式,如此反复执行直到这个表达式结果为真时结束循环。Repeat循环体语句必须有能改变Until后面条件表达式值的语句,并最终使这个条件表达式的值为真,使循环自动结束。
While循环是当型循环。
While循环语句的格式:
While 条件式 do 语句;
其中do后面的“语句”是被重复执行的,称为循环体;若循环体是多个语句, 必须用begin--end包起来成为复合语句。
While循环首先判断条件式,当条件式的值为真就执行do 后面的语句(循环体)。
While的循环体内也必须包含能改变控制变量取值语句, 影响条件式的值, 最终使条件式为false (假), 才能结束循环。
希望对你有帮助。
一个pasic语言新手的疑问
你是高中生吧,大学都不学pascal 的。你拼写错了。
pascal是一种语法非常严谨的语言。
说白了,只适合做教学用。
但是学好了pascal,可以转学delphi.
现在比较流行学习C++,java
或许你不是计算机专业,计算机专业都是先开始学习c语言的。好象没有学习pascal的哦。如果你想在软件行业发展的话,还是建议学习c语言吧,其实c语言和pascal,vb一样都是面向过程的语言,都是入门一级的语言,不过,vb好象有面向对象的哦。pascal和vb的语法我认为更像一些,这两门语言我都没学过。如果学好了pascal以后可以继续学习delphi,它是面向对象的pascal。对于一个非计算机专业的学生来说的话,只需要了解编程就可以了。pascal学好了也就够了。但是如果你是计算机专业的话,那我真的要怀疑你们学校开课的问题了哦。。
你要在软件行业做的话,还是建议放弃pascal吧,学习c系列的语言。。
c、c++是做windows程序开发的。如果想更深入了解系统底层,病毒等方面的知识,可以研究一下汇编语言。
如果要做网页,网站方面的研究可以学习java、asp.net,php。
我是计算机专业。。。
1015: 【入门】求三个数的大小顺序(用Pascal语言)
算法没错,代码有一点问题而已。
输出的时候不能这么写。
分别输出一下a.b.c就好了
可以这样写
①write(a);write(a:2);writeln(c:2);(只适用于一位数字)
②writeln(a,' ',b,' ',c,' ');
场宽设小了,你知道一个数是几位数吗?
哪错了??
有错误吗?
程序本身没有错(如上图)。只是最后的输出语句只适合于输出一位数。现将程序稍作修改:
ar a,b,c,d:longint;begin readln(a,b,c); if a<b then begin d:="b;b:=c;c:=d;" end; if a<c b<c writeln(a,' ',b,' ',c); {此处作了修改} readlnend.