不比较不知道! ( 积分: 20 )

  • 主题发起人 主题发起人 witkey
  • 开始时间 开始时间
W

witkey

Unregistered / Unconfirmed
GUEST, unregistred user!
最近由于工作需要初步学习一下Fortran95,我发现与Delphi相比较,它的语法太不严谨了。现在看来,Fortran的最大优势在于数据计算功能比较强,写法比较简洁,你比如数组尤其是多维数组的使用就非常方便,则比较适合非程序员,而且经常用数据计算的科技工作者使用;科学计算的代码写法简单,容易得到结果。它的缺点是语法不严谨,数据类型很随意,也不是面向对象(起马说不是很强)。。。。。。很多很多!
因此,我就得你要是选择学习Delphi,那你就是很幸运的了!
===============================================================================
program aaa
implicit none
integer i,j,k,a
integer,parameter::lines=10
integer,parameter::cunt=27
integer id(cunt)
do
i=1,cunt
id(i)=i*i
end do

open (unit=66,file='File00.txt',status='Replace')
do
j=1,lines,1
write(66,*)"this is number of integer",j
end do

do
k=1,lines
write(66,*) (id(a),a=1,cunt)
end do


close(66)
stop
end
===============================================================================
看看这段代码,先运行一下,编译成.EXE的可执行文件,然后,在运行这个.EXE文件,这段代码就可以产生一个数据文件是文本类的,'File00.txt'用记事本可以打开,里面有这段代码所产生出来的数据计算结果。
请看看这个帖子(我要是解决了就结帖):
http://delphibbs.com/delphibbs/dispq.asp?lid=3673201
 
上述把id(a)数组数据循环写入数据文件可以这样简化,就是这段代码。
do k=1,lines
write(66,*) (id(a),a=1,cunt)
end do

可以改成:
write(66,*) ((id(a),a=1,cunt),k=1,lines);
很简洁。尤其是循环嵌套多的时候这个就比较有优势了!
比如再加2层循环。
write(66,*) ((((id(a),a=1,cunt),k=1,lines),b=1,blines),c=1,clines);
而Delphi需要这样写:
for a:=1 to alines do
begin
for b:=1 to blines do
begin
for c:=1 to clines do
begin
memo1.lines.add(IntToStr(id(a)));
end;
end;
end;
上述可以看出delphi代码结构严谨,但是写起来复杂;而Fortrsn的代码结构松散,但是写起来很简洁。各有利弊。
 
后退
顶部