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