㈠ 請問pascal編譯程序的功能是什麼
這叫什麼問氏散題?
編程的功能就是解決問殲緩氏題,
Pascal作為一種叫為基礎的電腦語言,可以為以後打哪碰基礎,編寫程序。
㈡ 什麼是pascal語言
Pascal是一種計算機通用毀尺的高級程序設計語言。它由瑞士Niklaus Wirth教授於六十年代末設計並創立。Pascal也可以是指人名,它的取名原本就是為了紀念十七世紀法國激余悶著名哲學家和數學家Blaise Pascal,而不是編程工具。以法國數學家命名的pascal語言現已成為使用最廣泛的基於DOS的語言之一,其主要特點有:嚴格的結構化形式;豐富完備的數據類型;運行效率高;查錯能力強。
Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。
Pascal具有簡潔的語法,結構化的程序結構。它是結構化編程語言,於70年代在ALGO今,在許多學校的計算機語言課上,的都是Pascal語言。
Pascal是最早出現的結構化編程語言,具有豐富的數據類型和簡潔靈活的操作語句,適於描述數值和非數值的問題。
正因為上述特點,Pascal語言可以被方便地用於描述各種演算法與數明彎據結構。尤其是對於程序設計的初學者,Pascal語言有益於培養良好的程序設計風格和習慣。IOI(國際奧林匹克信息學競賽)把Pascal語言作為三種程序設計語言之一, NOI(全國奧林匹克信息學競賽)把Pascal語言定為唯一提倡的程序設計語言,在大學中Pascal語言也常常被用作學習數據結構與演算法的教學語言。
㈢ 用Pascal 語言編譯~~~急需!!
根據毀亮殲題意,應該就是求字元串第n到m為的字元並輸出,程序如下:
var
s:ansistring;//ansistring是string的升級版,為無限字元串,大小可以達到pascal內存上限4G,由於題目並沒有強調n的大小,所以用ansistring保險
n,m:longint;
begin
readln(n);//讀纖沖入n,read是讀入,readln是讀入後換行
readln(s);
readln(m);//同上
writeln((s,m,n-m+1));//函數,返回一個字元串,(s,a,b)表示在字元串s中截取從第a個字元開始一共連續b個字元的字元串。新手可以看下面的另一個程序。
end.
輸出應該是這樣。如果沒有看懂還有另一種:
var
s:ansistring;
n,m,i:longint;
begin
readln(n);
readln(s);
readln(m);//同上
for i:=m to n do write(s[i]);//表示i從m到n輸出第m,m+1,...,n-1,n的字元鍵激
writeln;//輸出換行字元
end.
不知道題意有沒有理解對,歡迎追問。
㈣ Pascal編譯開關。語法及作用。
網上查找保存的資料。供參考:
1)數據對齊(AlignData)
{$A+}或{$A-}
在{$A+}狀態下,將非字元按偶地址對齊存放,可以提高8086和80286存取數據的速度。不影響位元組變數、記錄域結構和數組元素。在{$A-}狀態下,將使用位元組對齊方式,數據可存放在奇地址或偶地址。
2)布爾運算(BooleanEvaluation)
{$B+}或{$B-}
在{$B+}狀態下,編譯器產生完全布爾表達式運算代碼。布爾表達式中的每個操作都確保被計算。既是整個表達式的結果以確定,還繼續運算其餘的表達式。
在{$B-}狀態下,編譯器產生短路布爾表達式運算代碼。接著從左到右運算,當整個表達式結果確定後,就停止運算。
3)調試信息(DebugInformation)
{$D+}或{$D-}
{$D+}產生調試信息,它在編譯程序或單元產生運行錯誤時,能自動定位引起錯誤的語句。
4)浮點模擬(Emulation)
{$E+}或{$E-}
{$E+}只是在8087協處理器不存在時,將連接運行庫以便對協處理器進行模擬。
{$N+,$E+}狀態編譯程序,系統將同8087模擬器連接,得到exe文件,不管有無8087,都可以在機器上進行IEEE標准754的二進制浮點運算。
{$N+,$E-}狀態下,只能在有8087時,才能進行IEEE標准754的二進制浮點運算。
8087模擬開關如果用在一個單元是無效的,它只能用於程序的編譯。
5)輸入輸出檢查(Input/OutputChecking)
{$I+}或{$I-}
$I指示控制是否自動產生對調用過程的結果進行檢查。
6)數字處理(NumbericProcessing)
{$N+}或{$N-}
{$N-}狀態,在機器上只能進行實數類型運算。在{$N+}狀態,在有8087協處理器或沒有用{$E+}指示對8087進行模擬,都可以對IEEE浮點類型進行運算。
7)范圍檢查(RangeChecking)
{$R+}或{$R-}
$R+進行邊界和范圍檢查
8)棧溢出檢查(StackOverflowChecking)
{$S+}或{$S-}
在{$S+}狀態下編譯,程序在每個過程或函數的開始生成一段代碼,用於檢查是否有足夠的棧空間供局部變數使用。若棧空間不夠,程序停止運行,並顯示運行錯誤。
在{$S+}狀態下這樣調用會導致系統崩潰。
9)變數串檢查(VarStringChecking)
{$V+}或{$V-}
在{$V+}狀態下,實行嚴格的類型檢查,要求形參、實參具有同一字元串類型。
在{$V+}狀態下,允許任意類型的字元串變數作為實參,甚至是一實參的最大長度不同於形參長度。
//以上內容照抄自網路,下面是原創的
10)復制文件中的內容(IncludeFile)
{$I}
格式:{$Iabc.inc}
作用就相當於abc.inc中所有的東西抄到這個位置。
12)隱藏控制台(GUIapplication)
{$APPTYPEGUI}
就是這樣,在程序的開頭加上,可以隱藏控制台。
13)擴大棧容量
{$M100000000,0,MaxLongint}
在使用上面的指令後,可以使用AnsiString類型。
{$M$4000,0,0}
在使用上面的命令後,再使用DOS單元。否則可能出現錯誤。
14)定義符號(Defineasymbol)
格式:{$define標示符}
對下面這些指令有用:
15)如果定義XXX,那麼……(ifdefineXXX...)
格式:{$ifdef符號標示符}
語句;
{$endif}
如果用$define定義了,那麼就會執行下面到$endif的語句。
16)ifdef的另一種用法(else...)
格式:{$ifdef符號標示符}
語句1;
{$else}
語句2;
{$endif}
若果定義了XXX就執行語句1,否則執行語句2。
17)取消定義
格式:{$undef標示符}
取消定義某個標示符,和$define搭配使用。
//以上是我自己研究或者總結的,下面是幫助文件原文:
Localcompilerswitches
cmdshortlongexplanation
$A$ALIGNAlignData.
A$ASMMODESelectassemblermode.
$B$.
Sa$C$.
$
d$DEFINEDefineasymbol.
$.
$.
$ERRORGenerateerrormessage.
$FUsefarornearfunctions.
$.
Sg$GOTOSupportGotoandLabel.
$H$LONGSTRINGSUseAnsiStrings.
$HINTGeneratehintmessage.
vh$HINTSEmithints
$IFStartconditionalcompilation.
$.
$.
$.
$INFOGenerateinfomessage.
Si$INLINEEnableinlinecodesupport.
Ci$I$IOCHECKSIncludeInput/Outputchecking.
$I$INCLUDEIncludele.
$I$INCLUDEIncludecompilerinfo.
$L$LINKLinkobjectle.
$LINKLIBLinktoalibrary.
$M$TYPEINFOGenerateRun-Timetypeinformation.
Sm$MACROEnablemacrosupport.
$
$MESSAGEGenerateinfomessage.
$MMXEnableIntelMMXsupport.
$NOTEGeneratenotemessage.
vn$NOTESEmitnotes.
A$.
$P$OPENSTRINGSUseopenstrings.
$.
$.
Co$Q$OVERFLOWCHECKSUseover
owchecking.
Cr$R$RANGECHECKSUserangechecking.
$.
XX$SMARTLINKUsesmartlinking.
St$.
$STOPGeneratefatalerrormessage.
$T$.
u$UNDEFUndeneasymbol.
$V$VARSTRINGCHECKSUsestrictvar-stringchecking.
$WAITWaitforenterkeypress.
$WARNINGGeneratewarningmessage.
$WARNINGSEmitwarnings.
$X$
$APPIDSetapplicationID(PalmOS)
$APPNAMESetapplicationname(PalmOS)
$(Windowsonly)
g$D$.
$DESCRIPTIONNotsupported.
$EEnableemulationofcoprocessor.
$GGenerate80286code.
Fi$.
$L$.
Fl$.
$M$MEMORYSpecifymemorysizes.
M$.
$NEnablenumericprocessing.
$OEnableoverlaycodegeneration.
Fo$.
Ct$SUsestackchecking
Fu$.
$VERSIONSetDLLversion(Windows)
$W$.
b$Y$.
㈤ PASCAL是什麼語言啊
Pascal是一種計算機通用手宏畝的高級程序設計語言。它由瑞士Niklaus Wirth教授於六十年代末設計並創立畢森。絕橘
㈥ 請問pascal編譯程序的功能是什麼
編輯詞條編譯程序
編譯程序
compiler
把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
功能 編譯程序的基本功能是把源程序翻譯成目標程序。但是,作為一個具有實際應用價值的編譯系統,除了基本功能之外,還應具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人-機聯系等重要功能。①語法檢查:檢查源程序是否合乎語法。如果不符合語法,編譯程序要指出語法錯誤的部位、性質和有關信息。編譯程序應使用戶一次上機,能夠盡可能多地查出錯誤。②調試措施:檢查源程序是否合乎設計者的意圖。為此,要求編譯程序在編譯出的目標程序中安置一些輸出指令,以便在目標程序運行時能輸出程序動態執行情況的信息,如變數值的更改、程序執行時所經歷的線路等。這些信息有助於用戶核實和驗證源程序是否表達了演算法要求。③修改手段:為用戶提供簡便的修改源程序的手段。編譯程序通常要提供批量修改手段(用於修改數量較大或臨時不易修改的錯誤)和現場修改手段(用於運行時修改數量較少、臨時易改的錯誤)。④覆蓋處理:主要是為處理程序長、數據量大的大型問題程序而設置的。基本思想是讓一些程序段和數據公用某些存儲區,其中只存放當前要用的程序或數據;其餘暫時不用的程序和數據,先存放在磁碟等輔助存儲器中,待需要時動態地調入。⑤目標程序優化:提高目標程序的質量,即佔用的存儲空間少,程序的運行時間短。依據優化目標的不同,編譯程序可選擇實現表達式優化、循環優化或程序全局優化。目標程序優化有的在源程序級上進行,有的在目標程序級上進行。⑥不同語言合用:其功能有助於用戶利用多種程序設計語言編寫應用程序或套用已有的不同語言書寫的程序模塊。最為常見的是高級語言和匯編語言的合用。這不但可以彌補高級語言難於表達某些非數值加工操作或直接控制、訪問外圍設備和硬體寄存器之不足,而且還有利於用匯編語言編寫核心部分程序,以提高運行效率。⑦人-機聯系:確定編譯程序實現方案時達到精心設計的功能。目的是便於用戶在編譯和運行階段及時了解內部工作情況,有效地監督、控制系統的運行。
早期編譯程序的實現方案,是把上述各項功能完全收納在編譯程序之中。然而,習慣做法是在操作系統的支持下,配置調試程序、編輯程序和連接裝配程序,用以協助實現程序的調試、修改、覆蓋處理,以及不同語言合用功能。但在設計編譯程序時,仍須精心考慮如何與這些子系統銜接等問題。
工作過程 編譯程序必須分析源程序,然後綜合成目標程序。首先,檢查源程序的正確性,並把它分解成若干基本成分;其次,再根據這些基本成分建立相應等價的目標程序部分。為了完成這些工作,編譯程序要在分析階段建立一些表格,改造源程序為中間語言形式,以便在分析和綜合時易於引用和加工(圖1)。
數據結構 分析和綜合時所用的主要數據結構,包括符號表、常數表和中間語言程序。符號表由源程序中所用的標識符連同它們的屬性組成,其中屬性包括種類(如變數、數組、結構、函數、過程等)、類型(如整型、實型、字元串、復型、標號等),以及目標程序所需的其他信息。常數表由源程序中用的常數組成,其中包括常數的機內表示,以及分配給它們的目標程序地址。中間語言程序是將源程序翻譯為目標程序前引入的一種中間形式的程序,其表示形式的選擇取決於編譯程序以後如何使用和加工它。常用的中間語言形式有波蘭表示、三元組、四元組以及間接三元組等。
分析部分 源程序的分析是經過詞法分析、語法分析和語義分析三個步驟實現的。詞法分析由詞法分析程序(又稱為掃描程序)完成,其任務是識別單詞(即標識符、常數、保留字,以及各種運算符、標點符號等)、造符號表和常數表,以及將源程序換碼為編譯程序易於分析和加工的內部形式。語法分析程序是編譯程序的核心部分,其主要任務是根據語言的語法規則,檢查源程序是否合乎語法。如不合乎語法,則輸出語法出錯信息;如合乎語法,則分解源程序的語法結構,構造中間語言形式的內部程序。語法分析的目的是掌握單詞是怎樣組成語句的,以及語句又是如何組成程序的。語義分析程序是進一步檢查合法程序結構的語義正確性,其目的是保證標識符和常數的正確使用,把必要的信息收集和保存到符號表或中間語言程序中,並進行相應的語義處理。
綜合部分 綜合階段必須根據符號表和中間語言程序產生出目標程序,其主要工作包括代碼優化、存儲分配和代碼生成。代碼優化是通過重排和改變程序中的某些操作,以產生更加有效的目標程序。存儲分配的任務是為程序和數據分配運行時的存儲單元。代碼生成的主要任務是產生與中間語言程序符等價的目標程序,順序加工中間語言程序,並利用符號表和常數表中的信息生成一系列的匯編語言或機器語言指令。
結構 編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、 語義分析、 代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。例如,可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。例如,代碼優化可劃分為代碼優化准備工作和實際代碼優化兩遍進行。
一個編譯程序是否分遍,以及如何分遍,根據具體情況而定。其判別標准可以是存儲容量的大小、源語言的繁簡、解題范圍的寬窄,以及設計、編制人員的多少等。分遍的好處是各遍功能獨立單純、相互聯系簡單、邏輯結構清晰、優化准備工作充分。缺點是各遍之中不可避免地要有些重復的部分,而且遍和遍之間要有交接工作,因之增加了編譯程序的長度和編譯時間。
一遍編譯程序是一種極端情況,整個編譯程序同時駐留在內存,彼此之間採用調用轉接方式連接在一起(圖2)。當語法分析程序需要新符號時,它就調用詞法分析程序;當它識別出某一語法結構時,它就調用語義分析程序。語義分析程序對識別出的結構進行語義檢查,並調用「存儲分配」和「代碼生成」程序生成相應的目標語言指令。
隨著程序設計語言在形式化、結構化、直觀化和智能化等方面的發展,作為實現相應語言功能的編譯程序,也正向自動程序設計的目標發展,以便提供理想的程序設計工具。
參考書目
陳火旺、錢家驊、孫永強編:《編譯原理》,國防工業出版社,北京,1980。
A.V.Aho, Principles of Compiler Design,Addison Wes-ley, Reading, Massachusetts, 1977.
--------------------------------------------------------------------------------
編譯程序 (compiler)
將用高級程序設計語言書寫的源程序,翻譯成等價的用計算機匯編語言、機器語言或某種中間語言表示的目標程序的翻譯程序。用戶利用編譯程序實現數據處理任務時,先要經歷編譯階段,再經歷運行階段。編譯階段以源程序作為輸入,以目標程序作為輸出,其主要任務是將源程序翻譯成目標程序。運行階段的任務是運行所編譯出的目標程序,實現源程序中指定的數據處理任務,其工作通常包括:輸入初始數據,對數據或文件進行數據加工,輸出必要信息和加工結果等。編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時因為它要在編譯階段處理遞歸調用、動態存儲分配、多種數據類型 實現 、 代碼生成與代碼優化等繁雜技術問題;還要在運行階段提供良好、有效的運行環境。由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,所以編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
功能 編譯程序的基本功能是把源程序翻譯成目標程序。此外,還要具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人機聯系等具有實際應用價值的重要功能。①語法檢查。檢查源程序是否合乎語法 。②調試措施。檢查源程序是否合乎用戶的設計意圖。③修改手段。為用戶提供簡便的修改源程序的手段。④覆蓋處理。主要為處理程序較長、數據量較大的大型問題程序而設置。基本思想是讓一些程序段和數據公用某些存儲區,其中只存放當前要用的程序段或數據,其餘暫時不用的程序段和數據均存放在磁碟等輔助存儲器中,待需要時動態地調入存儲區中運行。⑤目標程序優化。提高目標程序的質量,即使編譯出的目標程序運行時間短、佔用存儲少。⑥不同語言合用 。便於用戶利用多種程序設計語言編寫應用程序或套用已有的不同語言書寫的程序模塊。最為常見的是高級語言和匯編語言的合用。⑦人機聯系。便於用戶在編譯和運行階段及時了解系統內部工作情況,有效地監督、控制系統的運行。
早期編譯程序的實現方案,是把上述各項功能完全收納在編譯程序之中 。後來的習慣方法是在操作系統的支持下,配置編輯程序、調試程序、連接裝配程序等實用程序或工具軟體,目的是創造一個良好的開發環境和運行環境,便於應用軟體的編程、修改、調試、集成以及報表生成、界面設計等工作。但編譯程序設計者設計編譯方案時,仍需精心考慮上述各項功能,較好地解決目標程序與這些實用程序或軟體工具之間的配合與銜接等問題。
工作過程 編譯程序必須分析源程序,然後綜合成目標程序。為達到這個目的,編譯程序要在分析階段建立一些表格,改造源程序為中間語言形式,以便在分析和綜合時易於引用和加工。
數據結構 分析和綜合時所用的主要數據結構,包括符號表、常數表和中間語言程序。符號表由源程序中所用的標識符連同它們的屬性組成,其中屬性包括種類(如變數、數組、結構、函數、過程等)、類型(如整型、實型、字元串、復型、標號等),以及目標程序所需的其他信息。常數表由源程序中用的常數組成,其中包括常數的機內表示以及分配給它們的目標程序地址。中間語言程序是將源程序翻譯成目標程序前引入的一種中間形式的程序,其表示形式的選擇取決於編譯程序以後如何使用它和如何加工它。常用的中間語言形式有波蘭表示、三元組、四元組以及間接三元組等。
分析部分 源程序的分析是經過詞法分析、語法分析和語義分析三個步驟實現的。詞法分析由詞法分析程序(又稱為掃描程序 )完成,其任務是識別單詞(即標識符 、常數、保留字,以及各種運算符、標點符號等)、造符號表和常數表,以及將源程序換碼為編譯程序易於分析和加工的內部形式。語法分析程序是編譯程序的核心部分,其主要任務是根據語言的語法規則,檢查源程序是否合乎語法,並分解源程序。如果不合乎語法,則輸出語法出錯信息;如果合乎語法,則分解源程 序的語法結構, 構造中間語 言形式的內部程序。語法分析的目的是掌握單詞是怎樣組成語句的,以及語句又是如何組成程序的。語義分析程序進一步檢查合法程序結構的語義正確性,其目的是保證標識符和常數的正確使用,把必要的信息收集和保存到符號表或中間語言程序中,並進行相應的語義處理。
綜合部分 綜合階段根據符號表和中間語言程序產生出目標程序,其主要工作包括代碼優化、存儲分配和代碼生成。代碼優化是通過重排和改變程序中的某些操作,以產生更加有效的目標程序。存儲分配是為程序和數據分配運行時的存儲單元。 代碼生成是產 生與中間語 言程序等價的目標程序,亦即,順序加工中間語言程序,利用符號表和常數表中的信息生成一系列的匯編語言或機器語言指令。
動態 20世紀80年代以後,程序設計語言在形式化、結構化、直觀化和智能化等方面有了長足的進步和發展,主要表現在兩個方面:①隨著程序設計理論和方法的發展,相繼推出了一系列新型程序設計語言,如結構化程序設計語言、並發程序設計語言、分布式程序設計語言、函數式程序設計語言、智能化程序設計語言、面向對象程序設計語言等;②基於語法、語義和語用方面的研究成果,從不同的角度和層次上深刻地揭示了程序設計語言的內在規律和外在表現形式。與此相應地,作為實現程序設計語言重要手段之一的編譯程序,在體系結構、設計思想、實現技術和處理內容等方面均有不同程度的發展、變化和擴充。另外,編譯程序已作為實現編程的重要軟體工具,被納入到軟體支援環境的基本層軟體工具之中。因此,規劃編譯程序實現方案時,應從所處的具體軟體支援環境出發,既要遵循整個環境的全局性要求和規定,又要精心考慮與其他諸層軟體 工具之間的相互支援、配合和銜接關系。
㈦ pascal是什麼
pascal
關於Turbo Pascal
Pascal是一種計算機通用的高級程序設計語言。它由瑞士Niklaus Wirth教授於六十年代末設計並創立。
以法國數學家命名的Pascal語言現已成為使用最廣泛的基於DOS的語言之一,其主要特點有:嚴格的結構化形式;豐富完備的數據類型;運行效率高;查錯能力強。
正因為上述特點,Pascal語言可以被方便地用於描述各種演算法與數據結構。尤其是對於程序設計的初學者,Pascal語言有益於培養良好的程序設計風格和習慣。IOI(國際奧林匹克信息學競賽)把Pascal語言作為三種程序設計語言之一, NOI(全國奧林匹克信息學競賽)把Pascal語言定為唯一提倡的程序設計語言,在大學中Pascal語言也常常被用作學習數據結構與演算法的教學語言。
在Pascal問世以來的三十餘年間,先後產生了適合於不同機型的各種各樣版本。其中影響最大的莫過於Turbo Pascal系列軟體。它是由美國Borland公司設計、研製的一種適用於微機的Pascal編譯系統。該編譯系統由1983年推出1.0版本發展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。
下面列出Turbo Pascal編年史
出版年代 版本名稱 主要特色
1983 Turbo Pascal 1.0
Turbo Pascal 2.0
Turbo-87 Pascal 提高實數運算速度並擴大值域
1985 Turbo Pascal 3.0 增加圖形功能
Turbo BCD Pascal 特別適合應用於商業
1987 Turbo Pascal 4.0 提供集成開發環境(IDE),引入單元概念
1988 Turbo Pascal 5.0 增加調試功能
1989 Turbo Pascal 5.5 支持面向對象的程序設計(OPP)
1990 Turbo Pascal 6.0 提供面向對象的應用框架和庫(Turbo Vision)
1992 Turbo Pascal 7.0 面向對象的應用系統、更完善的IDE
Turbo Vision 2.0
1993 Borland Pascal 7.0 開發 Object Windows庫、
__(For Windows) 提供對OLE多媒體應用開發的支持
1995 Delphi
Visual Pascal
Turbo Pascal語言是編譯型程序語言,它提供了一個集成環境的工作系統,集編輯、編譯、運行、調試等多功能於一體
ps:高級語言發展過程中,PASCAL是一個重要的里程碑。PASCAL語言是第一個系統地體現了E.W.Dijkstra和C.A.R.Hoare定義的結構化程序設計概念的語言。1971年,瑞士聯邦技術學院尼克勞斯·沃爾斯(N.Wirth)教授發明了另一種簡單明晰的電腦語言,這就是以電腦先驅帕斯卡的名字命名的PASCAL語言。PASCAL語言語法嚴謹,層次分明,程序易寫,具有很強的可讀性,是第一個結構化的編程語言。它一出世就受到廣泛歡迎,迅速地從歐洲傳到美國。沃爾斯一生還寫作了大量有關程序設計、演算法和數據結構的著作,因此,他獲得了1984年度"圖林獎"。
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有幾個版本,然而我卻回答了Pascal語言有幾個版本。這就是初學者常有的一個錯誤認識:Pascal是一種編程工具。實際上,Pascal是一種程序設計語言的名稱(從一般意義上說,Pascal也可以是指人名,它的取名原本就是為了紀念十七世紀法國著名哲學家和數學家Blaise Pascal),而不是編程工具。剛才我是純粹從字面意思上來回答這個問題。
在中國的信息學奧林匹克競賽中,過去比較常用的Pascal編程工具是Turbo Pascal。Turbo Pascal是DOS下的一種16位編程工具,在Delphi出現之前,它是世界上最多人使用的Pascal編程工具,擁有編譯速度極快的先進編譯器和功能強大而又簡便易用的集成開發環境(IDE),在微機程序員中廣為流行,正是它的出現奠定了Pascal在DOS/Windows平台上不可動搖的根基,現在常見的版本有Turbo Pascal 5.5、Turbo Pascal 6.0和Borland Turbo Pascal with Objects 7.0。Turbo Pascal 6.0與Turbo Pascal 5.5相比,主要是IDE更為強大,而其程序設計功能改變不大,只是增加了一些新的功能,例如可以內嵌asm匯編語句等。而Borland Turbo Pascal with Objects 7.0(簡稱Borland Pascal 7.0)則有了新的飛躍,首先是IDE進一步加強,提供了程序瀏覽器,然後是程序設計功能有了很大的提升,新增了一些十分有用的標准子程序,支持比較完善的面向對象程序設計功能,並提供了DOS實模式、DOS保護模式和Windows模式三種程序編譯模式,能夠編寫出可以使用擴充內存(XMS)的保護模式應用程序或者在Windows 3.x下運行的Windows程序,另外還提供了一個對象窗口庫(OWL),使用它可以快速的開發出具有一致的視窗界面(DOS或Windows 3.x)的應用程序。Borland Pascal 7.0在1992年推出,是Turbo Pascal系列在DOS下的最後版本。
現在,隨著Turbo Pascal逐漸被淘汰,全國信息學奧林匹克競賽決賽(NOI)和國際信息學奧林匹克競賽(IOI)已經指定Free Pascal為比賽使用的Pascal編程工具。Free Pascal是由一個國際組織開發的32位Pascal編程工具,屬於共享軟體,可用於各種操作系統。根據編譯選項的不同,它可以使用Borland Pascal兼容語法、Delphi 2 Object Pascal語法或者其它語法進行編寫程序。由於它擁有32位的編譯器,而且一直在更新發展中,因此它的功能比Borland Pascal更加強大,擁有許多現代程序設計的特徵,但同時也很不成熟,存在很多漏洞。Free Pascal正處於發展初期,相應的函數庫十分少,對程序員的吸引力遠比不上擁有VCL和CLX的Delphi和Kylix。
㈧ pascal的CP,TP,FP有什麼區別
聲明:pascal是一個語言,沒有版本的CP,TP,FP,等都是pascal語言的顫敗IDE
關於這些的說明:
TP是編譯器有內存限制的,也就是說你的變數最大不能開到超過64K,很早的一個IDE,你幾乎用不到不用去了解了。
CP是茄嘩顫一個新的IDE,新手用起來比較順手,但是如果要參加NOIP就少用點,官方是用FP的,到時候不要FP用起來不順手
FP是一個比較完善的IDE,官方比賽都用這個。
其他的IDE么,像Lazarus就是一個基於FPC(FP的編譯器)的一個IDE,特色就是可以快速寫窗口程序。
DELPHI也是一種基蘆純於PASCAL語言的系列。
還有GUIDE,這是個萬能的IDE,C,C++,PASCAL語言都可以用GUIDE,我記得NOI比賽里也是可以用的,不過要搗鼓很久,你先把FP搞明白再說。
哪種IDE最好,就要你看你要干神馬:
NOI比賽么可以用Lazarus,GUIDE,FP,比賽提供的三種支持PASCAL的IDE
如果要快速開發程序可以用,DELPHI7(更高版本是.net版本,不建議使用),Lazarus
還有千萬不要把CP,TP,FP當成三種PASCAL語言,這是三種IDE(集成編譯環境)初賽要考的!
不懂Q我,
754637491
㈨ Pascal是什麼
是一種語言
㈩ pascal編譯系統屬於什麼
pascal編譯系統屬於編程語言。它由瑞士Niklaus Wirth教授於六十年代末設計並創立的。Pascal語言語法嚴謹,層次分明,程序易寫,可讀性強,是第一個結構化編程語言。
Pascal語言廣泛用於各種軟體,程序分為名稱(program後自擬)、設置(var後規定)、開始(begin)、程序(正文)、讀取(read/read ln)、結束(end),結構層次強,嚴謹而又緊密。
具有豐富的數據類型和簡潔靈活的操作語句。高級語言發展過程中,Pascal是一個重要的襪乎里程碑。Pascal語言是第一個系統地體現了E.W.Dijkstra和C.A.R.Hoare定義的結構化程序設計概念的語言。
(10)pascal語言編譯解釋擴展閱讀
Pascal強調的結構化編程帶來了非結構化語言如Fortran之流無法比擬的美和樂趣,Unix崇尚的「小即是美」、「沒有消息就是好消息」。
正因為上述特點,Pascal語言可以被方便地用於描述各種演算法與數據結構。尤其是對於程序設計的初學者,Pascal語言有益於培養良好的程序設計風格和習慣。
IOI(國際信息學奧林匹克競賽)把Pascal語言作為三種程序設計語言之一,NOI(全國銀歷奧林匹克信息學競賽)把Pascal語言和c語言、c++語言作為競賽使用程序設計語言,在大鋒好搜學中Pascal語言也常常被用作學習數據結構與演算法的教學語言。
高級語言發展過程中,PASCAL是一個重要的里程碑。1971年,瑞士聯邦技術學院尼克勞斯·沃爾斯(N.Wirth)教授發明了另一種簡單明晰的電腦語言,這就是以電腦先驅帕斯卡的名字命名的PASCAL語言。
PASCAL語言語法嚴謹,編程語言。沃爾斯一生還寫作了大量有關程序設計、演算法和數據結構的著作,因此,他獲得了1984年度「圖靈獎」。