pascal~求救!!!!! 10

2008-04-15 1:00 am
(1)
Pascal中, 若main program 中有 randomize; 一句, 用以隨機抽數目字,請問是否要另外開一個
procedure 叫 randomize 去自己寫再執行呢?
我見有一些program 的main program 中有randomize; , 但它沒有一個
procedure 叫 randomize, 竟然run到......真莫明其妙......

(2)
我用 turbo pascal 1.5 這個程式, 有時寫完一個program, 沒有error, 但一
run 唔夠幾句就 hand, 彈出 '終止程式' , 令到program 永遠都run 唔完,請問為何會有這況? 我可以怎樣做? 註:另外開一個新 file, 打完全一樣的program , run 時情況一樣!

回答 (2)

2008-04-19 9:07 pm
✔ 最佳答案
1
turbo pascal 1.5已經有randomize lee一個build in procedure
用途係用黎令random ge亂數失去"虧"律
e.g.
program ran;
uses wincrt;
begin
randomize;
writeln(random);
end.
如果無左randomize一句你會發覺次次run都係同一個數
而加左就次次不同
2
所謂沒有error(run到)
只係syntex上沒有error
runtime error同logical error仲會有
你ge情況應該係runtime error
例(最好別試)
program bugs;
uses wincrt;
begin
repeat
until false;
end.
lee個program就會loop死
PS
打完全一樣的program , run 時情況一樣!
因為同一段code, 無論點樣轉其他野
有bug始終有bug

2008-04-28 18:53:04 補充:
補充問題
無錯, 因為logical error電腦無可能detect到
例如:
program findavr;
uses wincrt;
var
a, b, c : real;
begin
writeln('Input 3 numbers');
readln(a);
readln(b);
readln(c);
writeln(avrage:);
writeln((a+b+c)/2);
end.
上面ge program因為誤將"3個數字的平均"寫成(a+b+c)/2
而電腦只會照code做野
所以個答案永遠錯...
參考: 自己
2008-04-16 12:30 am
1. randomize響pascal己經包含埋
2. error 有分三種,包括syntax errors and logical errors
syntax errors 會唔俾你run, 而logical errors 會俾你run, 但可能會loop死之類


收錄日期: 2021-04-16 12:41:27
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20080414000051KK01426

檢視 Wayback Machine 備份