pascal編譯中這麼測試時間,批數理怎麼編

2025-01-24 21:20:24 字數 3664 閱讀 9990

1樓:網友

兩種方法:第一,pascal本身就是可以記錄時間的。

通過訪問meml[seg0040:$006c]來獲取當前時間,它返回的是當日零時到現在所經過的時間,單位約為55毫秒(約1/秒)。

比如,測定《語句1>執行的時間。

starttime,endtime:longint;

starttime:= meml[seg0040:$006c];

語句1>

endtime:= meml[seg0040:$006c];

writeln((endtime-starttime)/:0:2); 相減得出語句1執行的時間。

或: writeln((meml[seg0040:$006c] -starttime)/:0:2);

第二,你說的是用批處理寫評測程式,也可以測時間,我給你乙個例子。

echo off

echo 測試時間。

timetimepause說明一下,是你程式的名字,執行以後顯示的兩個時間相減就是你的程式執行時間。執行之前還需要在程式目錄下新建乙個叫"enter"(沒有副檔名)的空檔案。

2樓:網友

神啊,誰給翻譯一下吧。

pascal 編譯錯誤()

3樓:網友

請貼出完成**,且告訴我在**報錯。

目前猜測write前少了分號;

4樓:魔塔玩者

write的上一行的最後乙個語句少了乙個;或多了乙個;

pascal中測定時間的演算法

5樓:網友

在free pascal裡還可以這樣。

uses sysutils;

var t1:tdatetime;

i,j,k:longint;

begint1:=now;

while true do

beginif (now-t1)*86400>3 thenbegin

break;

end;end;

end.注:在比賽時不能這樣是使用uses sysutils庫鄙視抄答案者!!

6樓:網友

freepascal中是無法獲得時間的,這個只能在turbopascal中使用。

7樓:揭綺波

38freepascal中是無法獲得時間的,這個只能在turbopascal中使用。

而free pascal不能用meml訪問記憶體所有就會編譯失敗。

如果你實在想知道時間可以用乙個擴充套件的get函式,但是很麻煩、很慢。所有在比oi裡基本不會用到時間的操作。

你要想測執行時間可以用cena等測試工具。

8樓:網友

freepascal 及其以上版本)和delphi都無法使用,但是一下版本可以(建議使用freepascal for noi).

9樓:網友

meml[64:108] 這樣就可用freepascal了,freepascal記憶體是沒話說的,建議還是用freepascal

10樓:在沙漠裡灌水

到這裡看看,好像有解釋。

pascal編譯

11樓:網友

第一題:ee 、e-5

第二題: program x;

var a,b:integer;

beginread(a,b);

case b of

1,3,5,7,8,10,12:writeln(31);

4,6,9,11:writeln(30);

2:if (a mod 100=0) and (a mod 400=0) then writeln(29)

else if a mod 4=0 then writeln(29)else writeln(28);

end; end.

第三題: program x;

var a:array[2..200]of boolean;

i,j:byte;

beginfillchar(a,sizeof(a),true);

for i:=2 to 100 do

for j:=2 to 200 div i doa[i*j]:=false;

for i:=2 to 200 do

if a[i] then write(i,' ');

end. 這題用的是篩法。

12樓:網友

第一題:ee 、e-5

第二題: var a,b:integer;

beginread(a,b);

case b of

1,3,5,7,8,10,12:writeln(31);

4,6,9,11:writeln(30);

2:if (a mod 100=0) and (a mod 400=0) then writeln(29)

else if a mod 4=0 then writeln(29)else writeln(28);

end; end.

第三題: var

a:array[2..200]of boolean;

i,j:byte;

beginfillchar(a,sizeof(a),true);

for i:=2 to 100 do

for j:=2 to 200 div i doa[i*j]:=false;

for i:=2 to 200 do

if a[i] then write(i,' ');

end. 篩法,效率高。

13樓:無敵小強終結者

你是新手吧,這幾題都是基礎題,第一題看有沒有非法符號,第二題用case加閏年,第三題用篩法把能整出的t掉,5行即可。

有什麼想學習的可以問我。

14樓:胡佳偉

這些數中非法的是: 15.,e10,e-5,25e.

pascal編譯程式是()

15樓:網友

是b生成的四個副檔名是'.pas','.o','.bak','.exe'

至於有沒有exe還不確定。

有時會出現'cannot load exe file'

16樓:網友

b,不懂得不要鬧,編譯指生成機器碼。obj檔案,鏈結才會生成。exe可執行檔案。

17樓:網友

a 你可以去試試,你編譯一下在pascal的根目錄就會有1個exe檔案。

18樓:網友

a.把pascal源程式轉換成可執行的exe檔案的程式。

19樓:

bbbbbbbbbbbb

絕對是b!不懂的人就不要誤人子弟了嗎。

不只生成。exe的。

20樓:塞晗

b好不好,真是的,上面抄襲還抄錯的。

21樓:網友

a轉化的 結果是可執行的。

22樓:網友

b記得以前做過這道題。

pascal中函式全

我來滿足一下lz的好奇心啊,順便提升我的英語水平,這些詞的詞性不統一啊,你就將就著看吧。一般能用到的就有這些 abs x f absolute valuechr x f char dec x p decrease eof f f end of file eoln f f end of lineexp...

在C程式中呼叫被C編譯器編譯後的函式,為什麼要加extern「C」宣告

簡單來說就是 函式和變數被c 編譯後在符號庫中的名字與c語言的不同,被extern c 修飾的變數和函式是按照c語言方式編譯和連線的。由於編譯後的名字不同,c 程式不能直接呼叫c 函式。c 提供了一個c 連線交換指定符號extern c 來解決這個問題。總之,重點就是c 裡面支援函式的過載,因此編譯...

pascal教程中的符號是什麼意思

a div b 求a b的商 a mod b 求a b的餘數 abs a 求a的正數值 odd a 判斷a是否為奇數 sqr a 求a的平方 sqrt a 求a的根號 trunc a 求a的整數部分 round a 將a四捨五入到整數 能力有限,請原諒 函式名 意義 應用舉例 abs 絕對值函式 a...