㈠ 程序問題:這是什麼語言
pascal
Pascal是一種計算機通用的高級程序設計語言。Pascal的取名是為了紀念十七世紀法國著名哲學家和數學家Blaise Pascal。它由瑞士Niklaus Wirth教授於六十年代末設計並創立。Pascal語言語法嚴謹,層次分明,程序易寫,具有很強的可讀性,是第一個結構化的編程語言。
目錄
簡介Pascal簡介
特點
發展歷程
版本
基本符號(1)大小寫英文字母
(2)數字
(3)其他符號
保留字
編程工具Turbo Pascal
Free Pascal
部分教程一、Pascal語言的特點
二、Pascal語言程序的基本結構
三、Free Pascal語言系統的使用
其它參見Pascal的其他釋義
命名規范
Pascal 大小寫
簡介 Pascal簡介
特點
發展歷程
版本
基本符號 (1)大小寫英文字母
(2)數字
(3)其他符號
保留字
編程工具 Turbo Pascal
Free Pascal
部分教程 一、Pascal語言的特點
二、Pascal語言程序的基本結構
三、Free Pascal語言系統的使用
其它參見 Pascal的其他釋義
命名規范
Pascal 大小寫
展開 編輯本段簡介
Pascal簡介
Pascal是一種計算機通用的高級程序設計語言。Pascal的取名是為了紀念十七世紀法國著名哲學家和數學家Blaise Pascal。它由瑞士Niklaus Wirth教授於六十年代末設計並創立。1971年,瑞士聯邦技術學院尼克勞斯·沃爾斯(N.Wirth)教授發明了另一種簡單明晰的電腦語言,這就是以電腦先驅帕斯卡的名字命名的Pascal語言。Pascal語言語法嚴謹,層次分明,程序易寫,具有很強的可讀性,是第一個結構化的編程語言。它一出世就受到廣泛歡迎,迅速地從歐洲傳到美國。沃爾斯一生還寫作了大量有關程序設計、演算法和數據結構的著作,因此,他獲得了1984年度「圖靈獎」。
特點
以法國數學家命名的Pascal語言現已成為使用最廣泛的語言之一,其主要特點有:嚴格的結構化形式;豐富完備的數據類型;運行效率高;查錯能力強。 正因為上述特點,Pascal語言可以被方便地用於描述各種演算法與數據結構。尤其是對於程序設計的初學者,Pascal語言有益於培養良好的程序設計風格和習慣。IOI(國際奧林匹克信息學競賽)把Pascal語言作為三種程序設計語言之一,NOI(全國奧林匹克信息學競賽)把Pascal語言定為唯一提倡的程序設計語言,在大學中Pascal語言也常常被用作學習數據結構與演算法的教學語言。
發展歷程
ps:高級語言發展過程中,Pascal是一個重要的里程碑。Pascal語言是第一個系統地體現了E.W.Dijkstra和C.A.R.Hoare定義的結構化程序設計概念的語言。 在Pascal問世以來的三十餘年間,先後產生了適合於不同機型的各種各樣版本。其中影響最大的莫過於Turbo Pascal系列軟體。它是由美國Borland公司設計、研製的一種適用於微機的Pascal編譯系統。該編譯系統由1983年推出1.0版本發展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。
編輯本段版本
Pascal有5個主要的版本,分別是Unextended Pascal、Extended Pascal、Object-Oriented Extensions to Pascal、Object Pascal 和 Delphi。其中,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的基礎上增加了一些用以支持面向對象程序設計的特性,但它屬於非正式的標准。Delphi 是由Borland公司專門為其開發的編譯工具(也叫Delphi)設計的Pascal語言, Delphi 不是正式的Pascal標准,具有專利性。但由於Turbo Pascal系列和Delphi功能強大並且廣為流行,Delphi 已自成為一種標准,為許多人所熟悉。
編輯本段基本符號
Pascal語言只能使用以下幾類基本符號:
(1)大小寫英文字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z
(2)數字
1 2 3 4 5 6 7 8 9 0
(3)其他符號
+ - * / = <> <= >= < > ( ) [ ] { } := , . ; : .. ' 注意,Pascal語言除了可以使用以上規定的字元外,不得使用其他任何符號。
編輯本段保留字
作為一種高級語言,Pascal給一些英文單詞賦予了特定的含義,這些特定符號叫做保留字或關鍵字。標准Pascal中的保留字有42個。下面是Pascal的保留字: and array begin case const div do downto to else end file for function goto if in label mod nil not of or packed procere program record repeat then to type until var while with rewrite reset put write writeln read readln
編輯本段編程工具
Turbo Pascal
Turbo Pascal 它提供了一個集成環境的工作系統,集編輯、編譯、運行、調試等多功能於一體。 編年史 出版年代 版本名稱 主要特色
1983 Turbo Pascal 1.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 (Object Pascal)
Visual Pascal
Free Pascal
Pascal是一門編程語言,而Turbo Pascal/Free Pascal是Pascal程序的編譯系統.。 Pascal只是一門語言,而Turbo Pascal/Free 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下的最後版本。
Free Pascal
現在,隨著Turbo Pascal逐漸被淘汰,全國信息學奧林匹克競賽決賽(NOI)和國際信息學奧林匹克競賽(IOI)已經指定Free Pascal為比賽使用的Pascal編程工具。Free Pascal是由一個國際組織開發的32/64位Pascal編程工具,屬於自由軟體,可用於各種操作系統。根據編譯選項的不同,它可以使用Turbo Pascal兼容語法、Delphi 語法或者其它語法進行編寫程序。由於它擁有32/64位的編譯器,而且一直在更新發展中,因此它的功能比Borland Pascal更加強大,擁有許多現代程序設計的特徵。但它對程序員的吸引力比不上擁有VCL和CLX的Delphi和Kylix。 Free Pascal是一個在多種版本Pascal和Delphi下的產物,目前比較成熟的版本是由FreePascal. org發布的2.4.0版本,由於是Pascal上的改版,在FP里加入了很多以前沒有的東西,例如:FillChar系列內存塊賦值語句,用Power代替了**(乘方),但是**還是可以使用。 另外FP加強了與內存的互容性,增大對內存的支持,FP里的內存限制是TP和BP里的將近上萬倍。 FP還進一步加強了單元支持、面向對象程序設計的支持、顯卡(音效卡)的支持、圖形高級覆蓋的支持、Windows\Linux\OS/2\..等眾多系統的支持。在FP的較穩定版本中,可以方便的利用Win32編譯模式,編譯出Windows應用程序,與Delphi的功能相當。同時對動態連接庫、控制項、資料庫、文件、網路、OpenGL的深入支持,使得FP脫穎而出。 更值得提出的是,FP支持Delphi及C++的部分語言,例如:A+=2這樣的C Style語言,在FP里完美支持。 FP中支持單目、雙目操作符,即所有版本的Pascal的符號和「@」等特殊符號。 截止2010年,版本到了2.4.0 FP現為競賽推薦工具
編輯本段部分教程
一、Pascal語言的特點
信息學奧林匹克競賽是一項益智性的競賽活動,核心是考查參賽選手的智力和使用計算機編程解題的能力。信息學奧林匹克競賽要求參賽選手有如下能力:針對競賽題目中的要求構建數學模型,構造出有效的演算法和選用相應的數據結構,寫出高級語言程序,上機調試通過。程序設計是信息學奧林匹克競賽的基本功,因此,青少年參與競賽活動的第一步是必須掌握一門高級語言及其程序設計方法。 以紀念法國數學家而命名的Pascal語言是使用最廣泛的計算機高級語言之一,被國際上公認為程序設計教學語言的典範。其主要特點有:嚴格的結構化形式;豐富完備的數據類型;運行效率高;查錯能力強。正因為這些特點,Pascal語言可以被方便地用於描述各種數據結構和演算法,編寫出高質量的程序。尤其是對於青少年程序設計初學者,Pascal 語言有利於順利入門,有益於從一開始培養良好的程序設計風格和習慣,越來越多的各類學校都把Pascal語言作為程序設計教學的第一語言。IOI(國際奧林匹克信息學競賽)把Pascal語言規定為二種程序設計語言之一,?NOI(全國信息學奧林匹克競賽)把Pascal語言定為唯一提倡的程序設計語言,NOIp(全國信息學奧林匹克聯賽)把Pascal定為最主要的程序設計語言。 第一課 Pascal語言知識 一、Pascal 語言概述 Pascal語言是一種演算法語言,它是瑞士蘇黎世聯邦工業大學的沃思教授於1968年設計完成的,1971年正式發表。Pascal語言是在ALGOL60的基礎上發展而成的。它是一種結構化的程序設計語言。它的功能強、編譯程序簡單,是70年代影響最大一種演算法語言。 從使用者的角度來看,Pascal語言有以下幾個主要的特點: ⒈ 結構化 Pascal可以方便地書寫出結構化程序。這就保證程序的正確性和易讀性。在結構化這一點上,比其它演算法語言更好一些。 ⒉ 數據類型豐富 Pascal提供了整數型、實型型、字元型、布爾型、枚舉型、子界型以及由以上類型構成的數組類型、集合類型、記錄類型和文件類型。此外,還提供了其它許多語言中所沒有的指針類型。豐富的數據結構和上述的結構化性質,使得Pascal可以被方便地用來描述復雜的演算法。 ⒊ 適用性好 既適用於數值運算,也適用於非數值運算領域。有些語言只適用於數值計算,有些語言則適用於商業數據處理和管理領域。Pascal的功能較強,能廣泛應用於各種領域。 ⒋ 書寫較自由 不象有些演算法語言那樣對程序的書寫格式有嚴格的規定。Pascal允許一行寫多個語句,一個語句可以分寫在多行上,這樣就可以使Pascal程序寫得象詩歌格式一樣優美,便於閱讀。 由於以上特點,許多學校選Pascal作為程序設計課程中的一種主要的語言。它能給學生嚴格而良好的程序設計的基本訓練。培養學生結構化程序設計的風格。
二、Pascal語言程序的基本結構
任何程序設計語言都有一定的規則。使用Pascal語言必須遵循其本身所規定的規則來編寫程序。盡管不同版本的Pascal語言所採用的符號的數量、形式不盡相同,但其基本成分一般都符合標准Pascal的規定。下面我們首先來了解Pascal語言的程序基本結構。 為了明顯起見,先舉一個最簡單的Pascal程序例子: 【例1】 program li1(input,output); {程序首部} const pi=3.1415926; var r,l,s:real; begin write(『input r:』); readln(r); s:=pi*r*r; l:=2*pi*r; writeln(『s=』,s); writeln(『l=』,l); readln; end. 從這個簡單的程序可以看到: ⒈ 一個Pascal程序分為兩個部分:程序首部和程序體(或稱分程序)。 ⒉ 程序首部是程序的開頭部分,它包括: ⑴程序標志。用"program"來標明這是一個Pascal 程序。Pascal規定任何一個Pascal程序的首部都必須以此字開頭。在Free Pascal中,首部也可省略。 ⑵程序名稱。由程序設計者自己定義,如例中的li1。在寫完程序首部之後,應有一個分號。 ⒊ 程序體是程序的主體,在有的書本里也稱"分程序"。程序體包括說明部分(也可省略)和執行部分兩個部分。 ⑴說明部分用來描述程序中用到的變數、常量、類型、過程與函數等。本程序中第二行是"變數說明",用來定義變數的名稱、類型。 Pascal規定,凡程序中用到的所有變數、符號常量、數組、過程與函數、記錄、文件等數據都必須"先說明,再使用"。 ⑵執行部分的作用是給出需要計算機執行的操作。 執行部分以"begin"開始,以"end"結束,其間有若干個語句,語句之間以分號隔開。執行部分之後有一個句點,表示整個程序結束。 ⒋ Pascal程序的書寫方法比較靈活。書寫程序應結構清晰、容易閱讀理解。在編寫程序時希望讀者盡量模仿本書中例題程序格式。 ⒌ 在程序中,一對大括弧間的文字稱為注釋。注釋的內容由人們根據需要書寫,可以用英語或漢語表示。注釋可以放在任何空格可以出現的位置。執行程序時計算機對注釋不予理睬。
三、Free Pascal語言系統的使用
目前,信息學競賽使用的Pascal語言系統是Free Pascal,下面我們就來學習Free Pascal的使用。 1.系統的啟動 free pascal
在運行系統目錄下的啟動程序fp.EXE,即可啟動系統。屏幕上出現如圖1所示的集成環境。 2.Free Pascal系統集成環境簡介 最頂上一行為主菜單。中間藍色框內為編輯窗口,在它個編輯窗口內可以進行程序的編輯。最底下一行為提示行,顯示出系統中常用命令的快捷鍵,如打開一個文件的快捷鍵為F3,將當前編輯窗口中文件存檔的快捷鍵為F2,獲得系統幫助的快捷鍵為F1,等等。 3.新建程序窗口 按F10進行主菜單,選擇FILE菜單,執行其中New命令。就可建立一個新的程序窗口(默認文件名為Noname00.pas或Noname01.pas等)。 4.程序的輸入、編輯與運行 在當前程序窗口中,一行一行的輸入程序。程序窗口是一個編輯器。所以對程序的編輯與其它編輯器相似,類似記事本程序。 當程序輸入完畢之後,一般要先按Alt+F9(或執行compile菜單中compile命令)對程序進行編譯。如果程序有語法錯誤,則會在程序窗口的下方顯示錯誤信息。若無語法錯誤,則窗口正中央會出現一個對話框,提示編譯成功。接下來,我們可以運行程序了。 程序的運行可以通過按ALT+R打開RUN菜單中的RUN命令,或直接按快捷鍵CTRL+F9。則可以在用戶窗口中輸出運行結果。通常在程序運行結束後系統回到Pascal系統的集成環境,因此要查看運行結果,要按ALT+F5將屏幕切換到用戶屏幕。 5.程序的保存與打開 當我們想把程序窗口中的程序存入磁碟時,可以通過按F2鍵(或執行File菜單中的save命令)來保存程序。第一次保存文件時屏幕上會出現一個對話框要求輸入文件名(默認擴展名為.pas)。 當我們要將磁碟上的程序文件中的Pascal程序裝入窗口時,可按F3(或執行File菜單中的Open命令)來裝入程序,此時系統也會彈出一個對話框要求輸入要打開的文件名,或直接在文件對話框列表中選擇所要的文件,然後回到打開文件。(.pas文件,可以由記事本打開)
編輯本段其它參見
Pascal的其他釋義
布萊士·帕斯卡 壓強 第二:
命名規范
我們在表命名,欄位命名,或者程序命名方面要按照一定的規則,
Pascal 大小寫
將標識符的首字母和後面連接的每個單詞的首字母都大寫。可以對三字元或更多字元的標識符使用Pascal 大小寫。例如: BackColor
㈡ python代碼運行助手怎麼打開
python代碼運行助手是能在網頁上運行python語言的工具。因為python的運行環境在很多教程里都是用dos的,黑乎乎的界面看的有點簡陋,所以出了這python代碼運行助手,作為ide。
實際上,python代碼運行助手界面只能算及格分,如果要找ide,推薦使用jupyter。jupyter被集成到ANACONDA里,只要安裝了anacoda就能使用了。
回到這個問題:
1、要打開這運行助手首先要下載一個learning.py,如果找不到可以復制如下代碼另存為「learning.py」,編輯器用sublime、或者notepad++。
#!/usr/bin/envpython3
#-*-coding:utf-8-*-
r'''
learning.py
APython3tutorialfromhttp://www.liaoxuefeng.com
Usage:
python3learning.py
'''
importsys
defcheck_version():
v=sys.version_info
ifv.major==3andv.minor>=4:
returnTrue
print('Yourcurrentpythonis%d.%d.PleaseusePython3.4.'%(v.major,v.minor))
returnFalse
ifnotcheck_version():
exit(1)
importos,io,json,subprocess,tempfile
fromurllibimportparse
fromwsgiref.simple_serverimportmake_server
EXEC=sys.executable
PORT=39093
HOST='local.liaoxuefeng.com:%d'%PORT
TEMP=tempfile.mkdtemp(suffix='_py',prefix='learn_python_')
INDEX=0
defmain():
httpd=make_server('127.0.0.1',PORT,application)
print('ReadyforPythoncodeonport%d...'%PORT)
httpd.serve_forever()
defget_name():
globalINDEX
INDEX=INDEX+1
return'test_%d'%INDEX
defwrite_py(name,code):
fpath=os.path.join(TEMP,'%s.py'%name)
withopen(fpath,'w',encoding='utf-8')asf:
f.write(code)
print('Codewroteto:%s'%fpath)
returnfpath
defdecode(s):
try:
returns.decode('utf-8')
exceptUnicodeDecodeError:
returns.decode('gbk')
defapplication(environ,start_response):
host=environ.get('HTTP_HOST')
method=environ.get('REQUEST_METHOD')
path=environ.get('PATH_INFO')
ifmethod=='GET'andpath=='/':
start_response('200OK',[('Content-Type','text/html')])
return[b'<html><head><title>LearningPython</title></head><body><formmethod="post"action="/run"><textareaname="code"style="width:90%;height:600px"></textarea><p><buttontype="submit">Run</button></p></form></body></html>']
ifmethod=='GET'andpath=='/env':
start_response('200OK',[('Content-Type','text/html')])
L=[b'<html><head><title>ENV</title></head><body>']
fork,vinenviron.items():
p='<p>%s=%s'%(k,str(v))
L.append(p.encode('utf-8'))
L.append(b'</html>')
returnL
ifhost!=HOSTormethod!='POST'orpath!='/run'ornotenviron.get('CONTENT_TYPE','').lower().startswith('application/x-www-form-urlencoded'):
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"bad_request"}']
s=environ['wsgi.input'].read(int(environ['CONTENT_LENGTH']))
qs=parse.parse_qs(s.decode('utf-8'))
ifnot'code'inqs:
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"invalid_params"}']
name=qs['name'][0]if'name'inqselseget_name()
code=qs['code'][0]
headers=[('Content-Type','application/json')]
origin=environ.get('HTTP_ORIGIN','')
iforigin.find('.liaoxuefeng.com')==-1:
start_response('400BadRequest',[('Content-Type','application/json')])
return[b'{"error":"invalid_origin"}']
headers.append(('Access-Control-Allow-Origin',origin))
start_response('200OK',headers)
r=dict()
try:
fpath=write_py(name,code)
print('Execute:%s%s'%(EXEC,fpath))
r['output']=decode(subprocess.check_output([EXEC,fpath],stderr=subprocess.STDOUT,timeout=5))
exceptsubprocess.CalledProcessErrorase:
r=dict(error='Exception',output=decode(e.output))
exceptsubprocess.TimeoutExpiredase:
r=dict(error='Timeout',output='執行超時')
exceptsubprocess.CalledProcessErrorase:
r=dict(error='Error',output='執行錯誤')
print('Executedone.')
return[json.mps(r).encode('utf-8')]
if__name__=='__main__':
main()
2,再用一個記事本寫如下的代碼:
@echooff
pythonlearning.py
pause
另存為『運行.bat』
3、把「運行.bat」和「learning.py」放到同一目錄下,
㈢ 本人想學pascal,有c,c++基礎,就是想找一個pascal編譯器,難道除了free pascal就沒有好點的編譯器了。。
turbo pascal
Turbo Pascal系列軟體作為開發系統軟體與就任軟體及實施科學計算和教學的有力工具,下發揮著越來越大的作用。也是國際和全國青少年信息學奧林匹克競賽指定的語言之一。從歷屆信息學競賽的情況看,它是最能出成績和選手最歡迎的語言。以後的例子就以Turbo Pascal 7.0進行程序設計。
object pascal
Object Pascal 是一種高級編譯語言,具有強類型(對數據類型的檢查非常嚴格)特性,支持結構化和面向對象編程。它的優點包括代碼的易讀性、快速編譯,以及支持多個單元文件從而實現模塊化編程。
Object Pascal 具有一些特性以支持Borland 組件框架和RAD(快速應用程序開發)環境。在很大程度上,本語言參考的說明和示例假定你使用Borland 公司的開發工具,如Delphi 和Kylix。
絕大多數使用Borland 開發工具的開發者是在IDE(集成開發環境)環境下編寫代碼並進行編譯。
Borland 開發工具幫助我們設置工程和源文件的許多細節,比如維護單元的依賴信息。並且,使用這些工具在程序的組織上還有一些限制,嚴格說來,這不是Object Pascal 語言規范的一部分。比如,Borland開發工具遵循某些文件和程序的命名約定,若你在IDE 以外編寫代碼並使用命令行來編譯,你可以避開這些限制。
這些幫助主題假設你在IDE 環境下工作,並且使用VCL(可視化組件庫)和/或 CLX(跨平台組件庫)創建應用程序。但有時候,Borland 一些特定的規則和Object Pascal 的通用規則並不相同。
個人意見,這些都沒free 的常見、好用