複製鏈接
請複製以下鏈接發送給好友

Turbo Pascal

鎖定
Turbo Pascal系列軟件作為開發系統軟件與就任軟件及實施科學計算和教學的有力工具,發揮着越來越大的作用。也是國際和全國青少年信息學奧林匹克競賽指定的語言之一。從歷屆信息學競賽的情況看,它是最能出成績和選手最歡迎的語言。以後的例子就以Turbo Pascal 7.0進行程序設計。
軟件名稱
Turbo Pascal
軟件平台
微機的Pascal編譯系統
開發商
美國Borland公司
軟件版本
7.0版本
創始人
Niklaus Wirth教授
主要特點
結構化形式,豐富完備的數據類型

Turbo Pascal軟件簡介

Pascal是一種計算機通用的高級程序設計語言。它由瑞士Niklaus Wirth教授於六十年代末設計並創立。
以法國數學家命名的Pascal語言現已成為使用最廣泛的基於DOS的語言之一,其主要特點有:嚴格的結構化形式;豐富完備的數據類型;運行程序時變量(存儲單元)自動初始化,省去了麻煩;運行效率高;查錯能力強。
正因為上述特點,Pascal語言可以被方便地用於描述各種算法與數據結構。尤其是對於程序設計的初學者,Pascal語言有益於培養良好的程序設計風格和習慣。IOI(國際奧林匹克信息學競賽)把Pascal語言作為三種程序設計語言之一, NOI(全國奧林匹克信息學競賽)把Pascal語言定為唯一提倡的程序設計語言,在大學中Pascal語言也常常被用作學習數據結構與算法的教學語言。 現在由於版權等問題,在NOIP中使用Free Pascal,而在NOI和IOI中使用Lazarus 0.9.10和Linux系統。
在Pascal問世以來的三十餘年間,先後產生了適合於不同機型的各種各樣版本。其中影響最大的莫過於Turbo Pascal系列軟件。它是由美國Borland公司設計、研製的一種適用於微機的Pascal編譯系統。該編譯系統由1983年推出1.0版本發展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。

Turbo Pascal語言入門

Pascal是由瑞士Niklaus Writh教授於60年代末設計並創立。它是一種計算機通用的高級程序設計語言,是一種優良的程序設計教學語言,整個語言緊湊整齊,概念簡潔,數據結構和控制結構比較豐富,程序可讀性好,查錯能力強,有利於培養學生嚴謹、清析的程序設計風格和良好習慣,並使他們從中領會和理解精細的程序設計技巧。尤其引入了結構化程序設計的思路,充分考慮了算法設計中的自頂向下、由粗到精的模塊化思想,以及總可以將算法步驟剖解為順序、分支、重複三種基本結構流程的結構化原則,提供了豐富的數據類型和清晰的描述模塊化的語句。
下面我們就以一個實例來看一看Pascal程序的結構,從中認識到Pascal語言程序的書寫方式,以及其規範的標準設計方式:
program lt1;{程序首部}
var {説明部分}
a,b:integer;
sum:integer;
begin {執行部分}
read(a,b);
sum:=a+b;
writeln('sum=',sum);
end.

Turbo Pascal發展

Turbo Pascal語言是編譯型程序語言,它提供了一個集成環境的工作系統,集編輯、編譯、運行、調試等多功能於一體
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標準委員會所創立和維護的,Unextended Pascal類似於瑞士Niklaus Wirth教授和K.Jensen於1974年聯名發表的Pascal用户手冊和報告,而Extended Pascal則是在其基礎上進行了擴展,加入了許多新的特性,它們都屬於正式的Pascal標準;Object-Oriented Extensions to Pascal是由Pascal標準委員會發表的一份技術報告,在Extended Pascal的基礎上增加了一些用以支持面向對象程序設計的特性,但它屬於非正式的標準。Borland Pascal和Delphi Object Pascal是由Borland公司專門為其開發的編譯工具設計的Pascal語言,前者是用於DOS的Turbo Pascal系列和Windows 3.x的Turbo Pascal for Windows的傳統高級語言,後者是用於Windows的Delphi和Linux的Kylix的面向對象程序設計語言,它們都不是正式的Pascal標準,具有專利性。但由於Turbo Pascal系列和Delphi功能強大並且廣為流行,Borland Pascal和Delphi Object Pascal已自成為一種標準,為許多人所熟悉

Turbo Pascal數據格式

例1:判斷這個數是奇數還是偶數。
它的Pascal程序如下:
program e5_1( input, output) ; {程序首部}
var {變量説明}
a:longint {在tp7中,規定pi約等於3.1415926536}
begin {程序開始}
readln(a); {打入數字}
if a mod 2 <>0{判斷是否為奇數}
then writeln(a"-jishu")
else writeln(a"-oushu");{輸出a-jishu或a-oushu}
end. {結束程序}
從以上簡單的例子可以看出,Turbo Pascal程序是由程序首部、程序説明部分和程序執行部分組成。具體如下所示:
program 程序名; {程序首部,可省略}
説明部分 {説明部分}
begin {程序開始}
語句1; {執行語句}
語句2; {執行語句}
…… {執行語句}
End. (End;){結束程序}
上面程序由如下兩部分組成:
1、程序首部
程序首部是程序的開頭部分,由保留字program後,接程序名及程序參數表組成,結束時一定要有分號。程序名yzhch是用户自己定義的標識符,參數表一般是文件變量名,用於該程序與外界的數據交流。最常用的參數為input和output。Turbo Pascal程序首部中參數表可以省略。
2、程序説明部分
Pascal語言要求用户將在程序中所使用的標號、常量、類型、變量、記錄、文件、以及過程和函數除了Pascal自己預先定義的標準量之外,都必須在説明部分説明後才能在程序執行部分使用。但各個內容部分是可選的,只有執行程序部分需要的時候才進行説明。
3、程序執行部分
緊接着説明部分的begin和end之間的部分為程序的執行部分。它由一系列語句組成,一條語句執行一定的功能,所有語句完成程序設計的任務。語句之間用“;”隔開,允許一行寫多個語句,也允許一個語句寫多行。最後一行的end後加“.”號表示結束。所跟其後的語句將無任何作用。Begin與end應配對出現,這是每一個Turbo Pascal程序都必須的。
注意:後面將學習到的語句中,也需要引用begin和end作為程序段的分隔標記,但其必須遵守語句規則。

Turbo Pascal字符集和符號

Turbo Pascal基本字符

(1)字母:A到Z,a到z和_(下劃線)
(2)數字:0、1、2、3、4、5、6、7、8、9
(3)特殊字符:+、-、*、/、=、^、<、>、(、)、[、]、{、}、.:;、'、#、$、@
關係運算符>、<、<>、=、>=、<=
子界分隔符..
括號:[]
註釋號:{}

Turbo Pascal符號

(一)保留字
保留字是由字母拼成的字,Turbo Pascal語言預先規定了他們的意義,不允許被再定義。因此,不能作為用户自定義的標示符,否則Turbo Pascal編譯器將提示出錯信息。Turbo Pascal共有保留字50多個,如下表所示。
保留字
含義
保留字
含義
And
邏輯“與”運算
Mod
求餘運算
Asm
彙編語句調用
Nil
空指針
Array
定義數組
Not
邏輯“非”運算
Begin
複合語句結構部分
Object
對象定義符
Case
情況語句結構部分
Or
邏輯“或”運算
Constructor
構造對象定義
Packed
緊縮數組定義
Destrutor
銷燬對象定義
Procedure
過程説明符
Div
整除運算
Program
程序首部定義
Do For
循環語句結構部分
Record
記錄定義
Downto For
循環語句結構部分
Repeat Repeat
循環語句結構部分
Else
條件語句結構部分
Set
集合定義
End
複合語句結構部分
Shl
二進制左移運算符
Exports
動態鏈接庫輸出項目定義
Shr
二進制右移運算符
File
文件定義
String
字符串定義
For For
循環語句結構部分
Then
條件語句結構部分
Function
函數定義
To For
循環語句結構部分
Goto
無條件轉移語句
Type
類型説明
If
條件語句結構部分
Unit
多個程序模塊説明
Implementation
單位實現部分起始標識符
Until Repeat
循環語句結構部分
In
屬於
Uses
單元説明
Inherited
對象繼承説明符
Var
變量定義
Inline
機器代碼插入指令
While While
循環語句結構部分
Interface
外掛單元文件接口説明
With
開域語句結構部分
Label
標號定義
Xor
邏輯“異或”運算
Library
動態鏈接庫DLL編譯指令
-
-

Turbo Pascal類型常量變量

Turbo Pascal數據類型概念

計算機處理數據對象是一個廣義的概念。例如,125、12.76是數據,’xiang qj zhong’這一串字符也是數據。前者是數值數據,後者是字符串數據,是非數值數據。顯然,為了表示這些數據,它們在內存中必須以不同方式存放。為處理這些數據,計算機對它們施加的運算也不同。為此,Turbo Pascal語言建立了數據類型的概念,對描述的數據進行分類。每一種數據類型定義了一個具有相同性質的數據集合。各種數據類型的數據具有不同的性質。程序中所用到的每一個數據,包括常量和變量都有一個和它相聯繫的類型。由此決定了數據所具有的值,也決定了對該數據所能進行的操作。
Turbo Pascal語言中數據具有豐富的類型,按它們的特點可以分為簡單類型、構造類型、指針類型和過程類型四大類,如圖下所示。
其中,標準類型用語言系統預先定義的標準標識符表示,整型用integer表示,實型用real表示,布爾型用boolean表示,字符型用char表示。

Turbo Pascal常量

常量是指在程序中使用的一些具體的整型數、實型數和字符串。
(1)整型數:如9、3、-5、0等。
(2)實型數:如3.1、-6.1E+20等。
(3)字符串:是用單引號括起來的一串字符,如,’book’、’96·5’、’ABC’等。
以上列舉的都可以作為常量在程序中使用。為了提高程序的可讀性並使程序便於修改,在程序中往往用一些標識符來代表具體的常量。
在Turbo Pascal語言中,可以給一些常量取個名字用一個標識符代表它,這就是常量定義。例如,Cost=60;Blank=’ ’。
常量定義的標識符又稱為常量標識符。
在Turbo Pascal語言中,常量定義要寫在常量定義部分中。
常量定義部分的一般形式:
Const
(常量標識符1)= (常量1);
(常量標識符2)=(常量2);
(常量標識符n)=(常量n);
Const是保留宇,表示開始一個常量定義部分,其後可以有若干個常量定義,這些
常量定義之間要用“;”號分隔。例如:
Const
Cost=60;
A=Cost+30;
Pi =3.14159;
Turbo Pascal語言對常量定義有如下要求:
(1)常量定義要放在程序的常量定義部分,即程序首部之後,執行部分之前。
(2)必須遵循先定義後使用的原則,即只有已經定義的常量標識符,才能在程序中
使用。

Turbo Pascal變量

在程序執行過程中其值可以改變的數據,稱為變量。每個變量都要有一個名稱,這就是變量名。變量名由用户自己定義,但必須符合標識符的規定。
在一個程序中,一個變量只能屬於一種確定的數據類型。因此,程序中出現的每個變量都必須説明其數據類型,這樣就規定了該變量的取值範圍,也決定了對該變量所能執行的運算操作。
變量的類型,可以是標準數據類型integer、real、boolean和char,也可以是用户自定義的各種類型。
變量説明形式是:一個變量標識符或由逗號隔開的多個變量標識符在它的冒號":"後面説明其數據類型。
在Turbo Pascal程序中,變量説明要寫在變量説明部分中。
變量説明部分的一般形式:
var
(變量説明1);
(變量説明2);
……(變量説明n);
其中var是保留字,表示一個變量説明部分開始。一個var可以含有多個不同的變量説明,每個變量説明之間用分號隔開,有時稱被分號隔開的變量説明為變量説明項。例如:
var
x,y:real;
chl:char;
t,f:boolean;
注意:不同類型的變量一般不能互相串用。
這裏還應指出,變量一經説明系統就在計算機內存中為其分配一個存貯空間。在程序中使用到變量時,就在相應的內存中存入數據或取出數據,這種操作稱為變量的訪問。

Turbo Pascal標準數據類型

Turbo Pascal類型簡介

Pascal向程序設計者提供了豐富的數據類型,它們用於專門的目的,但卻都是由簡單的、非構造型的數據類型所構成的。本節介紹Turbo Pascal中最為基本的幾種數據類型:整型、實型、布爾型和字符型。它們都是系統定義的簡單數據類型,稱為標準數據類型,其對應的名字稱為標準標識符。

Turbo Pascal整型

一個整型數據用來存放整數,整型數據可以是正整數、負整數和整數零。
Turbo Pascal中的整型常數必須按規定嚴格書寫。
Turbo Pascal支持六種預定義整型,它們是短整型(Shortint)、整型(Integer)、長整型 (Longint)、64位整形(int64)、字節型(Byte)和字類型(Word),每一種類型規定了相應的整數取值範圍以及所佔內存字節數(一個字節為8個二進制位)。因此,用户在具體編程定義變量類型時,要根據它們的特點選用適當的類型,以達到理想的效果。當兩個不同範圍類型的操作數進行運算時,得到的結果屬於較大範圍的類型。如下表所示。
Turbo Pascal語言規定可以對整型數據進行算術運算符+、一、*、Div、Mod。
它們分別表示加、減、乘、整除和取餘。這五種運算,要求參加運算的兩個數都是整型數,運算結果也是整型數。前三種運算與一般的算術運算加、減、乘相同。Div整除運算,是兩個整型數相除取整數部分(商的整數部分),得到整型結果。Mod取餘運算,是兩個整型數相除取餘數,餘數的符號與被除數符號相同。例如:
3 Div 2 = 1 5 Div 7 = 0
6 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,所得結果的符號與a相同,其值(絕對值)在0~∣b∣-1之間。運算符Mod與Div之間有如下關係:
a Mod b = a – (a Div b) * b (b<>0)
其中Mod運算的結果的符號與a的符號相同。
利用以上兩種運算可以對正整數進行分離。例如:
n為四位數8531,可用下法分離出它的個、十、百、千位。
8531 Mod l0 = 1 (個位數)
(8531 Mod l00) Div l0 = 3 (十位數)
(8531 Mod l000) Div l00 = 5 (百位數)
8531 Mod l000 = 8 (千位數)
利用 a Mod b可以判斷a能否被b整除。當a Mod b = 0時,a能被b整除。

Turbo Pascal實型

一個實型數據用來存放實數。實型數據可以是正實數、負實數和實數零。實型數據一般用小數或指數形式(亦稱科學表示法)表示。例如:
+1993,33,3.5E+5(=3.5×105), -0.5E-3(=-0.5×10-3,),-20.0,,0.0等都是合法實型數。
Turbo Pascal支持一種預定義實型,它們是基本實型(Real)、單精度實型(Single)、雙精度實型(Double)、擴展實型(Extended)和裝配實型(Comp)。每一種類型規定了相應的實數取值範圍和所佔內存字節數,以及它們所能達到的精度,即有效數字位數。因此,用户在具體編程時應根據以上的參數適當選用,以達到最佳效果。如下表所示。
對於此類實型數據,若其絕對值大於上界,則產生上溢;絕對值小於下界,則產生下溢,下溢導致結果為0。Comp類型的取值範圍是-263+1~238-1之間的整數,相當於十進制的-9.218~9.218。由於Comp類型的數據表示成二進制形式的數,這種類型的變量有時處理起來比較方便,特別對於數值很大的整數間的計算,這種數據類型很有用。
Turbo Pascal語言允許實型數使用下列運算符進行運算。
運算符:+、-、*、/
分別表示加、減、乘和除。其中"/"叫實數除,即使兩個整型數相除,其結果也總是實型,如: 7/2=3.5 6/3=2.0

Turbo Pascal字符型

用標準標識符Char標明字符型。字符型數據可以是字母、符號、數字(0-9)等ASCII碼的所有字符。Turbo Pascal支持擴展ASCII碼,共包括256個字符。但非印刷字符是不能在標準顯示上顯示或打印輸出。在計算機內部,字符集的元素是以該元素在字符集內的順序位置來標記的,位置取值範圍為0~255,我們稱這些整數為字符在字符集內的序數值或序號。每個字符型數據在內存中佔一個字節。將字符用單引號括起來,即成字符常數,如,’X’,’7’,’?’。字符常數可按字符的序數值確定大小關係,也就是説它們的大小由它們所對應的ASCII碼值決定,如:’Y’,’Z’,’A’<’a’。(此時readln只能讀一個字符,read能讀一句句子)
由於採用ASCII碼,字符依ASCII碼序號排列。這樣,字符與ASCII碼序號有一一對應的映射關係。

Turbo Pascal布爾型

一個布爾型數據用來存放邏輯值,或稱布爾值。Turbo Pascal支持預定義布爾型,以標準標識符Boolean表示。Boolean一詞,系根據19世紀英國數學家George boole (1815-1864)的名字而得,George boole為現代布爾代數之父。布爾型數據的值只有兩個:True(邏輯真)和False(邏輯假)。布爾型是順序類型,規定False<TRUE,FALSE的序號為0,TRUE的序號為1。
邏輯運算的結果只有兩個:True(真)和False(假)。Turbo Pascal提供了六種關係運算符和三種邏輯運算符
=(等於)、<(小於)、<=(小於等於)、>(大於)、>=(大於等於)、<>(不等於)
NOT(邏輯非)、AND(邏輯與)、OR(邏輯或
運算關係

Turbo Pascal函數

Turbo Pascal標準函數

Turbo Pascal語言提供了自變量為整型量的標準函數有順序函數算術函數和轉換函數等。
標準函數是Turbo Pascal語言預先定義的,它們實際上是能完成特定功能的稱步子程序的程序段。每個標準函數都用一個標識符來標識,每個標準函數都能完成一個特定的功能,在程序中可以直接調用它們。Turbo Pascal語言中某些標準函數與數學中的函數有相似之處。

Turbo Pascal整數類型函數

整型是順序類型,即所有的整型數都是按一定的順序排列的。如3的後序數是4,350的後序數是351。以後介紹的布爾型、字符型、枚舉類型和子界類型等都是順序類型。順序函數可以對順序類型數據進行操作,但要注意它們自變量的取值範圍。
①前趨函數:Pred(x)函數值為x-l,例如:
Pred (6)=5 Pred (-21)=-22
②後繼函數:Succ (x)函數值為x+l,例如:
Succ (l5)=16 Succ (-114)= -113
絕對值函數:Abs (x)函數值為︱X︱,例如:
Abs (-119)=119 Abs (101)=101
④平方函數:Sqr (x)函數值為X2,例如:
Sqr (-5)=,25 Sqr (l0)= 100
以上四個函數的結果仍是整型數。
⑤奇函數:Odd (x),函數的結果為布爾型。當X為奇數時,函數值為true;當X為偶數時,函數值為false。例如:
Odd (13)= True Odd (16)= False
字符函數:Chr (X),函數值是序號的ASCII字符,屬字符型。例如:
Chr (65)=’A’ Chr (32)=’ ’

Turbo Pascal實數類型函數

在下列算術函數中,X可以是實型或整型數的表達式。對於函數Abs和Sqr,其結果類型和變量X的類型相同,其他算術函數的結果類型都是實型。
絕對值函數Abs(x):函數值為x的絕對值
平方函數Sqr (x):函數值為x的平方
小數函數Frac (x):函數值為x的小數部分
整數函數Int (x):函數值為x的整數部分
正弦函數Sin (x):函數值為x的正弦,其中的單位為弧度
餘弦函數Cos (x):函數值為x的餘弦,其中的單位為弧度
指數函數Exp (x):函數值為e(x)
對數函數Ln (X):函數值為x的自然對數
平方根函數的Sqrt (x):函數值為x的平方根
反正切函數Arctan(x):函數值為x的反正切,單位為弧度
隨機函數Random:無自變量時,函數值取(0,1)間的隨機小數;有自變量且為Word類型時,函數值取(0,自變量)間的隨機整數。

Turbo Pascal字符類型函數

Turbo Pascal語言提供如下自變量為字符型的標準函數,其中Chr為字符型。
後繼函數Succ (ch):例如,Succ (’8’)=’9’ Succ (’E’)=’F’
字符集的最後一個字符,Succ函數無意義。
前趨函數Pred (ch):例如,Pred (’7’)=’6’ Pred (’B’)=’ A’
序數函數Ord (ch)::給出字符ch在ASCII字符集中的序號,結果為整型。
注意:Ord (’7’)<>7,正確的是:Ord (’7’)=Ord(’0’)+7=48+7=55
若ch是數字字符,則Ord (ch)-Ord ('0')是該數字字符的數值。例如:Ord (’7’)-Ord(’0’)=7
前面介紹的字符函數Chr (i)是Ord (ch)的逆函數。例如:
Chr (55)= ’7’ Chr (Ord(’A’))=’A’

Turbo Pascal布爾類型函數

Turbo Pascal語言提供布爾型函數主要是幾個字符型函數。
Ord (B) 例如:Ord (false)=0 Ord (true)=1

Turbo Pascal表達式

Turbo Pascal表達式簡介

運算是對數據進行加工處理的過程,得到運算結果的數學公式或其它式子統稱為表達式。表達式可以是常量也可以是變量或算式,在表達式中又可分為:算術表達式邏輯表達式和字符串表達式。

Turbo Pascal算術表達式

算術表達式是最常用的表達式,又稱為數值表達式。它是通過算術運算符來進行運算的數學公式。我們先來看Visual Basic中的算術運算符:
算術運算符
運算符 表達式 説 明 舉 例
* X*Y 求X乘Y的值 6*7=42
/ X/Y 求X除Y的值(浮點數運算) 2.76/1.2=2.3
div X div Y 求X除Y的整數商(對整型數計算) 25=5
Mod X mod Y 求X除Y的餘數(對整型數運算) 25 mod 4=1
+ X+Y 加法運算 32+2=34
- X-Y 減法運算 48-21=27
由於Visual Basic只能識別按其格式書寫的數學表達式,所以必須將我們常用的數學表達式轉換成Visual Basic表達式。例如:
數學式 Visual Basic表達式
注:Turbo Pascal中沒有乘方函數,但乘方運算可通過指數函數Exp (x)進行,如計算x^y,有
x^y=e^(y*lnx)=Exp(y*Ln(x))

Turbo Pascal邏輯運算

邏輯運算的結果只有兩個:True(真)和False(假)。Visual Basic提供了六種關係運算符和三種邏輯運算符
=(等於)、<(小於)、<=(小於等於)、>(大於)、>=(大於等於)、<>(不等於)
NOT(非)、AND(與)、OR(或)
運算關係
p  q  NOT p  p AND q p OR q
True  True  False  True True
True  False  False  False True
False  True True False True
False  False  True False False
例如:5>3 結果為 True, “a”>”b” 結果為False。

Turbo Pascal優先順序

在進行表達式的轉換過程中,必須瞭解各種運算的優先順序,使轉換後的表達式能滿足數學公式的運算要求。運算優先順序為:
括號→函數→乘、除→加、減→字符連接運算符→關係運算符邏輯運算符
如果同級的運算是按從左到右次序進行;多層括號由裏向外。
例:
(10+6)*3^2*COS(1)/2*8+7
① ④ ③ ⑤ ② ⑥ ⑦ ⑧
Sqrt(Abs(p/n-1))+1
④ ③ ① ② ⑤

Turbo Pascal主要語句

賦值語句:<變量>:=<表達式>;
輸入語句;Read([<文件>,]<變量1>,[<變量2>,[…]]);或ReadLn([<文件>,][<變量1>,[<變量2>,[…]]]);
輸出語句:格式同上,Write Writeln
判斷語句;if <Boolean表達式> then <語句塊1> else <語句塊2>

Turbo Pascal常見錯誤

1 無效DOS功能號
2 文件末找到
3 路徑未找到
4 打開文件過多
5 禁止文件存取
6 無效文件句柄
12 無效文件存取代碼
15 無效驅動器號
16 不能刪除當前目錄
17 不能跨驅動器改文件名
100 Disk read error 磁盤讀錯誤
101 Disk write error 磁盤寫錯誤
102 文件變量末賦值
103 File not open 文件未打開
104 File not open for input 文件未用輸入方式打開
105 File not open for output 文件末用輸出方式打開
106 Invalid numeric format 無效數字格式
151 未知單元
152 驅動器未準備好
153 未知命令
154 數據CRC校驗
155 驅動器請求的結構長度錯
156 磁盤定位錯
157 未知媒介類型
158 扇區末找到
159 打印機缺紙
160 設備寫失敗
161 設備讀失敗
162 硬件故障
200 Division by zero 被零除
201 Range check error 數據範圍檢查錯
202 Stack overflow error 堆棧溢出錯
203 Heap overflow error 堆溢出錯
204 Invalid pointer operation 無效指針操作
205 Floating point overflow 浮點上溢出
206 Floating point underflow 浮點下溢出
207 Invalid floating point operation 無效浮點運算
208 未安裝覆蓋管理程序
209 覆蓋文件讀錯
210 Object not initialized 對象未初始化
211 Call to abstract method 調用抽象方法
212 Stream registration error 流登計錯
213 Collection index out of range 集合下標越界
214 Collection overflow error集合溢出
215 Arithmetic overflow error 算術上溢錯誤
216 General protection fault 存取非法
217 控制-C
218 授權指令
219 無效的TYPECAST
220 無效的變體TYPECAST
221 無效的變體操作
222 沒有變體方法調用DISPATCHER
223 不能建立變體數組
224 變體不包含數組
225 變體數組邊界錯誤
226 TLS初始化錯誤
這些是編譯錯誤:
3標識符未定義
4標識符重定義
5語法錯誤
6實型常量錯
7整型常量錯
9文件嵌套過多
10非正常文件結束
11行過長
12缺類型標識符
13打開文件過多
14無效文件名
15文件未找到
16磁盤滿
17無效編譯指示
18文件過多
19指針定義中未定義類型
20缺變量標識符
21類型錯誤
22結構過長
24文件分量不能為文件
25無效字符串長度
27無效子界基類型
28下界大於上界
29缺有序類型
30缺整型常數
31缺常數
32缺整型或實型常數
33缺指針類型標識符
34無效的函數結果類型
35缺標號標識符
36缺BEGIN
37缺END
38缺整型表達式
39缺有序表達式
41操作數類型與操作符不匹配
43非法賦值
44缺字段標識符
45目標文件過長
46未定義外部標識符
47無效*.OBJ文件記錄
48代碼段過長
49數據段過長
50缺DO
51無效PUBLIC定義
52無效EXTRN定義
53EXTRN定義過多
54缺0F
55缺INTERFACE
56無效重定位引用
57缺THEN
58缺T0或DOWNTO
59未定義的向前引用
60過程過多
61無效類型轉換
62被零除D
63無效文件類型
64不能讀寫該類型的變量
66缺字符串變量
67缺字符串表達式
68單元循環引用
69單元名不匹配
70單元版本不匹配
71單元重名
72單元文件格式錯誤
73缺IMPLEMENTATl0N
74常數與CASE類型不相匹配
75缺記錄變量
76常數越界
77缺文件變量
79缺整型或實型表達式
80標號不在當前塊中
81標號已定義
82標號未定義
83無效參數
84缺UNIT
85缺“;”
86缺“:”
87缺“,”
88缺“(”
89缺“)”
90缺“=”
91缺“:=”
92缺“[”或“(.”
93缺“]”或“.)”
94缺“.”
96變量過多
97無效FOR控制變量
99此處不允許用文件和
100字符串長度不匹配
101無效字順序
102缺字符串常數
103缺整型或實型變量
104缺有序變量
105INLINE錯
106缺字符表達式
107重定位項過多
112CASE常量越界
113語句錯
114不能調用中斷過程
116必須在8087方式下編譯
117末找到目標地址
118此處不允許包含文件
120缺NIL
121無效限定符
122無效變量引用
123符號過多
124語句部分過長
126文件必須為變量參數
127條件符號過多
128條件指令錯位
130初始條件定義錯
13l過程和函數頭與前面定義的不匹酉
132嚴重磁盤錯誤
133不能計算該表達式
134表達式錯誤結束
l35無效格式説明符
136無效間接引用
137此處不允許結構變量
138無SYSTEM單元不能計算
l39不能存取該符號
140無效浮點運算
141不能將覆蓋編譯至內存
142缺過程和函數變量
143無效過程或函數引用
144不能覆蓋該單元
147缺對象類型
148不允許局部對象類型
149缺VIRTUAL
150缺方法標識符
151不允許虛擬構造方法
152缺構造方法標識符
153缺釋放方法標識符
154FAIL只允許在構造方法內使用
155無效的操作符和操作數組合
156缺內存引用
l57不能加減可重定位符號
158無效寄存器組合
159未激活286/287指令
160無效符號引用
162缺ASM

Turbo Pascal單元庫

單元名稱
主要功能
system
Turbo Pascal的運行庫,包括常用的標準函數和過程,可以在程序中直接使用,不需要uses語句説明。
dos
具有日期、時間、目錄查找、程序執行等功能。
crt
具有屏幕模式控制、拓展鍵盤碼、顏色、窗口、聲音等功能。
printer
支持打印輸出操作。
graph
高級圖形軟件包,支持多種圖形適配器。
graph3
實現Turbo Pascal 3.0 的圖形軟件包。
turbo3
兼容Turbo Pascal 3.0 的源程序。
overlay
實現高級覆蓋管理。

Turbo Pascal標準函數

自變量類型→
函數值類型↓
integer
整數
real
實數
char
字符
boolean
布爾
integer
整數
abs
sqr
pred
succ
trunc
round
ord
ord
real
實數
sin
cos
arctan
ln
exp
sqrt
sin cos
arctan
ln
exp
sqrt
abs
-
-
char 字符
char
-
pred
succ
-
boolean 布爾
odd
-
-
-

Turbo PascalASCII碼

常用字符ASCII碼
字符
ASCII
字符
ASCII
(nul)
0
:
58
(enter)
10
;
59
(spacebar)
32
<
60
!
33
=
61
"
34
>
62
#
35
?
63
$
36
@
64
%
37
A~Z
65~90
&
38
[
91
'
39
\
92
(
40
]
93
)
41
^
94
*
42
_
95
+
43
a~z
96~122
,
44
{
123
-(減號)
45
|
124
.
46
}
125
/
47
~
126
0~9
48~57
-
-

Turbo Pascal循環結構

Turbo Pascal計數循環

Turbo Pascal循環結構
for/to/do語句
格式有兩種:
格式一:for 控制變量 := 初值 to 終值 do
循環體語句;
格式二:for 控制變量 := 初值 downto 終值 do
循環體語句;
執行的過程是:
1.先將初值賦值給控制變量
2.比較控制變量和終值,如果超過(to為大於,downto為小於,需要注意)則不執行循環體語句,直接結束循環,否則執行循環體語句。
3.將控制變量的後繼值(對於downto是前驅值)賦值給控制變量,並重復第2步驟。

Turbo Pascal當型循環

while/do語句
格式為:while 布爾表達式 do 語句;
執行的過程是:
先求布爾表達式的值,當其值為真時,重複執行指定語句,當其值為假時,終值循環。

Turbo Pascal直到型循環

repeat/until語句
格式為:
repeat
語句1;
語句2;
……
語句n;
until 是布爾表達式
執行的過程是:
先執行指定的語句序列,然後判別條件,當條件不成立時,繼續執行指定語句序列,直到條件成立才終止循環。