版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Pascal基本教程第1章概述與預備知識1第2章Pascal語言基礎知識19第3章順序結構程序設計36第4章選擇結構程序設計46第5章循環(huán)結構程序設計55第6章枚舉型和子界型88第7章數(shù)組95第8章字符和字符串116第9章函數(shù)和過程138第10章集合與記錄155第11章指針167第12章文件182第13章 參考答案20043第1章 概述與預備知識1.1 關于Turbo PascalPascal是一種計算機通用的高級程序設計語言。它由瑞士Niklaus Wirth教授于六十年代末設計并創(chuàng)立。以法國數(shù)學家命名的Pascal語言現(xiàn)已成為使用最廣泛的基于DOS的語言之一,其主要特點有:嚴格的結構化形式
2、;豐富完備的數(shù)據(jù)類型;運行效率高;查錯能力強。正因為上述特點,Pascal語言可以被方便地用于描述各種算法與數(shù)據(jù)結構。尤其是對于程序設計的初學者,Pascal語言有益于培養(yǎng)良好的程序設計風格和習慣。IOI(國際奧林匹克信息學競賽)把Pascal語言作為三種程序設計語言之一, NOI(全國奧林匹克信息學競賽)把Pascal語言定為唯一提倡的程序設計語言,在大學中Pascal語言也常常被用作學習數(shù)據(jù)結構與算法的教學語言。在Pascal問世以來的三十余年間,先后產(chǎn)生了適合于不同機型的各種各樣版本。其中影響最大的莫過于Turbo Pascal系列軟件。它是由美國Borland公司設計、研制的一種適用于
3、微機的Pascal編譯系統(tǒng)。該編譯系統(tǒng)由1983年推出1.0版本發(fā)展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。Turbo Pascal編年史詳見表1.1所示。表1.1Turbo Pascal編年史出版年代版本名稱主要特色1983Turbo Pascal 1.0Turbo Pascal 2.0Turbo-87 Pascal提高實數(shù)運算速度并擴大值域1985Turbo Pascal 3.0Turbo BCD Pascal增加圖形功能特別適合應用于商業(yè)1987Turbo Pascal 4.0提供集成開發(fā)環(huán)境(IDE),引入單元概念1988Turbo Pascal 5.0增加調(diào)試功
4、能1989Turbo Pascal 5.5支持面向對象的程序設計(OPP)1990Turbo Pascal 6.0提供面向對象的應用框架和庫(Turbo Vision)1992Turbo Pascal 7.0Turbo Vision 2.0面向對象的應用系統(tǒng)、更完善的IDE1993Borland Pascal 7.0開發(fā) Object Windows庫、(For Windows) 提供對OLE多媒體應用開發(fā)的支持1995Delphi Visual PascalTurbo Pascal語言是編譯型程序語言,它提供了一個集成環(huán)境的工作系統(tǒng),集編輯、編譯、運行、調(diào)試等多功能于一體。1.2 Free
5、Pascal的安裝雙擊“pascal for noi&2000xp.exe”的圖標,出現(xiàn)如圖1.1所示的警告對話框。圖1.1 警告對話框單擊圖1.1所示的“下一步”按鈕,出現(xiàn)如圖1.2所示的許可協(xié)議條款對話框。圖1.2 許可協(xié)議條款對話框在圖1.2圖中,選擇所示“我同意該許可協(xié)議的條款”的選項,單擊“下一步”按鈕,出擊如圖1.3所示的安裝目錄對話框。圖1.3 安裝目錄對話框不必更改安裝目錄,直接單擊圖1.3中的“下一步”按鈕,出現(xiàn)如圖1.4所示的磁盤安裝空間檢查完成對話框。圖1.4 磁盤安裝空間檢查完成對話框單擊圖1.4所示的“下一步”按鈕,程序開始安裝,程序安裝完成,會出現(xiàn)如圖1.5所示的重
6、啟動計算機對話框。圖1.5 重啟動計算機對話框在圖1.5所示中,選擇“是,立即重啟我的計算機?!保剐》娇騼?nèi)出現(xiàn)“”,單擊“完成”按鈕,出現(xiàn)如圖1.6所示的完成安裝對話框。圖1.6 完成安裝對話框在圖1.6所示中,單擊“完成”按鈕,計算機將重啟,完成安裝。1.3 Pascal的啟動1.3.1 Turbo Pascal的啟動1.DOS下的啟動(適用于MS-DOS6.22之前的版本或Win 9X & Win2000 的Command Mode)DOS下,在裝有Turbo Pascal的文件目錄下,鍵入turbo即可進入Turbo Pascal集成環(huán)境。2.Win9X或Win2000模式下的啟動(適
7、用于Turbo Pascal 3.0以后的版本)如果在Win9X或Win2000的“資源管理器”裝有Turbo Pascal的目錄中,雙擊turbo.exe或在“開始”“程序”菜單中通過MS-DOS方式來運行turbo.exe,它會提示你“該程序設置為MS-DOS方式下運行,并且其他程序運行時,無法運行它。如果選擇繼續(xù)所有其他程序將關閉”,所以在Win9X或Win2000下無法直接運行它,這時你可以在你希望的地方 (比如說桌面上)單擊鼠標右鍵“新建”“快捷方式”,單擊“瀏覽”,找到turbo.exe選中,然后單擊“打開”,再單擊“下一步”,再單擊“完成”;這還沒完,選中前面新建的快捷方式(應該
8、叫Turbo Pascal吧),單擊右鍵,單擊“屬性”,選擇“程序”,然后再單擊“高級”,把“MS-DOS方式”前面的那個勾去掉,也就是不要選“MS-DOS方式”,然后單擊“確定”,在單擊“確定”就大功告成了,以后你運行Turbo Pascal的時候,只要雙擊那個你建立起的快捷方式就可以直接在Win9X或Win2000下運行Turbo Pascal。1.3.2 Free Pascal的啟動1.Win2000下的啟動單擊“開始”“程序”“Freepascal For NIO” “fp”,即可打開Free Pascal程序。2.WinXP下的啟動單擊“開始”“所有程序”“Freepascal Fo
9、r NIO” “fp”,即可打開Free Pascal程序。FPC啟動后,有時鼠標不能使用,只能使用鍵盤進行操作,這樣會造成操作上很不方便。FPC在全屏情況下是能用鼠標進行操作的,而在窗口情況下鼠標很有可能不能用。其實全屏與窗口之間的切換是很方便的:用鍵盤的組合鍵Alt + 回車鍵即可。1.4 Free Pascal的配置1.4.1 Free Pascal的首次配置第一次Free Pascal啟動后,會出現(xiàn)如圖1.7所示的要進行配置的對話框。圖1.7 進行配置的對話框在圖1.7所示中,系統(tǒng)默認值是“Yes”,如果你不想進行配置,可按鍵盤上的“Tab”鍵,則光標會在“No”上,如圖1.8所示。圖
10、1.8 選擇光標在“No”上按回車鍵,完成配置,進入程序的集成主界面(IDE界面),如圖1.9所示。圖1.9 Free Pascal的集成界面(IDE)在圖1.7所示的對話框中,如果選擇的是“Yes”,則出現(xiàn)如圖1.10所示的對話框。圖1.10 選擇配置對話框在圖1.10所示中,“Copy existing”是拷貝一個已經(jīng)存在的配置,“Create new”是創(chuàng)建一個新的配置??蛇x擇第一個選項“Copy existing”,按回車鍵即可。按鍵盤上的“Tab”鍵可進行二個選項間的切換。不管選擇哪一項,系統(tǒng)進入如圖1.9所示的IDE界面。1.4.2 Free Pascal的目錄路徑更改第二次啟動F
11、ree Pascal時,不會再出現(xiàn)要進行配置的對話框了,但系統(tǒng)配置的文件直接是在C盤的根目錄下,保存的文件路徑也默認在C盤的根目錄下。這樣文件顯得有些混亂,為我們以后的管理方便起見,我們應該為FPC的運行提供一個專用的目錄,如D:FPC,下面以D:FPC為例來講解如何更改目錄路徑。在WinXP操作情況下,打開D盤,新建一個文件夾,命名為FPC。啟動FPC程序,出現(xiàn)如圖1.9所示的IDE界面,打開“File”菜單,選擇“Change dir”,如圖1.11所示。圖1.11 FileChange dir菜單選擇“Change dir”后,出現(xiàn)如圖1.12所示的更改目錄對話框(在“Directory
12、 tree”中顯示的內(nèi)容會因各人的電腦不同而不同)。圖1.12 更改目錄對話框在圖1.12所示中,可以看到目錄名是C盤根目錄(“Directory name”的項目),用鼠標雙擊目錄樹(“Directory tree”)中的“Drives”,會出現(xiàn)如圖1.13所示的所有驅動器對話框。圖1.13 所有驅動器對話框在圖1.13所示的“Directory tree”中,雙擊D,出現(xiàn)如圖1.14所示的對話框(在“Directory tree”中顯示的內(nèi)容會因各人的電腦不同而不同)。圖1.14 更改驅動器后的對話框選擇“FPC”,單擊右邊的“Chdir”按鈕,出現(xiàn)如圖1.15所示的對話框。圖1.15 已
13、經(jīng)選擇了D:FPC 目錄的對話框單擊“Ok”按鈕完成目錄的更改。1.5 Free Pascal的IDE界面簡介1.5.1 IDE界面啟動后的IDE界面如圖1.16所示。圖1.16 啟動后的IDE界面在屏幕頂行是主菜單,包括十項子菜單,見表1.2及表1.3所示。表1.2Free Pascal 集成界面(IDE)的十項菜單FileEditSearchRunCompileDebugToolsOptionWindowHelp文件編輯搜索運行編譯調(diào)試工具選項窗口幫助表1.3集成界面(IDE)十項菜單的具體命令菜單名菜單內(nèi)容功能File(Alt +F)(注:表中* *為099的數(shù)字)New打開名為Nona
14、me*.pas的新文件New from templateOpen (F3)打開源程序Save (F2)將當前編輯源文件存盤Save as以用戶指定路徑存源文件Save all 將所有修改過的源文件存盤Change dir修改當前文件操作路徑Command shell暫時退出IDEExit (Alt +X)退出IDEEdit(Alt +E)Undo (Alt+BkSp)恢復對上一行操作命令的結果RedpCut (Shift +Del)刪除正文塊并置于ClipboardCopy (Ctrl +Ins)將正文塊拷貝至Clipboard中Paste (Shift +Ins)將Clipboard正文塊插
15、至光標處Clear (Ctrl +Del)刪除正文塊Show clipboard打開Clipboard窗口Search(Alt +S)Find鍵入欲查正文、設置方式選項Replace鍵入待查的和用以替換的正文Search again重復上一次Find或Replace操作Go to line number提示用戶欲查行號Find procedure查找過程或函數(shù)聲明Find error定位運行錯誤ObjetsModulesGlobalsSymbol表1.3 集成界面(IDE)十項菜單的具體命令(續(xù)1)Run(Alt +R)Run (Ctrl+F9)運行用戶錯誤Step over (F8)執(zhí)行當前
16、過程的下一條語句Trace into (F7)單步運行程序Go to cursor (F4)執(zhí)行到光標所在位置Until returnParameters為運行程序輸入?yún)?shù)Program reset (Ctrl+F2)中止當前調(diào)試過程,釋放所占內(nèi)存空間,關閉程序,打開文件Compile(Alt +C)Compile (Alt+F9)編譯活動EDIT窗口的文件Make (F9)啟動內(nèi)部項目管理程序Build重構所有文件,不管其過時否Primary file被編譯文件設定Clear Primary file執(zhí)行代碼存盤或置于內(nèi)存選擇Information程序的信息Compile message (
17、F12)Debug(Alt +D)Output打開Output窗口并使其活動User screen (Alt+F5)瀏覽程序的全部屏幕輸出Registers打開register窗口并使其活動Floating Point UnitAdd Watch (Ctrl+F7)將表達式插入窗口Watches彈出一個命令集Breakpoint (Ctrl+F8)斷點使用控制Breakpoint ListCall stack (Ctrl+F3)打開一個窗口列出到目前為止用戶程序所調(diào)用的所有過程GDB windowTools(Alt +T)Messages (F11)Goto next (Alt+F8)Goto
18、 previous (Alt+F7)Grep (Shift +F2)Calculator計算器Ascii tableASCII碼表表1.3 集成界面(IDE)十項菜單的具體命令(續(xù)2)Options(Alt +O)Mode DebugCompiler打開編譯選項設置窗Memory size配制程序隱含內(nèi)存需求量Linker鏈接過程選項設置Debugger調(diào)試器選項設置Directories編譯、鏈接和輸出文件子目錄BrowserToolsEnvironment彈出修改環(huán)境設置菜單Open打開已有的配置Save保存當前當已修改的配置Save as另存為當前當已修改的配置Window(Alt +W
19、)Tile瀏覽打開的所有編輯窗口Cascade疊加所有打開的編輯窗口Close all關閉活動窗口Size/Move (Ctrl +F5)修改活動窗口的大小和位置Zoom (F5)放大/還原活動窗口Next (F6)使下一個窗口成為活動窗口Previous (Shift +F6)使前一窗口成為活動窗口HideClose (Alt +F3)List (Alt +F1)列出已打開的所有窗口Refresh display恢復IDE屏幕Help(F1或Alt+H)ContentsIndex (Shift+F1)列出全部幫助信息Topic search (Ctrl+F1)顯示關于當前所選項的語言幫助信息
20、Previous Topic (Alt+F1)打開Help窗口,并重新顯示上次瀏覽過的正文Using help幫助系統(tǒng)使用指南FilesAboutFree Pascal 版權、版本信息表1.3 集成界面(IDE)十項菜單的具體命令(續(xù)3)Option/Environment(Alt +Space bar)Preference部分IDE工作參數(shù)設置選擇Editor控制如何處理編輯窗口中的正文CodeCompleteCodeTomplatesDesktopMouse關于使用鼠標的各種設置 Startup選擇IDE工作環(huán)境設置Color改變IDE色彩以適應用戶需要1.5.3 進入菜單的方法用下述方法
21、之一進入相應的子菜單:1)用F10功能鍵進入主菜單,按“”、“”將光標移至子菜單處,回車。 2)用F10功能鍵進入主菜單,按子菜單命令的首字母F、E、S、R、C、D、T、O、W、H之一。3)用組合鍵Alt + 子菜單命令首字母。 4)用鼠標直接操作。進入子菜單后,會出現(xiàn)一個下拉式菜單,這時的子菜單又含有多項命令功能供選擇。選擇的方法是:按命令的首字母或按、鍵將光標移至命令處回車。有些命令還有多級子菜單供選擇。 在有子菜單出現(xiàn)時,按Esc鍵可返回上級子菜單或主菜單。在任何時候均可按F10鍵進入主菜單。 屏幕底行提示了各快捷鍵(在當前狀態(tài)下生效的鍵)對應的功能。例如按F1鍵可以進入幫助,F(xiàn)2保存,
22、F3打開,Alt + F9編譯等。 屏幕中除頂行和底行外的中間大部分窗口為編輯窗口,用于編輯顯示程序文本。1.5.4 程序的運行1.輸入一個Pascal程序在菜單中選擇“File”“New”命令,打開一個新窗口(原來有窗口則不需要上述操作),輸入如圖1.17所示的程序代碼。圖1.17 沒有保存過的程序樣例2.進入編輯狀態(tài) 1)進入編輯狀態(tài) 只要有新程序窗口(或原有的程序被打開),就可進入編輯狀態(tài),這時光標位于編輯窗口的左上角。l 在編輯狀態(tài)下,可按、鍵上下左右移動光標;l 按退格鍵刪光標前字符,按Del鍵刪光標所指字符;l 按回車鍵換行;l 按組合鍵:Ctrl + y刪除光標所在的行。 2)編
23、輯窗口的說明(如圖1.17所示)l 在窗口的左上角的小方塊是關閉按鈕,用于關閉窗口;l 中間的noname01.pas是當前編輯的文件名;l 右上角的“1”表示當前窗口是第一個窗口;l 其右邊的上下箭頭用于恢復窗口的大?。籰 在整個窗口的右邊和下邊設有上下左右滾動條(非最大化狀態(tài)下)。3.保存文件 1)以當前文件名為名存盤,在菜單中選擇“File”“Save”命令,系統(tǒng)以當前文件名noname01.pas為名存盤。 2)在菜單中選擇“File”“Save As ”命令,系統(tǒng)將按指定的盤符、路徑、文件名存盤,例如:d:fpcarea.pas,如圖1.18所示。圖1.18 已保存成area.pas
24、的程序樣例4.編譯源文件在菜單中選擇“Compile”“Compile”命令(或按組合鍵:Alt + F9),系統(tǒng)自動會對當前打開的源程序進行編譯。如源程序代碼有語法錯誤,則在編譯結果對話框中會顯示出有多少條錯誤(“Total errors:”后面的數(shù)值),按二次回車鍵返回編輯窗口,光標指在錯誤行,窗口頂部顯示錯誤信息。只有在編譯無錯誤情況下(“Total errors: 0”),才可以對已編程序進行運行。編譯后產(chǎn)生同名的.exe文件,如:area.exe,如圖1.19所示。圖1.19 編譯結果對話框5.在集成環(huán)境(IDE)內(nèi)運行程序在菜單中選擇“Run”“Run”命令,出現(xiàn)如圖1.20所示的
25、運行窗口。圖1.20 運行窗口(窗口已被縮?。┹斎?0回車,出現(xiàn)運行結果,如圖1.21所示。圖1.21 運行結果窗口(窗口已被縮小)然后按回車返回集成環(huán)境。如果上例中無readln語句,系統(tǒng)運行后迅速返回編輯狀態(tài),使輸出結果看不清,但這時在菜單中選擇“Debug”“User screen”命令或Alt + F5又可回到輸出屏幕,按任意鍵又返回編輯狀態(tài)。在運行窗口可知,程序運行的是已被編譯的area.exe文件,并非area.pas源文件。當然,在Windows下雙擊D:FPCarea.exe也可以運行,只不過程序運行的界面有點不同。6.檢查存盤文件 1)退出Free Pascal返回Dos,用
26、DOS命令DIR檢查。l 在菜單中選擇“File”“Exit”命令:完全退出,因系統(tǒng)所占的內(nèi)存完全釋放,無法再返回Pascal。l 在菜單中選擇“File”“Command shell”命令:暫時退出,這時系統(tǒng)暫駐內(nèi)存,在DOS狀態(tài)下,可用DOS命令DIR檢查文件的情況,鍵入Exit命令還可返回Pascal的IDE界面。2)選擇“File”“Open”命令,選擇或鍵入已存盤文件名即可將所指文件裝入編輯窗口。3)在WinXP(或Win2000)操作系統(tǒng)下,直接檢查文件的情況。第2章 Pascal語言基礎知識2.1 Pascal程序基本組成2.1.1 舉例說明【例0201】:計算半徑為R的圓面積S
27、program sam0201; 程序首部已知半徑求圓的面積const pi=3.1415926; 說明部分數(shù)據(jù)描述var r:integer;s:real;begin執(zhí)行部分readln(r);s:=pi*sqr(r);writeln(s=,s);readln;end.上述程序第一行稱為程序首部。其中用花括號(注釋可以用 或(* *)來表示)括起來的內(nèi)容是注釋,程序第二行就是一個注釋,注釋除了給人看,增加程序的可讀性外,對程序編譯和運行不起作用。一個程序可以包含多個出現(xiàn)在不同處注釋,亦可無注釋。程序第三行是常量說明,程序第五行是變量說明。程序從“begin”到“end.”都是執(zhí)行(語句)部分
28、。2.2.2 程序語句的分析1.程序首部【例0201】的第一行稱為程序首部?!皃rogram”是保留字,接著是程序名(由你依據(jù)“標識符”規(guī)則自行定義),最后以分號表示程序首部結束,下面是程序主體的開始。程序首部在一個Turbo Pascal(僅在Turbo Pascal中有效)程序中并非必須出現(xiàn),它是可選的。寫上它僅起了文檔作用,因此,在時間有限的情況下,如果用Turbo Pascal編程完全可以省略程序首部。但考慮到其他的Pascal,還是要求把程序首部寫上。2.程序體 1)說明部分說明部分用于定義和說明程序中用到的數(shù)據(jù),由單元說明、標號說明、常量說明、類型說明、變量說明、函數(shù)或過程說明組成
29、,并且這些數(shù)據(jù)的說明次序必須按照以上次序。但是一個簡單的Turbo Pascal程序也可以不包含說明部分,也就是說說明部分是可選的。2)執(zhí)行部分執(zhí)行部分描述了程序要執(zhí)行的操作。它必須以一個Turbo Pascal保留字“begin”開始,以保留字“end”后跟句點結束,其間是一些執(zhí)行具體操作的語句,并且以分號作為語句之間的分隔符。“begin” 和“end”必須成對出現(xiàn),這是一個Turbo Pascal程序所必須有的。緊跟“end”之后的句號表示執(zhí)行部分的結束,也表示整個程序的結束。此后的任何語句都無效。Turbo Pascal規(guī)定緊隨“end”之前出現(xiàn)的分號允許省略。3.一個完全的Pasca
30、l程序結構program 程序名;uses已知單元說明;label標號說明;const常量說明;type類型說明;var變量說明;function函數(shù)說明;procedure過程說明;begin語句;語句;end. 2.2 Pascal字符與符號2.2.1 保留字(關鍵字)所謂保留字是指在Pascal語言中具有特定的含義,你必須了解它的含義,以便于正確的使用,否則會造成錯誤。標準Pascal語言中的保留字一共有35個,Turbo Pascal語言一共有51個。下面是Pascal語言的保留字(括號內(nèi)是Turbo Pascal特有的保留字):AND,ARRAY,BEGIN,CASE,CONST,D
31、IV,DO,DOWNTO,ELSE,END,F(xiàn)ILE,F(xiàn)OR,F(xiàn)UNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH,(EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFACE,LIBRARY,XOR,SHL)2.2.2 標識符1.標識符的定義標識符就是以字母(或
32、下劃線)開頭的字母數(shù)字序列,有效長度為63個字符,并且大小寫等效??梢杂脕肀硎境A俊⒆兞?、程序、函數(shù)等。例如在【例0201】中的“sam0201”(程序名),“pi”(符號常量),“s”、“r”(變量名)都是標識符。2.標識符的分類1)標準標識符:指Pascal語言預先定義的標識符,具有特殊含義。以下列舉了Turbo Pascal語言部分常用的標準標識符:標準常量 False Maxint MaxlongintTrue標準類型 Boolean Char Real Integer 標準函數(shù) Abs Arctan Chr Cos Eof Eoln Exp Ln Odd Ord Pred Round
33、 Sin Sqr Sqrt Succ Trunc 標準過程 Dispose Get New Pack Page Put Read Readln Reset Rewrite Unpack Write Writeln 標準文件 Input Output 2)用戶字定義標識符:由你來根據(jù)需要定義。l 選用的標識符不能和保留字相同。l 語法上允許預定義的標準標識符作為你定義的的標識符使用,但最好還是不要用。l 以下列舉了你在定義標識符時可以用的字符: AZ;az;09;_l 標識符只能以字母或下劃線開始,不允許以數(shù)字開始,標識符不能有空格。以下的標識符是合法的:b,a1,Ab,c_1,_bc,_3,d
34、_2_v,beginend,abs_1等;以下的標識符是非法的:1b數(shù)字開始;c 2中間有空格;ex3.7含有“.”。2.3Pascal數(shù)據(jù)類型數(shù)據(jù)是程序設計的一個重要內(nèi)容,其重要特征數(shù)據(jù)類型,確定了該數(shù)據(jù)的形、取值范圍以及所能參與的運算。Turbo Pascal 提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型可以分為三大類:簡單類型、構造類型和指針類型,其中簡單類型可以分為標準類型(整型、實型、字符型和布爾型)和自定義類型(枚舉型和子界型),構造類型可以分為數(shù)組類型、集合類型、記錄類型和文件類型。這些數(shù)據(jù)類型中除了指針類型是動態(tài)數(shù)據(jù)類型外,其他的都是靜態(tài)數(shù)據(jù)類型。在這些數(shù)據(jù)類型中簡單類型都是有序類型,除
35、了實型以外的簡單類型都是順序類型,所謂順序類型就是它們的值不僅是有序的而且是有順序號。在這里主要介紹整型、實型、字符型和布爾型四種常用的數(shù)據(jù)類型。2.3.1 整型一個整型數(shù)據(jù)用來存放整數(shù)。Pascal支持五種預定義整型:l shortint(短整型)l integer(整型)l longint(長整型)l byte(字節(jié)型)l word(字類型)Pascal分別用相同的名字作為它們的標識符。每一種類型規(guī)定了相應的整數(shù)取值范圍以及所占用的內(nèi)存字節(jié)數(shù)。類型數(shù)值范圍占字節(jié)數(shù)格式shortint-128.127 (-2727-1)1帶符號8位integer-32768.32767 (-215215-1
36、)2帶符號16位longint-2147483648.2147483647(-231231-1)4帶符號32位byte0.255 (028-1)1不帶符號8位word0.65535 (0216-1)2不帶符號16位Longword0.4294967295 (0232-1)4不帶符號32位Int64 -9223372036854775808 . (-263263-1)+9223372036854775807 8帶符號64位QWord 0 . 18446744073709551615 (0264-1)8不帶符號64位Pascal規(guī)定了兩個預定義整型常量標識符maxint和maxlongint,它們
37、各表示確定的常數(shù)值,maxint為32767, maxlongint為2147483647,它們的類型分別是integer 和longint。Int64雖然是整形,但它“不是有序的”(用Pred和succ函數(shù)可以證明Int64是有序的,但把Int64形作為計數(shù)循環(huán)的控制變量時,會發(fā)生錯誤!并且,直接給一個Int64類型的變量賦值一個超過longint范圍的整數(shù)是非法的,這是因為Free Pascal在表達式的計算過程中用來存儲整數(shù)的最大默認類型是longint)。2.3.2 實型一個實型數(shù)據(jù)用類存放實數(shù)。Turbo Pascal支持五種預定義實型:l real(基本實型)l single(單精
38、度實型)l double(雙精度實型)l extended(擴展實型)l comp(裝配實型)Turbo Pascal分別用相同的名字作為它們的標識符。每一種類型規(guī)定了相應的實數(shù)取值范圍、所占用的內(nèi)存字節(jié)數(shù)以及它們所能達到的精度。 類型數(shù)值范圍占字節(jié)數(shù)有效位純整數(shù)有效位純小數(shù)有效位real2.9e-39.1.7e38611.121616single1.5e-45.3.4e3847.87.87double5.0e-324.1.7e308815.161616extended3.4e-4932.1.1e49321019.201717comp-263.263-1819.2019.200Turbo Pa
39、scal支持兩種用于執(zhí)行實型運算的代碼生成模式:軟件仿真模式和80x87浮點模式。除了real可以在軟件仿真模式下直接運行以外,其他類型必須在80x87浮點模式下運行(在程序首部的前面一行寫“$n+”,用于打開編譯開關,否則不能使用)。但在FPC中已不需要“$n+”的編譯開關了。在需要盡量高的精度時,我們可以使用extended型,這樣有效位可達17位。純整數(shù)有效位、純小數(shù)有效位已在FPC1.0中調(diào)試通過,extended型的最后一位會進行四舍五入,real型、double型和single型最后一位沒有進行四舍五入,特別注意single型的最后一位是一個“隨機數(shù)”,在程序中最好不用single
40、型。2.3.3 布爾型一個布爾型數(shù)據(jù)用來存放邏輯值(布爾值)。布爾型的值只有兩個:false和true,并且false的序號是0,true的序號是1。false 和true都是預定義常數(shù)標識符,分別表示邏輯假和邏輯真,并且truefalse。boolean是布爾型的標識符。2.3.4 字符型字符型用char作為標識符。字符型必須用兩個單引號括起來,字母作為字符型時,大小寫是不等價的,字符型只允許單引號中有一個字符,并且必須要有一個字符。否則不是錯誤,就是字符串,字符串和標識符是string。如:A表示字符為大寫字母A;a表示字符為小寫字母a(大寫字母A和小寫字母a是二個不同的字符)。2表示字符
41、為數(shù)字字符2; 表示字符為空格。但不是字符型的,它是字符串型(沒有字符);Aa也不是字符型,它是字符串型的(有二個字符)。2.4 常量與變量2.4.1 常量1.常量在某個程序的整個過程中其值不變的量。2.常量定義常量定義出現(xiàn)在說明部分。它的語法格式是:const=;.=;常量標識符的類型由定義它的常量的類型決定。例如:const a=12; 隱含說明a是整型 r=3.21; 隱含說明r是實型常量定義部分必須以保留字const開頭,可以包含一個或幾個常量定義,而且每個常量均以分號結束。3.標準常量Pascal有四個標準常量:maxint(整形最大值215-1=32767),maxlongint(
42、長整形最大值231-1=2147483647)、true(邏輯真)、false(邏輯假)。標準常量不需要用戶定義(系統(tǒng)已經(jīng)為用戶進行了定義),可以直接使用。4.Turbo Pascal類型常量(了解)類型常量,又稱變量常數(shù),它是Turbo Pascal的一個擴充特性。類型常量在程序的運行中是可以當作“變量”來使用,它可被重新賦值,但不能改變它的類型。類型常量的定義與標準Pascal規(guī)定的常數(shù)定義和變量說明有所區(qū)別。類型常量定義的語法格式:const:簡單類型=常數(shù);例如:constcounter:integer=1;flag:boolean=true;index:0.100=2;定義了3個類型
43、常量:counter為整形,初始值為1;flag為布爾型,初始值為真(true);index可以是5種整形中的任何一種,即短整形(shortint)、整形(integer)、長整形(longint)、字節(jié)型(byte)、字類型(word)都可以,它的范圍為0100,初始值為2。此3個類型常量在以下的程序中是合法的。類型常量需用戶在程序中定義后才能使用,即先定義后使用。【例0202】:類型常量的使用。program sam0202;constcounter:integer=1;flag:boolean=true;index:0.100=2;vara:integer;f:boolean;begin
44、a:=5;counter:=a*2;flag:=f;index:=a;writeln(counter=,counter);writeln(flag=,flag);writeln(index=,index);readln;end.此程序的運行結果為:counter=10flag=FALSEindex=52.4.2 變量1.變量在某個程序中的運行過程中其值可以發(fā)生改變的量。2.變量定義變量說明出現(xiàn)在說明部分。它的語法格式是:var:;.:;其中,保留字var表示開始一個變量說明部分。變量標識符列表是一個用逗號隔開的標識符序列,冒號后面的類型是類型標識符。每個變量說明均以分號結束。例如:vara,b
45、,c:integer;m,n:real;flag:boolean;變量有三個要素:變量名、變量類型、變量值。變量需用戶在程序中定義后才能使用,即先定義后使用。2.5標準函數(shù)2.5.1 算術函數(shù)函數(shù)自變量類型意義結果類型例abs(x)整型、實型絕對值同自變量abs(-7.49)7.49arctan(x)整型、實型反正切實型(real)arctan(0)0.0cos(x)整型、實型余弦實型(real)cos(pi)-1.0exp(x)整型、實型指數(shù)ex實型(real)exp(1)2.718ln(x)整型、實型自然對數(shù)實型(real)ln(2.718)1.0pi無自變量圓周率實型(real)pi3.
46、1415926sin(x)整型、實型正弦實型(real)sin(pi)0.0sqr(x)整型、實型平方同自變量sqr(4)16sqrt(x)整型、實型平方根實型(real)sqrt(4)2.02.5.2 順序函數(shù)函數(shù)自變量類型意義結果類型例pred(x)離散類型求前趨同自變量pred(2000)1999,pred(x)wsucc(x)離散類型求后繼同自變量succ(2000)2001,succ(x)y2.5.3 轉換函數(shù)函數(shù)自變量類型意義結果類型例chr(x)字節(jié)型(byte)順序號轉換成字符字符型(char)chr(65)Aord(x)離散類型字符轉換成順序號長整形(longint)ord(
47、9)57round(x)實型(real)四舍五入長整形(longint)round(3.6)4trunc(x)實型(real)截斷取整長整形(longint)trunc(3.6)3int(x)整型、實型取整數(shù)部分實型(real)int(-3.7)-3.0frac(x)整型、實型取小數(shù)部分實型(real)frac(-3.7)-0.7upcase(x)字符型(char)小寫變?yōu)榇髮懽址停╟har)upcase(b)Bdowncase(x)字符型(char)大寫變?yōu)樾懽址停╟har)upcase(B)b 2.5.4 邏輯函數(shù)函數(shù)自變量類型意義結果類型例odd(x)整型判斷奇數(shù)布爾型odd(10
48、)false,odd(3)trueeoln(x)文件查檢文本文件當前行是否結束布爾型eof(x)文件查檢文本文件是否結束布爾型2.5.5 雜類函數(shù)函數(shù)自變量類型意義結果類型例random無自變量0,1)之間的隨機實數(shù)實型(real)random0.03137random(x)字類型(word)0,自變量)之間的隨機整數(shù)字類型(word)random(10)09整數(shù)randomize無自變量隨機種子數(shù),用于隨機數(shù)的開始長整形(longint)randomize結果直接被系統(tǒng)使用2.6運算符和表達式2.6.1 運算符和優(yōu)先級1.運算符1)算術運算符 運算符運算意義運算對象類型結果類型例*乘整型、實
49、型同自變量2*2.55.0/ 除整型、實型實型(real)4/22.0div整除整型整型(integer)15 div 62mod取余整型整型(integer)15 mod 63+加整型、實型同自變量5+2.07.0-減整型、實型同自變量5-41從算術運算符的表格中可以得到:只要有一個運算對象是實型,結果就是實型。如果全部的運算對象都是整型并且運算不是除法,則結果為整型。除法運算結果是實型。在進行取模運算時,當左邊的操作數(shù)為正時結果為正,左邊的操作數(shù)為負的結果為負,與除數(shù)無關。取模運算結果可用如下的表達式表示: 取模運算結果 = 被除數(shù) - 被除數(shù) div abs(除數(shù)) * abs(除數(shù))例如:-28 Mod 3 結果為-1, -28 Mod -3 結果為-1, 28 Mod -3 結果為1 。2)邏輯運算符運算符運算意義運算對象結果類型運算規(guī)則速記口訣not()邏輯非布爾型布爾型(Boolean)not truefalsenot falsetrue非真即假非假即真and()邏輯與布爾型布爾型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國有企業(yè)員工持股計劃合同模板2篇
- 二零二五年度高新技術產(chǎn)業(yè)園區(qū)建設貸款擔保合同3篇
- 二零二五年度布草行業(yè)供應鏈金融解決方案合同3篇
- 2025年度教育機構場地租賃合同終止及教學資源共享協(xié)議4篇
- 2024版區(qū)域公司運營合作合同版B版
- 貨幣金融學:第1章 貨幣與貨幣制度
- 2025年度企業(yè)年會場地借用及服務保障合同范本3篇
- 個人機械租賃協(xié)議書(2024版)
- 2024資金擔保協(xié)議范本
- 專業(yè)木工班組2024年施工分包合同
- C及C++程序設計課件
- 帶狀皰疹護理查房
- 公路路基路面現(xiàn)場測試隨機選點記錄
- 平衡計分卡-化戰(zhàn)略為行動
- 國家自然科學基金(NSFC)申請書樣本
- 幼兒教師干預幼兒同伴沖突的行為研究 論文
- 湖南省省級溫室氣體排放清單土地利用變化和林業(yè)部分
- 材料設備驗收管理流程圖
- 培訓機構消防安全承諾書范文(通用5篇)
- (完整版)建筑業(yè)10項新技術(2017年最新版)
- 第8期監(jiān)理月報(江蘇版)
評論
0/150
提交評論