free pascal问题
Pascal运行错误对照表
运行错误是指程序运行时出现的错误,当发生时,Turbo Pascal显示如下信息:
RUNTIME ERROR NNNN AT XXXX:YYYY
其中,nnnn是运行错误代码,xxxx是错误发生的程序段,yyyy是错误地址偏移。
DOS 错误代码:
1无效DoS功能号
2文件末找到
3路径未找到
4打开文件过多
5禁止文件存取
6无效文件句柄
12无效文件存取代码
15无效驱动器号
16不能删除当前日录
17不能跨驱动器改文件名
I/O错误
100磁盘读错误
101磁盘写错误
102文件变量末赋值
103文件未打开
104文件未用输入方式打开
105文件末用输出方式打开
106无效数字格式
严重错误
150磁盘写保护
15l未知单元
152驱动器未准备好
153未知命令
154数据CRC校验错
155驱动器请求的结构长度错
156磁盘定位错
157未知媒介类型
158扇区末找到
159打印机缺纸
160设备写失败
161设备读失败
162硬件故障
致命错误
200被零除
20l范围检查错
202堆栈溢出错
203堆溢出错
204无效指针操作
205浮点上溢出
206浮点下溢出
207无效浮点运算
208未安装覆盖管理程序
209覆盖文件读错
210对象未初始化
2ll调用抽象方法
212流登计错
213集合下标越界
214集合溢出
215 算术上溢错误
216 存取非法
217 控制-C
218 授权指令
219 无效的TYPECAST
220 无效的变体TYPECAST
221 无效的变体操作
222 没有变体方法调用DISPATCHER
223 不能建立变体数组
224 变体不包含数组
225 变体数组边界错误
226 TLS初始化错误
Pascal编译错误对照表
下面列出在编译程序时可能出现的错误,在集成环境下,Turbo Pascal将自动加载源程序并定位于出错处。
l内存溢出
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被零除D
63无效文件类型
64不能读写该类型的变量
65缺指针变量
66缺字符串变量
67缺字符串表达式
68单元循环引用
69单元名不匹配
70单元版本不匹配
71单元重名
72单元文件格式错误
73缺IMPLEMENTATl0N
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初始条件定义错
13l过程和函数头与前面定义的不匹酉
132严重磁盘错误
133不能计算该表达式
134表达式错误结束
l35无效格式说明符
136无效间接引用
137此处不允许结构变量
138无SYSTEM单元不能计算
l39不能存取该符号
140无效浮点运算
141不能将覆盖编译至内存
142缺过程和函数变量
143无效过程或函数引用
144不能覆盖该单元
147缺对象类型
148不允许局部对象类型
149缺VIRTUAL
150缺方法标识符
151不允许虚拟构造方法
152缺构造方法标识符
153缺释放方法标识符
154FAIL只允许在构造方法内使用
155无效的操作符和操作数组合
156缺内存引用
l57不能加减可重定位符号
158无效寄存器组合
159未激活286/287指令
160无效符号引用
161代码生成错
162缺ASM
宽度搜索即可
const dirx:array[1..8] of longint=(-2,-2,+2,+2,-1,+1,-1,+1);
diry:array[1..8] of longint=(-1,+1,-1,+1,-2,-2,+2,+2);
//马可以走的位置(相对当前位置)
var i,len,k,x1,y1:longint;
st:array[1..1000,1..3] of longint;//用于记录状态数据
b:array[1..10,1..10] of boolean;//用于标记状态
procedure add(x,y,step:longint);//用于增加一个状态
begin
if (x<=0)or(y<=0)or(x>10)or(y>9) then exit;
//坐标越界则退出
if b[x,y] then exit;
//当前状态已记录则退出
b[x,y]:=true;
//标记
inc(len);
st[len,1]:=x;
st[len,2]:=y;
st[len,3]:=step;
//增加一个状态
end;
begin
read(st[1,1],st[1,2],x1,y1);
len:=1;
//表示当前共有的状态数目
repeat
inc(k);
if k>len then break;
if (st[k,1]=x1)and(st[k,2]=y1) then break;
//到达目标点则退出
for i:=1 to 8 do
add(st[k,1]+dirx[i],st[k,2]+diry[i],st[k,3]+1);
//枚举当前状态可扩展出的状态
until false;
if k>len then writeln('impossible') else writeln(st[k,3]);
end.
'?'
,结束(循环)输入。计数 采取 这样的方式,建立26 或52 个元素的数组 ,用字母做索引(ord(ch)-ord('a') 小写, (ord(ch)-ord('A') 大写 ,计数就是加1操作。
2)队列或循环链表!
3)冒泡到处都是,搜搜吧!
4)先计算每个数占多少位置,然后后计算每行开始输出多少空格。
每行输出数字时,每输出一个数输出同样多位置的空格,间隔排列就是。
5)“.”结束---逐字符输入(循环输入)读到
'?'
,结束(循环)输入。
回文判断,两头往中间走,遇到字符不同退出,没有中途退出就是回文,中途退出的不是。
1、var ii,ch:char;
cnt:array ['a'..'z'] of longint;
begin
repeat
read(ch);
if (ch>='a') and (ch<='z') then inc(cnt[ch]);
until ch='?';
for ii:='a' to 'z' do write(ii,':',cnt[ii],' ');
end.
你忽然掉一大箩筐问题出来 谁看到了都想掉头走
厍吴中诺: fpc2.4.0的通常问题,可以把free pascal关闭后重开.建议换成fpc2.0.4或者GUIDE1.0.0
旬邑县17332129273: 关于Free Pascal的问题?
厍吴中诺: 把源文件粘桌面上打开free pascal的“属性”,寻找“选项”,把里面的默认代码改成(OEM-美国)
旬邑县17332129273: free pascal错误信息 - ?
厍吴中诺: 先按任意键关掉那个“Compiling (Debug mode)”的窗口 然后再按F5 就可以显示出那个绿色的错误信息的窗口“Compiler Messages” 出现后用鼠标调整大小即可 (我半年前也曾为这个问题困扰n久...)
旬邑县17332129273: Free Pascal 约瑟夫问题 - ?
厍吴中诺: 用一个数组 表示圈 Q: array[1..100] of integer;初值全置成1;用 索引 index 搜索 数组,初值=1; 如果Q[index]=0; 下一个非0位置; index+1; index=m; Q[index]:=0; 输出 index; Index=n; 则回到1;继续.直至Q 里只有一个非0 值为止.
旬邑县17332129273: FreePascal问题?
厍吴中诺: 递归 二分查找,分别取最大进行比较 打擂台就可以,给一个程序段,假设a数组中存数,共n个数,读入自行解决 max存最大,w存位置 var i,n,max,w:longint; a:array[1..1000] of longint; beginmax:=0;for i:=1 to n do if a[i]>max then beginmax:=a[i]; w:=i;end; writeln(max,w); end.
旬邑县17332129273: free pascal的问题?
厍吴中诺: 按一下空格光标就会跳到出错的地方 (必须先保存才能检验) 如果说告诉你found 'A' except 'B' 意思就是该位置应该出现'B' 但是你打成了'A' 注意:else 前面 必须不能用 ; 否则会报错 其他注意的地方就比较好懂 自己多查几遍 就知道了
旬邑县17332129273: 关于Free Pascal的使用问题?
厍吴中诺: 貌似有点问题,你是不是打了 assign reset rewrite close 这些都是文件输入输出的格式,在你调试得时候可不打 或 用花括号隐去, 当你在测评的时候才需要(网上测评一般也不用). 若真的要用的时候,在你运行的FPC的文件夹里面新建输入文本,文件名要匹配,然后在那里输入数据,再运行,就会有相应的输出文件出来,那里的数据就是输出数据.
旬邑县17332129273: Free Pascal问题 任意输入一个四位数,输出的结果是其各个数位上的数字之和 - ?
厍吴中诺: var n,i,t:integer; begin write('input the number:'); readln(n); if (n9999) then writeln('input error!'); t:=0; for i:=1 to 4 do begin t:=t+n mod 10; n:=n div 10; end; writeln('sum=',t); readln end.这个和楼上差不多,只是运行起来美观点,而且可以报错(输入不是4位数的时候),就是报错了仍然会计算,为了简洁,就没填程序了,需要进一步帮助请给我留言
旬邑县17332129273: Free Pascal 初学编程遇到的一些问题 - ?
厍吴中诺: (1)Compilation aborted 是编译错误,就是说你的语法有问题,可能是少了些关键字,如begin后没加'.'或';'就会出现这些错误.建议你再仔细检查下代码.(2)你提的第一题,代码如下:var{变量} a,b:longint;{定义a,b} begin write('Input a,b: ...
旬邑县17332129273: 我在使用Free pascal的时候遇到了点问题. - ?
厍吴中诺: 编译错误,就是程序出现错误了,无法运行.按两下回车键就能显示出错误.最好发一下程序,我给你指出错误.