程序設(shè)計(jì)語言概論_第1頁
程序設(shè)計(jì)語言概論_第2頁
程序設(shè)計(jì)語言概論_第3頁
程序設(shè)計(jì)語言概論_第4頁
程序設(shè)計(jì)語言概論_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、程序設(shè)計(jì)語言概論程序設(shè)計(jì)語言概論焦文品焦文品http:/ 網(wǎng)絡(luò)編程網(wǎng)絡(luò)編程桌面排版桌面排版2桌面排版?zhèn)鹘y(tǒng)的排版系統(tǒng):WYSIWYG 所見即所得打字機(jī)是一種早期的WYSIWYG系統(tǒng)現(xiàn)在的更復(fù)雜了 多種字體, 顏色, 嵌入式圖形需要嵌入式命令來描述文檔的布局桌面排版的三種途徑:WYSIWYG頁面描述語言文檔編譯3WYSIWYGPC上常見的方式如 Microsoft Word 和 Corel WordPerfect 那樣的工具用文檔中的嵌入式命令來控制布局 (字體, 顏色, 字體大小, 對象位置)富文本格式 (RTF) 一種用來描述布局的 ASCII 語言. 可以用來在不同的處理器之間傳遞信息4LA

2、TEXTeX: 文檔處理系統(tǒng)由 Donald Knuth 開發(fā)用來創(chuàng)建字符串文本(即文檔)的宏處理系統(tǒng)語法晦澀難懂LaTeX: TeX 的宏Leslie Lamport 開發(fā)的 TeX 的宏創(chuàng)建一系列的環(huán)境和控制結(jié)構(gòu)(與編程語言的結(jié)構(gòu)相似)5LATEX 執(zhí)行LaTeX的執(zhí)行和傳統(tǒng)編譯器很相似:第一遍: 讀入文本并產(chǎn)生輸出格式.創(chuàng)建所有內(nèi)部引用的符號表 (節(jié)號, 頁碼, 圖片編號)如果必要的話, 創(chuàng)建目錄和索引表第二遍:讀入文本并產(chǎn)生輸出格式.這次, 根據(jù)第一遍創(chuàng)建的符號表更正內(nèi)部引用.第三遍:如果在第二遍中修改了符號表, 重復(fù)第二遍, 直道符號表不再需要修改為止為什么要多于兩遍? 想一想如何在

3、報(bào)告的開頭建立一個目錄表.6LATEX 的特征LaTeX 創(chuàng)建了使得TeX更易使用的環(huán)境. 這些環(huán)境很像 C 語言或 Pascal語言的作用域規(guī)則一樣起作用例如, 可以用 begin 和 end 來定義一個條目的列表:編號列表beginenumerateitem text Prints as number 1item text prints as number 2endenumerate End of list符號列表 (“itemized”)名稱列表 (“description”)開始新的節(jié)或小節(jié), 并自動調(diào)整小節(jié)的編號. LaTeX 具有和編程語言的塊結(jié)構(gòu)類似的語法.7LATEX 的結(jié)構(gòu)8

4、LATEX 的執(zhí)行通過調(diào)用LaTeX, latex.tex的宏會被讀入 TeX 并產(chǎn)生章、節(jié)、小節(jié)、圖、表等命令, 以及其他要寫入文檔的結(jié)構(gòu)的命令.documentstyle 命令 (LaTeX中的) 允許用戶增加與文檔的風(fēng)格相關(guān)的特征. 必要參數(shù) article 會讓 article.sty 讀入并用文章所需的命令來剪裁 latex.tex. 例如, 雖然在文章里沒有章節(jié)號, 但還是會為風(fēng)格書 (即book.sty) 定義章節(jié). 11pt 定義文本字體的大小 (11-點(diǎn)), art11.sty 給定另外的與行間距和字間距相關(guān)的信息. TeX 程序與 article.sty 和 art11.s

5、ty 一起形成處理 LaTeX 文章的標(biāo)準(zhǔn)方式. Mystyle.sty 定義了其他宏幫助用戶在編寫特定文檔時可以用來裁剪 LaTeX.9頁面描述語言Postscript程序有五部分構(gòu)成:1. 執(zhí)行計(jì)算的解釋器. 其基本模型是一種簡單的后綴表達(dá)式執(zhí)行.2. 基于 Forth 的語言文法.3. 繪圖擴(kuò)展. 用繪圖命令擴(kuò)展了 Forth, 用來管理在紙張上繪制文本和圖片的過程.4. 用于繪制信息(頁面上的文本和圖形)的虛擬機(jī). Showpage 操作 用來顯示描述的頁面5. 約定. 約定不是正式Postscript語言的一部分, 用來保證不同的打印機(jī)的打印結(jié)果的一致性. 使用這些約定使得posts

6、cript文檔更容易從一個系統(tǒng)移植到另一個系統(tǒng).10POSTSCRIPT 的執(zhí)行模型Postscript 程序由一串繪制文檔的算法的后綴表達(dá)式命令構(gòu)成. Postscript 的執(zhí)行開始于兩個入口, 這兩個入口一開始都在一個程序不會刪除的堆棧:Systemdict 是系統(tǒng)詞典, 表示Postscript對象和他們的內(nèi)部表示之間的初始綁定.Userdict 是用戶詞典, 表示一些在執(zhí)行Postscript程序中會用到的新定義. 也可能還包括一些已經(jīng)在 systemdict 中定義過的原始對象的重定義.11POSTSCRIPT 命令的例子每個參數(shù)都存放在 Postscript 的堆棧中: /box

7、 newpath 0 0 moveto 0 1 lineto 3 1 lineto 3 0 lineto closepath def/box: 將名字框加入堆棧. / 表示這是一個定義而不是用來求參數(shù)的值的, 而只是添加到堆棧中 (就像 LISP 中的引號一樣)newpath: 開始一條新路經(jīng)moveto: 取棧頂?shù)膬蓚€參數(shù)并已到由 (X,Y) 指定位置lineto: 從當(dāng)前光標(biāo)處畫一條到 (X,Y) 的直線, (X,Y)也是棧頂?shù)膬蓚€元素which is the top two stack numbersclosepath: 畫一條回到 newpath 位置的直線def: . 內(nèi)的所有內(nèi)容都

8、定義成命令框注意 上面的命令框會從 (0,0) 開始, 經(jīng)過 (0,1), (3,1), (3,0), 再回到 (0,0) 畫一個長方形12小結(jié)注意模型之間的區(qū)別:LaTeX 和 MS Word 定義了最終文檔的布局Postscript 定義了計(jì)算最終布局的程序. Postscript 打印程序包含一個執(zhí)行 Postscript 程序并產(chǎn)生最終打印文檔的解釋程序13POSTSCRIPT 執(zhí)行堆棧1. 操作數(shù)堆棧 包含入棧, 執(zhí)行, 和未入棧的操作數(shù).2. 字典堆棧 只包含字典對象. 它給出了每個定義的作用域和上下文.3. 執(zhí)行堆棧 包含可執(zhí)行的對象. 其中的大部分都是執(zhí)行中間階段的一些函數(shù).4

9、. 圖形狀態(tài)堆棧 管理頁面上的繪制對象的上下文Postscript 程序是一連串 ASCII 字符. 在讀入每個語言符號 (token) 時, 先訪問它在堆棧中的定義 (先查 userdict 再查 systemdict), 再由恰當(dāng)?shù)膭幼鱽韴?zhí)行. 14文檔約定所有 Postscript 解釋器都遵循的一些約定:開始的注釋必須是 %!PS, 這告訴解釋器本文件是一個Postscript程序.文檔的每一頁通常由一對 save 和 restore 命令包在一起, 這樣可以把該頁和其他頁分割開來, 并不相互影響.%DocumentFonts: 文檔中使用的字體列表%Title:文檔的標(biāo)題, 可以是任

10、意字符串%Creator: 創(chuàng)建文檔的程序名%CreationDate: 創(chuàng)建的日期和時間%Pages: 文檔的頁數(shù).%BoundingBox: 表示程序繪制的實(shí)際頁面的左下角和右上角的四個值. 這樣頁面可以插入到其他文檔之中.15POSTSCRIPT 小結(jié)Postscript 是一種虛擬機(jī)體系結(jié)構(gòu), 可以創(chuàng)建可打印文檔. 文檔的Postscript并不是為了讓程序員來閱讀. 不過, 其語法還是相當(dāng)簡單和易理解的. Postscript 已經(jīng)由 Adobe 進(jìn)一步開發(fā)來創(chuàng)建可移植文檔格式 (PDF). PDF 是一種壓縮的Postscript格式. PDF 閱讀器可以從Internet上免費(fèi)獲

11、得, 大多數(shù) Web 瀏覽器都可以顯示 PDF 文件. 為傳輸和顯示有格式文檔, PDF 已經(jīng)變得無處不在.讓 PDF 顯示程序免費(fèi)是 Adobe 公司很精明的一步, 這樣他們就可以賣 Acrobat 程序來創(chuàng)建 PDF 文檔了.16第十二章第十二章 網(wǎng)絡(luò)編程網(wǎng)絡(luò)編程Web頁面頁面17ARPANET1960年代后期, 美國國防部高級研究項(xiàng)目中心(DARPA)希望建立一個全國性的國防網(wǎng)絡(luò) , 看看多臺地理上分布的計(jì)算機(jī)能否連接起來, 使得一個系統(tǒng)的終端上的用戶可以訪問其他計(jì)算機(jī)上的資源. 最初的軍事概念: 如果某些通信線路被毀壞了, 通過構(gòu)造數(shù)據(jù)通信流可以動態(tài)適應(yīng)變化條件的網(wǎng)絡(luò)來提供對計(jì)算機(jī)的訪

12、問. 數(shù)據(jù)通信 即可靠地從一臺計(jì)算機(jī)向另一臺計(jì)算機(jī)發(fā)送信息 - 是最主要的障礙.在1970年, 最早的 ARPANET 只是一個三個節(jié)點(diǎn)的網(wǎng)絡(luò), 用 56kb 的線路連接了 Cambridge, Massachusetts 的 BBN, 和 California 的 UCLA 與 SRI.直道 1970年代中期, 節(jié)點(diǎn)數(shù)才增加到100多個18ARPANET 的通信兩臺計(jì)算機(jī)之間的通信是通過消息來實(shí)現(xiàn)的. 一條消息 被分成固定長度的字符串, 即包, 這些包一個一個地從一臺計(jì)算機(jī)發(fā)送到另一臺計(jì)算機(jī), 直道原始消息在接收端被重新組裝出來為止.為保證消息能可靠地到達(dá)目的地, 一種正式的通信模型 也就是

13、我們叫的協(xié)議 開發(fā)了出來. 對于 ARPANET, 這種協(xié)議就是傳輸控制/ 因特網(wǎng)協(xié)議 (TCP/IP).TCP/IP 是一種底層的通信機(jī)制, 用來確保發(fā)往特定計(jì)算機(jī)的一連串字節(jié)到達(dá)那里后正確無誤. 對于一般用戶來說, 這種協(xié)議太復(fù)雜, 無法直接用來訪問計(jì)算機(jī). 19用戶協(xié)議Telnet 協(xié)議使得發(fā)送消息的計(jì)算機(jī) (即用戶實(shí)際工作所在的計(jì)算機(jī))像一臺連接在其他計(jì)算機(jī)上的終端一樣i運(yùn)轉(zhuǎn). - 用戶與一臺客戶端計(jì)算機(jī)相連, 這臺計(jì)算機(jī)就像一臺終端, 終端程序用 telnet 協(xié)議與遠(yuǎn)程主機(jī) (即提供服務(wù)程序的計(jì)算機(jī)) 通信.SMTP 即簡單郵件傳輸協(xié)議. 它提供基本的e-mail(電子郵件)服務(wù)F

14、TP 是文件傳輸協(xié)議. 可以在本地調(diào)用 FTP 客戶端, 通過 FTP 協(xié)議登錄到遠(yuǎn)程服務(wù)器上, 然后可以檢索服務(wù)器上的文檔或?qū)⑽臋n從用戶的機(jī)器上傳送到遠(yuǎn)程服務(wù)器上.20FTP 的缺點(diǎn)要檢索想要的數(shù)據(jù), 必須清楚地知道要訪問的機(jī)器. 要檢索信息, 還必須要有訪問遠(yuǎn)程機(jī)器上的文件的權(quán)限. 匿名登錄部分解決了此問題.要訪問所需的信息, 必須知道信息在文件系統(tǒng)上的準(zhǔn)確位置. 盡管有這些缺點(diǎn), 很多年以來, FTP 一直是標(biāo)準(zhǔn)的文件傳輸機(jī)制, 直道 web 的出現(xiàn)改變了這一切.21INTERNET 的產(chǎn)生1980年代中, ARPA 決定停止支持 ARPANET. 作為一種研究活動, 要證明的東西已經(jīng)被

15、證明了, 并且 ARPA 并不熱衷于提供商用服務(wù). U.S. 國家科學(xué)基金 (NSF) 接管了美國國內(nèi)的主干網(wǎng)絡(luò) 用高速電話線將大學(xué)連接在一起, 并在主機(jī)之間提供基本的 TCP/IP 通信. 網(wǎng)絡(luò)的名字也逐漸演化成 Internet. NSF 停止了資助.以主干網(wǎng)為基礎(chǔ), 不斷有局域網(wǎng) (一個州, 一所大學(xué), 或一個大型公司) 加入, 直道 Internet 變成一種無組織的計(jì)算機(jī)集合, 計(jì)算機(jī)之間都可以不間斷地直接通信.商業(yè)提供商, 現(xiàn)在稱為Internet服務(wù)提供商(ISP)建立了與Internet的連接, 這樣個人也能在他們的家用計(jì)算機(jī)上通過調(diào)制解調(diào)器 (modem) 撥號連接 Inte

16、rnet.22萬維網(wǎng)直道 1980年代后期, 人們的廣泛興趣還在于輕松地傳輸文件. FTP 太過繁瑣. 人們開發(fā)了像 gopher, archie, 和 veronica 這樣的系統(tǒng)處于日內(nèi)瓦的歐洲核子研究委員會 (CERN) 的物理學(xué)家 主要是Tim Berners-Lee 想要一種比標(biāo)準(zhǔn)FTP服務(wù)器根簡單的機(jī)制, 通過計(jì)算機(jī)訪問和傳輸文檔.他們提出了語義描述語言的概念. 一個服務(wù)程序顯示一個文檔, 而一個客戶端程序, 稱為瀏覽器, 則閱讀和理解所顯示的文檔. 他們的系統(tǒng)的能力在于所顯示的文檔還包含指向其他文檔 (即hypertext, 超文本) 的指針. 較早的超文本版本是Apple Co

17、mputer公司為Macintosh開發(fā)的HyperCard產(chǎn)品, 但 CERN 開發(fā)的超文本的真正能力在于允許超文本鏈接到Internet上的其他計(jì)算機(jī)上的文檔.23HTTP他們開發(fā)了超文本傳輸協(xié)議 (HTTP).第一個 MOSAIC 瀏覽器在1993年發(fā)行, 導(dǎo)致 web 迅速成長.指向文檔的指針變成了現(xiàn)在所知的統(tǒng)一資源定位器(URL). 文檔的定位簡化為:調(diào)用本地機(jī)器上的 Web 瀏覽器, 輸入你想訪問的文檔的 URL, 連接到包含該URL位置的遠(yuǎn)程計(jì)算機(jī)上的 Web 服務(wù)器, 遵循 HTTP 協(xié)議顯示該文檔.24WEB 導(dǎo)航25PRENTICE HALL 導(dǎo)航的例子1. 用戶輸入主頁的

18、 URL. URL 由域名 (如) 和該機(jī)器上的文件名 (如users/mvz/pzbook) 構(gòu)成.2. Web 瀏覽器將域名發(fā)送到Internet上的某個特殊的稱為域名服務(wù)器的機(jī)器上 (DNS). DNS 返回所要訪問的web頁面的Internet協(xié)議地址(IP地址, 如0).3. web 瀏覽器將文件名發(fā)送到該IP地址處的服務(wù)器. 機(jī)器上的 HTTP 守護(hù)程序 (HTTPD) 是一臺web服務(wù)器和Internet之間的主要接口. 4. Web 服務(wù)器在文件名后加上 index.html, 因?yàn)榻o定的文件名是一個目錄而不是文件. 5. 文件

19、的內(nèi)容將被發(fā)送回 Web 瀏覽器并顯示給用戶.6. 如果用戶點(diǎn)擊某個網(wǎng)頁的 URL (如), 上述過程將重復(fù)進(jìn)行, 但這次訪問的是新的 IP 地址處的服務(wù)器, 并會顯示恰當(dāng)?shù)捻撁?26門戶網(wǎng)站為了使導(dǎo)航更加容易, 特定的 Web 站點(diǎn)充當(dāng)了進(jìn)入WWW的入口網(wǎng)站, 即門戶網(wǎng)站.這些站點(diǎn)有搜索引擎程序. 搜索引擎是一個查詢處理器, 通過它可以查詢相關(guān)WWW網(wǎng)站的位置.搜索引擎通常像一個網(wǎng)絡(luò)爬蟲. 網(wǎng)絡(luò)爬蟲從某個位置開始, 順著該Web頁面上的所有鏈接, 查找其他網(wǎng)頁. 27SGML結(jié)構(gòu)化通用標(biāo)記語言 是 SGML 的基礎(chǔ)文本中的非結(jié)構(gòu)化的字符序列稱為 SGML 的元素. 沒有指定元素的語義, 但給

20、出了它們的語法.元素有一個開始標(biāo)記和一個結(jié)束標(biāo)志括在一起. I am a zork 表示 “I am a zork” 是元素 zork 的內(nèi)容.SGML中的報(bào)告:title text author text abstract text body text SGML 處理文檔的語義內(nèi)容, 而不是文檔的展示28HTMLSGML 的一種實(shí)例, 用來為網(wǎng)頁定義語法 文檔的標(biāo)題 文檔的文本問題: SGML 是語義內(nèi)容, 而不是布局 (展示). 如何處理下面的文本:主標(biāo)題- 使用什么字體以及多大的字體?- 在頁面的哪兒放標(biāo)題?像 這樣的元素被從純語義內(nèi)容中刪除了29HTML中的鏈接HTML 包含:嵌入式文本URL: 鏈接到其他網(wǎng)頁 圖像: MAILTO: 協(xié)議 (發(fā)送電子郵件)可執(zhí)行頁面 (CGI 腳本)30Internet31HTML 表格在Web瀏覽器端的用戶和Web服務(wù)器之間傳遞信息的一種方法.這些信息將傳遞到服務(wù)器系統(tǒng)上的一個程序, 即 公用網(wǎng)關(guān)接口 (CGI) 文件. Web 服務(wù)器通常有一個特定的 cgi-bin 目錄來存放這些 CGI 程序. HTML 表格的使用:文本Perl 經(jīng)常用作編寫腳本的語言32CGI 腳本的例子33表格的HTMLcgi-test 這個例子用來從W

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論