小學(xué)PASCAL全教程_第1頁
小學(xué)PASCAL全教程_第2頁
小學(xué)PASCAL全教程_第3頁
小學(xué)PASCAL全教程_第4頁
小學(xué)PASCAL全教程_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PASCAL全教程Pascal基本教程 第一章第一章 Pascal語言概述與預(yù)備知識1 關(guān)于Turbo Pascal Pascal是一種計(jì)算機(jī)通用的高級程序設(shè)計(jì)語言。它由瑞士Niklaus Wirth教授于六十年代末設(shè)計(jì)并創(chuàng)立。以法國數(shù)學(xué)家命名的Pascal語言現(xiàn)已成為使用最廣泛的基于DOS的語言之一,其主要特點(diǎn)有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運(yùn)行效率高;查錯(cuò)能力強(qiáng)。正因?yàn)樯鲜鎏攸c(diǎn),Pascal語言可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)。尤其是對于程序設(shè)計(jì)的初學(xué)者,Pascal語言有益于培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格和習(xí)慣。IOI(國際奧林匹克信息學(xué)競賽)把Pascal語言作為三種程序設(shè)計(jì)語

2、言之一, NOI(全國奧林匹克信息學(xué)競賽)把Pascal語言定為唯一提倡的程序設(shè)計(jì)語言,在大學(xué)中Pascal語言也常常被用作學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教學(xué)語言。在Pascal問世以來的三十余年間,先后產(chǎn)生了適合于不同機(jī)型的各種各樣版本。其中影響最大的莫過于Turbo Pascal系列軟件。它是由美國Borland公司設(shè)計(jì)、研制的一種適用于微機(jī)的Pascal編譯系統(tǒng)。該編譯系統(tǒng)由1983年推出1.0版本發(fā)展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。下面列出Turbo Pascal編年史出版年代 版本名稱 主要特色 1983 Turbo Pascal 1.0 Turbo Pascal

3、 2.0 Turbo-87 Pascal 提高實(shí)數(shù)運(yùn)算速度并擴(kuò)大值域 1985 Turbo Pascal 3.0 增加圖形功能 Turbo BCD Pascal 特別適合應(yīng)用于商業(yè) 1987 Turbo Pascal 4.0 提供集成開發(fā)環(huán)境(IDE),引入單元概念 1988 Turbo Pascal 5.0 增加調(diào)試功能 1989 Turbo Pascal 5.5 支持面向?qū)ο蟮某绦蛟O(shè)計(jì)(OPP) 1990 Turbo Pascal 6.0 提供面向?qū)ο蟮膽?yīng)用框架和庫(Turbo Vision) 1992 Turbo Pascal 7.0 面向?qū)ο蟮膽?yīng)用系統(tǒng)、更完善的IDE Turbo Vi

4、sion 2.0 1993 Borland Pascal 7.0 開發(fā) Object Windows庫、 (For Windows) 提供對OLE多媒體應(yīng)用開發(fā)的支持 1995 Delphi Visual Pascal Turbo Pascal語言是編譯型程序語言,它提供了一個(gè)集成環(huán)境的工作系統(tǒng),集編輯、編譯、運(yùn)行、調(diào)試等多功能于一體。1.2 Turbo Pascal 或 Borland Pascal 的啟動(dòng)(1) Turbo Pascal的啟動(dòng)a.DOS下的啟動(dòng)(適用于MS-DOS6.22之前的版本或Win 9X & Win2000 的Command Mode)DOS下,在裝有Turbo P

5、ascal的文件目錄下,鍵入turbo即可進(jìn)入Turbo Pascal集成環(huán)境。b.Win9X或Win2000模式下的啟動(dòng)(適用于Turbo Pascal 3.0以后的版本)如果在Win9X或Win2000的“資源管理器”裝有Turbo Pascal的目錄中,雙擊turbo.exe或在“開始-程序”菜單中通過MS-DOS方式來運(yùn)行turbo.exe,它會(huì)提示你“該程序設(shè)置為MS-DOS方式下運(yùn)行,并且其它程序運(yùn)行時(shí),無法運(yùn)行它。如果選擇繼續(xù)所有其它程序?qū)㈥P(guān)閉”,所以在Win9X或Win2000下無法直接運(yùn)行它,這時(shí)你可以在你希望的地方(比如說桌面上)單擊鼠標(biāo)右鍵“新建-快捷方式”,單擊“瀏覽”

6、,找到turbo.exed選中,然后單擊“打開”,再單擊“下一步”,再單擊完成;這還沒完,選中前面新建的快捷方式(應(yīng)該叫Turbo Pascal吧),單擊右鍵,單擊“屬性”,選擇“程序”,然后再單擊“高級”,把“MS-DOS方式”前面的那個(gè)勾去掉,也就是不要選“MS-DOS方式”,然后單擊“確定”,在單擊“確定”就大功告成了,以后你運(yùn)行Turbo Pascal的時(shí)候,只要雙擊那個(gè)你建立起的快捷方式就可以直接在Win9X或Win2000下運(yùn)行Turbo Pascal。(2)Borland Pascal的啟動(dòng)Borland Pascal的啟動(dòng)沒有像Turbo Pascal那樣復(fù)雜,一般來說在任何情

7、況下雙擊bp.exe或是在MS-DOS下運(yùn)行都不會(huì)出現(xiàn)什么問題。Pascal基本教程 第二章Pascal語言基礎(chǔ)知識 2.1 Pascal程序基本組成例1.1計(jì)算半徑為R的圓面積Sprogram Area; 程序首部已知半徑求圓的面積const pi=3.14159; 說明部分?jǐn)?shù)據(jù)描述var s,r:real;begin執(zhí)行部分readln(r);s:=pi*sqr(r);writeln(s=,s);end.上述程序第一行稱為程序首部。其中用花括號(注釋可以用 或(* *)來表示)括起來的內(nèi)容是注釋,程序第二行就是一個(gè)注釋,注釋除了給人看,增加程序的可讀性外,對程序編譯和運(yùn)行不起作用。一個(gè)程序

8、可以包含多個(gè)出現(xiàn)在不同處注釋,亦可無注釋。程序第三行是常量說明,程序第四行是變量說明。程序從begin到end都是執(zhí)行(語句)部分(1)程序首部例1.1的第一行稱為程序首部。program是保留字,接著是程序名(由你依據(jù)“標(biāo)示符”規(guī)則自行定義),最后以分號表示程序首部結(jié)束,下面是程序主體的開始。程序首部在一個(gè)Turbo Pascal(僅在Turbo Pascal中有效)程序中并非必須出現(xiàn),它是可選的。寫上它僅起了文檔作用。因此,在時(shí)間有限的情況下,如果用Turbo Pascal編程完全可以省略程序首部。(2)程序體 a.說明部分說明部分用于定義和說明程序中用到的數(shù)據(jù),由單元說明、標(biāo)號說明、常量

9、說明、類型說明、變量說明、函數(shù)或過程說明組成,并且這些數(shù)據(jù)的說明次序必須按照以上次序。但是一個(gè)簡單的Turbo Pascal程序也可以不包含說明部分,也就是說說明部分是可選的。b.執(zhí)行部分執(zhí)行部分描述了程序要執(zhí)行的操作。它必須以一個(gè)Turbo Pascal保留字begin開始,以保留字end后跟句點(diǎn)結(jié)束,其間是一些執(zhí)行具體操作的語句,并且以分號作為語句之間的分隔符。begin 和end必須成對出現(xiàn),這是一個(gè)Turbo Pascal程序所必須有的。緊跟end之后的句號表示執(zhí)行部分的結(jié)束,也表示整個(gè)程序的結(jié)束。此后的任何語句都無效。Turbo Pascal規(guī)定緊隨end之前出現(xiàn)的分號允許省略。(3

10、)一個(gè)完全的Pascal程序結(jié)構(gòu)program 程序名;uses已知單元說明;label標(biāo)號說明;const常量說明;type類型說明;var變量說明;function函數(shù)說明;procedure過程說明;begin語句;語句;語句end. 2.2 Pascal字符與符號 1.保留字(關(guān)鍵字)所謂保留字是指在Pascal語言中具有特定的含義,你必須了解它的含義,以便于正確的使用,否則會(huì)造成錯(cuò)誤。標(biāo)準(zhǔn)Pascal語言中的保留字一共有35個(gè),Turbo Pascal語言一共有51個(gè)。下面是Pascal語言的保留字(斜體是Turbo Pascal特有的保留字):AND,ARRAY,BEGIN,CAS

11、E,CONST,DIV,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.標(biāo)識符(1)表識符的定義:標(biāo)識符就是以

12、字母開頭的字母數(shù)字序列,有效長度為63個(gè)字符,并且大小寫等效??梢杂脕順?biāo)示常量、變量、程序、函數(shù)等。例如例1.1中的Area(程序名),pi(符號常量),s、r(變量名)都是標(biāo)識符。(2)表識符的分類:a.標(biāo)準(zhǔn)標(biāo)識符:指Pascal語言預(yù)先定義的表識符,具有特殊含義。以下列舉了Turbo Pascal語言部分常用的標(biāo)準(zhǔn)表識符:標(biāo)準(zhǔn)常量 False Maxint True 標(biāo)準(zhǔn)類型 Boolean Char Real Integer 標(biāo)準(zhǔn)函數(shù) Abs Arctan Chr Cos Eof Eoln Exp Ln Odd Ord Pred Round Sin Sqr Sqrt Succ Trunc

13、 標(biāo)準(zhǔn)過程 Dispose Get New Pack Page Put Read Readln Reset Rewrite Unpack Write Writeln 標(biāo)準(zhǔn)文件 Input Output b.用戶字定義表識符:由你來根據(jù)需要定義。(1)選用的表識符不能和保留字相同。(2)語法上允許預(yù)定義的標(biāo)準(zhǔn)標(biāo)識符作為你定義的的表識符使用,但最好還是不要用。以下列舉了你在定義表識符時(shí)可以用的字符: AZ;az;09;+,-,*,/,=,=,(,),:=,;,.,:,.,2.3Pascal數(shù)據(jù)類型 數(shù)據(jù)是程序設(shè)計(jì)的一個(gè)重要內(nèi)容,其重要特征-數(shù)據(jù)類型,確定了該數(shù)據(jù)的形、取值范圍以及所能參與的運(yùn)算。T

14、urbo Pascal 提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型可以分為三大類:簡單類型、構(gòu)造類型和指針類型,其中簡單類型可以分為標(biāo)準(zhǔn)類型(整型、實(shí)型、字符型和布爾型)和自定義類型(枚舉型和子界型),構(gòu)造類型可以分為數(shù)組類型、集合類型、記錄類型和文件類型。這些數(shù)據(jù)類型中除了指針類型是動(dòng)態(tài)數(shù)據(jù)類型外,其他的都是靜態(tài)數(shù)據(jù)類型。在這些數(shù)據(jù)類型中簡單類型都是有序類型,除了實(shí)型以外的簡單類型都是順序類型,所謂順序類型就是他們的值不僅是有序的而且是有順序號。 在這里主要介紹整型、實(shí)型、字符型和布爾型四種常用的數(shù)據(jù)類型。1.整型一個(gè)整型數(shù)據(jù)用來存放整數(shù)。Turbo Pascal支持五種預(yù)定義整型,它們是short

15、int(短整型)、 integer(整型)、 longint(長整型)、 byte(字節(jié)型)和 word(字類型),Turbo Pascal分別用相同的名字作為他們的表識符。每一種類型規(guī)定了相應(yīng)的整數(shù)取值范圍以及所占用的內(nèi)存字節(jié)數(shù)。類型 數(shù)值范圍 占字節(jié)數(shù) 格式 shortint -128.128 1 帶符號8位 inteter -32768.32767 2 帶符號16位 longint -. 4 帶符號32位 byte 0.255 1 帶符號8位 word 0.65535 2 帶符號16位 Turbo Pascal規(guī)定了兩個(gè)預(yù)定義整型常量表識符maxint和maxlonint,他們各表示確定

16、的常數(shù)值,maxint為32767, longint為,他們的類型分別是integer 和longint。2.實(shí)型一個(gè)實(shí)型數(shù)據(jù)用類存放實(shí)數(shù)。Turbo Pascal支持五種預(yù)定義實(shí)型,它們是real(基本實(shí)型)、 single(但精度實(shí)型)、double(雙精度實(shí)型)、extended(擴(kuò)展實(shí)型)、comp(裝配實(shí)型),Turbo Pascal分別用相同的名字作為他們的表識符。每一種類型規(guī)定了相應(yīng)的實(shí)數(shù)取值范圍、所占用的內(nèi)存字節(jié)數(shù)以及它們所能達(dá)到的精度。 類型 數(shù)值范圍 占字節(jié)數(shù) 有效位數(shù) real 2.9e-39.1.7e38 6 11.12 single 1.5e-45.3.4e38 4

17、7.8 double 5.0e-324.1.7e308 8 15.16 extended 3.4e-4932.1.1e4932 10 19.20 comp -2*63+1.2*63-1 8 19.20 Turbo Pascal支持兩種用于執(zhí)行實(shí)型運(yùn)算的代碼生成模式:軟件仿真模式和80x87浮點(diǎn)模式。除了real可以在軟件仿真模式下直接運(yùn)行以外,其他類型必須在80x87浮點(diǎn)模式下運(yùn)行。3.布爾型一個(gè)布爾型數(shù)據(jù)用來存放邏輯值(布爾值)。布爾型的值只有兩個(gè):false和true,并且false的序號是0,true的序號是1。false 和true都是預(yù)定義常數(shù)表識符,分別表示邏輯假和邏輯真。并且tr

18、uefalse。boolean是布爾型的表識符。4.字符型字符型用char作為表識符。字符型必須用單引號括起來,字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號中有一個(gè)字符,否則就是字符串。2.4 常量與變量1.常量(1)常量:在某個(gè)程序的整個(gè)過程中其值不變的量。(2)常量定義:常量定義出現(xiàn)在說明部分。它的語法格式是:const=;.=;常量表識符的類型由定義它的常量的類型決定。例如:const a=12 隱含說明a是整型;const r=3.21 隱含說明r是實(shí)型.(3)常量定義部分必須以保留字const開頭,可以包含一個(gè)或幾個(gè)常量定義,而且每個(gè)常量均以分號結(jié)束。(4)Turbo

19、Pascal類型常量類型常量,又稱變量常數(shù),它是Turbo Pascal的一個(gè)擴(kuò)充特性。類型常量的定義與標(biāo)準(zhǔn)Pascal規(guī)定的常數(shù)定義和變量說明有所區(qū)別。類型常量定義的語法格式:const:簡單類型=常數(shù);例如:constcounter:integer=0;flag:boolean=true;index:0.100=0;2.變量(1)變量:在某個(gè)程序中的運(yùn)行過程中其值可以發(fā)生改變的量(2)變量說明:變臉說明出現(xiàn)在說明部分。它的語法格式是:var:;.:;其中,保留字var表示開始一個(gè)變量說明部分。變量標(biāo)識符列表是一個(gè)用逗號隔開的標(biāo)識符序列,冒號后面的類型是類型標(biāo)識符。每個(gè)變量說明均以分號結(jié)束。

20、例如:vara,b,c:integer;m,n:real;2.5標(biāo)準(zhǔn)函數(shù) 1.算術(shù)函數(shù)函數(shù)標(biāo)識符 自變量類型 意義 結(jié)果類型 abs 整型、實(shí)型 絕對值 同自變量 arctan 整型、實(shí)型 反正切 實(shí)型 cos 整型、實(shí)型 余弦 實(shí)型 exp 整型、實(shí)型 指數(shù) 實(shí)型 frac 整型、實(shí)型 小數(shù)部分 實(shí)型 int 整型、實(shí)型 整數(shù)部分 實(shí)型 ln 整型、實(shí)型 自然對數(shù) 實(shí)型 pi 無自變量 圓周率 實(shí)型 sin 整型、實(shí)型 正弦 實(shí)型 sqr 整型、實(shí)型 平方 同自變量 sqrt 整型、實(shí)型 平方根 實(shí)型 例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0 sin

21、(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71 int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2 2.標(biāo)量函數(shù)函數(shù)標(biāo)識符 自變量類型 意義 結(jié)果類型 odd 整型 判斷奇數(shù) 布爾型 pred 離散類型 求前趨 同自變量 succ 離散類型 求后繼 同自變量 例:odd(1000)=false odd(3)true pred(2000)=1999 succ(2000)=2001 pred(x)=w succ(x)=y 3.轉(zhuǎn)換函數(shù)函數(shù)標(biāo)識符 自變量類型 意義 結(jié)果類型 chr byte型 自量對應(yīng)的字符 字符型 ord 離散類型 自量對應(yīng)的序

22、號 longint round 實(shí)型 四舍五入 longint trunc 實(shí)型 截?cái)嗳≌?longint 4.雜類函數(shù)函數(shù)標(biāo)識符 自變量類型 意義 結(jié)果類型 random 無自變量 0,1)之間的隨機(jī)實(shí)數(shù) real random word 0,自變量)之間的隨機(jī)整數(shù) wird randomize 無自變量 用一隨機(jī)值初始化內(nèi)部隨機(jī)數(shù)產(chǎn)生器 longint upcase 字符型 使小寫英文字母變?yōu)榇髮?字符型 2.6運(yùn)算符和表達(dá)式1.運(yùn)算符和優(yōu)先級(1)運(yùn)算符a.算術(shù)運(yùn)算符 運(yùn)算符 運(yùn)算 運(yùn)算對象 結(jié)果類型 + 加 整型、實(shí)型 只要有一個(gè)運(yùn)算對象是實(shí)型,結(jié)果就是實(shí)型,如果全部的運(yùn)算對象都是整型

23、并且運(yùn)算不是除法,則結(jié)果為整型,若運(yùn)算是除法,則結(jié)果是實(shí)型 - 減 整型、實(shí)型 * 乘 整型、實(shí)型 / 除 整型、實(shí)型 div 整除 整型 整型 mod 取余 整型 整型 b.邏輯運(yùn)算符運(yùn)算符 運(yùn)算 運(yùn)算對象 結(jié)果類型 not 邏輯非 布爾型 布爾型 and 邏輯與 布爾型 布爾型 or 邏輯或 布爾型 布爾型 xor 邏輯異或 布爾型 布爾型 c.關(guān)系運(yùn)算符運(yùn)算符 運(yùn)算 運(yùn)算對象 結(jié)果類型 = 等于 簡單類型 布爾型 不等于 簡單類型 布爾型 大于 簡單類型 布爾型 = 大于等于 簡單類型 布爾型 (2)優(yōu)先級運(yùn)算符 優(yōu)先級 not 1(高) *,/,div,mod,and 2 xor,+,

24、-,or 3 in,=,=,=, 4(低) 2.表達(dá)式(1)算術(shù)表達(dá)式:算術(shù)表達(dá)式是由算術(shù)運(yùn)算符連接常量、變量、函數(shù)的式子。算術(shù)表達(dá)式中各個(gè)運(yùn)算符的次序?yàn)椋?( )-函數(shù)-*,/,div,mod-+,1(2)布爾表達(dá)式:Turbo Pascal提供給布爾表達(dá)式以下基本操作:邏輯運(yùn)算和關(guān)系運(yùn)算。 pascal基礎(chǔ)知識1、 編程的基本步驟: a 設(shè)計(jì)程序流程。 b 打開編程環(huán)境。c 輸入程序。d 調(diào)試,修改。Ctrl+F9(運(yùn)行) Alt+F5(查看運(yùn)行結(jié)果)e 保存程序。(F2)2、 程序的結(jié)構(gòu):Program 程序名稱 (input , output);Var 變量說明 如: a,b : re

25、alBegin 語句1;語句2;End.3、 字符與符號 (1)、保留字(關(guān)鍵字)所謂保留字是指在Pascal語言中具有特定的含義,你必須了解它的含義,以便于正確的使用,否則會(huì)造成錯(cuò)誤。標(biāo)準(zhǔn)Pascal語言中的保留字一共有35個(gè),Turbo Pascal語言一共有51個(gè)。下面是Pascal語言的保留字(斜體是Turbo Pascal特有的保留字):AND,ARRAY,BEGIN,CASE,CONST,DIV,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,PROGRA

26、M,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()、標(biāo)識符(1)表識符的定義:標(biāo)識符就是以字母開頭的字母數(shù)字序列,有效長度為63個(gè)字符,并且大小寫等效??梢杂脕順?biāo)示常量、變量、程序、函數(shù)等。例如例1.1中的Area(程序名),pi(符號常量),s、r(變量名)都是標(biāo)識符。(2)表識符的分類:標(biāo)準(zhǔn)標(biāo)

27、識符:指Pascal語言預(yù)先定義的表識符,具有特殊含義。以下列舉了Turbo Pascal語言部分常用的標(biāo)準(zhǔn)表識符:標(biāo)準(zhǔn)常量 False Maxint True 標(biāo)準(zhǔn)類型 Boolean Char Real Integer 標(biāo)準(zhǔn)函數(shù) Abs Arctan Chr Cos Eof Eoln Exp Ln Odd Ord Pred Round Sin Sqr Sqrt Succ Trunc 標(biāo)準(zhǔn)過程 Dispose Get New Pack Page Put Read Readln Reset Rewrite Unpack Write Writeln 標(biāo)準(zhǔn)文件 Input Output 4、Pas

28、cal數(shù)據(jù)類型 (1).整型 如:integer(整型) 從-32768到32767 占2個(gè)字節(jié) 帶符號 16位(2).實(shí)型 如:real(基本實(shí)型)從2.9e-39到1.7e38 占6個(gè)字節(jié) (3).布爾型 布爾型的值只有兩個(gè):false和true(4).字符型 字符型用char作為表識符。字符型必須用單引號括起來,字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號中有一個(gè)字符,否則就是字符串。5、變量(1)變量:在某個(gè)程序中的運(yùn)行過程中其值可以發(fā)生改變的量(2)變量說明:變量說明出現(xiàn)在說明部分。它的語法格式是:var:;.:;其中,保留字var表示開始一個(gè)變量說明部分。變量標(biāo)識符列

29、表是一個(gè)用逗號隔開的標(biāo)識符序列,冒號后面的類型是類型標(biāo)識符。每個(gè)變量說明均以分號結(jié)束。例如:vara,b,c:integer;m,n:real;6、常用函數(shù)函數(shù)名稱意義自變量類型結(jié)果類型abs絕對值整型、實(shí)型同自變量arctan反正切整型、實(shí)型實(shí)型cos余弦整型、實(shí)型實(shí)型exp指數(shù)整型、實(shí)型實(shí)型frac小數(shù)部分整型、實(shí)型實(shí)型int整數(shù)部分整型、實(shí)型實(shí)型ln自然對數(shù)整型、實(shí)型實(shí)型pi圓周率無自變量實(shí)型sin正弦整型、實(shí)型實(shí)型sqr平方整型、實(shí)型同自變量sqrt平方根整型、實(shí)型實(shí)型chr自量對應(yīng)的字符byte型字符型ord自量對應(yīng)的序號離散類型longintround四舍五入實(shí)型longinttr

30、unc截?cái)嗳≌麑?shí)型longintdiv整除整型整型mod取余整型整型not邏輯非布爾型布爾型and邏輯與布爾型布爾型or邏輯或布爾型布爾型xor邏輯異或布爾型布爾型例如: abs(-4)=4 sqr(4)=16Pascal基本教程 第三章基本語句與程序結(jié)構(gòu)順序結(jié)構(gòu)程序設(shè)計(jì) 3.1賦值語句 賦值語句是最簡單的語句,其一般形式為::=賦值語句的作用是計(jì)算表達(dá)式的值,并賦給變量。對于任何一個(gè)變量必須首先賦值,然后才能引用,否則,未賦初值的變量將以一個(gè)隨機(jī)值參與運(yùn)算。另外,賦值號兩邊的類型必須相同,但表達(dá)式值為整數(shù)時(shí),它可自動(dòng)化為實(shí)型后賦給該實(shí)型變量,即符合賦值相容。例:關(guān)于賦值的例子program

31、example;var a,b:integer;begina:=3;b:=2;writeln(a);writeln(b);a:=a+b;writeln(a);writeln(b);b:=a-b;writeln(a);writeln(b);a:=a-b;writeln(a);writeln(b);readlnend. 3.2輸入語句通過計(jì)算機(jī)的外設(shè)把數(shù)據(jù)送到計(jì)算機(jī)內(nèi)存的過程稱為輸入。Turbo Pascal語言的輸入語句有如下兩種形式:read();readln();是一個(gè)或幾個(gè)由逗號隔開的變量標(biāo)識符,他們必須在程序說明部分預(yù)先說明,他們可以是整型、實(shí)型或字符型,布爾型不可以直接讀入。例如a,b

32、,c為整型變量,read(a,b,c)之后鍵盤輸入:20 30 40 (表示回車)結(jié)果:a=20,b=30,c=40readln語句和read語句不同之處在于輸入數(shù)據(jù)到各變量之后,readln自動(dòng)換行,從下一行開始再輸入數(shù)據(jù)。一個(gè)read語句執(zhí)行完后,數(shù)據(jù)行中多余的未讀數(shù)據(jù)可以被下一個(gè)輸入語句讀入;而一個(gè)readln于執(zhí)行完后,數(shù)據(jù)行中多余未讀數(shù)據(jù)就沒有用了。readln語句中可以不包含變量名表。即有以下等價(jià)情況:readln(a,b);readln等價(jià)于readln(a,b)輸入語句輸入的數(shù)據(jù)類型必須和變量一一對應(yīng)。如果輸入的是一串整數(shù)或?qū)崝?shù),數(shù)據(jù)間用空格或回車分隔;若輸入的是一串字符,則不

33、用分隔。 例:輸入語句示例program shuru;varx:real;c:char;beginwrite(please input the number: ($XXX.XX);readln(c,x);writeln(The price is ,c,x)end. 3.3輸出語句輸出是將內(nèi)存中的數(shù)據(jù)送到外設(shè)的過程。Turbo Pascal的輸出語句有兩種形式:write()writeln()其中是一串用逗號分隔的常量、變量、函數(shù)名、表達(dá)式或字符串。如果是變量、函數(shù)名、表達(dá)式,則將其計(jì)算結(jié)果輸出;如果是常量或字符串,則直接輸出其值。 writeln和writeln的區(qū)別在于:write語句是輸出

34、項(xiàng)輸出后,不換行,光標(biāo)停留在最后一項(xiàng)后,writeln語句按項(xiàng)輸出后,自動(dòng)換行,光標(biāo)則停留在下一行的開始位置。writeln語句允許不含有輸出項(xiàng),即僅writeln;表示換行。Turbo Pascal語言把輸出項(xiàng)的數(shù)據(jù)顯示占用的寬度稱為域?qū)?,你可以根?jù)輸出格式的要求在輸出語句中自動(dòng)定義每個(gè)輸出項(xiàng)的寬度。定義寬度時(shí)分為單域?qū)捄碗p域?qū)?。?)單域?qū)捿敵龈袷剑簑riteln(I:n)在n個(gè)字符寬的輸出域上按右對齊方式輸出I的值,若n大于I的實(shí)際位數(shù),則在I值前面補(bǔ)(n-I的實(shí)際位數(shù))個(gè)空格。若I的實(shí)際位數(shù)大于n,則自動(dòng)突破限制。n必須是整數(shù)。(2)雙域?qū)捿敵龈袷剑簑riteln(a:m:n)雙域?qū)捴?/p>

35、要用于實(shí)型數(shù)據(jù)的輸出。n的用法同上。在n個(gè)字符寬的輸出域上按右隊(duì)齊方式用小數(shù)點(diǎn)形式輸出a的數(shù)值,m是小數(shù)點(diǎn)后的位數(shù)。原來的數(shù)據(jù)按該該格式指定的小數(shù)位數(shù)四舍五入。若m=0 ,則不輸出小數(shù)部分和小數(shù)點(diǎn),原數(shù)據(jù)四舍五入取整。n,m必須是整數(shù)。 例:輸出語句的例子program shuchu;consts=pascal;vari:integer;r:real;c:char;b:boolean;begini:=12345;r:=123.45c:=a;b:=true;writeln(i=);writeln(i:6);writeln(r=,r,r:6:1);writeln(c=,c,c:10);writel

36、n(b=,b,b:10)end. 3.4復(fù)合語句復(fù)合語句是由若干語句組成的序列,語句之間用分號“;”隔開,并且以begin和end括起來,作為一條語句。復(fù)合語句的一般形式:begin語句1;語句2;語句n;end 例:變量值的交換program jiaohuan;vara,b,t:integer;begin a:=10;b:=20;begint:=a;a:=b;b:=t;end;writeln(a=,a,b=,b)end. 一、 順序結(jié)構(gòu)程序設(shè)計(jì)例21 求長方形的面積program ex2-1 ( input , output ); var s , c, k: real;begin readl

37、n (c,k); s:=c*k; write(s);end.運(yùn)行結(jié)果:輸入3 5 輸出 15注:readln(c,k); 為輸入語句。如a,b,c為整型變量,read(a,b,c)之后鍵盤輸入:20 30 40 (表示回車)結(jié)果:a=20,b=30,c=40s:=c*k; 為賦值語句。賦值語句的作用是計(jì)算表達(dá)式的值,并賦給變量。write(s); 輸出語句。輸出是將內(nèi)存中的數(shù)據(jù)送到外設(shè)的過程。練習(xí):1、求梯形的面積。 2、求一元二次方程ax2+bx+c=0的兩個(gè)實(shí)根。 3、輸入一個(gè)三位數(shù)的自然數(shù),然后把這個(gè)數(shù)的百倍數(shù)與個(gè)位數(shù)對調(diào),輸出對調(diào)后的數(shù)。二、 選擇結(jié)構(gòu)程序設(shè)計(jì)1、if語句有兩種形式的I

38、F語句:ifthen ;ifthen else ;例22:求y=f(x),當(dāng)x0時(shí),y=1,當(dāng)x=0時(shí),y=0,當(dāng)x0 then y:=1;if x=0 then y:=0;if x0 then y:=-1;writeln(y=,y);end.運(yùn)行結(jié)果:輸入 4 輸出 y=1 ; 輸入0 輸出 y=0 ; 輸入-9 輸出 y= -1練習(xí):函數(shù)如下: 0 (x0) 2x (0x10)y= 2x+1 (10x=0)and(s=100)thencase s div 10 of10,9:ch:=B;8:ch:=B;7,6:ch:=C;else ch:=D;end;writeln(s,-,ch);end

39、. 運(yùn)行結(jié)果: 輸入95 輸出 A 輸入85 輸出B 輸入67 輸出C 輸入45 輸出 D練習(xí):輸入一個(gè)年號,判斷它是否為閏年。分析 判斷閏年的算法是:如果此年號能被400除盡,則它是閏年;否則如果它能被4除盡而不能被100整除,則它是閏年;否則它不是閏年。三、 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1、 while語句while語句的語法格式:while 布爾表達(dá)式do語句;例24:計(jì)算從到某個(gè)數(shù)之間所有奇數(shù)的和。program ex2-4 (input,output);var odds, limit , sum : integer;beginreadln (limit);sum:=0;odds:=1;while

40、 odds = limit dobeginsum:= sum + odds;odds:=odds+2end;writeln(sum:1)end. 運(yùn)行結(jié)果: 輸入5 輸出 9練習(xí):計(jì)算1到100的和循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 5.1while語句while語句用于“當(dāng)滿足某一條件時(shí)進(jìn)行循環(huán)”的情況。while語句的語法格式:while 布爾表達(dá)式do語句;循環(huán)結(jié)束條件在進(jìn)入循環(huán)體之前測試,若最初的測試值為false,則根本不進(jìn)入循環(huán)體,也就是說while循環(huán)是是屬于當(dāng)型循環(huán)。為了能使while重復(fù)能終止,循環(huán)體中一定要有影響布爾表達(dá)式的操作,否則該循就是一個(gè)死循環(huán)。例:計(jì)算從到某個(gè)數(shù)之間所有奇數(shù)的和。p

41、rogram jishu;var odds,limit,sum:integer;beginreadln(limit);sum:=0;odds:=1;while odds=limit dobeginsum:=sum+odds;odds:=odds+2end;writeln(sum:1)end. 5.2repeat語句repeat 語句用于“重復(fù)執(zhí)行循環(huán)體,一直到指定的條件為真時(shí)為止”。語法格式為:repeat語句1; 語句n;until布爾表達(dá)式;repeat重復(fù)基本上有和while重復(fù)一樣的描述循環(huán)計(jì)算的能力,但有一些不同:在repeat語句的結(jié)構(gòu)中,布爾表達(dá)式求值在計(jì)算操作之后,而while

42、語句中,布爾表達(dá)式求值在計(jì)算操作之前,也就是說repeat至少執(zhí)行一次循環(huán)體。while語句的成分語句只能是一個(gè)語句。因此,當(dāng)重復(fù)動(dòng)作包含多個(gè)語句時(shí),要用begin和end ,使它變成一個(gè)復(fù)合語句。而repeat語句的保留字repeat和until已經(jīng)起語句括號作用,可以包含多個(gè)語句而無須begin和end。repeat語句中,當(dāng)布爾表達(dá)式為true時(shí)結(jié)束循環(huán),而while語句中,是當(dāng)表達(dá)式為false時(shí)才結(jié)束循環(huán)。當(dāng)描述由計(jì)算操作后的情況確定重復(fù)是否繼續(xù)進(jìn)行的計(jì)算時(shí),通常用repeat語句描述。 5.3for 語句for 語句用來描述已知重復(fù)次數(shù)的循環(huán)結(jié)構(gòu)。for 語句有兩種形式:(1) f

43、or 控制變量:初值to終值do語句;(2) for 控制變量:初值downto終值do語句;第一種形式的for 語句是遞增循環(huán)。首先將初值賦給控制變量,接著判斷控制變量的值是否小于或等于終值,若是,則執(zhí)行循環(huán)體,在執(zhí)行了循環(huán)體之后,自動(dòng)將控制變量的值該為它的后繼值,并重新判斷是否小于或等于終值。當(dāng)控制變量的值大于終值時(shí),退出for循環(huán),執(zhí)行for語句之后的語句。第一種形式的for 語句是遞減循環(huán)。首先將初值賦給控制變量,接著判斷控制變量的值是否大于或等于終值,若是,則執(zhí)行循環(huán)體,在執(zhí)行了循環(huán)體之后,自動(dòng)將控制變量的值該為它的前趨值,并重新判斷是否大于或等于終值。當(dāng)控制變量的值小于終值時(shí),退出

44、for循環(huán),執(zhí)行for語句之后的語句。for 語句中的初值、終值、控制變量的數(shù)據(jù)都必須是順序類型。當(dāng)初值和終值確定后,重復(fù)的次數(shù)就確定不變了,并且控制變量在重復(fù)語句內(nèi)不能施加任何賦值操作。 例:計(jì)算1+2+3+99+100program jia;var n,sum:integer;beginsum:=0;for i:=1 to 100 dosum:=sum+i;writeln(sum);end. 5.4goto語句goto語句是一種無條件轉(zhuǎn)向語句,它可以控制直接從程序的一條語句轉(zhuǎn)向另一條語句。goto語句的語法形式為:goto標(biāo)號;其中標(biāo)號必須是不超過位整數(shù)的正整數(shù)或標(biāo)識符組成,但標(biāo)號必須在說

45、明語句中先予以說明。goto語句會(huì)使程序出現(xiàn)一種稱為“亂面條”的結(jié)構(gòu),因此你最好還是不要去用。2、 for 語句for 語句有兩種形式:(1) for 控制變量:初值to終值do語句;遞增(2) for 控制變量:初值downto終值do語句;遞減例25:計(jì)算1+2+3+99+100program ex2-5 (input,output);var n,sum:integer;beginsum:=0;for i:=1 to 100 dosum:=sum+i;writeln(sum);end. 運(yùn)行結(jié)果: 輸出5050練習(xí):1、計(jì)算1+1/2+1/3+1/4+1/100的值2、計(jì)算 12+22+3

46、2+42+1002的值3、已知一對兔子,每個(gè)月可以生一對小兔,而小兔一個(gè)月后也可生一對小兔。即兔子的對數(shù)是:第一個(gè)月1對,第二個(gè)月2對,第三個(gè)月3對,第四個(gè)月5對,假設(shè)兔子的生育期介12個(gè)月,并且不死,問一年后,這對兔子有多少對活著的后代?分析根據(jù)題目給出的條件,得到算法:設(shè)當(dāng)前月兔子有X對,它的前一個(gè)月有l(wèi)astx對,前二個(gè)月有prevx對,明顯存在一個(gè)遞推關(guān)系,即x=lastx+prevx。X從第3個(gè)月開始選擇結(jié)構(gòu)程序設(shè)計(jì) 4.1if語句IF語句是由一個(gè)布爾表達(dá)式和兩個(gè)供選擇的操作序列組成。運(yùn)行時(shí)根據(jù)布爾表達(dá)式求值結(jié)果,選取其中之一的操作序列執(zhí)行。有兩種形式的IF語句:ifthen ;ifthen else ;當(dāng)布爾表達(dá)式的值為真,則執(zhí)行then后面的語句,值為假時(shí)有兩種情況:要么什么也不做,要么執(zhí)行else后面的語句。注意else前面沒有分號,因?yàn)榉痔柺莾蓚€(gè)語句之間的分隔符,而else并非語句。如果在該處添了分號,則在編譯的時(shí)候就會(huì)認(rèn)為if 語句到此結(jié)束,而把else當(dāng)作另一句的開頭,輸出出錯(cuò)信息。例:求y=f(x),當(dāng)x0時(shí),y=1,當(dāng)x=0時(shí),y=0,當(dāng)x0 then y:=1;if x=0 then y:=0;if x0時(shí)候,計(jì)算x*x,并且輸出x和x*x,program lianxie3;var

溫馨提示

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

評論

0/150

提交評論