• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Lyt
            posts - 16,comments - 61,trackbacks - 0

            一、簡(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.0001do
              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)化版

            FeedBack:
            # re: Pascal簡(jiǎn)化版
            2009-04-09 23:44 | 尹東斐
            不錯(cuò),如果結(jié)構(gòu)設(shè)計(jì)的好的話,擴(kuò)展可支持的類(lèi)型,添加新的功能是很容易的。
            如果你有scope的概念的話,增加函數(shù)功能也很容易。

            加油。  回復(fù)  更多評(píng)論
              
            # re: Pascal簡(jiǎn)化版[未登錄](méi)
            2009-04-10 14:30 | 那誰(shuí)
            # re: Pascal簡(jiǎn)化版
            2009-04-10 15:38 | 巫云
            請(qǐng)問(wèn),這是個(gè)編譯器嗎?還是解釋器?  回復(fù)  更多評(píng)論
              
            # re: Pascal簡(jiǎn)化版
            2009-04-10 16:28 | 陳梓瀚(vczh)
            @巫云
            一個(gè)編譯到虛擬機(jī)的指令上的編譯器。  回復(fù)  更多評(píng)論
              
            # re: Pascal簡(jiǎn)化版[未登錄](méi)
            2009-04-11 16:41 | jans2002
            高手啊,像我們這種半路出來(lái)的程序員感覺(jué)這些東西都很玄。  回復(fù)  更多評(píng)論
              
            2021最新久久久视精品爱| 99久久精品国产综合一区| 伊人色综合久久天天人守人婷 | 伊人久久综合无码成人网| 99久久无色码中文字幕人妻| 99久久国语露脸精品国产| 国产精品日韩欧美久久综合| 99蜜桃臀久久久欧美精品网站| 999久久久免费精品国产| 性做久久久久久久久| 无码精品久久久天天影视 | 伊人久久国产免费观看视频| 久久久亚洲欧洲日产国码二区| 国产精品99久久久久久董美香| 久久久亚洲欧洲日产国码是AV| 伊人久久大香线焦综合四虎| 亚洲精品国精品久久99热一 | 伊人久久综合成人网| 国内精品久久久久久不卡影院| 午夜久久久久久禁播电影| 久久久无码精品午夜| 久久亚洲国产精品一区二区| 男女久久久国产一区二区三区| 少妇被又大又粗又爽毛片久久黑人| 国产精品久久国产精麻豆99网站| 一本色道久久综合亚洲精品| 中文精品99久久国产| 久久青青国产| 无码任你躁久久久久久老妇| 久久久这里有精品中文字幕| 久久久久国产一级毛片高清板| 国产精品九九久久精品女同亚洲欧美日韩综合区| 久久久久久久综合综合狠狠| 久久婷婷五月综合97色| 久久精品综合网| 精品国产日韩久久亚洲| 香蕉久久久久久狠狠色| 久久99这里只有精品国产| 久久综合九色综合网站| 午夜人妻久久久久久久久| 国产精品国色综合久久|