改错!(50分)

虚名

Unregistered / Unconfirmed
GUEST, unregistred user!
有个朋友在bbs上问了一个问题,我不能指出错误,故请各位大哥帮忙!

program filecreate(oddfile,output);
const
maxodd=999;
type
numberfile=FILE OF integer;
var
oddfile:numberfile;
odds:integer;
begin
rewrite(oddfile)
odds:=1;
while odds<=maxodd do
begin
oddfile^:=odds;
put(oddfile);
odds:=odds+2;
end;
writeln('file oddfile created');
end.

 
好象是Ansi pascal , Put 是Ansi PASCAL的标准过程, 而在Turbo Pascal中
舍弃了这个过程, 用
write(oddfile, odds)

代替了 如下过程
oddfile^:=odds;
put(oddfile);

所以要在Turbo Pascal中实现你过程要做如下改动:

program filecreate(oddfile,output);
const
maxodd=999;
type
numberfile=FILE OF integer;
var
oddfile:numberfile;
odds:integer;
begin
assign(oddfile, 'C:/Out.dat')
//指定输出文件名, 在Delphi中变成了AssignFile(oddfile,'C:/out.dat');
rewrite(oddfile)

odds:=1;
while odds<=maxodd do
begin
write(oddfile, odds)
odds:=odds+2;
end;
close(oddFile)
// 关闭并保存文件, 在Delphi中变成了CloseFile(oddfile);
writeln('file oddfile created');
end.

 
顺便说一下, Ms Pascal 和turbo Pascal都不建议使用

program filecreate(oddfile,output);指定文件,

在程序中用assign指定比较好.
 
夷,filecreate(oddfile,output)中的output根本没用!
 
在Ansi Pascal中 program 后面的参数是有作用的, 在目前Turbo
Pacasl, 和MS Pascal中没有多少用处.
 
是不是因为已经舍弃了,所以高版本的pascal无法编译?
 
是已经弃用了, 它的例子好象是用于Pascal的计算机等级考试的.

我很久没有看到
oddfile^:=odds;
put(oddfile);
这样的用法. 但书上确实有这样的例子, 同时注明Turbo Pascal已经
完全不用这种用法.
 
虚名:SeaSky已经回答的非常清楚了,我看可以给分了是不是。
 
好。谢谢各位。
:-( 还要我掏腰包。
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
538
import
I
I
回复
0
查看
440
import
I
I
回复
0
查看
644
import
I
I
回复
0
查看
515
import
I
顶部