Free Pascal
百科名片
Free Pascal
Free Pascal 是个由国际组织开发的完全的win32的pascal语言编译器,可编写windows程序。
目录
Free Pascal 简介
Free Pascal 与 Turbo Pascal 的区别
Free Pascal相对于Turbo Pascal的扩充
PASCAL程序设计介绍
1. PASCAL语言介绍
2. PASCAL程序的结构初步认识
3. 集成环境、编辑程序、保存程序
4. 运行程序、观察运行结果、跟踪调试程序
5. 保留字
6. 标识符
7. 注意程序的书写格式
8. PASCAL语言使用的保留字
9. PASCAL语言中的标识符
10. Turbo Pascal中标准数据类型介绍
11. 运算符、标准函数及标准过程
12. 标准函数和过程
13. 表达式
14. 一个较完全的PASCAL程序结构
free pascal报错号对应翻译
1. 运行错误
2. 编译错误
Free Pascal 简介
Free Pascal 与 Turbo Pascal 的区别
Free Pascal相对于Turbo Pascal的扩充
PASCAL程序设计介绍
1. PASCAL语言介绍
2. PASCAL程序的结构初步认识
3. 集成环境、编辑程序、保存程序
4. 运行程序、观察运行结果、跟踪调试程序
5. 保留字
6. 标识符
7. 注意程序的书写格式
8. PASCAL语言使用的保留字
9. PASCAL语言中的标识符
10. Turbo Pascal中标准数据类型介绍
11. 运算符、标准函数及标准过程
12. 标准函数和过程
13. 表达式
14. 一个较完全的PASCAL程序结构
free pascal报错号对应翻译
1. 运行错误
2. 编译错误
展开
编辑本段
Free Pascal 简介
Free Pascal是个由国际组织开发的完全的win32的pascal语言编译器,类似delphi,可编写windows程序。
此前被广泛使用的PASCAL编译器普遍为Turbo Pascal & Borland pascal。但是它们可用的空间十分有限。而Free Pascal理论上可以使用4GB内存。所以在利用Free Pascal编程的时候,可以改变原有思路,将大量时间转嫁给空间,提高效率。
编辑本段
Free Pascal 与 Turbo Pascal 的区别
虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的:
1. Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器;
Free Pascal
2. Free Pascal是一个跨平台的编译器,而Turbo Pascal只在windows和DOS上使用。
如果你的代码是遵守ANSI Pascal的,那么代码从Turbo Pascal移植到Free Pascal是没有问题的。
下面是在Turbo Pascal上可以使用,但是在Free Pascal就不能使用的一些语言特性:
1. 函数和过程在使用时,参数的类型必须和定义时完全一致。原因是在Free Pascal中添加了函数,EXCEPT,RAISE成为了关键字,因此不能作为函数和过程的名字。
3. FAR,NEAR不再是关键字了。原因是Free Pascal是32位系统,不再需要这些关键字。
4. 布尔表达式不一定要全部进行计算。只要最终结果已经能够确定,就不再计算其它还没有计算的部分了。比如布尔表达式exp1 AND exp2 AND exp3,如果已知exp1的结果是false,那么怎么表达式的结果肯定是false,exp2和exp3就不用进行计算了。
5. 在Free Pascal中,集合中的元素都是4个字节长的。
6. 表达式执行的顺序是不确定的。比如对于表达式a:=g(2)+f(3); 不保证g(2)一定在f(3)之前执行。
7. 如果用Rewrite打开文件,那么文件就只能被写入了。如果需要读取这个文件,要对文件执行Reset。
8. Free Pascal在程序结束之前一定要关闭输出文件,否则输出文件可能不能被正确的写入。
9. Free Pascal理论上可以使用256m的内存,因此实际上几乎可以使用系统中的所有剩余内存(除非赛题中有内存限制)。这是Free Pascal由于32位的编译器。但是对于Turbo Pascal来说,由于是16位的编译器,因此不能定义大小超过64KB的数据类型和变量,并且在DOS实模式下可以使用的内存总数只有640KB。
编辑本段
Free Pascal相对于Turbo Pascal的扩充
1. 函数可以返回复杂的类型,比如记录和数组。
2. 在函数中,函数的返回值通常可以作为一个变量来处理。比如:
function a : longint;
begin
a:=12;
while a>4 do
begin
{...}
end;
end;
这个例子在Turbo Pascal中,a>4会被认为是函数的递归调用,但是在Free Pascal中会认为a只是一个变量。如果想在Free Pascal中实现递归调用,就要写成下面的形式:
function a : longint;
begin
a:=12;
{ this is the recursive call }
if a()>4 then
begin
{...}
end;
end;
3. exit可以接受一个参数作为函数的返回值。比如:
function a : longint;
begin
a:=12;
if a>4 then
begin
pascal语言难学吗 exit(a*67); {函数的返回值就是a*67 }
end;
end;
4. Free Pascal支持函数重载。可以用相同的名字定义不同的函数,只要这些函数的参数不同,就是不同的函数。比如:
procedure DoSomething (a : longint);
begin
{...}
end;
procedure DoSomething (a : real);
begin
{...}
end;
可以使用不同的参数类型longint或者real来调用不同的DoSomething过程。
由于这个功能,函数的提前声明必须有完整的参数声明:
procedure x (v : longint) : forward;
{...}
procedure x;{ 这里定义的过程x重载了前面声明的过程x。因此这里的两个x是不同的}
begin
{...}
end;
5. Free Pascal容许运算符重载。比如,可以自己为矩阵运算定义一个“+”运算。
6. Free Pascal在windows 95及其以上的windows版本上支持长文件名。对于文件名,由于windows系统对大小写不敏感,因此在程序中,文件名的大小写是无关的。但是对于其它大小写敏感的系统,比如linux,程序中用到的文件名必须和系统中的文件名完全一致。但是由于信息学竞赛的评测系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。
Free Pascal
编辑本段
PASCAL程序设计介绍
PASCAL语言介绍
PASCAL语言是由瑞士的沃斯(N.Wirth)教授于1971年提出来的。它的命名是为了纪念法国数学家Pascal。它是世界上第一个结构化的高级程序设计语言。结构化程序设计主要由三种基本结构(顺序结构、选择结构、循环结构)组成。后来有人把函数和过程作为第四种基本结构。这四种结构对外看都只有一个入口和一个出口,结构清晰,避免了由GOTO语句所引起的混乱。另外在程序设计方法方面,主张采用自顶向下,逐步求精的方法。即将一个大的复杂问题,划分成若干少的易解决的问题。每个小问题,又可划分成一些更小的更易解决的问题。这样,只要把每个小问题都解决了,整个大问题也就解决了。这种方法也为多个人合作编程提供方便。
由于PASCAL语言具有良好的结构程序设计特性,适合于教学,特别是适合于培养学生掌握自顶向下逐步求精的结构化程序设计思想和方法,并养成良好的程序设计风格和习惯,因此,国内外许多大学都将PASCAL作为一门程序设计教学语言。
PASCAL程序的结构初步认识
例1-1:输入半径求园的周长和面积?
program circle(input,output);
const
Pi=3.14;
var
r,L,s:real;
begin
write('r=');
readln(r);
L:=2*pi*r;
s:=pi*r*r;
writeln('R=',r:8:2,' L=',L:8:2,' S=',s:8:2);
end .
集成环境、编辑程序、保存程序
1. 请确定文件所在磁盘目录。假如它是放在F:盘的TP7文件夹(又称子目录)中。
2. 把您要保存程序文件的盘设为当前盘,并保存文件于当前盘的当前目录中。假如您的程序文件要存在H:盘的当前目录,则在DOS方式提示符“>”后输入下面命令。
> h:←┘
3.调入并执行,进入Turbo Pascal集成环境。
> f:\←┘
4.在程序编辑窗口中,输入例1-1程序。注意一个编辑窗口只能编辑一个程序文件。常用的编辑键有:
← ↑ → ↓ :光标移动键。
Delete :删除光标所在字符。
←┘ :回车键,用于换行或在光标处插入一行之用。
5.程序编辑完后,按F10 键,执行主菜单[File]中的[Save]项目菜单保存程序到磁盘中,并试用“yz1-1.PAS”作为例1-1程序存盘文件名。
运行程序、观察运行结果、跟踪调试程序
1. 按F10 键,执行主菜单[ RUN ]中的[Run]项目菜单,运行程序,然后在提示后输入一个调试用的半径值:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论