百度百科
什么是pascal語言,麻煩給回復(fù)
百度百科
Pascal是一種計算機(jī)通用的高級程序設(shè)計語言。它由瑞士Niklaus Wirth教授于六十年代末設(shè)計并創(chuàng)立。Pascal也可以是指人名,它的取名原本就是為了紀(jì)念十七世紀(jì)法國著名哲學(xué)家和數(shù)學(xué)家Blaise Pascal,而不是編程工具。以法國數(shù)學(xué)家命名的pascal語言現(xiàn)已成為使用最廣泛的基于DOS的語言之一,其主要特點有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運行效率高;查錯能力強。 Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。 Pascal具有簡潔的語法,結(jié)構(gòu)化的程序結(jié)構(gòu)。它是結(jié)構(gòu)化編程語言,于70年代在ALGO今,在許多學(xué)校的計算機(jī)語言課上,的都是Pascal語言。 Pascal是最早出現(xiàn)的結(jié)構(gòu)化編程語言,具有豐富的數(shù)據(jù)類型和簡潔靈活的操作語句,適于描述數(shù)值和非數(shù)值的問題。 正因為上述特點,Pascal語言可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)。尤其是對于程序設(shè)計的初學(xué)者,Pascal語言有益于培養(yǎng)良好的程序設(shè)計風(fēng)格和習(xí)慣。IOI(國際奧林匹克信息學(xué)競賽)把Pascal語言作為三種程序設(shè)計語言之一, NOI(全國奧林匹克信息學(xué)競賽)把Pascal語言定為唯一提倡的程序設(shè)計語言,在大學(xué)中Pascal語言也常常被用作學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教學(xué)語言。
帕斯卡語言 開放分類: 計算機(jī)語言、編程、編程語言、計算機(jī)、高級語言 目錄" 一、PASCAL語言的來歷 " 二、PASCAL語言的發(fā)展 " 三、PASCAL語言的影響 " 四、PASCAL在學(xué)習(xí)和競賽中的應(yīng)用 " 五、Pascal的基本運用 " 六、單元和面向?qū)ο蟮某绦蛟O(shè)計 一、PASCAL語言的來歷[編輯本段]Pascal是一種計算機(jī)通用的高級程序設(shè)計語言。它由瑞士Niklaus Wirth教授于六十年代末設(shè)計并創(chuàng)立。Pascal也可以是指人名,它的取名原本就是為了紀(jì)念十七世紀(jì)法國著名哲學(xué)家和數(shù)學(xué)家Blaise Pascal,而不是編程工具。以法國數(shù)學(xué)家命名的pascal語言現(xiàn)已成為使用最廣泛的基于DOS的語言之一,其主要特點有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運行效率高;查錯能力強。 Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。 Pascal具有簡潔的語法,結(jié)構(gòu)化的程序結(jié)構(gòu)。它是結(jié)構(gòu)化編程語言,于70年代在ALGO今,在許多學(xué)校的計算機(jī)語言課上,的都是Pascal語言。Pascal是最早出現(xiàn)的結(jié)構(gòu)化編程語言,具有豐富的數(shù)據(jù)類型和簡潔靈活的操作語句,適于描述數(shù)值和非數(shù)值的問題。正因為上述特點,Pascal語言可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)。尤其是對于程序設(shè)計的初學(xué)者,Pascal語言有益于培養(yǎng)良好的程序設(shè)計風(fēng)格和習(xí)慣。IOI(國際奧林匹克信息學(xué)競賽)把Pascal語言作為三種程序設(shè)計語言之一, NOI(全國奧林匹克信息學(xué)競賽)把Pascal語言定為唯一提倡的程序設(shè)計語言,在大學(xué)中Pascal語言也常常被用作學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教學(xué)語言。 二、PASCAL語言的發(fā)展[編輯本段]在Pascal問世以來的三十余年間,先后產(chǎn)生了適合于不同機(jī)型的各種各樣版本。其中影響最大的莫過于Turbo Pascal系列軟件。它是由美國Borland公司設(shè)計、研制的一種適用于微機(jī)的Pascal編譯系統(tǒng)。該編譯系統(tǒng)由1983年推出1.0版本發(fā)展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。 Turbo Pascal語言是編譯型程序語言,它提供了一個集成環(huán)境的工作系統(tǒng),集編輯、編譯、運行、調(diào)試等多功能于一體 Pascal有5個主要的版本,分別是Unextended Pascal、Extended Pascal、Object-Oriented Extensions to Pascal、Borland Pascal和Delphi Object Pascal。其中,Unextended Pascal、Extended Pascal和Object-Oriented Extensions to Pascal是由Pascal標(biāo)準(zhǔn)委員會所創(chuàng)立和維護(hù)的,Unextended Pascal類似于瑞士Niklaus Wirth教授和K.Jensen于1974年聯(lián)名發(fā)表的Pascal用戶手冊和報告,而Extended Pascal則是在其基礎(chǔ)上進(jìn)行了擴(kuò)展,加入了許多新的特性,它們都屬于正式的Pascal標(biāo)準(zhǔn);Object-Oriented Extensions to Pascal是由Pascal標(biāo)準(zhǔn)委員會發(fā)表的一份技術(shù)報告,在Extended Pascal的基礎(chǔ)上增加了一些用以支持面向?qū)ο蟪绦蛟O(shè)計的特性,但它屬于非正式的標(biāo)準(zhǔn)。Borland Pascal和Delphi Object Pascal是由Borland公司專門為其開發(fā)的編譯工具設(shè)計的Pascal語言,前者是用于DOS的Turbo Pascal系列和Windows 3.x的Turbo Pascal for Windows的傳統(tǒng)高級語言,后者是用于Windows的Delphi和Linux的Kylix的面向?qū)ο蟪绦蛟O(shè)計語言,它們都不是正式的Pascal標(biāo)準(zhǔn),具有專利性。但由于Turbo Pascal系列和Delphi功能強大并且廣為流行,Borland Pascal和Delphi Object Pascal已自成為一種標(biāo)準(zhǔn),為許多人所熟悉。
三、PASCAL語言的影響[編輯本段]高級語言發(fā)展過程中,PASCAL是一個重要的里程碑。PASCAL語言是第一個系統(tǒng)地體現(xiàn)了E.W.Dijkstra和C.A.R.Hoare定義的結(jié)構(gòu)化程序設(shè)計概念的語言。1971年,瑞士聯(lián)邦技術(shù)學(xué)院尼克勞斯·沃爾斯(N.Wirth)教授發(fā)明了另一種簡單明晰的電腦語言,這就是以電腦先驅(qū)帕斯卡的名字命名的PASCAL語言。PASCAL語言語法嚴(yán)謹(jǐn),層次分明,程序易寫,具有很強的可讀性,是第一個結(jié)構(gòu)化的編程語言。它一出世就受到廣泛歡迎,迅速地從歐洲傳到美國。沃爾斯一生還寫作了大量有關(guān)程序設(shè)計、算法和數(shù)據(jù)結(jié)構(gòu)的著作,因此,他獲得了1984年度“圖靈獎”。 四、PASCAL在學(xué)習(xí)和競賽中的應(yīng)用[編輯本段]在中國的信息學(xué)奧林匹克競賽中,過去比較常用的Pascal編程工具是Turbo Pascal。Turbo Pascal是DOS下的一種16位編程工具,在Delphi出現(xiàn)之前,它是世界上最多人使用的Pascal編程工具,擁有編譯速度極快的先進(jìn)編譯器和功能強大而又簡便易用的集成開發(fā)環(huán)境(IDE),在微機(jī)程序員中廣為流行,正是它的出現(xiàn)奠定了Pascal在DOS/Windows平臺上不可動搖的根基,現(xiàn)在常見的版本有Turbo Pascal 5.5、Turbo Pascal 6.0和Borland Turbo Pascal with Objects 7.0。Turbo Pascal 6.0與Turbo Pascal 5.5相比,主要是IDE更為強大,而其程序設(shè)計功能改變不大,只是增加了一些新的功能,例如可以內(nèi)嵌asm匯編語句等。而Borland Turbo Pascal with Objects 7.0(簡稱Borland Pascal 7.0)則有了新的飛躍,首先是IDE進(jìn)一步加強,提供了程序瀏覽器,然后是程序設(shè)計功能有了很大的提升,新增了一些十分有用的標(biāo)準(zhǔn)子程序,支持比較完善的面向?qū)ο蟪绦蛟O(shè)計功能,并提供了DOS實模式、DOS保護(hù)模式和Windows模式三種程序編譯模式,能夠編寫出可以使用擴(kuò)充內(nèi)存(XMS)的保護(hù)模式應(yīng)用程序或者在Windows 3.x下運行的Windows程序,另外還提供了一個對象窗口庫(OWL),使用它可以快速的開發(fā)出具有一致的視窗界面(DOS或Windows 3.x)的應(yīng)用程序。Borland Pascal 7.0在1992年推出,是Turbo Pascal系列在DOS下的最后版本。下面列出Turbo Pascal的編年史: 1983 Turbo Pascal 1.0 Turbo Pascal 2.0 Turbo-87 Pascal 提高實數(shù)運算速度并擴(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è)計(OPP) 1990 Turbo Pascal 6.0 提供面向?qū)ο蟮膽?yīng)用框架和庫(Turbo Vision) 1992 Turbo Pascal 7.0 面向?qū)ο蟮膽?yīng)用系統(tǒng)、更完善的IDE Turbo Vision 2.0 1993 Borland Pascal 7.0 開發(fā) Object Windows庫 (For Windows) 提供對OLE多媒體應(yīng)用開發(fā)的支持 1995 Delphi Visual Pascal Turbo Pascal語言是編譯型程序語言,它提供了一個集成環(huán)境的工作系統(tǒng),集編輯、編譯、運行、調(diào)試等多功能于一體。 現(xiàn)在,隨著Turbo Pascal逐漸被淘汰,全國信息學(xué)奧林匹克競賽決賽(NOI)和國際信息學(xué)奧林匹克競賽(IOI)已經(jīng)指定Free Pascal為比賽使用的Pascal編程工具。Free Pascal是由一個國際組織開發(fā)的32位Pascal編程工具,屬于共享軟件,可用于各種操作系統(tǒng)。根據(jù)編譯選項的不同,它可以使用Borland Pascal兼容語法、Delphi 2 Object Pascal語法或者其它語法進(jìn)行編寫程序。由于它擁有32位的編譯器,而且一直在更新發(fā)展中,因此它的功能比Borland Pascal更加強大,擁有許多現(xiàn)代程序設(shè)計的特征,但同時也很不成熟,存在很多漏洞。Free Pascal正處于發(fā)展初期,相應(yīng)的函數(shù)庫十分少,對程序員的吸引力遠(yuǎn)比不上擁有VCL和CLX的Delphi和Kylix。 Pascal競賽的輔導(dǎo)用書有很多,最經(jīng)典的有《全國青少年信息學(xué)奧林匹克聯(lián)賽培訓(xùn)教材》。
五、Pascal的基本運用[編輯本段]Turbo Pascal系列軟件作為開發(fā)系統(tǒng)軟件與就任軟件及實施科學(xué)計算和教學(xué)的有力工具,下發(fā)揮著越來越大的作用。也是國際和全國青少年信息學(xué)奧林匹克競賽指定的語言之一。從歷屆信息學(xué)競賽的情況看,它是最能出成績和選手最歡迎的語言。以后的例子就以Turbo Pascal 7.0進(jìn)行程序設(shè)計。下面我們就以一個實例來看一看Pascal程序的結(jié)構(gòu),從中認(rèn)識到Pascal語言程序的書寫方式,以及其規(guī)范的標(biāo)準(zhǔn)設(shè)計方式。例1:輸入一個圓的半徑,求出其圓周長。設(shè)圓的半徑為R,周長為L,我們知道公式如下:L=2πR它的Pascal程序如下:program yzhch( input, output) ; {程序首部}const {常量說明}pi=3.14159var {變量說明}l,r:real;begin {程序開始}readln(r); {輸入半徑}l:=2*pi*r; {計圓周長}writeln('l=',l); {輸出圓周長}end. {結(jié)束程序}從以上簡單的例子可以看出,Turbo Pascal程序是由程序首部、程序說明部分和程序執(zhí)行部分組成。具體如下所示:program 程序名; {程序首部}說明部分 {說明部分}begin {程序開始}語句1; {執(zhí)行語句}語句2; {執(zhí)行語句}…… {執(zhí)行語句}end. {結(jié)束程序}上面程序由如下兩部分組成:
1、程序首部程序首部是程序的開頭部分,由保留字program后,接程序名及程序參數(shù)表組成,結(jié)束時一定要有分號。程序名yzhch是用戶自己定義的標(biāo)識符,參數(shù)表一般是文件變量名,用于該程序與外界的數(shù)據(jù)交流。最常用的參數(shù)為input和output。Turbo Pascal程序首部中參數(shù)表可以省略。
2、程序說明部分Pascal語言要求用戶將在程序中所使用的標(biāo)號、常量、類型、變量、記錄、文件、以及過程和函數(shù)除了Pascal自己預(yù)先定義的標(biāo)準(zhǔn)量之外,都必須在說明部分說明后才能在程序執(zhí)行部分使用。但各個內(nèi)容部分是可選的,只有執(zhí)行程序部分需要的時候才進(jìn)行說明。
3、程序執(zhí)行部分緊接著說明部分的begin和end之間的部分為程序的執(zhí)行部分。它由一系列語句組成,一條語句執(zhí)行一定的功能,所有語句完成程序設(shè)計的任務(wù)。語句之間用“;”隔開,允許一行寫多個語句,也允許一個語句寫多行。最后一行的end后加“.”號表示結(jié)束。所跟其后的語句將無任何作用。Begin與end應(yīng)配對出現(xiàn),這是每一個Turbo Pascal程序都必須的。注意:后面將學(xué)習(xí)到的語句中,也需要引用begin和end作為程序段的分隔標(biāo)記,但其必須遵守語句規(guī)則。數(shù)據(jù)類型、常量的變量一、數(shù)據(jù)類型的概念計算機(jī)處理數(shù)據(jù)對象是一個廣義的概念。例如,125、12.76是數(shù)據(jù),’xiang qj zhong’這一串字符也是數(shù)據(jù)。前者是數(shù)值數(shù)據(jù),后者是字符串?dāng)?shù)據(jù),是非數(shù)值數(shù)據(jù)。顯然,為了表示這些數(shù)據(jù),它們在內(nèi)存中必須以不同方式存放。為處理這些數(shù)據(jù),計算機(jī)對它們施加的運算也不同。為此,Turbo Pascal語言建立了數(shù)據(jù)類型的概念,對描述的數(shù)據(jù)進(jìn)行分類。每一種數(shù)據(jù)類型定義了一個具有相同性質(zhì)的數(shù)據(jù)集合。各種數(shù)據(jù)類型的數(shù)據(jù)具有不同的性質(zhì)。程序中所用到的每一個數(shù)據(jù),包括常量和變量都有一個和它相聯(lián)系的類型。由此決定了數(shù)據(jù)所具有的值,也決定了對該數(shù)據(jù)所能進(jìn)行的操作。Turbo Pascal語言中數(shù)據(jù)具有豐富的類型,按它們的特點可以分為簡單類型、構(gòu)造類型、指針類型和過程類型四大類,如圖下所示。其中,標(biāo)準(zhǔn)類型用語言系統(tǒng)預(yù)先定義的標(biāo)準(zhǔn)標(biāo)識符表示,整型用integer表示,實型用real表示,布爾型用boolean表示,字符型用char表示。
二、常量常量是指在程序中使用的一些具體的整型數(shù)、實型數(shù)和字符串。
(1)整型數(shù):如9、3、-5、0等。
(2)實型數(shù):如3"1、-6.1E+20等。
(3)字符串:是用單引號括起來的一串字符,如,’book’、’96"5’、’ABC’等。以上列舉的都可以作為常量在程序中使用。為了提高程序的可讀性并使程序便于修改,在程序中往往用一些標(biāo)識符來代表具體的常量。在Turbo Pascal語言中,可以給一些常量取個名字用一個標(biāo)識符代表它,這就是常量定義。例如,Cost=60;Blank=’ ’。經(jīng)常量定義的標(biāo)識符又稱為常量標(biāo)識符。在Turbo Pascal語言中,常量定義要寫在常量定義部分中。常量定義部分的一般形式:Const(常量標(biāo)識符1)= (常量1);(常量標(biāo)識符2)=(常量2);(常量標(biāo)識符n)=(常量n);Const是保留宇,表示開始一個常量定義部分,其后可以有若干個常量定義,這些常量定義之間要用“;”號分隔。例如:ConstCost=60;A=Cost+30;Pi =3.14159;Turbo Pascal語言對常量定義有如下要求:(1)常量定義要放在程序的常量定義部分,即程序首部之后,執(zhí)行部分之前。
(2)必須遵循先定義后使用的原則,即只有已經(jīng)定義的常量標(biāo)識符,才能在程序中使用。
三、變量在程序執(zhí)行過程中其值可以改變的數(shù)據(jù),稱為變量。每個變量都要有一個名稱,這就是變量名。變量名由用戶自己定義,但必須符合標(biāo)識符的規(guī)定。在一個程序中,一個變量只能屬于一種確定的數(shù)據(jù)類型。因此,程序中出現(xiàn)的每個變量都必須說明其數(shù)據(jù)類型,這樣就規(guī)定了該變量的取值范圍,也決定了對該變量所能執(zhí)行的運算操作。變量的類型,可以是標(biāo)準(zhǔn)數(shù)據(jù)類型integer、real、boolean和char,也可以是用戶自定義的各種類型。變量說明形式是:一個變量標(biāo)識符或由逗號隔開的多個變量標(biāo)識符在它的冒號":"后面說明其數(shù)據(jù)類型。在Turbo Pascal程序中,變量說明要寫在變量說明部分中。變量說明部分的一般形式:var(變量說明1);(變量說明2);……(變量說明n);其中var是保留字,表示一個變量說明部分開始。一個var可以含有多個不同的變量說明,每個變量說明之間用分號隔開,有時稱被分號隔開的變量說明為變量說明項。例如:varx,y:real;chl:char;t,f:boolean;注意:不同類型的變量一般不能互相串用。這里還應(yīng)指出,變量一經(jīng)說明系統(tǒng)就在計算機(jī)內(nèi)存中為其分配一個存貯空間。在程序中使用到變量時,就在相應(yīng)的內(nèi)存中存入數(shù)據(jù)或取出數(shù)據(jù),這種操作稱為變量的訪問。標(biāo)準(zhǔn)數(shù)據(jù)類型Pascal向程序設(shè)計者提供了豐富的數(shù)據(jù)類型,它們用于專門的目的,但卻都是由簡單的、非構(gòu)造型的數(shù)據(jù)類型所構(gòu)成的。本節(jié)介紹Turbo Pascal中最為基本的幾種數(shù)據(jù)類型:整型、實型、布爾型和字符型。它們都是系統(tǒng)定義的簡單數(shù)據(jù)類型,稱為標(biāo)準(zhǔn)數(shù)據(jù)類型,其對應(yīng)的名字稱為標(biāo)準(zhǔn)標(biāo)識符。
1、整型一個整型數(shù)據(jù)用來存放整數(shù),整型數(shù)據(jù)可以是正整數(shù)、負(fù)整數(shù)和整數(shù)零。Turbo Pascal中的整型常數(shù)必須按規(guī)定嚴(yán)格書寫。Turbo Pascal支持五種預(yù)定義整型,它們是短整型(Shortint)、整型(Integer)、長整型 (Longint)、字節(jié)型(Byte)和字類型(Word),每一種類型規(guī)定了相應(yīng)的整數(shù)取值范圍以及所占內(nèi)存字節(jié)數(shù)(一個字節(jié)為8個二進(jìn)制位)。因此,用戶在具體編程定義變量類型時,要根據(jù)它們的特點選用適當(dāng)?shù)念愋?,以達(dá)到理想的效果。當(dāng)兩個不同范圍類型的操作數(shù)進(jìn)行運算時,得到的結(jié)果屬于較大范圍的類型。如下表所示。Turbo Pascal語言規(guī)定可以對整型數(shù)據(jù)進(jìn)行算術(shù)運算符+、一、*、Div、Mod。它們分別表示加、減、乘、整除和取余。這五種運算,要求參加運算的兩個數(shù)都是整型數(shù),運算結(jié)果也是整型數(shù)。前三種運算與一般的算術(shù)運算加、減、乘相同。Div整除運算,是兩個整型數(shù)相除取整數(shù)部分(商的整數(shù)部分),得到整型結(jié)果。Mod取余運算,是兩個整型數(shù)相除取余數(shù),余數(shù)的符號與被除數(shù)符號相同。例如:3 Div 2 = 1 5 Div 7 = 06 Div (-4) = - 1 (-12) Div (-5) = 2 7 Mod 4 = 3 (14) Mod (-4) = 2(-18) Mod (-6) = 0 6 Mod l7 = 6由此可見,a Mod b,所得結(jié)果的符號與a相同,其值(絕對值)在0~∣b∣-1之間。運算符Mod與Div之間有如下關(guān)系:a Mod b = a – (a Div b) * b (b<>0)其中Mod運算的結(jié)果的符號與a的符號相同。利用以上兩種運算可以對正整數(shù)進(jìn)行分離。例如:n為四位數(shù)8531,可用下法分離出它的個、十、百、千位。8531 Mod l0 = 1 (個位數(shù))(8531 Mod l00) Div l0 = 3 (十位數(shù))(8531 Mod l000) Div l00 = 5 (百位數(shù))8531 Mod l000 = 8 (千位數(shù))利用 a Mod b可以判斷a能否被b整除。當(dāng)a Mod b = 0時,a能被b整除。
2、實型一個實型數(shù)據(jù)用來存放實數(shù)。實型數(shù)據(jù)可以是正實數(shù)、負(fù)實數(shù)和實數(shù)零。實型數(shù)據(jù)一般用小數(shù)或指數(shù)形式(亦稱科學(xué)表示法)表示。例如:+1993,33,3.5E+8(=3.5×105), -0.5E-3(=-0.5×10-3,),-20.0,,0.0等都是合法實型數(shù)。Turbo Pascal支持一種預(yù)定義實型,它們是基本實型(Real)、單精度實型(Single)、雙精度實型(Double)、擴(kuò)展實型(Extended)和裝配實型(Comp)。每一種類型規(guī)定了相應(yīng)的實數(shù)取值范圍和所占內(nèi)存字節(jié)數(shù),以及它們所能達(dá)到的精度,即有效數(shù)字位數(shù)。因此,用戶在具體編程時應(yīng)根據(jù)以上的參數(shù)適當(dāng)選用,以達(dá)到最佳效果。如下表所示。對于此類實型數(shù)據(jù),若其絕對值大于上界,則產(chǎn)生上溢;絕對值小于下界,則產(chǎn)生下溢,下溢導(dǎo)致結(jié)果為0。Comp類型的取值范圍是-263+1~238-1之間的整數(shù),相當(dāng)于十進(jìn)制的-9.218~9.218。由于Comp類型的數(shù)據(jù)表示成二進(jìn)制形式的數(shù),這種類型的變量有時處理起來比較方便,特別對于數(shù)值很大的整數(shù)間的計算,這種數(shù)據(jù)類型很有用。Turbo Pascal語言允許實型數(shù)使用下列運算符進(jìn)行運算。運算符:+、-、*、/分別表示加、減、乘和除。其中"/"叫實數(shù)除,即使兩個整型數(shù)相除,其結(jié)果也總是實型,如: 7/2=3.5 6/3=2.03、字符型用標(biāo)準(zhǔn)標(biāo)識符Char標(biāo)明字符型。字符型數(shù)據(jù)可以是字母、符號、數(shù)字(0-9)等ASCII碼的所有字符。Turbo Pascal支持?jǐn)U展ASCII碼,共包括256個字符。但非印刷字符是不能在標(biāo)準(zhǔn)顯示上顯示或打印輸出。在計算機(jī)內(nèi)部,字符集的元素是以該元素在字符集內(nèi)的順序位置來標(biāo)記的,位置取值范圍為0~255,我們稱這些整數(shù)為字符在字符集內(nèi)的序數(shù)值或序號。每個字符型數(shù)據(jù)在內(nèi)存中占一個字節(jié)。將字符用單引號括起來,即成字符常數(shù),如,’X’,’7’,’ ’。字符常數(shù)可按字符的序數(shù)值確定大小關(guān)系,也就是說它們的大小由它們所對應(yīng)的ASCII碼值決定,如:’Y’,’Z’,’A’<’a’。 由于采用ASCII碼,字符依ASCII碼序號排列。這樣,字符與ASCII碼序號有一一對應(yīng)的映射關(guān)系。
4、布爾型一個布爾型數(shù)據(jù)用來存放邏輯值,或稱布爾值。Turbo Pascal支持預(yù)定義布爾型,以標(biāo)準(zhǔn)標(biāo)識符Boolean表示。Boolean一詞,系根據(jù)19世紀(jì)英國數(shù)學(xué)家George boole (1815-1864)的名字而得,George boole為現(xiàn)代布爾代數(shù)之父。布爾型數(shù)據(jù)的值只有兩個:True(邏輯真)和False(邏輯假)。布爾型是順序類型,規(guī)定False<TRUE,F(xiàn)ALSE的序號為0,TRUE的序號為1。邏輯運算的結(jié)果只有兩個:True(真)和False(假)。Turbo Pascal提供了六種關(guān)系運算符和四種邏輯運算符:=(等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、<>(不等于)NOT(非)、AND(與)、OR(或)、XOR(異或)運算關(guān)系函 數(shù)標(biāo)準(zhǔn)函數(shù)。Turbo Pascal語言提供了自變量為整型量的標(biāo)準(zhǔn)函數(shù)有順序函數(shù)算術(shù)函數(shù)和轉(zhuǎn)換函數(shù)等。標(biāo)準(zhǔn)函數(shù)是Turbo Pascal語言預(yù)先定義的,它們實際上是能完成特定功能的稱步子程序的程序段。每個標(biāo)準(zhǔn)函數(shù)都用一個標(biāo)識符來標(biāo)識,每個標(biāo)準(zhǔn)函數(shù)都能完成一個特定的功能,在程序中可以直接調(diào)用它們。Turbo Pascal語言中某些標(biāo)準(zhǔn)函數(shù)與數(shù)學(xué)中的函數(shù)有相似之處。一、整數(shù)類型函數(shù)整型是順序類型,即所有的整型數(shù)都是按一定的順序排列的。如3的后序數(shù)是4,350的后序數(shù)是351。以后介紹的布爾型、字符型、枚舉類型和子界類型等都是順序類型。順序函數(shù)可以對順序類型數(shù)據(jù)進(jìn)行操作,但要注意它們自變量的取值范圍。
①前趨函數(shù):Pred(x)函數(shù)值為x-l,例如:Pred (6)=5 Pred (-21)=-22②后繼函數(shù):Succ (x)函數(shù)值為x+l,例如:Succ (l5)=16 Succ (-114)= -113 ③絕對值函數(shù):Abs (x)函數(shù)值為|X|,例如: Abs (-119)=119 Abs (101)=101④平方函數(shù):Sqr (x)函數(shù)值為X2,例如:Sqr (-5)=,25 Sqr (l0)= 100以上四個函數(shù)的結(jié)果仍是整型數(shù)。
⑤奇函數(shù):Odd (x),函數(shù)的結(jié)果為布爾型。當(dāng)X為奇數(shù)時,函數(shù)值為true;當(dāng)X為偶數(shù)時,函數(shù)值為false。例如:Odd (13)= True Odd (16)= False⑥字符函數(shù):Chr (X),函數(shù)值是序號的ASCII字符,屬字符型。例如:Chr (65)=’A’ Chr (32)=’ ’二、實數(shù)類型函數(shù)在下列算術(shù)函數(shù)中,X可以是實型或整型數(shù)的表達(dá)式。對于函數(shù)Abs和Sqr,其結(jié)果類型和變量X的類型相同,其他算術(shù)函數(shù)的結(jié)果類型都是實型。絕對值函數(shù)Abs(x):函數(shù)值為x的絕對值平方函數(shù)Sqr (x):函數(shù)值為x的平方小數(shù)函數(shù)Frac (x):函數(shù)值為x的小數(shù)部分整數(shù)函數(shù)Int (x):函數(shù)值為x的整數(shù)部分正弦函數(shù)Sin (x):函數(shù)值為x的正弦,其申,的單位為弧度余弦函數(shù)Cos (x):函數(shù)值為x的余弦,其中,的單位為弧度指數(shù)函數(shù)Exp (x):函數(shù)值為了ex對數(shù)函數(shù)Ln (X):函數(shù)值為x的自然對數(shù)平方根函數(shù)的Sqrt (x):函數(shù)值為x的平方根反正切函數(shù)Arctan(x):函數(shù)值為x的反正切,單位為弧度隨機(jī)函數(shù)Random:無自變量時,函數(shù)值取(0,1)間的隨機(jī)小數(shù);有自變量且為Word類型時,函數(shù)值取(0,自變量)間的隨機(jī)整數(shù)。
三、字符類型函數(shù)Turbo Pascal語言提供如下自變量為字符型的標(biāo)準(zhǔn)函數(shù),其中Chr為字符型。后繼函數(shù)Succ (ch):例如,Succ (’8’)=’9’ Succ (’E’)=’F’對字符集的最后一個字符,Succ函數(shù)無意義。前趨函數(shù)Pred (ch):例如,Pred (’7’)=’6’ Pred (’B’)=’ A’序數(shù)函數(shù)Ord (ch)::給出字符ch在ASCII字符集中的序號,結(jié)果為整型。注意:Ord (’7’)<>7,正確的是:Ord (’7’)=Ord(’0’)+7=48+7=55若ch是數(shù)字字符,則Ord (ch)-Ord ('0')是該數(shù)字字符的數(shù)值。例如:Ord (’7’)-Ord(’0’)=7前面介紹的字符函數(shù)Chr (i)是Ord (ch)的逆函數(shù)。例如:Chr (55)= ’7’ Chr (Ord(’A’))=’A’三、布爾類型函數(shù)Turbo Pascal語言提供布爾型函數(shù)主要是幾個字符型函數(shù)。Ord (B) 例如:Ord (false)=0 Ord (true)=1表達(dá)式運算是對數(shù)據(jù)進(jìn)行加工處理的過程,得到運算結(jié)果的數(shù)學(xué)公式或其它式子統(tǒng)稱為表達(dá)式。表達(dá)式可以是常量也可以是變量或算式,在表達(dá)式中又可分為:算術(shù)表達(dá)式、邏輯表達(dá)式和字符串表達(dá)式。
1、算術(shù)表達(dá)式:算術(shù)表達(dá)式是最常用的表達(dá)式,又稱為數(shù)值表達(dá)式。它是通過算術(shù)運算符來進(jìn)行運算的數(shù)學(xué)公式。我們先來看Visual Basic中的算術(shù)運算符:算術(shù)運算符運算符 表達(dá)式 說 明 舉 例* X*Y 求X乘Y的值 6*7=42/ X/Y 求X除Y的值(浮點數(shù)運算) 2.76/1.2=2.3div X div Y 求X除Y的整數(shù)商(對整型數(shù)計算) 25=5Mod X mod Y 求X除Y的余數(shù)(對整型數(shù)運算) 25 mod 4=1+ X+Y 加法運算 32+2=34- X-Y 減法運算 48-21=27由于Visual Basic只能識別按其格式書寫的數(shù)學(xué)表達(dá)式,所以必須將我們常用的數(shù)學(xué)表達(dá)式轉(zhuǎn)換成Visual Basic表達(dá)式。例如:數(shù)學(xué)式 Visual Basic表達(dá)式2、邏輯運算邏輯運算的結(jié)果只有兩個:True(真)和False(假)。Visual Basic提供了六種關(guān)系運算符和四種邏輯運算符:=(等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、<>(不等于)NOT(非)、AND(與)、OR(或)、XOR(異或)運算關(guān)系p q NOT p p AND q p OR qTrue True False True TrueTrue False False False TrueFalse True True False TrueFalse false True False False例如:5>3 結(jié)果為 True, “a”>”b” 結(jié)果為False。
3、表達(dá)式的運算優(yōu)先順序在進(jìn)行表達(dá)式的轉(zhuǎn)換過程中,必須了解各種運算的優(yōu)先順序,使轉(zhuǎn)換后的表達(dá)式能滿足數(shù)學(xué)公式的運算要求。運算優(yōu)先順序為:括號→函數(shù)→乘方→乘、除→加、減→字符連接運算符→關(guān)系運算符→邏輯運算符如果同級的運算是按從左到右次序進(jìn)行;多層括號由里向外。例:(10+6)*3^2*COS(1)/2*8+7① ④ ③ ⑤ ② ⑥ ⑦ ⑧Sqrt(Abs(p-1))+1 ④ ③ ① ② ⑤2.1 Pascal字符與符號1.標(biāo)識符(1) 標(biāo)識符的定義:標(biāo)識符就是以字母開頭的字母數(shù)字序列,有效長度為63個字符,并且大小寫等效??梢杂脕順?biāo)示常量、變量、程序、函數(shù)等。例如例1.1中的Area(程序名),pi(符號常量),s、r(變量名)都是標(biāo)識符。(2) 標(biāo)識符的分類: a.保留字(關(guān)鍵字)所謂保留字是指在Pascal語言中具有特定的含義,你必須了解它的含義,以便于正確的使用,否則會造成錯誤。標(biāo)準(zhǔn)Pascal語言中的保留字一共有35個,Turbo Pascal語言一共有51個。下面是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,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH等b.標(biāo)準(zhǔn)標(biāo)識符:指Pascal語言預(yù)先定義的標(biāo)識符,具有特殊含義。以下列舉了Turbo Pascal語言部分常用的標(biāo)準(zhǔn)表識符:標(biāo)準(zhǔn)常量 FalseMaxint True標(biāo)準(zhǔn)類型 Boolean CharReal Integer標(biāo)準(zhǔn)函數(shù) Abs Arctan Chr Cos EofEolnExp LnOdd Ord Pred Round Sin Sqr Sqrt SuccTrunc標(biāo)準(zhǔn)過程 Dispose Get New Pack PagePut Read ReadlnResetRewrite UnpackWrite Writeln標(biāo)準(zhǔn)文件 InputOutputc.用戶自定義標(biāo)識符:由你自己根據(jù)需要來定義。(1)選用的標(biāo)識符不能和保留字相同。(2)語法上允許預(yù)定義的標(biāo)準(zhǔn)標(biāo)識符作為你自己定義的標(biāo)識符使用,但最好還是不要用。以下列舉了你自己在定義標(biāo)識符時可以用的字符:A..Z,a..z,0..9和_(下劃線),其中首位必須是字母,字母不區(qū)分大小寫。