一、簡介
1.不允許全局變量,全局區(qū)域只有函數(shù)定義
2.只能在函數(shù)的var里進(jìn)行變量聲明,不能初始化,不需變量聲明時var可以省略
3.只支持整型integer、浮點型real、布爾型boolean
4.對大小寫不敏感
5.有且只有一個main函數(shù),從調(diào)用main函數(shù)開始執(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ù)字構(gòu)成
3.字面量:整型字面量(如【12】【1】等)、浮點型字面量(如【1.0】【0.23】等)、布爾型字面量(包括【false】【true】)
4.操作符:( ) + - * / div mod < <= = != >= > := not and or xor
5.注釋:/*注釋內(nèi)容*/,不可嵌套
三、語法
1.函數(shù)定義
(1)函數(shù)分兩種類型,function有返回值,procedure無返回值
(2)無參數(shù)時參數(shù)表可以為空,但括號()不可以省略,參數(shù)與類型之間用冒號隔開,參數(shù)之間用分號隔開
(3)變量聲明只出現(xiàn)在var中,無變量聲明時var可省略,變量與類型之間用冒號隔開,變量聲明語句之間用分號隔開,最后一個變量聲明語句分號可加可省略
(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.語句
(1)不允許空語句,語句直接用分號隔開,最后一個語句分號可加可省略
(2)語句塊:a.由begin和end包圍,可包圍0個或以上語句;b.可以嵌套;c.在其所在層次上被視為一個語句
(3)表達(dá)式語句:單獨的表達(dá)式可以構(gòu)成一個語句,如【1】【test()】
(4)賦值語句:IdentityName:=Value 如【i:=1】(賦值操作是語句而非表達(dá)式)
(5)if語句:if (boolean表達(dá)式) then StatementTrue else StatementFalse(else可省略)如【if (true) then return 1】
(6)while語句:while (boolean表達(dá)式) do Statement 如【while (true) dosomething()】
(7)dowhile語句:do Statements while (boolean表達(dá)式) 如【do dosomething() while (true)】
(8)跳轉(zhuǎn)語句:break退出循環(huán);continue進(jìn)入下一次循環(huán)
(9)return語句:【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)先級(由高到低):括號可以改變優(yōu)先級
正號+ 負(fù)號- not => * / div mod => 加號+ 減號- => 比較 => 邏輯
四、示例代碼
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簡化版.rar
posted on 2009-04-09 22:38
Lyt 閱讀(2033)
評論(5) 編輯 收藏 引用 所屬分類:
Pascal簡化版