8.?通用编译语言Pascal
Pascal
语言是一种计算机通用的高级程序设计语言,由瑞士联邦技术学院尼克劳斯
维尔特(Niklaus?Wirth)教授于六十年代末设计并创立,以纪念十七世纪法国著名哲学家和数学家
Blaise?Pascal,现已成为广泛使用的编程语言之一。维尔特一生还写作了大量有关程序设计、算法和数据结构的著作,因此,他获得了1984
年度的“
图灵奖”。
Pascal
语言主要特点有:结构化形式严格;数据类型丰富完备;运行效率高;查错能力强;语言语法严谨,层次分明,程序易写,具有很强的可读性。Pascal是最早出现的结构化编程语言,适于描述数值和非数值的问题。
在
Pascal语言问世以来的四十余年间,先后产生了适合于不同机型的各类版本,其中影响最大的莫过于
Turbo?Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983
年推出的1.0版本发展到
1992年推出的7.0版本,版本不断更新,功能更趋完善。Turbo?Pascal
语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。
在高级语言发展的过程中,
Pascal语言是一个重要的里程碑,是第一个系统地体现结构化程序设计概念的语言。结构化程序设计主要由三种基本结构(顺序结构、选择结构、循环结构)组成,后来有人把函数和过程作为第四种基本结构。这四种结构对外看都只有一个入口和一个出口,结构清晰,避免了由
GOTO语句所引起的混乱。另外,在程序设计方法方面,Pascal
语言主张采用自顶向下,逐步求精的方法。即将一个大的复杂问题,划分成若干小的易解决的问题。每个小问题,又可划分成一些更小的、更易解决的问题。这样,只要把每个小问题都解决了,整个大问题也就解决了。这种方法也为多人合作编程提供了方便。
在中国信息学奥林匹克竞赛中,比较常用的
Pascal编程工具是Turbo?Pascal,这也是世界上使用人数最多的
Pascal编程工具——它拥有编译速度快的先进编译器和功能强大而又简便易用的集成开发环境。
Turbo?Pascal系列软件作为开发系统软件与实施科学计算和教学的有力工具,发挥着越来越大的作用:IOI(
国际奥林匹克信息学竞赛)
把Pascal语言作为三种程序设计语言之一,
NOI(全国奥林匹克信息学竞赛)把Pascal语言和C语言、C++语言作为竞赛使用的程序设计语言,在大学中,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语言的标准库中缺乏对网络编程的支持,并且仅通过自带的
graph单元难以实现较好的图形界面(GUI),这些问题大多需要嵌入汇编语言代码才能得到解决,这就导致传统
Pascal语言缺乏与机器语言的接口。作为一个面向过程的编程语言,和
90年代兴起的面向对象的语言相比,传统
Pascal语言不利于大型软件的开发。
随着
Turbo?Pascal逐渐被淘汰,NOI和
IOI已经指定Free?Pascal为比赛使用的
Pascal编程工具。Free?Pascal?是32/64
位的Pascal
编程工具,属于自由软件,可用于各种操作系统。根据编译选项的不同,它可以选择使用
Turbo?Pascal兼容语法、Delphi语法或者其它语法编写程序。由于它拥有
32/64位的编译器,而且一直在更新、发展,因此它的功能比
Borland?Pascal更加强大,还拥有许多现代程序设计的特征。
从使用者的角度来看,
Pascal语言有以下几个主要的特点:
⒈?结构化????Pascal
语言可以方便地写出结构化程序。这就保证了程序的正确性和易读性。在结构化这一点上,Pascal
语言比其它算法语言更好一些。
⒉?数据类型丰富????Pascal
语言提供了整数型、实数型、字符型、布尔型、枚举型、子界型以及由以上类型构成的数组类型、集合类型、记录类型和文件类型。此外,还提供了许多其它语言中没有的指针类型。丰富的数据结构和结构化性质,使Pascal
语言可以方便地被用来描述复杂的算法。
⒊?适用性好????Pascal
语言既适用于数值运算,也适用于非数值运算。有些语言只适用于数值计算,有些语言则适用于商业数据处理和管理领域。
Pascal语言的功能较强,能广泛应用于各种领域。
⒋?书写较自由????不像有些算法语言对程序的书写格式有严格的规定,Pascal
语言允许一行写多个语句,一个语句也可以分写在多行上,这样就使
Pascal程序能够写得象诗歌格式一样优美,便于阅读。但值得注意的是,Pascal
语言一行不可超过
257个字符。
基于以上特点,许多学校选择Pascal
语言作为程序设计课程的一种主要语言。它能让学生受到严格而良好的程序设计的基本训练,还可以培养学生结构化程序设计的风格。