當前位置:編程學習大全網 - 編程語言 - free pascal編程問題

free pascal編程問題

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支持函數重載。可以用相同的名字定義不同的函數,只要這些函數的參數不同,就是不同的函數。比如:

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,因此要求程序中的文件名和系統中的文件名壹樣。

參考文獻:

[1] Users’ manual for Free Pascal, version 1.9.6, Document version 2.0, December 2004

Micha?l Van Canneyt, Florian Kl?mpfl

  • 上一篇:Hibernate 映射問題,要多少分都可以
  • 下一篇:第壹次出現hacker這壹單詞是在
  • copyright 2024編程學習大全網