Pascal枚舉型.doc_第1頁
Pascal枚舉型.doc_第2頁
Pascal枚舉型.doc_第3頁
Pascal枚舉型.doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

群星學(xué)校信息學(xué)奧林匹克競賽輔導(dǎo)資料 指導(dǎo)老師:潘新偉第6講:枚舉類型為了說明非數(shù)值的數(shù)據(jù),pascal語言提供了枚舉類型,用枚舉的方法將所有的取值一一列出。如用“Monday”代表星期一,“tuesday”代表星期二等。所以用枚舉的方法定義的數(shù)據(jù)類型即成為枚舉類型。一、格式 由于枚舉類型屬于用戶自定義類型,必須在程序的說明部分進行說明,先定義后使用。類型定義的語法格式:type=;=;=; 枚舉類型的語法格式:type=(,); 例如: type daystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday);其中是用戶定義的枚舉類型的名字,括號中的, 成為枚舉元素,它們構(gòu)成了這種枚舉類型的取值范圍。定義了枚舉類型之后,就可以在變量說明部分進行相應(yīng)的定義了,如:typedaytype=(sun,mon,tue,wed,thu,fri,sat);colortype=(red,yellow,blue,white);vard1,d2:daytype;c:colortype;或者類型定義和變量定義可以合并在變量說明部分,如下:var d1,d2:(sun,mon,tue,wed,thu,fri,sat);c:(red,yellow,blue,white);二、枚舉類型的特點1、枚舉元素只能是標識符,不能是數(shù)值常量、字符常量等其他任何數(shù)據(jù)類型如下列定義是錯的:typemonthtype=(1,2,3,4,5,6,7,8,9,10,11,12);colortype=(red,yellow,blue);枚舉元素是標識符,不要把作為枚舉元素的標識符視作變量名,它不能被賦值。2、同一個枚舉元素不能出現(xiàn)在兩個或兩個以上的的枚舉類型定義中下列定義是錯的:typecolor1=(red,yellow,blue,white);color2=(black,blue,green);3、枚舉類型屬于順序類型枚舉類型屬于順序類型。根據(jù)定義類型時各枚舉元素的排列順序確定它們的序列,序列號從0開始。例如:typedaystype=(sun,mon,tue,wed,thu,fri,sat);ord(sun)=0,succ(sun)=mon,pred(fri)=thu可見,枚舉型可以作為序號函數(shù)ord,前趨函數(shù)pred,后繼函數(shù)succ的自變量,當然枚舉類型的第一個元素沒有前趨,最后一個元素沒有后繼。4、對枚舉類型只能進行賦值運算和關(guān)系運算例如有以下定義var d1,d2:(sun,mon,tue,wed,thu,fri,sat);c:(red,yellow,blue,white);以下的語句是正確的 d1:=sun;d2:=fri;c:=blue;以下的語句是錯誤的 mon:=1;c:=sun;read(d1,d2,c);write(d1,d2,c);writeln(blue);三、枚舉類型的應(yīng)用Turbo Pascal不允許直接讀寫枚舉值,所以枚舉值的輸出常用case語句間接的輸出。枚舉值的輸入,則要一一判斷讀入字符是否是枚舉類型的標識符。若是才能賦給枚舉變量,否則就會出錯。例如:輸入今天是星期幾的序號(星期天的序號為0),輸出明天是星期幾的單詞。program ex1(input,output);typedaytype=(sun,mon,tue,wed,thu,fri,sat);var k:integer;today,tomorrow:daytype;beginreadln(k);case k of0: today:=sun;1: today:=mon;2: today:=tue;3: today:=wed;4: today:=thu;5: today:=fri;6: today:=sat;end;if today=sat then tomorrow:=sunelse tomorrow:=succ(today);write(tomorrow is);case tomorrow ofsun:writeln(Sunday);mon:writeln(Monday);tue:writeln(Tuesday);wed:writeln(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論