一、簡(jiǎn)介
1.不允許全局變量,全局區(qū)域只有函數(shù)定義
2.只能在函數(shù)的var里進(jìn)行變量聲明,不能初始化,不需變量聲明時(shí)var可以省略
3.只支持整型integer、浮點(diǎn)型real、布爾型boolean
4.對(duì)大小寫(xiě)不敏感
5.有且只有一個(gè)main函數(shù),從調(diào)用main函數(shù)開(kāi)始執(zhí)行程序
二、詞法
1.關(guān)鍵字:function procedure integer var begin end if then else while do break continue integer real boolean false true
2.標(biāo)識(shí)符:字母或下劃線開(kāi)頭,由字母、下劃線、數(shù)字構(gòu)成
3.字面量:整型字面量(如【12】【1】等)、浮點(diǎn)型字面量(如【1.0】【0.23】等)、布爾型字面量(包括【false】【true】)
4.操作符:( ) + - * / div mod < <= = != >= > := not and or xor
5.注釋?zhuān)?*注釋內(nèi)容*/,不可嵌套
三、語(yǔ)法
1.函數(shù)定義
(1)函數(shù)分兩種類(lèi)型,function有返回值,procedure無(wú)返回值
(2)無(wú)參數(shù)時(shí)參數(shù)表可以為空,但括號(hào)()不可以省略,參數(shù)與類(lèi)型之間用冒號(hào)隔開(kāi),參數(shù)之間用分號(hào)隔開(kāi)
(3)變量聲明只出現(xiàn)在var中,無(wú)變量聲明時(shí)var可省略,變量與類(lèi)型之間用冒號(hào)隔開(kāi),變量聲明語(yǔ)句之間用分號(hào)隔開(kāi),最后一個(gè)變量聲明語(yǔ)句分號(hào)可加可省略
(4)函數(shù)定義不能嵌套,只能在全局區(qū)域
(5)函數(shù)不必先聲明后使用
function Fun1(Param1:integer;Param2:integer):boolean
var i,j:integer; k:real;
begin
/*函數(shù)體*/
end
procedure Fun2()
begin
/*函數(shù)體*/
end
2.語(yǔ)句
(1)不允許空語(yǔ)句,語(yǔ)句直接用分號(hào)隔開(kāi),最后一個(gè)語(yǔ)句分號(hào)可加可省略
(2)語(yǔ)句塊:a.由begin和end包圍,可包圍0個(gè)或以上語(yǔ)句;b.可以嵌套;c.在其所在層次上被視為一個(gè)語(yǔ)句
(3)表達(dá)式語(yǔ)句:?jiǎn)为?dú)的表達(dá)式可以構(gòu)成一個(gè)語(yǔ)句,如【1】【test()】
(4)賦值語(yǔ)句:IdentityName:=Value 如【i:=1】(賦值操作是語(yǔ)句而非表達(dá)式)
(5)if語(yǔ)句:if (boolean表達(dá)式) then StatementTrue else StatementFalse(else可省略)如【if (true) then return 1】
(6)while語(yǔ)句:while (boolean表達(dá)式) do Statement 如【while (true) dosomething()】
(7)dowhile語(yǔ)句:do Statements while (boolean表達(dá)式) 如【do dosomething() while (true)】
(8)跳轉(zhuǎn)語(yǔ)句:break退出循環(huán);continue進(jìn)入下一次循環(huán)
(9)return語(yǔ)句:【return】出現(xiàn)在procedure函數(shù)中,【return 表達(dá)式】出現(xiàn)在function函數(shù)中
3.表達(dá)式
(1)函數(shù)調(diào)用:FunctionName(arg1,arg2)
(2)操作符:a.算術(shù):+ - * / div mod;b.邏輯:not and or xor;c.比較:< <= = != >= >
(3)操作符優(yōu)先級(jí)(由高到低):括號(hào)可以改變優(yōu)先級(jí)
正號(hào)+ 負(fù)號(hào)- not => * / div mod => 加號(hào)+ 減號(hào)- => 比較 => 邏輯
四、示例代碼
1.斐波納契數(shù)列
function fab(i:integer):integer
begin
if (i=1) then return 1
else if (i=2) then return 1
else return fab(i-1)+fab(i-2);
end

function main():integer
begin
return fab(4);
end


2.求π
function GetPI():real
var sum,n,sign:real;
pd:boolean;
begin
sum:=1.0;
n:=1.0;
sign:=1.0;
while (1.0/n>0.0001) do
begin
sign:=-sign;
n:=n+2.0;
sum:=sum+sign*1.0/n;
end;
return 4.0*sum;
end
function main():real
begin
return GetPI();
end

源代碼:http://www.shnenglu.com/Files/Lyt/Pascal簡(jiǎn)化版.rar
posted on 2009-04-09 22:38
Lyt 閱讀(2031)
評(píng)論(5) 編輯 收藏 引用 所屬分類(lèi):
Pascal簡(jiǎn)化版