1樓:
常量是不能用子界的,什麼叫常量?常量是確定的,如果乙個確定的量我又說它是在0到9之間,它就不叫確定的量了。
你的程式應該意思是limit是乙個自定義型別,要用type為什麼你的procedure過不去呢?因為pascal沒那麼聰明,它判斷2個型別是否相同是件很複雜的事情,所以只提供這項功能:只有你定義的這2個變數的基型別完全相同才算這2個變數型別相同。
別看你2個都是0..9,但就像表示式計算一樣,判斷2個表示式是否等價非常複雜(具體可以看vijos的p1003)
你只有定義2個都是比如t型別:
type t=0..9;
var limit:t;
procedure solve(var limit:t);
才能過 這樣的語句是允許的:const limit:0..9=5;
但其實還不如const limit:byte=5;
在pascal語言中,何為「子界」?
2樓:王順沃颯
是一種資料型別。
子界型別。如果我們定義乙個變數i為integer型別,那麼i的值在微型機系統的pascal中,使用2位元組的定義表示法,取值範圍為-32768~32767。而事實上,每個程式中所用的變數的值都有乙個確定的範圍。
例如,人的年齡一般不超過150,乙個班級的學生不超過100人,一年中的月數不超過12,一月中的天數不超過31,等等。
如果我們能在程式中對所用的變數的值域作具體規定的話,就便於檢查出那些不合法的資料,這就能更好地保證程式執行的正確性。稿旦而且在一定程度上還會節省記憶體空間。
子界型別就很好解決如上問題。此外,在陣列的定義中,常用到子界型別,以規定陣列下標的範圍,上一章有關陣列知識中我們已用到。
一)子界型別定義。
子界型別的一般格式:
常量1>..常量2>
說明:其中常量1稱為子界的下界,常量2稱為子界的上界。
下界和上界必須是同一順序型別(該型別稱為子界型別的基型別),且上界的序號必須大於下界的序號。
例如,下列說明:察譽。
typeage=;
letter=0..』z』;
let1=』z』..a』;
都是錯誤的。
可以直接在變數說明中定義子界型別。如:
typeletter=』a』..d』;
varch1,ch2:letter;
可以合併成:
varch1,ch2:』a』..d』;
當然,將型別定義和變數定義分開,則更鍵沒擾為清晰。
pascal問題,pascal 問題
你錯在寫的程式太長了。program asfl vars string i,j,b longint a array 1.10 of longint begin readln s i 1 j 1 while ibegin inc i if s i then delete s,i,1 end for i...
pascal問題,pascal是什麼?
pascal是什麼?pascal是一個多義詞,所代表的意思分別是 1 pascal指的是結構化程式語言 pascal的名稱是為了紀念十七世紀法國著名哲學家和數學家blaise pascal而來的,它由瑞士niklaus wirth教授於六十年代末設計並創立的。2 pasca指的是壓力的國際標準單位 ...
pascal程式 選數,pascal程式設計 數字遊戲
型別 搜尋 題解 本題動態規劃無從下手,也無數學公式可尋,看來只能搜尋 組合的生成演算法 其實1 n 20這個約束條件也暗示我們本題搜尋是有希望的,組合的生成可用簡單的dfs來實現,既搜尋這k個整數在原數列中的位置,由於組合不同於排列,與這k個數的排列順序無關,所以我們可以令a i 1 是否為素數最...