当前位置:首页 » 编程软件 » 国产pascal编译器

国产pascal编译器

发布时间: 2022-12-23 01:42:05

A. pascal程序 编译

纠正你一个错误的认识。
你说的TP,FP是IDE,集成开发环境。
编译器是TPC,FPC.
IDE就是你用的软件,编译器是将源代码转换成可执行文件的程序。
好看的IDE没有,你可以考虑用一些编辑器,如notepad++等

B. win7下 我用pascal语言的 可以用什么编译器阿 guide能不能使用

Turbo Pascal 7.0 for Win7版本的
或者
Free Pascal
-------------------------------------------
其实可以用Delphi写程序嘛~~~

补充回答:
相比别的编译器而言,使用范围广,16 - 32位,64位现在不知道支持不支持,程序可优化提升的空间大。
这儿三言两语说不清,你可以看看Free Pascal的维基网络或者网络,我想你会知道他的优缺点。

C. 参加信息学奥赛pascal语言用什么编译器

去年开始测试统一用lazarus编译。但是选手可以用free
pascal
1.0.10写代码调试。这些都是英文版的。信息学竞赛也不需要中文,除了试题是中文的。

D. pascal编译器推荐

Borland Pascal和Turbo差不多(都是Borland公司的),
但是我更喜欢Turbo
因为Turbo的帮助很好,而且Crt Graph Dos Drivers库的表现都很不错,
但是运行Crt库需要补丁

E. PASCAL有哪些编译器(最好支持win7)

编译器有:x0dx0aFree Pascal 2.4.4x0dx0aDelphi 7.比较好用的文本编辑器有:(不能编译,只能打代码)x0dx0aGeditx0dx0aEmacs(大牛一般用Emacs...)

F. 有什么好用的pascal编译器和IDE么

pascal语言流行的版本为:1、free
pascal;
2、turbo
pascal/
delphi
pascal
以上两种pascal系统都自身带有编译器、调试器、ide等。free
pascal、turbo
pascal
带有字符型的ide,基于free
pascal的lazarus是win图形界面的ide,delphi是pascal语言最强大的软件开发工具包(自带有强大的windows
ide)。
GUIDE是基于free
pascal
不错的一个win图形界面的ide。

G. 哪种Pascal语言编译器比较好用

MPEG7AudioEnc-0.3.zip] - MPEG-7 标准中音频编码部分源代码,JAVA语言实现,欢迎下载
[简单pacal编译器实现.rar] - 此源码是简单pascal编译器实现代码,采用工具LEX和YACC实现
[用Bison实现pl0语言编译器.rar] - 简介:PL0语言是pascal语言的一个子集。编译VC工程之前,需要运行run.bat将词法分析脚本和语法语义分析脚本编译成c语言
[pascalbianyiqi.rar] - pascal编译器,能做词法分析。是以前的课程设计。VC下的东东,绝对不重复。
[cifafenxi.rar] - 编译原理综合性实验:语法分析器的设计,电子书里详细介绍了一个词法分析器设计的详细过程和实验指导。
[pascallex.rar] - C++编写的pascal词法分析器
[compiler-c.rar] - 简易c语言的词法分析器。此分析器可以区分c语言的关键字、用户定义变量、界符等

H. pascal编译器可以在win7运行吗

可以的,就是有一点不同:

如果你打

vara:byte;

begin

fora:=1to10000do

writeln('321321321');

end.

在xp上面刷屏速度会很快,在win7上就慢一些,不知道为什么啊。

我就是正在用win7学pascal,我也是新手呵呵

I. Pascal 也分 Turbo Pascal 和 Free Pascal 的

Free Pascal是个由国际组织开发的完全的win32的pascal语言编译器,类似delphi,可编写windows程序。
此前被广泛使用的PASCAL编译器普遍为Turbo Pascal & Borland pascal。但是它们可用的空间十分有限。而Free Pascal理论上可以使用4GB内存。所以在利用Free Pascal编程的时候,可以改变原有思路,将大量时间转嫁给空间,提高效率。
虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的:
1. Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器;
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理论上可以使用4GB的内存,因此实际上几乎可以使用系统中的所有剩余内存(除非赛题中有内存限制)。这是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
exit(a*67); {函数的返回值就是a*67 }
end;
end;
4. Free Pascal支持函数重载。可以用相同的名字定义不同的函数,只要这些函数的参数不同,就是不同的函数。比如:
procere DoSomething (a : longint);
begin
{...}
end;
procere DoSomething (a : real);
begin
{...}
end;
可以使用不同的参数类型longint或者real来调用不同的DoSomething过程。
由于这个功能,函数的提前声明必须有完整的参数声明:
procere x (v : longint) : forward;
{...}
procere x;{ 这里定义的过程x重载了前面声明的过程x。因此这里的两个x是不同的}
begin
{...}
end;
5. Free Pascal容许运算符重载。比如,可以自己为矩阵运算定义一个“+”运算。
6. Free Pascal在windows 95及其以上的windows版本上支持长文件名。对于文件名,由于windows系统对大小写不敏感,因此在程序中,文件名的大小写是无关的。但是对于其它大小写敏感的系统,比如linux,程序中用到的文件名必须和系统中的文件名完全一致。但是由于信息学竞赛的评测系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。
编辑本段PASCAL程序设计介绍
1. PASCAL语言介绍
PASCAL语言是由瑞士的沃斯(N.Wirth)教授于1971年提出来的。它的命名是为了纪念法国数学家Pascal。它是世界上第一个结构化的高级程序设计语言。结构化程序设计主要由三种基本结构(顺序结构、选择结构、循环结构)组成。后来有人把函数和过程作为第四种基本结构。这四种结构对外看都只有一个入口和一个出口,结构清晰,避免了由GOTO语句所引起的混乱。另外在程序设计方法方面,主张采用自顶向下,逐步求精的方法。即将一个大的复杂问题,划分成若干少的易解决的问题。每个小问题,又可划分成一些更小的更易解决的问题。这样,只要把每个小问题都解决了,整个大问题也就解决了。这种方法也为多个人合作编程提供方便。
由于PASCAL语言具有良好的结构程序设计特性,适合于教学,特别是适合于培养学生掌握自顶向下逐步求精的结构化程序设计思想和方法,并养成良好的程序设计风格和习惯,因此,国内外许多大学都将PASCAL作为一门程序设计教学语言。
1.1.2 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.1.3 调入Turbo Pascal集成环境、编辑程序、保存程序
1. 请确定Turbo.exe文件所在磁盘目录。假如它是放在F:盘的TP7文件夹(又称子目录)中。
2. 把您要保存程序文件的盘设为当前盘,并保存文件于当前盘的当前目录中。假如您的程序文件要存在H:盘的当前目录,则在DOS方式提示符“>”后输入下面命令。
> h:←┘
3.调入并执行Turbo.exe,进入Turbo Pascal集成环境。
> f:\tp7\turbo.exe←┘
4.在程序编辑窗口中,输入例1-1程序。注意一个编辑窗口只能编辑一个程序文件。常用的编辑键有:
← ↑ → ↓ :光标移动键。
Delete :删除光标所在字符。
←┘ :回车键,用于换行或在光标处插入一行之用。
5.程序编辑完后,按F10 键,执行主菜单[File]中的[Save]项目菜单保存程序到磁盘中,并试用“yz1-1.PAS”作为例1-1程序存盘文件名。
1.1.4 运行程序、观察运行结果、跟踪调试程序
1. 按F10 键,执行主菜单[ RUN ]中的[Run]项目菜单,运行程序,然后在提示后输入一个调试用的半径值:
r= 10←┘
2. 按F10 键,执行主菜单[Debug]中的[ output ]项目菜单,打开输出窗口观察到结果如下:
R= 10.00 L= 62.80 S= 314.00
如果有错,请找出错误并修改它,重复第1步,再执行直到有正确输出结果。
3.重复第1步,再次运行程序,输入另一个园的半径值5,观察输出结果是否也正确,从而确定该程序能否正确解决不同半径的园的周长和面积的求解问题。
程序调试中我们常用的操作还有:
双线框的窗口称为“当前活动窗口”。
F1 键: 得到光标所在位置的项目的帮助信息。
F4 键: 要求运行到当前光标处暂停。
F5 键: 放大或缩小当前活动窗口。
F6 键: 切换其它窗口为当前活动窗口。
F7 键: 单步执行程序并能跟踪进入子程序。
F8 键: 单步执行程序但不能跟踪进入其子程序。
F10 键:在菜单和活动窗口间转换。
CTRL + Break 键:强制终止当前程序的运行。
其它功能按键请同学们以后自己查看英文帮助说明,出色的程序员都习惯查看英文帮助。
4.学习跟踪调试方法,它可帮助我们检查分析出算法上存在的错误。
(1) 按F10 键,执行主菜单[Debug]中的[ Watch ]项目菜单,打开监视窗口
(2) 按 Insert 键,输入常量pi ←┘
Insert 键,输入变量r ←┘
Insert 键,输入变量l ←┘
Insert 键,输入变量s ←┘
(3) 请按F8 键或F7单步执行程序直到程序结束,观察上述常量和变量如何变化。
(4) 观察程序执行过程中Watch监视窗口中常量和变量的值变化,分析算法是否正确。
说明:如果想在程序还未结束前终止程序的单步执行或跟踪调试,可按F10 键,执行主菜单[Run]中的[ Program Reset ]项目菜单。
1.1.5 关闭当前活动窗口、退出Turbo Pascal集成环境
1. 按 F6 键切换当前活动窗口,执行主菜单[Windows]中的[Close]菜单项关闭当前活动窗口,如果当前活动窗口是程序编辑窗,在关闭前可能因程序已修改过而提问用户是否需要保存编辑窗口中的被更改后的程序。试逐一关闭所有窗口。
2. 执行主菜单[File]中的[Exit]菜单项可退出Turbo Pascal集成环境,返回DOS提示符状态。
1.1.6 深入理解例1-1程序各语句意义
1. 在Pascal中有些词具有特定的含义,用户必须正确理解其含义和正确使用,否则会运行出错。这些具有特定含义的词称为“保留字”。“保留字”不能做常量名、变量名或程序名。在Turbo Pascal7.0编辑窗口中,保留字默认用白色显示。例1-1中的包含的保留字有:program,const,var,begin,end,它们的特定含义分别是:program 指出后面定义的是程序名;const指出后面定义的是程序将用到的常量;var指出后面定义的是程序将用到的变量;begin指出程序执行代码开始;end指出程序执行代码结束。
2. 除了保留字外,还用到标识符,用于表示常量、变量、类型、文件、函数、过程或程序的名字。标识符是以字母开头的字母、数字组合,标识符又分为标准标识符和用户自定义标识符。如例1-1中,用户自定义标识符有:程序名为circle,常量pi,实数型变量r、l和s,它们由程序设计者定义的;标准标识符有:实数标准类型名real,读数标准过程名readln,输出标准过程名write和writeln ,标准输入文件input,标准输出文件output。在Pascal编译系统中,标准标识符也具有特殊的含义,我们定义标识符时也应尽量避免与标准标识符取相同名字。PASCAL中的保留字及标识符是不区分大小写的。
保留字 program , const , var , begin ,end
标识符 标准标识符 Real,readln,write,writeln,input,output
用户自定义标识符 circle , pi , r , l , s
3. 注意程序的书写格式
程序名说明: program <用户自定义的程序名>(input,output);其中圆括号的内容称为程序的参数。程序参数指明程序与外部联系的文件名。input是标准输入文件,例如键盘;output是标准输出文件,例如屏幕、打印机等。对于标准设备常可省略(input,output)的说明,简写为:program <用户自定义的程序名>;如例1-1可省略简写为:“ program circle; ”
常量定义:Const
<常量标识符>=<常量>;
......
<常量标识符>=<常量>;
变量定义:var
<变量表> :<类型>;
......
<变量表> :<类型>;
主程序语句部分: begin
<语句>;
......
<语句>;
end .
赋值语句: <变量名标识符>:=<表达式>; 其意义是把右边表达式的运算结果送到左边变量名所对应的数据区中。
读数据标准过程(又称读语句):read(变量表),园括符内必须是已定义过的变量标识符,有多个时变量时可用逗号分隔构成变量表。
输出数据标准过程(又称写语句):write(数据项表)或writeln(数据项表),有多个数据项时要用逗号分隔。数据项可以是字符串(如:'L=',' S=')、变量(如:l、s),如:s:8:2,表示要求输出时数据保留2位小数位,总长度包括小数点为8位;write与writeln区别是writeln完成所有输出后自动换行。
1.2 PASCAL基本组成
1.2.1 PASCAL语言使用的几类基本符号
(1) 大小写英文字母:A,B,...Z,a,b,..z
(2) 数字:0,1,2,3,4,5,6,7,8,9
(3) 其它符号:+ , - , * , / , = , < > , >= , <= , < , > , ( , ) ,[ ,] , := , ' , , . : , .. , ∧ 等。
注意:PASCAL的标识符及保留字定义只能采用上述基本符号,其它特殊符号。例如:αβε∮∞≈,汉字等只能在字符型常量中使用。
1.2.2 PASCAL语言使用的保留字
在PASCAL语言中,有些词具有特定的含义。用户必须了解其含义,以便正确的使用,否则会造成错误,这些具有特定含义的词被称为保留字,保留字不能作其它用途,如作变量名等。在Turbo pascal7.0中,保留字默认用白色显示,保留字如下:PROGRAM ,CONST,VAR,BEGIN,END,AND,ARRAY,CASE,DIV,DO,DOWNTO,ELSE,FILE,FOR,FUNCTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEART,SET,THEN,TO,TYPE,UNTIL,WHILE,WITH等。
1.2.3 语法图说明
语法是语言的结构规则,语言的所有成分都必须符合语法的要求,如果语言的结构规则描述不严密,就会产生岐义。我们在下面说明语法中,采用语法图进行描述,使说明更加简洁。语法图常用的4种图形元素的意义如下:
1.2.4 PASCAL语言中的标识符
在PASCAL中标识符分标准标识符和用户自定义标识符,它可作为常量、变量、类型、过程、函数和文件的名字。标识符是以字母开头的字母数字序列,构成语法如下图示:
在PASCAL中有些标识符已定义了特定的含义,称为标准标识符,它们是:
标准常量:false,true,maxint等;
标准类型:integer,real,char,boolean,string,text等;
标准文件:input,output等;
标准函数:abs,chr,cos,eof,eoln,round等;
标准过程:read,readln,write,writeln,new,reset等;
指出下面用户自定义标识符为什么会错: begin,1student,student 1,
1.2.5 PASCAL中使用的常量与变量
程序中数据分为两类:一类是在程序执行过程中其值保持不变的量,称为常量;另一类是在程序执行过程中,其值可以改变的,这类数据称为变量。根据使用方式的不同,常量又可以分为直接常量和用户定义常量两种。
1.直接常量
指程序中直接引用的常数,在PASCAL中经常使用的常量有:整型常数,实型常数,字符型常数和布尔型常数等。
(1) 整型常数语法图如下:
如:100 , +120 ,-199 , 0等。
(2) 实型常数语法图如下:
如:100 , +120 ,2.5 ,0 ,0.005 , +2.418 , 1.24E+3 ,-1.24E+3
这里E表示用科学记数法表示,1.24E+3相当于数学的1.24×10+3 。
(3) 字符型常数语法图如下:
如:'A' ,'a','?','4','aBbc','12.5'等。
(4) 布尔型常量
布尔型常量简称为布尔型常数,它只有两个:true和false,分别表示逻辑判断的结果是真(True)和假(False)。
2.用户自定义常量
在程序中,如果一个常数反复多次出现在程序中,用户可以通过说明语句来定义一个标识符来代表这个常量。常量说明语法图如下:
如: const
pi=3.14;
country='China';
success=true;
3.变量说明
PASCAL程序中数值可以改变的量称为变量,由于变量可以取不同的值,因此变量必须通过标识符来代表。程序中出现的每个变量都必须在程序的变量说明部分进行类型说明.变量说明语法图如下:
如: var
x,y,z:real;
i,j,k:integer;
ch:char;
t,f:boolean;
name:string;
1.2.6 Turbo Pascal中标准数据类型介绍
数据的类型确定了该类数据的表示形式和取值范围,而且确定了其所能参加的各种运算。PASCAL语言提供了丰富的数据类型,如下图1.1所示。这里我们先介绍标准类型,其它类型以后用到时才介绍。
1.整型
一个数存放在计算机中都要占用固定的存储空间,这决定了在计算机中的每种数据类型定义的数的大小是有限的,这点与数学中的定义不同,为了节省空间和提高处理速度,我们通常要根椐处理的数的最大可能决定选用不同的数据类型。Byte为信息存储单位。
整数的可选类型如下:
名称 类型标识符 数据表示范围 占用存储空间
整型 integer -32768 ~ +32767 2byte
短整型 shortint -128 ~ +127 1byte
长整型 longint -2147483648 ~ +2147483647 4byte
字节型 byte 0 ~ 255 1byte
字型 word 0 ~ 65535 2byte
例:var
i:byte;
当i值取256时出错,因为byte类型只能接受0~255之间的数。可定义大些,如word型
提问:若解题时i的最大可能取值为40000,问i变量应定义为那种数据类型较合适?
2.实型:实型有4种类型,如下表示
实型名称 类型标识符 数据表示范围 有效位 占用存储空间
实型 real -2.9*10^39~+1.7*10^38 11~12 6byte
单精度型 single -1.5*10^45~+3.4*10^38 7~8 4byte
双精度型 double -5.0*10^-324~+1.7*10^308 15~16 8byte
扩展型 extended -1.9*10^-4932~+1.1*10^4932 19~20 10byte
装配十进制型 comp -2^63+1 ~ +2^63 –1 19~20 8byte
注:在Turbo Pascal中,single,double,extended,comp需要计算机的数学协处理器支持,即要在程序首行加入编译开关{$N+},若计算机为486SX以下,没有协处理器,可采用仿真办法,即在程序首行加入编译开关{$N+,$E+}
例:var
x:real;
当x的数学值为2时,在计算机中的值为:2.0000000000E+00
当x的数学值为-25时,在计算机中的值为:-2.5000000000E+01
当x的数学值为0.05时,在计算机中的值为:5.0000000000E-02
3. 字符型和字符串型
名称 类型标识符 说明
字符型 char 单个字符用一对单引号括起的数据。
字符串型 string 一个或一串字符用一对单引号括起来的数据。
例: var
ox:char;
note:string;
name:string[5];
4. 布尔型
名称 类型标识符 说明
布尔型 boolean 值只有true和false,分别表示真和假或对与错。
1.2.7 运算符、标准函数及标准过程
1.运算符
在PASCAL中提供的运算符有算术运算符、关系运算符和逻辑运算符等。不同的运算符都规定了其运算对象的数据类型和运算结果的类型。如下表:
运算符 运算类型 运算对象及类型 结果类型
+、-、* 算术运算 整型或实型 整型或实型
/ 算术运算 整型或实型 实型
div、mod 算术运算 整型 整型
not、and、or 逻辑运算 布尔型 布尔型
< 、<= 、= 、> 、>= 、<> 关系运算 标准类型 布尔型
(1)算术运算符+ 、- 、 * 、/ 说明
在PASCAL中乘用“*”表示,除用“/”表示。通过下面例子加深理解:
运算对象及式子 运算结果 结果类型
1+5 6 整型
1.0+5 6.0000000000E+00 实型
6/2 3.0000000000E+00 实型
2*6 12 整型
2.0*6 1.2000000000E+01 实型
(2) 算术运算符div 、mod 说明
div表示求两个整数除的商,mod表示求两上整数除的余数。
运算对象及式子 运算结果 结果类型及说明
7 div 2 3 整型
7 mod 2 1 整型
7.0 div 2 出错 运算对象不允许实数
(4) 关系运算符< 、<= 、= 、> 、>= 、<>说明
运算对象及式子 运算结果 结果类型及说明
7 >5 true 布尔型
7<>7 false 布尔型
7=7 true 布尔型
7>=7 true 布尔型
7.5>7 true 布尔型
'B'>'A' true 布尔型
'b'>'B' true 布尔型
'abd'>'abc' true 布尔型
说明:字符常量比较大小是按字符对应的ASCII码值大小比较大小。如:字符'A'的ASCII码为65,'B'的ASCII码为66 ,故'B'>'A',在ASCII码表中,小写字母的ASCII值又大过大写字母的ASCII值,故'b'>'B'。字符串的比较是逐个比,直到不同为止,故有'abd'>'abc' 。
(5) 逻辑运算符not、and、or
运算符 名称 意义 举例 结果
Not 非运算 相当于“求反” not(4>3) F not true false
And 与运算 相当于“而且” (4>3) and (2>3) F true and false false
Or 或运算 相当于“或者” (4>3) or (2>3) F true or false true
下表说明逻辑运算的运算结果
A B not A A and B A or B
true true false true true
true false false false true
false true true false true
false false true false false
(6) 字符串连接运算符 +
如:'abc'+'def' 结果为:'abcdef' 。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:645
制作脚本网站 发布:2025-10-20 08:17:34 浏览:936
python中的init方法 发布:2025-10-20 08:17:33 浏览:632
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:821
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:731
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1066
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:299
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:160
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:852
python股票数据获取 发布:2025-10-20 07:39:44 浏览:763