版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)使用"視圖""文檔結(jié)構(gòu)圖"可大大方便閱讀本文檔目錄計(jì)算機(jī)基礎(chǔ)知識(shí)6第一章計(jì)算機(jī)基礎(chǔ)常識(shí)第二章操作系統(tǒng)簡(jiǎn)介第三章計(jì)算機(jī)網(wǎng)絡(luò)第四章計(jì)算機(jī)信息安全基礎(chǔ)知識(shí)Pascal語言19Pascal語言概述與預(yù)備知識(shí)第一章開始編寫pascal語言程序第二章Pascal語言基礎(chǔ)知識(shí)第三章順序結(jié)構(gòu)程序設(shè)計(jì)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)第六章數(shù)組與字符串第七章函數(shù)和過程第八章子界與枚舉類型第九章集合類型第十章記錄與文件類型第1頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)第十一章指針第十二章程序調(diào)試常用算法與策略56第一章算法的概念第二章遞歸第三章回溯第四章排序第五章查找第六章窮舉策略第七章貪心算法第八章分治策略數(shù)據(jù)結(jié)構(gòu)101第一章什么是數(shù)據(jù)結(jié)構(gòu)第二章線性表第三章棧第四章隊(duì)第五章樹第六章圖動(dòng)態(tài)規(guī)劃144第一章什么叫動(dòng)態(tài)規(guī)劃第二章用動(dòng)態(tài)規(guī)劃解題第三章典型例題與習(xí)題第2頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)第四章動(dòng)態(tài)規(guī)劃的遞歸函數(shù)法第五章動(dòng)態(tài)規(guī)劃分類1數(shù)學(xué)知識(shí)及相關(guān)算法第一章有關(guān)數(shù)論的算法第二章高精度計(jì)算第三章排列與組合第四章計(jì)算幾何第五章其它數(shù)學(xué)知識(shí)及算法圖論算法192第一章最小生成樹第二章最短路徑第三章拓?fù)渑判颍ˋOV網(wǎng))第四章關(guān)鍵路徑(AOE網(wǎng))第五章網(wǎng)絡(luò)流第六章圖匹配搜索算法與優(yōu)化218第一章雙向廣度優(yōu)先搜索第二章分支定界法第三章A*算法第3頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)青少年信息學(xué)奧林匹克競(jìng)賽情況簡(jiǎn)介信息學(xué)奧林匹克競(jìng)賽是一項(xiàng)旨在推動(dòng)計(jì)算機(jī)普及的學(xué)科競(jìng)賽活動(dòng),重在培養(yǎng)學(xué)生能力,使得有潛質(zhì)有才華的學(xué)生在競(jìng)賽活動(dòng)中鍛煉和發(fā)展。近年來,信息學(xué)競(jìng)賽活動(dòng)組織逐步趨于規(guī)范和完善,基本上形成了“地級(jí)市——省(直轄市)——全國(guó)——國(guó)際”四級(jí)相互接軌的競(jìng)賽網(wǎng)絡(luò)?,F(xiàn)把有關(guān)賽事情況簡(jiǎn)介如下:全國(guó)青少年信息學(xué)(計(jì)算機(jī))奧林匹克分區(qū)聯(lián)賽:在舉辦1995年NOI活動(dòng)之前,為了擴(kuò)大普及的面,并考慮到多數(shù)省、直轄市、自治區(qū)已經(jīng)開展了多年省級(jí)競(jìng)賽,舉辦了首屆全國(guó)青少年信息學(xué)(計(jì)算機(jī))奧林匹克分區(qū)聯(lián)賽??紤]到不同年級(jí)學(xué)生的知識(shí)層次,也為了鼓勵(lì)更多的學(xué)生積極參與,競(jìng)賽設(shè)提高組、普及組,并分初、復(fù)賽進(jìn)行,這樣可以形成一個(gè)梯隊(duì),確保每年的競(jìng)賽活動(dòng)有比較廣泛扎實(shí)的基礎(chǔ)。從1995年起,至2001年共舉辦了七屆全國(guó)青少年信息學(xué)奧林匹克分區(qū)聯(lián)賽,每年舉辦一次,有選手個(gè)人獎(jiǎng)項(xiàng)(省、國(guó)家級(jí))、選手等級(jí)證書、優(yōu)秀參賽學(xué)校獎(jiǎng)項(xiàng)。廣東省青少年信息學(xué)(計(jì)算機(jī))奧林匹克決賽(簡(jiǎn)稱GDOI):省級(jí)信息學(xué)奧賽是一個(gè)水平較高的、有較大影響力的學(xué)科競(jìng)賽。由各市組織代表隊(duì)參賽,參賽名額實(shí)行動(dòng)態(tài)分配制度,每年舉辦一次。從1984年起廣東省奧林匹克競(jìng)賽活動(dòng)得到了蓬勃發(fā)展。獎(jiǎng)項(xiàng)有個(gè)人一、二、三等獎(jiǎng),女選手第一、二、三名,獎(jiǎng)勵(lì)學(xué)校團(tuán)體總分1-8名、市團(tuán)體總分1-8名。全國(guó)青少年信息學(xué)(計(jì)算機(jī))奧林匹克競(jìng)賽(簡(jiǎn)稱NOI):由中國(guó)算機(jī)學(xué)會(huì)主辦的、并與國(guó)際信息學(xué)奧林匹克接軌的一項(xiàng)全國(guó)性青少年學(xué)科競(jìng)賽活動(dòng)。1984年舉辦首屆全國(guó)計(jì)算機(jī)競(jìng)賽。由各省市組織參賽,每年舉辦一次。獎(jiǎng)項(xiàng)有個(gè)人一、二、三等獎(jiǎng),女選手第一、二、三名,各省隊(duì)團(tuán)體總分名次排隊(duì)。國(guó)際青少年信息學(xué)(計(jì)算機(jī))奧林匹克競(jìng)賽(簡(jiǎn)稱IOI):每年舉辦一次,由各參賽國(guó)家組隊(duì)參賽。全國(guó)青少年信息學(xué)(計(jì)算機(jī))奧林匹克分區(qū)聯(lián)賽競(jìng)賽大綱一、初賽內(nèi)容與要求:(#表示普及組不涉及,以下同)計(jì)基*誕生與發(fā)展*特點(diǎn)*在現(xiàn)代社會(huì)中的應(yīng)用算本*計(jì)算機(jī)系統(tǒng)的基本組成機(jī)常*計(jì)算機(jī)的工作原理#*計(jì)算機(jī)中的數(shù)的表示的識(shí)*計(jì)算機(jī)信息安全基礎(chǔ)知識(shí)*計(jì)算機(jī)網(wǎng)絡(luò)計(jì)基*MSDOS與Windows的使用基礎(chǔ)第4頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)算本*常用輸入/輸出設(shè)備的種類、功能、使用機(jī)操*漢字輸入/輸出方法的作*常用計(jì)算機(jī)屏示信息程序的表示*自然語言的描述*PASCAL或BASIC語言*簡(jiǎn)單數(shù)據(jù)的類型數(shù)據(jù)結(jié)構(gòu)的類型程序設(shè)計(jì)基本知識(shí)程序設(shè)計(jì)*構(gòu)造類型:數(shù)組、字符串*了解基本數(shù)據(jù)結(jié)構(gòu)(線性表、隊(duì)列與棧)*結(jié)構(gòu)化程序的基本概念*閱讀理解程序的基本能力*具有完成下列過程的能力:現(xiàn)實(shí)世界(指知識(shí)范疇的問題)—>信息世界(表達(dá)解法)—>計(jì)算機(jī)世界(將解法用計(jì)算機(jī)能實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和算法描述出來)*簡(jiǎn)單搜索*字串處理*排序*查找基本算法處理*統(tǒng)計(jì)*分類*合并*簡(jiǎn)單的回溯算法*簡(jiǎn)單的遞歸算法二、復(fù)賽內(nèi)容與要求:在初賽的內(nèi)容上增加以下內(nèi)容(2002年修改稿):計(jì)算機(jī)*操作系統(tǒng)的使用知識(shí)軟件數(shù)據(jù)結(jié)構(gòu)*編程語言的使用*結(jié)構(gòu)類型中的記錄類型*指針類型*文件(提高組必須會(huì)使用文本文件輸入)*鏈表*樹*圖#*程序設(shè)計(jì)能力*設(shè)計(jì)測(cè)試數(shù)據(jù)的能力*運(yùn)行時(shí)間和占用空間的估算能力#*排列組合的應(yīng)用*進(jìn)一步加深回溯算法、遞歸算法*分治法*搜索算法:寬度、深度優(yōu)先算法*表達(dá)式處理:計(jì)算、展開、化簡(jiǎn)等#*動(dòng)態(tài)規(guī)劃#程序設(shè)計(jì)算法處理第5頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)三、初賽試題類型:注:試題語言兩者選一(程序設(shè)計(jì)語言:基本BASIC或TURBOPASCAL)*判斷*填空*完善程序*讀程序?qū)戇\(yùn)行結(jié)果*問答四、推薦讀物:*分區(qū)聯(lián)賽輔導(dǎo)叢書*學(xué)生計(jì)算機(jī)世界報(bào)及少年電世界雜志計(jì)算機(jī)基礎(chǔ)知識(shí)計(jì)算機(jī)基礎(chǔ)知識(shí)1.1計(jì)算機(jī)的產(chǎn)生與發(fā)展計(jì)算機(jī)的產(chǎn)生是20世紀(jì)最重要的科學(xué)技術(shù)大事件之一。世界上的第一臺(tái)計(jì)算機(jī)(ENIAC)于1946年誕生在美國(guó)賓夕法尼亞大學(xué),到目前為止,計(jì)算機(jī)的發(fā)展大致經(jīng)歷了四代:①第一代電子管計(jì)算機(jī),始于1946年,結(jié)構(gòu)上以CPU為中心,使用計(jì)算機(jī)語言,速度慢,存儲(chǔ)量小,主要用于數(shù)值計(jì)算;②第二代晶體管計(jì)算機(jī),始于1958年,結(jié)構(gòu)上以存儲(chǔ)器為中心,使用高級(jí)語言,應(yīng)用范圍擴(kuò)大到數(shù)據(jù)處理和工業(yè)控制;③第三代中小規(guī)模集成電路計(jì)算機(jī),始于1964年,結(jié)構(gòu)上仍以存儲(chǔ)器為中心,增加了多種外部設(shè)備,軟件得到了一定的發(fā)展,文字圖象處理功能加強(qiáng);④第四代大規(guī)模和超大規(guī)模集成電路計(jì)算機(jī),始于1971年,應(yīng)用更廣泛,很多核心部件可集成在一個(gè)或多個(gè)芯片上,從而出現(xiàn)了微型計(jì)算機(jī)。我國(guó)從1956年開始電子計(jì)算機(jī)的科研和教學(xué)工作,1983年研制成功1億/秒運(yùn)算速度的“銀河”巨型計(jì)算機(jī),1992年11月研制成功10億/秒運(yùn)算速度的“銀河II”巨型計(jì)算機(jī),1997年研制了每秒130億運(yùn)算速度的“銀河III”巨型計(jì)算機(jī)。目前計(jì)算機(jī)的發(fā)展向微型化和巨型化、多媒體化和網(wǎng)絡(luò)化方向發(fā)展。計(jì)算機(jī)的通信產(chǎn)業(yè)已經(jīng)成為新型的高科技產(chǎn)業(yè)。計(jì)算機(jī)網(wǎng)絡(luò)的出現(xiàn),改變了人們的工作方式、學(xué)習(xí)方式、思維方式和生活方式。1.2計(jì)算機(jī)系統(tǒng)及工作原理1.計(jì)算機(jī)的系統(tǒng)組成計(jì)算機(jī)系統(tǒng)由軟件和硬件兩部分組成。硬件即構(gòu)成計(jì)算機(jī)的電子元器件;軟件即程序和有關(guān)文檔資料。(1)計(jì)算機(jī)的主要硬件第6頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)輸入設(shè)備:鍵盤、鼠標(biāo)、掃描儀等。輸出設(shè)備:顯示器、打印機(jī)、繪圖儀等。中央處理器(CPU):包括控制器和運(yùn)算器運(yùn)算器,可以進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算;控制器是計(jì)算機(jī)的指揮系統(tǒng),它的操作過程是取指令——分析指令——執(zhí)行指令。存儲(chǔ)器:具有記憶功能的物理器件,用于存儲(chǔ)信息。存儲(chǔ)器分為內(nèi)存和外存①內(nèi)存是半導(dǎo)體存儲(chǔ)器(主存):它分為只讀存儲(chǔ)器(ROM)和隨機(jī)存儲(chǔ)器(RAM)和高速緩沖存儲(chǔ)器(Cache);ROM:只能讀,不能用普通方法寫入,通常由廠家生產(chǎn)時(shí)寫入,寫入后數(shù)據(jù)不容易丟失,也可以用特殊方法(如紫外線擦除(EPROM)或電擦除(EEPROM_)存儲(chǔ)器);RAM:可讀可寫,斷電后內(nèi)容全部丟失;Cache:因?yàn)镃PU讀寫RAM的時(shí)間需要等待,為了減少等待時(shí)間,在RAM和CPU間需要設(shè)置高速緩存Cache,斷電后其內(nèi)容丟失。②外存:磁性存儲(chǔ)器——軟盤和硬盤;光電存儲(chǔ)器——光盤,它們可以作為永久存器;③存儲(chǔ)器的兩個(gè)重要技術(shù)指標(biāo):存取速度和存儲(chǔ)容量。內(nèi)存的存取速度最快(與CPU速度相匹配),軟盤存取速度最慢。存儲(chǔ)容量是指存儲(chǔ)的信息量,它用字節(jié)(Byte)作為基本單位,1字節(jié)用8位二進(jìn)制數(shù)表示,1KB=1024B,1MB=1024KB,lGB=1024MB(2)計(jì)算機(jī)的軟件計(jì)算機(jī)的軟件主要分為系統(tǒng)軟件和應(yīng)用軟件兩類:①系統(tǒng)軟件:為了使用和管理計(jì)算機(jī)的軟件,主要有操作系統(tǒng)軟件如,WINDOWS95/98/2000/NT4.0、DOS6.0、UNIX等;WINDOWS95/98/2000/NT4.0是多任務(wù)可視化圖形界面,而DOS是字符命令形式的單任務(wù)的操作系統(tǒng)。②應(yīng)用軟件:為了某個(gè)應(yīng)用目的而編寫的軟件,主要有輔助教學(xué)軟件(CAI)、輔助設(shè)計(jì)軟件(CAD)、文字處理軟件、工具軟件以及其他的應(yīng)用軟件。2.計(jì)算機(jī)的工作原理到目前為止,電子計(jì)算機(jī)的工作原理均采用馮.若依曼的存儲(chǔ)程序方式,即把程序存儲(chǔ)在計(jì)算機(jī)內(nèi),由計(jì)算機(jī)自動(dòng)存取指令(計(jì)算機(jī)可執(zhí)行的命令=操作碼+操作數(shù))并執(zhí)行它。工作原理第7頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)圖如下:1.3計(jì)算機(jī)中有關(guān)數(shù)及編碼的知識(shí)1.計(jì)算機(jī)是智能化的電器設(shè)備計(jì)算機(jī)就其本身來說是一個(gè)電器設(shè)備,為了能夠快速存儲(chǔ)、處理、傳遞信息,其內(nèi)部采用了大量的電子元件,在這些電子元件中,電路的通和斷、電壓高低,這兩種狀態(tài)最容易實(shí)現(xiàn),也最穩(wěn)定、也最容易實(shí)現(xiàn)對(duì)電路本身的控制。我們將計(jì)算機(jī)所能表示這樣的狀態(tài),用0,1來表示、即用二進(jìn)制數(shù)表示計(jì)算機(jī)內(nèi)部的所有運(yùn)算和操作。2.二進(jìn)制數(shù)的運(yùn)算法則二進(jìn)制數(shù)運(yùn)算非常簡(jiǎn)單,計(jì)算機(jī)很容易實(shí)現(xiàn),其主要法則是:0+0=00+1=11+0=11+1=00*0=00*1=01*0=01*1=1由于運(yùn)算簡(jiǎn)單,電器元件容易實(shí)現(xiàn),所以計(jì)算機(jī)內(nèi)部都用二進(jìn)制編碼進(jìn)行數(shù)據(jù)的傳送和計(jì)算。3.十進(jìn)制與二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)之間的相互轉(zhuǎn)換(1)數(shù)的進(jìn)制與基數(shù)計(jì)數(shù)的進(jìn)制不同,則它們的基數(shù)也不相同,如表1-1所示。進(jìn)制基數(shù)特點(diǎn)二進(jìn)制0,1逢二進(jìn)一八進(jìn)制0,1,2,3,4,5,6,7逢八進(jìn)一十六進(jìn)制0,1,2,...,9,A,B,C,D,E,F逢十六進(jìn)一(2)數(shù)的權(quán)不同進(jìn)制的數(shù),基數(shù)不同,每位上代表的值的大?。?quán))也不相同。如:(219)10=2*102+1*101+9*100(11010)2=1*24+1*23+0*22+1*21+1*20(273)8=2*82+7*81+3*80(27AF)16=2*163+7*162+10*161+15*160(3)十進(jìn)制數(shù)轉(zhuǎn)換任意進(jìn)制1)將十進(jìn)制整數(shù)除以所定的進(jìn)制數(shù),取余逆序。第8頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)(39)10=(100111)2(245)10=(365)82)將十進(jìn)制小數(shù)的小數(shù)部分乘以進(jìn)制數(shù)取整,作為轉(zhuǎn)換后的小數(shù)部分,直到為零或精確到小數(shù)點(diǎn)后幾位。如:(0.35)10=(0.01011)2(0.125)10=(0.001)2(4)任意進(jìn)制的數(shù)轉(zhuǎn)換十進(jìn)制按權(quán)值展開:如:(219)10=2*102+1*101+9*100(11010)2=1*24+1*23+0*22+1*21+1*20=26(273)8=2*82+7*81+3*80=187(7AF)16=7*162+10*161+15*160=18674.定點(diǎn)數(shù)與浮點(diǎn)數(shù)定點(diǎn)數(shù)是指數(shù)據(jù)中的小數(shù)點(diǎn)位置固定不變。由于它受到字長(zhǎng)范圍的限制,所能表示的數(shù)的范圍有限,計(jì)算結(jié)果容易溢出。浮點(diǎn)數(shù)的形式可寫成:N=M*2E(其中M代表尾數(shù),E代表階碼)其形式如下:階碼尾數(shù)(包括符號(hào)位)5.ASCII編碼由于計(jì)算機(jī)是電器設(shè)備,計(jì)算機(jī)內(nèi)部用二進(jìn)制數(shù),這樣對(duì)于從外部輸入給計(jì)算機(jī)的所有信息必須用二進(jìn)制數(shù)表示,并且對(duì)于各種命令、字符等都需要轉(zhuǎn)換二進(jìn)制數(shù),這樣就牽涉到信息符號(hào)轉(zhuǎn)換成二進(jìn)制數(shù)所采用的編碼的問題,國(guó)際上統(tǒng)一用美國(guó)標(biāo)準(zhǔn)信息編碼(ASCII)它可用7位二進(jìn)制數(shù)表示,存儲(chǔ)時(shí)用一個(gè)字節(jié),它的最高位為0。因此基本的ASCII字符集有128個(gè)如:0-9:48-57:00110000-...A-Z:65-90:01000001-...a-z:97-122:01100000-...第9頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)6.漢字編碼與漢字輸入法(1)機(jī)內(nèi)碼ASCII碼不能表示漢字,因此要有漢字信息交換碼,我國(guó)國(guó)家標(biāo)準(zhǔn)是gb2312,它也被稱作國(guó)際碼。它由兩個(gè)字節(jié)組成,兩個(gè)字節(jié)的最高位都為1。gb2312共收納6763個(gè)漢字,其中,一級(jí)漢字(常用字)3755個(gè)按漢字拼音字母順序排列,二級(jí)漢字3008個(gè)按部首筆畫次序排列。(2)漢字輸入碼(外碼)目前,漢字輸入法主要有鍵盤輸入、文字識(shí)別和語音識(shí)別。鍵盤輸入法是當(dāng)前漢字輸入的主要方法。它大體可以分為:流水碼:如區(qū)位碼、電報(bào)碼、通信密碼,優(yōu)點(diǎn)重碼律少,缺點(diǎn)難于記憶;音碼:以漢語拼音為基準(zhǔn)輸入漢字,優(yōu)點(diǎn)是容易掌握,但重碼律高;形碼:根據(jù)漢字的字型進(jìn)行編碼,優(yōu)點(diǎn)重碼少,但不容易掌握;音形碼:將音碼和形碼結(jié)合起來,能減少重碼律同時(shí)提高漢字輸入速度。(3)漢字字模供計(jì)算機(jī)輸出漢字(顯示和打印)用的二進(jìn)制信息叫漢字字形信息也稱字模。通用漢字字模點(diǎn)陣規(guī)格有16*16,24*24,32*32,48*48,64*64,每個(gè)點(diǎn)在存儲(chǔ)器中用一個(gè)二進(jìn)制位((bit)存儲(chǔ),如一個(gè)16*16點(diǎn)陣漢字需要32個(gè)字節(jié)的存儲(chǔ)空間。1.4原碼、反碼與補(bǔ)碼在計(jì)算機(jī)中,數(shù)據(jù)是以補(bǔ)碼的形式存儲(chǔ)的:在n位的機(jī)器數(shù)中,最高位為符號(hào)位,該位為零表示為正,為1表示為負(fù);其余n-1位為數(shù)值位,各位的值可為0或1。當(dāng)真值為正時(shí):原碼、反碼、補(bǔ)碼數(shù)值位完全相同;當(dāng)真值為負(fù)時(shí):原碼的數(shù)值位保持原樣,反碼的數(shù)值位是原碼數(shù)值位的各位取反,第10頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)補(bǔ)碼則是反碼的最低位加一。注意符號(hào)位不變。如:若機(jī)器數(shù)是16位:十進(jìn)制數(shù)17的原碼、反碼與補(bǔ)碼均為:0000000000010001十進(jìn)制數(shù)-17的原碼、反碼與補(bǔ)碼分別為:1000000000010001、1111111111101110、11111111111011111.5邏輯運(yùn)算1.邏輯運(yùn)算邏輯與:同真則真邏輯或:有真就真邏輯非:你真我假邏輯異或:不同則真2.按位運(yùn)算按位與∩:同1則1如10010101∩10110111=10010101按位或∪:有1則1如10010101∪10110111=101101113.邏輯化簡(jiǎn)化簡(jiǎn)定律:(1)交換律:A+B=B+A,A·B=B·A(2)結(jié)合律:(A+B)+C=A+(B+C),(A·B)·C=A·(B·C)(3)冪等律:A·A=A,A+A=A(4)吸收律:A·(A+B)=A,A+(A·B)=A(5)分配律:A·(B+C)=A·B+A·C,A+(B·C)=(A+B)·(A+C)(6)互補(bǔ)律:A+A=1,A·A=0(7)非深入:A+B=A·B,A·B=A+B(8)0-1律:A+0=A,A+1=1,A·1=A,A·0=0例:化簡(jiǎn)函數(shù)Q=AD+AD+AB+ACEF。這個(gè)函數(shù)有5個(gè)自變量,化簡(jiǎn)過程如下:Q=AD+AD+AB+ACEF第11頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)=A+AB+ACEF=A+ACEF=A練習(xí):求證:(A+B)(A+C)=AB+AC操作系統(tǒng)簡(jiǎn)介2.1DOS(DiskOperatingSystem)的組成MS—DOS采用模塊結(jié)構(gòu),它由五部分組成:ROM中的BIOS模塊、IO.SYS模塊、MSDOS.SYS模塊、COMMAND.COM模塊和引導(dǎo)程序。(1)BIOS模塊:在PC機(jī)主板上有一個(gè)ROM芯片,該芯片中存有系統(tǒng)自測(cè)試程序,CMOS設(shè)置程序和基本輸入輸出程序(BIOS)。BIOS是一組程序和參表,其中程序部份是可以通過中斷方式調(diào)用的一組驅(qū)動(dòng)程序,參數(shù)給出外設(shè)的地址和參數(shù)。BIOS是計(jì)算機(jī)硬件和操作系統(tǒng)之間的接口通過它操作系統(tǒng)管理計(jì)算機(jī)硬件資源。(2)IO.SYS模塊:IO.SYS是MS—DOS和ROMBIOS之間的接口程序。它和RONBIOS一起完成系統(tǒng)設(shè)備的管理。(3)MSDOS.SYS模塊:MSDOS.SYS用于實(shí)現(xiàn)文件管理,包括文件管理、目錄管理、內(nèi)存管理等功能。它以功能調(diào)用的形式實(shí)現(xiàn)用戶和MS—DOS之間的程序級(jí)接口。(4)COMMAND.COM模塊:COMMAND.COM的主要功能是負(fù)責(zé)接收、識(shí)別、解釋和執(zhí)行用戶從鍵盤輸入的MS—DOS命令。(5)引導(dǎo)程序:引導(dǎo)程序又叫“引導(dǎo)記錄”,其作用是檢查當(dāng)前盤上是否有兩個(gè)系統(tǒng)文件,若有系統(tǒng)文件則把DOS系統(tǒng)從磁盤裝人內(nèi)存。一張系統(tǒng)盤上應(yīng)該包含有:引導(dǎo)記錄、IO.SYS、MSDOS.SYS和COMMAND.COM等模塊。2.2DOS的文件和目錄1)文件概念:文件是指記錄在存儲(chǔ)介質(zhì)(如磁盤、光盤)上的一組相關(guān)信息的集合。2)文件標(biāo)識(shí):驅(qū)動(dòng)器號(hào)+路徑+文件名(1到8各字符)+擴(kuò)展名(1到3個(gè)字符代表文件的類型)3)通配符:*代表從該位置起的一個(gè)或多個(gè)合法字符;?代表所在位置的任一個(gè)合法字符。第12頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)4)樹形目錄:DOS采用樹形目錄結(jié)構(gòu)。由一個(gè)根目錄和若干層子目錄組成。這種目錄結(jié)構(gòu)一是能夠解決文件重名問題,即不同的目錄可以包含相同的文件名或目錄名;二是能夠解決文件多而根目錄容量有限帶來的問題。在查找某個(gè)子目錄下的一個(gè)文件時(shí),要使用目錄路徑。指定路徑有兩種方法:絕對(duì)路徑和相對(duì)路徑。絕對(duì)路徑是從根目錄開始到文件所在目錄的路徑。例如要查找UCDOS子目錄下的二級(jí)子目錄DATA下的README.TXT文件,絕對(duì)路徑為:\UCDOS\DATA。路徑中第一個(gè)“\”符號(hào)代表根目錄。相對(duì)路徑是從當(dāng)前目錄開始到文件所在目錄的路徑。當(dāng)前目錄指在不特意指定路徑情況下DOS命令所處理的目錄。例如系統(tǒng)提示符為:“C:\UCDOS\DATA>”,則DATA是當(dāng)前目錄。2.3DOS命令1.內(nèi)部命令1)內(nèi)部命令:當(dāng)啟動(dòng)DOS系統(tǒng)時(shí),計(jì)算機(jī)引導(dǎo)程序?qū)⑾到y(tǒng)以及常用的命令處理模塊駐留在計(jì)算機(jī)的內(nèi)存中,我們稱之為內(nèi)部命令。2)常用的內(nèi)部命令:(1)目錄命令:DIR(顯示文件目錄)MD、CD、RD(子目錄的建立、進(jìn)入、刪除命令)(2)文件操作命令:COPY(復(fù)制命令)、DEL(刪除命令)、REN(更改文件名)TYPE(顯示文本文件內(nèi)容)(3)其他內(nèi)部命令DATA、TIME、VER、CLS等·3.外部命令1)外部命令:存儲(chǔ)在外存儲(chǔ)器上的DOS可執(zhí)行的文件,這些文件程序所占的存儲(chǔ)容量比較大,當(dāng)用戶使用外部命令時(shí),計(jì)算機(jī)從外存調(diào)入內(nèi)存,當(dāng)執(zhí)行完外部命令,就自動(dòng)從內(nèi)存中退出。2)常用的外部命令(1)磁盤格式化命令:FORMAT盤符[/S)I/V]其作用,能夠清除原盤中所有信息,并將磁盤規(guī)范成計(jì)算機(jī)所能接受的格式,以便有效存儲(chǔ)信息。(2)軟盤復(fù)制命令:DISKCOPY[盤符1:][盤符2:]其作用,能夠進(jìn)行軟盤之間的全盤復(fù)制(以磁道方式),不僅可以復(fù)制系統(tǒng)文件而且可以復(fù)制隱含文件。2.4Windows簡(jiǎn)介Windows是一個(gè)多任務(wù)圖形用戶界面,該環(huán)境可以在基于MS-DOS的計(jì)算機(jī)上運(yùn)行,在多任務(wù)圖形用戶環(huán)境下,Windows提供了一個(gè)基于下拉菜單、屏幕窗口和鼠標(biāo)的界面,在該環(huán)境下運(yùn)行的應(yīng)用程序必須進(jìn)行專門的設(shè)計(jì)才能發(fā)揮這些特征的優(yōu)點(diǎn)。2.Windows的特點(diǎn)Windows能夠充分發(fā)揮計(jì)算機(jī)的作用,其圖形接口能夠組織用戶程序和文件、同時(shí)運(yùn)行幾個(gè)第13頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)用戶程序、在文檔之間移動(dòng)和復(fù)制信息、在平臺(tái)上進(jìn)行應(yīng)用程序的切換等。為了提高效率,Windows還提供了一些輔助程序,如字處理器、畫筆及其他標(biāo)準(zhǔn)應(yīng)用程序等。Windows具有以下主要特點(diǎn)。(1)圖形化的用戶界面Windows提供了一種不同于DOS系統(tǒng)下命令行的工作方式,它通過對(duì)窗口、圖標(biāo)、選單、對(duì)話框、命令按鈕、滾動(dòng)框等圖形符號(hào)與畫面的操作來實(shí)現(xiàn)對(duì)計(jì)算機(jī)的各種操作。(2)標(biāo)準(zhǔn)化的操作界面在Windows中,所有的操作都是通過窗口中的圖形界面進(jìn)行的。(3)多任務(wù)機(jī)制和執(zhí)行性能在Windows中,平穩(wěn)的多任務(wù)機(jī)制可以同時(shí)運(yùn)行多道程序以及執(zhí)行多項(xiàng)任務(wù),各程序與各任務(wù)之間不僅轉(zhuǎn)換容易,而且還可以方便地交換數(shù)據(jù)。(4)充分利用內(nèi)存Winddws利用虛擬內(nèi)存技術(shù),允許應(yīng)用程序超過640陽常規(guī)內(nèi)存的運(yùn)行空間,從而最大限度地利用了計(jì)算機(jī)系統(tǒng)的所有內(nèi)存資源,從而使內(nèi)存較小的微機(jī)也能運(yùn)行大型的應(yīng)用程序。(5)強(qiáng)大的聯(lián)網(wǎng)功能在Windows中,可以簡(jiǎn)單直觀地實(shí)現(xiàn)網(wǎng)絡(luò)的安裝、配置、瀏覽,從而可以更加方便地實(shí)現(xiàn)網(wǎng)絡(luò)管理和資源共享。(6)豐富的多媒體功能Windows提供大量輔助程序,用以實(shí)現(xiàn)文字、圖形、圖像、聲音、視頻等多媒體功能,同時(shí)還支持其他廠商基于Windows標(biāo)準(zhǔn)開發(fā)的各種相應(yīng)軟件。(7)TryType技術(shù)TryType(真實(shí)字體)屬于內(nèi)建式比例字體,可以任意平滑放大與縮小。這種字體能使屏幕上顯示的效果與實(shí)際打印機(jī)輸出的信息完全一致,這就是所謂的“所見即所得”。[例4]在Windows95中,“任務(wù)欄”的作用是____。A)顯示系統(tǒng)的所有功能B)只顯示當(dāng)前活動(dòng)窗口名C)只顯示正在后臺(tái)工作的窗口名D)實(shí)現(xiàn)窗口之間的切換解答:在任務(wù)欄中,顯示了所有打開的程序的圖標(biāo)。本題正確答案為D。計(jì)算機(jī)網(wǎng)絡(luò)常識(shí)3.1網(wǎng)絡(luò)基礎(chǔ)知識(shí)1.網(wǎng)絡(luò)的概念計(jì)算機(jī)網(wǎng)絡(luò)是將地理位置不同的計(jì)算機(jī),用通信鏈路連接起來,共同遵守一定的協(xié)議,以實(shí)現(xiàn)計(jì)算機(jī)軟硬件資源共享為目標(biāo)的通信系統(tǒng)。2.網(wǎng)絡(luò)的組成計(jì)算機(jī)網(wǎng)絡(luò)由網(wǎng)絡(luò)硬件和網(wǎng)絡(luò)軟件組成。網(wǎng)絡(luò)軟件包括網(wǎng)絡(luò)操作系統(tǒng)、通信軟件、通信協(xié)議(計(jì)算機(jī)之間實(shí)現(xiàn)數(shù)據(jù)通信共同遵守的相關(guān)規(guī)定)。網(wǎng)絡(luò)硬件包括網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò)工作站、傳輸介質(zhì)和設(shè)備。3.網(wǎng)絡(luò)的分類(1)按通信距離分:局域網(wǎng)(LAN):局限于某個(gè)范圍(10公里左右)的網(wǎng)絡(luò)連接情(校園網(wǎng))。第14頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)廣域網(wǎng)(WAN):跨地區(qū)的局域網(wǎng),Internet是覆蓋全球的廣域網(wǎng)。(2)按網(wǎng)絡(luò)的使用目的分:共享資源網(wǎng):使用者可分享網(wǎng)絡(luò)的各種資源(如Internet)。數(shù)據(jù)處理網(wǎng):用于數(shù)據(jù)處理(企業(yè)經(jīng)營(yíng)管理用的網(wǎng)絡(luò))。數(shù)據(jù)傳輸網(wǎng):用于數(shù)據(jù)的收集、交換和傳輸(情報(bào)檢索網(wǎng)絡(luò))。(3)按網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)分:星形網(wǎng):以一臺(tái)計(jì)算機(jī)為中心,以放射狀連接若干臺(tái)計(jì)算機(jī)。環(huán)形網(wǎng):傳輸線路構(gòu)成一個(gè)封閉的環(huán),入網(wǎng)的計(jì)算機(jī)連到這個(gè)環(huán)形線路上??偩€網(wǎng):用一條通信線路作主干,入網(wǎng)的計(jì)算機(jī)通過相應(yīng)接口連到線路上。4.開放系統(tǒng)互聯(lián)模型(OSI模型)OSI模型分7層:各層功能如下:1.物理層物理層與移動(dòng)二進(jìn)制數(shù)和維護(hù)物理連接有關(guān)。2.?dāng)?shù)據(jù)鏈路層數(shù)據(jù)鏈路層通過幀在一個(gè)給定的物理鏈路傳輸分組(報(bào)文),保持幀的有序以及發(fā)現(xiàn)檢測(cè)到的各種錯(cuò)誤,包括傳輸錯(cuò)誤,但是數(shù)據(jù)鏈路層只了解在鏈路另一端的對(duì)等實(shí)體。數(shù)據(jù)鏈路層的地址是為了將網(wǎng)絡(luò)中一點(diǎn)的數(shù)據(jù)幀送到另一點(diǎn)。3.網(wǎng)絡(luò)層網(wǎng)絡(luò)層知道每個(gè)數(shù)據(jù)鏈路的對(duì)等進(jìn)程,并負(fù)責(zé)在鏈路間移動(dòng)分組,把它送到目的地。網(wǎng)絡(luò)層地址是為了把單一分組從網(wǎng)絡(luò)的一端送到目的地。4.傳輸層傳輸層注意的是整個(gè)網(wǎng)絡(luò),該層是第一個(gè)端到端層。其對(duì)等實(shí)體位于分組的最終目的地。傳輸層依靠網(wǎng)絡(luò)層經(jīng)過中間節(jié)點(diǎn)移動(dòng)分組。傳輸層地址是為了把網(wǎng)絡(luò)一端進(jìn)程的完整信息送到最終目的地的對(duì)等進(jìn)程。5-7.會(huì)話層、表示層和應(yīng)用層提供了如下功能:處理計(jì)算機(jī)間數(shù)據(jù)表示的差別。確保數(shù)據(jù)在網(wǎng)絡(luò)傳輸中不被竊取和泄露,并且確保網(wǎng)絡(luò)不允許未經(jīng)授權(quán)就訪問數(shù)據(jù)。最高效地使用網(wǎng)絡(luò)資源通過應(yīng)用程序及活動(dòng)同步來管理對(duì)話和活動(dòng)。在網(wǎng)絡(luò)節(jié)點(diǎn)間共享數(shù)據(jù)。3.2Internet簡(jiǎn)介Internet英文直譯為“互聯(lián)網(wǎng)”,中文名為“因特網(wǎng)”。是世界上眾多計(jì)算機(jī)網(wǎng)絡(luò)的集合起源于20世紀(jì)80年代。第15頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)1.Internet的IP地址、IP地址類型和主機(jī)域名(1)在Internet網(wǎng)上采用統(tǒng)一的網(wǎng)絡(luò)協(xié)議TCP/IP,與Internet相連的計(jì)算機(jī)必須具有唯一的主機(jī)地址,稱IP地址。IP地址采用分段地址方式,使用數(shù)字表示;如:4,其中由三個(gè)點(diǎn)隔開的四個(gè)數(shù)是十進(jìn)制,其大小是0-255,每個(gè)數(shù)對(duì)應(yīng)一個(gè)8位二進(jìn)制數(shù),所以IP地址用32位二進(jìn)制位存放站4個(gè)字節(jié)。(2)IP地址類型:最初設(shè)計(jì)互聯(lián)網(wǎng)絡(luò)時(shí),為了便于尋址以及層次化構(gòu)造網(wǎng)絡(luò),每個(gè)IP地址包括兩個(gè)標(biāo)識(shí)碼(ID),即網(wǎng)絡(luò)ID和主機(jī)ID。同一個(gè)物理網(wǎng)絡(luò)上的所有主機(jī)都使用同一個(gè)網(wǎng)絡(luò)ID,網(wǎng)絡(luò)上的一個(gè)主機(jī)(包括網(wǎng)絡(luò)上工作站,服務(wù)器和路由器等)有一個(gè)主機(jī)ID與其對(duì)應(yīng)。IP地址根據(jù)網(wǎng)絡(luò)ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。A類IP地址一個(gè)A類IP地址由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“0”,地址范圍從到??捎玫腁類網(wǎng)絡(luò)有126個(gè),每個(gè)網(wǎng)絡(luò)能容納1億多個(gè)主機(jī)。B類IP地址一個(gè)B類IP地址由2個(gè)字節(jié)的網(wǎng)絡(luò)地址和2個(gè)字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“10”,地址范圍從到55??捎玫腂類網(wǎng)絡(luò)有16382個(gè),每個(gè)網(wǎng)絡(luò)能容納6萬多個(gè)主機(jī)。C類IP地址一個(gè)C類IP地址由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“110”。范圍從到55。C類網(wǎng)絡(luò)可達(dá)209萬余個(gè),每個(gè)網(wǎng)絡(luò)能容納254個(gè)主機(jī)。D類地址用于多點(diǎn)廣播(Multicast)。D類IP地址第一個(gè)字節(jié)以“l(fā)ll0”開始,它是一個(gè)專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點(diǎn)廣播(Multicast)中。多點(diǎn)廣播地址用來一次尋址一組計(jì)算機(jī),它標(biāo)識(shí)共享同一協(xié)議的一組計(jì)算機(jī)。E類IP地址以“l(fā)lll0”開始,為將來使用保留。全零(“0.0.0.0”)地址對(duì)應(yīng)于當(dāng)前主機(jī)。全“1”的IP地址(“255.255.255.255”)是當(dāng)前子網(wǎng)的廣播地址。在IP地址3種主要類型里,各保留了3個(gè)區(qū)域作為私有地址,其地址范圍如下:A類地址:~55B類地址:~55C類地址:~55(3)為了使用方便,在訪問Internet上的主機(jī)時(shí),通常使用主機(jī)域名而不是IP地址,但主機(jī)域名和IP地址一一對(duì)應(yīng),它由圓點(diǎn)分隔的一序列單詞組成如“P"。IP地址如同電腦的身份證號(hào)碼,而域名相當(dāng)電腦的姓名。2.Internet的功能(1)信息瀏覽(WWW)WWW(WorldWideWeb),中文名為”萬維網(wǎng)“,是基于超文本的、方便用戶信息瀏覽和信息搜索的信息服務(wù)系統(tǒng)。用戶在瀏覽器中輸入網(wǎng)址即可得到需要的信息。人們常用的瀏覽器有網(wǎng)景公司的Netscape瀏覽器和Microsoft公司的InternetExplorer瀏覽器。網(wǎng)址的輸入是使用協(xié)議提供的服務(wù)+服務(wù)器地址(IP地址或主機(jī)域名)如http://;ftp://(2)文件傳輸(FTP)FTP(FileTransferProtocol)是Internet的一種標(biāo)準(zhǔn)協(xié)議,這一協(xié)議使用戶能在聯(lián)網(wǎng)的計(jì)算機(jī)之間傳送文件如上載(UPLOAD把本地計(jì)算機(jī)上地文件復(fù)制到遠(yuǎn)程計(jì)算機(jī)上)和下載第16頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)(DOWNLOAD把遠(yuǎn)程計(jì)算機(jī)上的文件復(fù)制到本地計(jì)算機(jī)上)。(3)傳送電子郵件(E-mail)電子郵件地址=用戶名+@+主機(jī)域名;如:zhangming@(4)電子公告牌(BBS)(5)遠(yuǎn)程登錄(telnet)(6)電子商務(wù)等3.TCP/IP參考模型TCP/IP協(xié)議的開發(fā)研制人員將Internet分為五個(gè)層次,以便于理解,它也稱為互聯(lián)網(wǎng)分層模型或互聯(lián)網(wǎng)分層參考模型,如下表:應(yīng)用層(第五層)傳輸層(第四層)互聯(lián)網(wǎng)層(第三層)網(wǎng)絡(luò)接口層(第二層)物理層(第一層)各層簡(jiǎn)要說明如下:物理層:對(duì)應(yīng)于網(wǎng)絡(luò)的基本硬件,這也是Internet物理構(gòu)成,即我們可以看得見的硬件設(shè)備,如PC機(jī)、互連網(wǎng)服務(wù)器、網(wǎng)絡(luò)設(shè)備等,必須對(duì)這些硬件設(shè)備的電氣特性作一個(gè)規(guī)范,使這些設(shè)備都能夠互相連接并兼容使用。網(wǎng)絡(luò)接口層:它定義了將數(shù)據(jù)組成正確幀的規(guī)程和在網(wǎng)絡(luò)中傳輸幀的規(guī)程,幀是指一串?dāng)?shù)據(jù),它是數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)膯挝弧;ヂ?lián)網(wǎng)層:本層定義了互聯(lián)網(wǎng)中傳輸?shù)摹靶畔备袷?,以及從一個(gè)用戶通過一個(gè)或多個(gè)路由器到最終目標(biāo)的""信息包""轉(zhuǎn)發(fā)機(jī)制。傳輸層:為兩個(gè)用戶進(jìn)程之間建立、管理和拆除可靠而又有效的端到端連接。應(yīng)用層:它定義了應(yīng)用程序使用互聯(lián)網(wǎng)的規(guī)程。計(jì)算機(jī)信息安全基礎(chǔ)知識(shí)4.1計(jì)算機(jī)的網(wǎng)絡(luò)安全1、不同環(huán)境和應(yīng)用中的網(wǎng)絡(luò)安全運(yùn)行系統(tǒng)安全,即保證信息處理和傳輸系統(tǒng)的安全。它側(cè)重于保證系統(tǒng)正常運(yùn)行,避免因?yàn)橄到y(tǒng)的崩潰和損壞而對(duì)系統(tǒng)存貯、處理和傳輸?shù)男畔⒃斐善茐暮蛽p失,避免由于電磁泄漏,產(chǎn)生信息泄露,干擾他人,受他人干擾。網(wǎng)絡(luò)上系統(tǒng)信息的安全。包括用戶口令鑒別,用戶存取權(quán)限控制,數(shù)據(jù)存取權(quán)限、方式控制,安全審計(jì),安全問題跟蹤,計(jì)算機(jī)病毒防治,數(shù)據(jù)加密。網(wǎng)絡(luò)上信息傳播安全,即信息傳播后果的安全。包括信息過濾等。它側(cè)重于防止和控制非法、有害的信息進(jìn)行傳播后的后果。避免公用網(wǎng)絡(luò)上大量自由傳輸?shù)男畔⑹Э?。網(wǎng)絡(luò)上信息內(nèi)容的安全。它側(cè)重于保護(hù)信息的保密性、真實(shí)性和完整性。避免攻擊者利用系統(tǒng)的安全漏洞進(jìn)行竊聽、冒充、詐騙等有損于合法用戶的行為。本質(zhì)上是保護(hù)用戶的利益和隱私。網(wǎng)絡(luò)安全的特征2、網(wǎng)絡(luò)安全應(yīng)具有以下四個(gè)方面的特征:保密性:信息不泄露給非授權(quán)用戶、實(shí)體或過程,或供其利用的特性。第17頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)完整性:數(shù)據(jù)未經(jīng)授權(quán)不能進(jìn)行改變的特性。即信息在存儲(chǔ)或傳輸過程中保持不被修改、不被破壞和丟失的特性。可用性:可被授權(quán)實(shí)體訪問并按需求使用的特性。即當(dāng)需要時(shí)能否存取所需的信息。例如網(wǎng)絡(luò)環(huán)境下拒絕服務(wù)、破壞網(wǎng)絡(luò)和有關(guān)系統(tǒng)的正常運(yùn)行等都屬于對(duì)可用性的攻擊;可控性:對(duì)信息的傳播及內(nèi)容具有控制能力。3、主要的網(wǎng)絡(luò)安全威脅自然災(zāi)害、意外事故;計(jì)算機(jī)犯罪;人為行為,比如使用不當(dāng),安全意識(shí)差等;“黑客”行為:由于黑客的入侵或侵?jǐn)_,比如非法訪問、拒絕服務(wù)計(jì)算機(jī)病毒、非法連接等;內(nèi)部泄密;外部泄密;信息丟失;電子諜報(bào),比如信息流量分析、信息竊取等;信息戰(zhàn);網(wǎng)絡(luò)協(xié)議中的缺陷,例如TCP/IP協(xié)議的安全問題等等。4、黑客常用的信息收集工具信息收集是突破網(wǎng)絡(luò)系統(tǒng)的第一步。黑客可以使用下面幾種工具來收集所需信息:SNMP協(xié)議,用來查閱非安全路由器的路由表,從而了解目標(biāo)機(jī)構(gòu)網(wǎng)絡(luò)拓?fù)涞膬?nèi)部細(xì)節(jié)。TraceRoute程序,得出到達(dá)目標(biāo)主機(jī)所經(jīng)過的網(wǎng)絡(luò)數(shù)和路由器數(shù)。Whois協(xié)議,它是一種信息服務(wù),能夠提供有關(guān)所有DNS域和負(fù)責(zé)各個(gè)域的系統(tǒng)管理員數(shù)據(jù)。(不過這些數(shù)據(jù)常常是過時(shí)的)。DNS服務(wù)器,可以訪問主機(jī)的IP地址表和它們對(duì)應(yīng)的主機(jī)名。Finger協(xié)議,能夠提供特定主機(jī)上用戶們的詳細(xì)信息(注冊(cè)名、電話號(hào)碼、最后一次注冊(cè)的時(shí)間等)。Ping實(shí)用程序,可以用來確定一個(gè)指定的主機(jī)的位置并確定其是否可達(dá)。把這個(gè)簡(jiǎn)單的工具用在掃描程序中,可以Ping網(wǎng)絡(luò)上每個(gè)可能的主機(jī)地址,從而可以構(gòu)造出實(shí)際駐留在網(wǎng)絡(luò)上的主機(jī)清單。4.2計(jì)算機(jī)病毒計(jì)算機(jī)病毒是一種程序,是人為設(shè)計(jì)的具有破壞性的程序。計(jì)算機(jī)病毒具有破壞性、傳播性、可激發(fā)性、潛伏性、隱蔽性等特點(diǎn)。3.病毒的分類(1)按病毒設(shè)計(jì)者的意圖和破壞性大小,可將計(jì)算機(jī)病毒分為良性病毒和惡性病毒。①良性病毒:這種病毒的目的不是為了破壞計(jì)算機(jī)系統(tǒng),而只是為了編制者表現(xiàn)自己。此類病毒破壞性較小,只是造成系統(tǒng)運(yùn)行速度降低,干擾用戶正常工作。②惡性病毒:這類病毒的目的是人為的破壞計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)。具有明顯破壞目標(biāo),其破壞和危害性都很大,可能刪除文件或?qū)τ脖P進(jìn)行非法的格式化。(2)計(jì)算機(jī)病毒按照寄生方式可以分為下列四類:①源碼病毒:在源程序被編譯之前,就插入到用高級(jí)語言編寫的源程序當(dāng)中。編寫這種病毒程序較困難。但是,一旦插入,其破壞性和危害性都很大。②入侵病毒:是把病毒程序的一部分插入到主程序中。這種病毒程序也難編寫,一旦入侵,難以清除。②操作系統(tǒng)病毒:是把病毒程序加入或替代部分操作系統(tǒng)進(jìn)行工作的病毒。這種病毒攻擊力強(qiáng)、常見、破壞性和危害性最大。第18頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)④外殼病毒:是把病毒程序置放在主程序周圍,一般不修改源程序的一種病毒。它大多是感染DOS下的可執(zhí)行程序。這種病毒占一半以上,易編制,也易于檢測(cè)和消除。在日常維護(hù)中應(yīng)隔離計(jì)算機(jī)病毒的來源,經(jīng)常要用殺毒軟件檢查計(jì)算機(jī)系統(tǒng)和存儲(chǔ)器。例設(shè)一張軟盤已染上病毒,能清除病毒的措施是____。A)刪除該軟盤上的所有文件B)格式化該軟盤C)刪除該軟盤上的所有可執(zhí)行文件D)刪除該軟盤上的所有批處理文件解答:軟盤染毒后,病毒隱藏在磁盤內(nèi)部,并感染磁盤上的文件,而且可能通過磁盤的使用進(jìn)而擴(kuò)散到其他磁盤,造成更大的破壞。為了清除病毒,必須格式化軟盤,從而徹底清除染毒文件和病毒本身。本題正確答案為B。Pascal語言Pascal語言概述與預(yù)備知識(shí)1、關(guān)于TurboPascalPascal是一種計(jì)算機(jī)通用的高級(jí)程序設(shè)計(jì)語言。它由瑞士NiklausWirth教授于六十年代末設(shè)計(jì)并創(chuàng)立。以法國(guó)數(shù)學(xué)家命名的Pascal語言現(xiàn)已成為使用最廣泛的基于DOS的語言之一,其主要特點(diǎn)有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運(yùn)行效率高;查錯(cuò)能力強(qiáng)。正因?yàn)樯鲜鎏攸c(diǎn),Pascal語言可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)。尤其是對(duì)于程序設(shè)計(jì)的初學(xué)者,Pascal語言有益于培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格和習(xí)慣。IOI(國(guó)際奧林匹克信息學(xué)競(jìng)賽)把Pascal語言作為三種程序設(shè)計(jì)語言之一,NOI(全國(guó)奧林匹克信息學(xué)競(jìng)賽)把Pascal語言定為唯一提倡的程序設(shè)計(jì)語言,在大學(xué)中Pascal語言也常常被用作學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教學(xué)語第19頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)言。在Pascal問世以來的三十余年間,先后產(chǎn)生了適合于不同機(jī)型的各種各樣版本。其中影響最大的莫過于TurboPascal系列軟件。它是由美國(guó)Borland公司設(shè)計(jì)、研制的一種適用于微機(jī)的Pascal編譯系統(tǒng)。該編譯系統(tǒng)由1983年推出1.0版本發(fā)展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。下面列出TurboPascal的編年史:出版年代198319851987198819891990199219931995版本名稱TurboPascal1.0TurboPascal2.0Turbo-87PascalTurboPascal3.0TurboBCDPascalTurboPascal4.0TurboPascal5.0TurboPascal5.5TurboPascal6.0TurboPascal7.0TurboVision2.0BorlandPascal7.0開發(fā)Delphi(ObjectPascal)VisualPascalFreePascal主要特色提高實(shí)數(shù)運(yùn)算速度并擴(kuò)大值域增加圖形功能特別適合應(yīng)用于商業(yè)提供集成開發(fā)環(huán)境(IDE),引入單元概念增加調(diào)試功能支持面向?qū)ο蟮某绦蛟O(shè)計(jì)(OPP)提供面向?qū)ο蟮膽?yīng)用框架和庫(kù)(TurboVision)面向?qū)ο蟮膽?yīng)用系統(tǒng)、更完善的IDEObjectWindows庫(kù)(ForWindows)提供對(duì)OLE多媒體應(yīng)用開發(fā)的支持TurboPascal語言是編譯型程序語言,它提供了一個(gè)集成環(huán)境的工作系統(tǒng),集編輯、編譯、運(yùn)行、調(diào)試等多功能于一體。第20頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)請(qǐng)參考百度百科的介紹2.Pascal的啟動(dòng)Pascal的啟動(dòng)a.DOS下的啟動(dòng)(適用于MS-DOS6.22之前的版本或Win9X&Win2000的CommandMode)DOS環(huán)境,在裝有TurboPascal的文件目錄下,鍵入turbo即可進(jìn)入TurboPascal集成環(huán)境。b.Win9X或Win2000模式下的啟動(dòng)(適用于TurboPascal3.0以后的版本)如果在Win9X或Win2000的“資源管理器”裝有TurboPascal的目錄中,雙擊turbo.exe或在“開始--程序”菜單中通過MS-DOS方式來運(yùn)行turbo.exe,它會(huì)提示你“該程序設(shè)置為MS-DOS方式下運(yùn)行,并且其它程序運(yùn)行時(shí),無法運(yùn)行它。如果選擇繼續(xù)所有其它程序?qū)㈥P(guān)閉”,所以在Win9X或Win2000下無法直接運(yùn)行它,這時(shí)你可以在你希望的地方(比如說桌面上)單擊鼠標(biāo)右鍵“新建--快捷方式”,單擊“瀏覽”,找到turbo.exed選中,然后單擊“打開”,再單擊“下一步”,再單擊完成;這還沒完,選中前面新建的快捷方式(應(yīng)該叫TurboPascal吧),單擊右鍵,單擊“屬性”,選擇“程序”,然后再單擊“高級(jí)”,把“MS-DOS方式”前面的那個(gè)勾去掉,也就是不要選“MS-DOS方式”,然后單擊“確定”,再單擊“確定”就大功告成了,以后你運(yùn)行TurboPascal的時(shí)候,只要雙擊那個(gè)你建立起的快捷方式就可以直接在Win9X或Win2000下運(yùn)行TurboPascal。開始編寫pascal語言程序1.1Pascal編輯環(huán)境1.下載TurboPascal6.0(1)(2)屬性設(shè)置2.TurboPascal6.0環(huán)境介紹(1)進(jìn)入與退出(注意:退出時(shí)必須使用文件菜單中的退出命令或Alt+X)(2)編輯程序光標(biāo)移動(dòng)鍵的使用Backspace鍵:刪除光標(biāo)前一個(gè)字符Ctrl+N:在光標(biāo)前插入一行Ctrl+Y:刪除光標(biāo)所在行Home:光標(biāo)移到行首End:光標(biāo)移到行尾PageUp/PageDown:上下翻頁Insert:插入與改寫狀態(tài)切換(3)編譯程序(Compile):Alt+F9(4)運(yùn)行程序(Run):Ctrl+F9(5)保存程序(Save):F2(6)打開原有的程序:F3(7)查看程序運(yùn)行結(jié)果:Alt+F5(8)調(diào)試時(shí)增加觀察項(xiàng):Ctrl+F7第21頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)1.2簡(jiǎn)單Pascal程序的結(jié)構(gòu)例1下列是一Pascal源程序:programlt1;{程序首部}var{說明部分}a,b:integer;sum:integer;begin{執(zhí)行部分}a:=3355;b:=789;sum:=a+b;writeln('sum=',sum);end.1.3完整的Pascal程序結(jié)構(gòu)一個(gè)完全的Pascal程序結(jié)構(gòu)program程序名;uses已知單元說明;label標(biāo)號(hào)說明;const常量說明;type類型說明;var變量說明;function函數(shù)說明;procedure過程說明;begin語句;語句;……語句;end.作業(yè):1.熟悉Pascal編輯環(huán)境.2.記住快捷鍵的使用.3.編寫78*67的值的Pascal程序并運(yùn)行.Pascal語言基礎(chǔ)知識(shí)2.1Pascal字符與符號(hào)1.標(biāo)識(shí)符(1)標(biāo)識(shí)符的定義:標(biāo)識(shí)符就是以字母開頭的字母數(shù)字序列,有效長(zhǎng)度為63個(gè)字符,并且大第22頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)小寫等效。可以用來標(biāo)示常量、變量、程序、函數(shù)等。例如例1.1中的Area(程序名),pi(符號(hào)常量),s、r(變量名)都是標(biāo)識(shí)符。(2)標(biāo)識(shí)符的分類:a.保留字(關(guān)鍵字)所謂保留字是指在Pascal語言中具有特定的含義,你必須了解它的含義,以便于正確的使用,否則會(huì)造成錯(cuò)誤。標(biāo)準(zhǔn)Pascal語言中的保留字一共有35個(gè),TurboPascal語言一共有51個(gè)。下面是Pascal語言的保留字:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,F(xiàn)ILE,F(xiàn)OR,F(xiàn)UNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH等b.標(biāo)準(zhǔn)標(biāo)識(shí)符:指Pascal語言預(yù)先定義的標(biāo)識(shí)符,具有特殊含義。以下列舉了TurboPascal語言部分常用的標(biāo)準(zhǔn)表識(shí)符:標(biāo)準(zhǔn)常量FalseMaxintTrue標(biāo)準(zhǔn)類型BooleanCharRealInteger標(biāo)準(zhǔn)函數(shù)AbsArctanChrCosEofEolnExpLnOddOrdPredRoundSinSqrSqrtSuccTrunc標(biāo)準(zhǔn)過程DisposeGetNewPackPagePutReadReadlnResetRewriteUnpackWriteWriteln標(biāo)準(zhǔn)文件InputOutputc.用戶自定義標(biāo)識(shí)符:由你自己根據(jù)需要來定義。(1)選用的標(biāo)識(shí)符不能和保留字相同。(2)語法上允許預(yù)定義的標(biāo)準(zhǔn)標(biāo)識(shí)符作為你自己定義的標(biāo)識(shí)符使用,但最好還是不要用。以下列舉了你自己在定義標(biāo)識(shí)符時(shí)可以用的字符:A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^2.2Pascal數(shù)據(jù)類型數(shù)據(jù)是程序設(shè)計(jì)的一個(gè)重要內(nèi)容,其重要特征數(shù)據(jù)類型,確定了該數(shù)據(jù)的形、取值范圍以及所能參與的運(yùn)算。TurboPascal提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型可以分為三大類:簡(jiǎn)單類型、構(gòu)造類型和指針類型,其中簡(jiǎn)單類型可以分為標(biāo)準(zhǔn)類型(整型、實(shí)型、字符型和布爾型)和自定義類型(枚舉型和子界型),構(gòu)造類型可以分為數(shù)組類型、集合類型、記錄類型和文件類型。這些數(shù)據(jù)類型中除了指針類型是動(dòng)態(tài)數(shù)據(jù)類型外,其他的都是靜態(tài)數(shù)據(jù)類型。在這些數(shù)據(jù)類型中的簡(jiǎn)單類型都是有序類型,除了實(shí)型以外的簡(jiǎn)單類型都是順序類型,所謂順序類型就是他們的值不僅是有序的而且是有順序號(hào)。在這里主要介紹整型、實(shí)型、字符型和布爾型四種常用的數(shù)據(jù)類型。1.整型一個(gè)整型數(shù)據(jù)用來存放整數(shù)。TurboPascal支持五種預(yù)定義整型,它們是shortint(短整型)、integer(整型)、longint(長(zhǎng)整型)、byte(字節(jié)型)和word(字類型),TurboPascal分別用相同的名字作為他們的標(biāo)識(shí)符。每一種類型規(guī)定了相應(yīng)的整數(shù)取值范圍以及所占用的內(nèi)存字節(jié)數(shù)。第23頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)類型數(shù)值范圍占字節(jié)數(shù)格式shortint-128..1281帶符號(hào)8位inteter-32768..327672帶符號(hào)16位longint-2147483648..21474836474帶符號(hào)32位byte0..2551帶符號(hào)8位word0..655352帶符號(hào)16位TurboPascal規(guī)定了兩個(gè)預(yù)定義整型常量標(biāo)識(shí)符maxint和maxlonint,他們各表示確定的常數(shù)值,maxint為32767,longint為2147483647,他們的類型分別是integer和longint2.實(shí)型一個(gè)實(shí)型數(shù)據(jù)用來存放實(shí)數(shù)。TurboPascal支持五種預(yù)定義實(shí)型,它們是real(基本實(shí)型)、single(但精度實(shí)型)、double(雙精度實(shí)型)、extended(擴(kuò)展實(shí)型)、comp(裝配實(shí)型),TurboPascal分別用相同的名字作為他們的標(biāo)識(shí)符。每一種類型規(guī)定了相應(yīng)的實(shí)數(shù)取值范圍、所占用的內(nèi)存字節(jié)數(shù)以及它們所能達(dá)到的精度類型數(shù)值范圍占字節(jié)數(shù)有效位數(shù)real2.9e-39..1.7e38611..12single1.5e-45..3.4e3847..8double5.0e-324..1.7e308815..16TurboPascal支持兩種用于執(zhí)行實(shí)型運(yùn)算的代碼生成模式:軟件仿真模式和80x87浮點(diǎn)模式。除了real可以在軟件仿真模式下直接運(yùn)行以外,其他類型必須在80x87浮點(diǎn)模式下運(yùn)行。3.布爾型一個(gè)布爾型數(shù)據(jù)用來存放邏輯值(布爾值)。布爾型的值只有兩個(gè):false和true,并且false的序號(hào)是0,true的序號(hào)是1。false和true都是預(yù)定義常數(shù)標(biāo)識(shí)符,分別表示邏輯假和邏輯真。并且true<false。boolean是布爾型的標(biāo)識(shí)符。4.字符型字符型用char作為標(biāo)識(shí)符。字符型必須用單引號(hào)括起來,字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號(hào)中有一個(gè)字符,否則就是字符串。2.3常量與變量1.常量(1)常量:在某個(gè)程序的整個(gè)過程中其值不變的量。(2)常量定義:常量定義出現(xiàn)在說明部分。它的語法格式是:const<常量標(biāo)識(shí)符>=<常量>;...<常量標(biāo)識(shí)符>=<常量>;常量標(biāo)識(shí)符的類型由定義它的常量的類型決定。例如:consta=12隱含說明a是整型;constr=3.21隱含說明r是實(shí)型(3)常量定義部分必須以保留字const開頭,可以包含一個(gè)或幾個(gè)常量定義,而且每個(gè)常量均以分號(hào)結(jié)束。(4)TurboPascal類型常量類型常量,又稱變量常數(shù),它是TurboPascal的一個(gè)擴(kuò)充特性。類型常量的定義與標(biāo)準(zhǔn)Pascal規(guī)定的常數(shù)定義和變量說明有所區(qū)別。類型常量定義的語法格式:const<簡(jiǎn)單類型常量標(biāo)識(shí)符>:簡(jiǎn)單類型=常數(shù);第24頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)例如:constcounter:integer=0;flag:boolean=true;index:0..100=0;2.變量(1)變量:在某個(gè)程序中的運(yùn)行過程中其值可以發(fā)生改變的量(2)變量說明:變量說明出現(xiàn)在說明部分。它的語法格式是:var<變量標(biāo)識(shí)符列表>:<類型>;...<變量標(biāo)識(shí)符列表>:<類型>;其中,保留字var表示開始一個(gè)變量說明部分。變量標(biāo)識(shí)符列表是一個(gè)用逗號(hào)隔開的標(biāo)識(shí)符序列,冒號(hào)后面的類型是類型標(biāo)識(shí)符。每個(gè)變量說明均以分號(hào)結(jié)束。例如:vara,b,c:integer;m,n:real;2.4標(biāo)準(zhǔn)函數(shù)1.算術(shù)函數(shù)函數(shù)標(biāo)識(shí)符自變量類型意義結(jié)果類型abs整型、實(shí)型絕對(duì)值同自變量arctan整型、實(shí)型反正切實(shí)型cos整型、實(shí)型余弦實(shí)型exp整型、實(shí)型指數(shù)實(shí)型frac整型、實(shí)型小數(shù)部分實(shí)型int整型、實(shí)型整數(shù)部分實(shí)型ln整型、實(shí)型自然對(duì)數(shù)實(shí)型pi無自變量圓周率實(shí)型sin整型、實(shí)型正弦實(shí)型sqr整型、實(shí)型平方同自變量sqrt整型、實(shí)型平方根實(shí)型例:abs(-4)=4abs(-7.49)=7.49arctan(0)=0.0sin(pi)=0.0cos(pi)=-1.0frac(-3.71)=-0.71int(-3.71)=-3.0sqr(4)=16sqrt(4)=22.標(biāo)準(zhǔn)函數(shù)函數(shù)標(biāo)識(shí)符自變量類型意義結(jié)果類型odd整型判斷奇數(shù)布爾型pred離散類型求前趨同自變量succ離散類型求后繼同自變量例:odd(1000)=falsepred(2000)=1999succ(2000)=2001odd(3)=truepred('x')='wsucc('x')='y'3.轉(zhuǎn)換函數(shù)函數(shù)標(biāo)識(shí)符自變量類型意義結(jié)果類型第25頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)chrbyte自變量對(duì)應(yīng)的字符字符型ord離散類型自變量對(duì)應(yīng)的序號(hào)longintround實(shí)型四舍五入longinttrunc實(shí)型截?cái)嗳≌鹟ongint例:chr(66)='B'ord('A')=65round(-4.3)=-5trunc(2.88)=24.雜類函數(shù)函數(shù)標(biāo)識(shí)符自變量類型意義結(jié)果類型random無自變量[0,1間的隨機(jī)實(shí)數(shù)realrandomword[0,自變量間的隨機(jī)整數(shù))wordrandomize無自變量初始化內(nèi)部隨機(jī)數(shù)產(chǎn)生器longintupcase字符型使小寫英文字母變?yōu)榇髮懽址蚫owncase字符型使小寫英文字母變?yōu)榇髮懽址?.5運(yùn)算符和表達(dá)式1.運(yùn)算符和優(yōu)先級(jí)(1)運(yùn)算符是實(shí)型,如果全部的運(yùn)算對(duì)象都是整型并且運(yùn)算不是除法,則結(jié)果為整型,若運(yùn)算是除法,則結(jié)果是實(shí)型a.算術(shù)運(yùn)算符運(yùn)算符運(yùn)算運(yùn)算對(duì)象結(jié)果類型+加整型、實(shí)型只要有一個(gè)運(yùn)算對(duì)象是實(shí)型,結(jié)果就-減整型、實(shí)型是實(shí)型,如果全部的運(yùn)算對(duì)象都是整*乘整型、實(shí)型型并且運(yùn)算不是除法,則結(jié)果為整型,/除整型、實(shí)型若運(yùn)算是除法,則結(jié)果是實(shí)型。div整除整型整型mod取余整型整型b.邏輯運(yùn)算符運(yùn)算符運(yùn)算運(yùn)算對(duì)象結(jié)果類型not邏輯非布爾型布爾型and邏輯與布爾型布爾型or邏輯或布爾型布爾型xor邏輯異或布爾型布爾型c.關(guān)系運(yùn)算符運(yùn)算符運(yùn)算運(yùn)算對(duì)象結(jié)果類型=等于簡(jiǎn)單類型布爾型<>不等于簡(jiǎn)單類型布爾型<小于簡(jiǎn)單類型布爾型>大于簡(jiǎn)單類型布爾型<=小于等于簡(jiǎn)單類型布爾型>=大于等于簡(jiǎn)單類型布爾型(2)優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)not1(高)*,/,div,mod,and2xor,+,-,or3in,=,<>,>=,<=,<>4(低)第26頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)2.表達(dá)式(1)算術(shù)表達(dá)式:算術(shù)表達(dá)式是由算術(shù)運(yùn)算符連接常量、變量、函數(shù)的式子。算術(shù)表達(dá)式中各個(gè)運(yùn)算符的次序?yàn)椋?)-->函數(shù)-->*,/,div,mod-->+,1(2)布爾表達(dá)式:TurboPascal提供給布爾表達(dá)式以下基本操作:邏輯運(yùn)算和關(guān)系運(yùn)算。(3)數(shù)學(xué)上的表達(dá)式與pascal語言表達(dá)式的區(qū)別數(shù)學(xué)表達(dá)式PASCAL表達(dá)式注意2a2*a*號(hào)不能省略a÷ba/b除號(hào)的寫法a≠ba<>b不等號(hào)的寫法a≤ba<=b小于等于號(hào)的寫法思考與練習(xí):1、熟記Pascal的保留字和標(biāo)準(zhǔn)標(biāo)識(shí)符,明確自定義標(biāo)識(shí)符的定義要點(diǎn)。2、取整函數(shù)int與截?cái)嗳≌瘮?shù)trunc有什么區(qū)別?舉例說明。3、判斷以下標(biāo)識(shí)符的合法性:a33aa17abcdex9.5αβλ5、將下列的數(shù)學(xué)表達(dá)式改寫成PASCAL表達(dá)式:b^2-4ac6、求下列表達(dá)式的值:20mod1915mod97div819div3(4>5)and(7<8)(8>9)or(9<10)2and((3=3)or(3<7))順序結(jié)構(gòu)程序設(shè)計(jì)3.1賦值語句PASCAL有兩個(gè)語句可以改變變量的值。賦值語句是其中之一(另一個(gè)是讀語句)。賦值,顧名思義,就是把一個(gè)值賦予某個(gè)量??梢赃@理解:變量相當(dāng)于裝東西的容器,賦值的過程就是把東西放進(jìn)容器的過程。賦值語句格式如下:變量:=表達(dá)式;寫賦值語句有以下幾點(diǎn)要注意:1、賦值號(hào)“:=”賦值號(hào)由兩個(gè)字符構(gòu)成,是一個(gè)運(yùn)算符。如果把這兩個(gè)字符拆開,那么這兩個(gè)字符就是別的意思了:“:”是分隔符而“=”是關(guān)系運(yùn)算符,判定兩個(gè)對(duì)象是否相等。剛剛寫程序的同學(xué)要特別注意這一點(diǎn)。例:a,b:integer;——是一個(gè)說明語句?!埃骸笔亲兞勘砗妥兞款愋偷姆指舴鸻=b——是一個(gè)表達(dá)式。它的值是一個(gè)布爾類型的量:TRUE或FALSEa:=3;——是一個(gè)語句。把整型常量值3賦給整型變量a2、變量要先說明在賦值號(hào)左邊出現(xiàn)的變量,要在程序頭的說明部先加以說明,否則編譯時(shí)出錯(cuò)。第27頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)3、表達(dá)式必須要有確定的值賦值號(hào)右邊出現(xiàn)的表達(dá)式,必須是可以求值的。也就是說,經(jīng)過運(yùn)算之后,能得出一個(gè)具體的、確定的值出來。大家想一想,如果連表達(dá)式自己都不知道自己的值是多少,怎么還能把值“賦予”別人呢?4、賦值號(hào)兩邊的數(shù)據(jù)類型必須相同或相容我們知道,PASCAL中的量不管是變量還是常量都有一個(gè)屬性稱為“數(shù)據(jù)類型”。數(shù)據(jù)類型相同的或相容的才可以相互賦值。怎么來理解這句話呢?打個(gè)比方,我們沏功夫茶用的是小茶杯,裝飯時(shí)用飯碗。如果用飯碗來泡功夫茶,用小茶杯來裝飯,那情形一定很滑稽而且是不可行的?;氐絇ASCAL中來,賦值號(hào)左邊變量如果是整型,右邊表達(dá)式的值的類型也要是整型;賦值號(hào)左邊變量如果是字符型,右邊表達(dá)式的值的類型也要是字符型……否則的話,也要出錯(cuò)了。這是數(shù)據(jù)類型相同的情況。對(duì)于數(shù)據(jù)類型相容的,我們也可以用一個(gè)例子來幫助理解。我們都喝過功夫茶,也喝過大杯茶。把功夫茶倒在大茶杯里,一般不會(huì)出什么問題;但如果把大杯里的茶倒在功夫茶杯里呢?可能小茶杯裝不下大茶杯里的茶,茶“溢出”了。在PASCAL中也會(huì)出現(xiàn)這種情況。當(dāng)一種數(shù)據(jù)類型的取值范圍包含著另一種數(shù)據(jù)類型的取值范圍時(shí),就可能出現(xiàn)類型相容的情況。如實(shí)型與整型,整型、字符型與它們各自的子界類型……如果把整型值賦給實(shí)型變量,把整型子界值賦給整型變量,不會(huì)出錯(cuò);但如果反過來,就會(huì)出現(xiàn)“溢出”,出錯(cuò)了。因些,我們?cè)趯戀x值語句時(shí),要注意兩邊的類型是否匹配。例:有程序如下:vara,b:integer;c:real;d:0..100;begina:=100;b:=a;{以上是相同數(shù)據(jù)類型進(jìn)行賦值}d:=100;b:=d;c:=b;{以上是相容數(shù)據(jù)類型進(jìn)行賦值}d:=b;a:=c;{以上兩個(gè)賦值語句都出現(xiàn)溢出,編譯時(shí)出錯(cuò)}end.3.2讀語句讀語句(read語句)和賦值語句一樣,能夠改變變量的值。與賦值語句不同,讀語句從鍵盤或文件接收值賦予變量,而賦值語句則直接由程序語句獲得。讀語句格式如下:read(變量名表);readln(變量名表);readln;讀語句是編程中用得最多的語句之一。在使用時(shí)有幾點(diǎn)要注意:1、變量名表。寫在括號(hào)中的變量,都要在變量說明中先預(yù)以說明;變量與變量之間,以“,”分隔;第28頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)例:vara,b:integer;read(a,b);2、從鍵盤接收數(shù)據(jù)時(shí),要注意各種不同數(shù)據(jù)類型數(shù)據(jù)的分隔符不同。所謂分隔符就是兩個(gè)完整的數(shù)值之間的標(biāo)記,也可以這樣理解,當(dāng)計(jì)算機(jī)從鍵盤讀入數(shù)據(jù)時(shí),一旦碰到分隔符,就認(rèn)為當(dāng)前的數(shù)據(jù)讀入已完成,可以把它賦給相應(yīng)的變量了。各種數(shù)據(jù)類型的分隔符如下:數(shù)值型(包括整型、實(shí)型以及它們的子界類型)以空格或回車符作為分隔符;字符型不需分隔符(因?yàn)樽址蛿?shù)據(jù)的長(zhǎng)度固定,只有一個(gè));字符串以回車符作為分隔符。3、注意read與readln的區(qū)別例:有兩段程序有相同的變量說明如下,不同的讀語句,我們可以通過比較它們執(zhí)行結(jié)果的異同來理解read與readln的區(qū)別。變量說明程序段一vara,b,c,d:integer;read(a);readln(b,c);read(d);1236ab執(zhí)行結(jié)果cd程序段二輸入數(shù)據(jù)readln(a);read(b,c);read(d)123456781678在程序段一執(zhí)行時(shí),“read(a);”語句接收了第一個(gè)數(shù)據(jù)1并將它賦給變量a;接著執(zhí)行第二個(gè)語句“readln(b,c);”,接收了第一行數(shù)據(jù)中的2、3并把它們分別賦給變量b,c,同時(shí),把本行其它數(shù)據(jù)全部屏蔽掉,也就是宣布它們?nèi)孔鲝U。程序段二的執(zhí)行情況也是如此。因此,我們可以得出結(jié)論:語句read只管接收數(shù)據(jù),語句readln接收完數(shù)據(jù)后,還把同行的其它數(shù)據(jù)全部宣布作廢。4、“readln;”語句從鍵盤接收一個(gè)回車符。這個(gè)語句通常用在需要暫停的地方。如輸出時(shí)用來等待程序員看清結(jié)果。3.3寫語句寫(write)語句是Pascal中唯一能將運(yùn)算結(jié)果送出顯示在顯示器屏幕的語句。格式如下:write(輸出量表);{輸出后不換行}writeln(輸出量表);{輸出后換行}writeln;{輸出一個(gè)回車符}使用寫語句時(shí)也有一些小問題需要注意。1、輸出量可以是:變量。輸出變量的值。輸出多個(gè)變量時(shí),變量間用“,”分隔。表達(dá)式。輸出的是表達(dá)式的值。常量。直接輸出常量值。第29頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)2、場(chǎng)寬的限制在輸出不同格式的數(shù)值時(shí)的作用:例1:輸出多個(gè)空格。write('':n);句子的意思是以n個(gè)字符寬度輸出冒號(hào)前數(shù)據(jù)項(xiàng),如果數(shù)據(jù)項(xiàng)長(zhǎng)度不足n,則前面以空格補(bǔ)齊;如果數(shù)據(jù)項(xiàng)長(zhǎng)度大于n,則以實(shí)際長(zhǎng)度輸出。如上語句句輸出n個(gè)空格。例2:數(shù)據(jù)項(xiàng)間隔。如輸出最多四位的數(shù)據(jù):write(x:5)。則數(shù)據(jù)間至少分隔一個(gè)空格。例3:實(shí)型數(shù)據(jù)小數(shù)位數(shù)的確定。實(shí)型數(shù)據(jù)不帶格式限制時(shí),以科學(xué)計(jì)數(shù)法的形式輸出,和我們的一般書寫習(xí)慣不同。如果加上場(chǎng)寬的限制,則可以有不同的效果:vara:real;begina:=15/8;writeln(a);{輸出1.8750000000E+00}wiiteln(a:0:2);{輸出1.88整數(shù)部分按實(shí)際位數(shù)輸出,小數(shù)部分保留兩位小數(shù),末位四舍五入.}writeln(a:0:0):{輸出2只輸出整數(shù)部分,小數(shù)部分四舍五入}end.3、“writeln;”語句通常用于輸出多組數(shù)據(jù)時(shí)在屏幕上輸出空行來分隔數(shù)據(jù)組。思考與練習(xí):1、用字符輸出一個(gè)豬錦佳的頭像。2、a,b,c分別等于1、12、123,把它們按向左對(duì)齊、向右對(duì)齊的方式打印出來。3、輸入一個(gè)四位整數(shù),把它的各位數(shù)字倒序輸出。(提示:用MOD和DIV運(yùn)算完成)4、從鍵盤上讀入小寫的"pascal",利用CHR()和ORD()函數(shù),輸出大寫的"PASCAL"。5、從鍵盤上讀入一個(gè)實(shí)數(shù),利用ROUND()和TRUNC()函數(shù),輸出該實(shí)數(shù)本身、整數(shù)部分、小數(shù)部分、四舍五入后的值。要求:分三行輸出;輸出實(shí)數(shù)本身時(shí),格式與讀入時(shí)相同;整數(shù)部分、小數(shù)部分在同一行輸出;其它各占一行。6、從鍵盤上讀入長(zhǎng)方形的邊長(zhǎng)a,b,計(jì)算它的面積和周長(zhǎng),輸出。7、輸入一個(gè)時(shí)、分、秒,把它轉(zhuǎn)換為一個(gè)秒數(shù)。選擇結(jié)構(gòu)程序設(shè)計(jì)4.1IF語句條件語句用于響應(yīng)一個(gè)條件的兩個(gè)方面。例如:今天如果下雨,我們就在家;否則(不下雨)我們就去旅游。又如:如果已經(jīng)搜索得到結(jié)果,就打印出答案;否則(還沒得到結(jié)果)就繼續(xù)搜索。IF語句的一般格式是:IF條件THEN語句1{條件為真時(shí)的響應(yīng)、處理}ELSE語句2;{條件為假時(shí)的響應(yīng)、處理}第30頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)使用條件語句時(shí)要注意:1、條件語句是一個(gè)語句。IF、THEN、ELSE都是語句的一個(gè)部分。所以它只能有一個(gè)“;”作為分隔符,放在句子的結(jié)束,特別要注意不能放在ELSE之前。2、如果我們的程序只需對(duì)條件為真的情況作出處理,不需要處理?xiàng)l件為假的情況,則IF語句省略ELSE分句,格式變成:IF條件THEN語句1;{條件為真時(shí)的響應(yīng)、處理}如:如果數(shù)a大于等于0則輸出它的平方根。ifa>=0thenwriteln(sqrt(a));對(duì)以上的例子,條件為假時(shí)不需處理,于是我們干脆省去ELSE分句。3、if語句可以多層嵌套。嵌套時(shí)為了避免誤解,可以用begin,end括起嵌套部分;else分句一般和最近的if分句配套:IF條件THENBEGINif條件1then……else……;ENDELSEBEGINif條件2then……else……;end;例1、輸入兩個(gè)數(shù)a,b,輸出較大的數(shù)。programtt;vara,b:integer;beginwrite('pleaseinputa,b:');readln(a,b);ifa>bthenwriteln(a)elsewriteln(b);end.4.2CASE語句分情況語句適用于對(duì)一個(gè)條件的多種情況的響應(yīng)。格式:case表達(dá)式of標(biāo)號(hào)1:語句1;標(biāo)號(hào)2:語句2;……標(biāo)號(hào)n:語句n;else語句n+1end;case語句在使用時(shí)有幾點(diǎn)要注意:1.end與case對(duì)應(yīng);標(biāo)號(hào)與語句之間用“:”分隔;else與語句之間不用分隔符。2.標(biāo)號(hào)必須是一常量,其類型與表達(dá)式的類型一致例2:某全自動(dòng)加油站a,b,c三種汽油的單價(jià)(元/kg)分別是1.50、1.35和1.18,也提供了第31頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)“自己加”或“協(xié)助加”兩個(gè)服務(wù)等級(jí),這樣用戶可以得到5%或10%的優(yōu)惠。編一個(gè)程序,用戶輸入加油量、汽油品種和服務(wù)類型(f-自動(dòng),m-自己,e-協(xié)助),然后計(jì)算應(yīng)付款。programpcase1;varoil,help:char;kg,total:real;beginwrite('Entertheamountinkilograms(kg):');readln(kg);write('Whichtypeofthegasoline(a,b,c):');readln(oil);wirte('Whichtypeforservice(f,m,e):');readln(help);caseoilof'a':total:=1.50*kg;'b':total:=1.35*kg;'c':total:=1.18*kg;elsewriteln('InputError!')end;{——————處理汽油的類型}casehelpof'f':;'m':total:=total*(1-0.05);'e':total:=total*(1-0.10);elsewriteln('InputError!')end;{——————處理服務(wù)類型}writeln;writeln('Totalis',total:10:2);end.3.可以多個(gè)標(biāo)號(hào)對(duì)應(yīng)同一條語句4.語句可以是多個(gè)語句,但必須用語句括號(hào)(begin……end)括起5.case語句也可以嵌套例3:從鍵盤上讀入年和月,輸出該月有多少天。programpcase2;varyear,month,day:integer;runnian:boolean;beginwrite('Enteryearandmonth:');readln(year,month);casemonthof1,3,5,7,8,10,12:day:=31;4,6,9,11:day:=30;{————以上處理31天和30天的情況}2:beginrunnian:=(yearmod400=0)or((yearmod4=0)and(yearmod100<>0));caserunnianoftrue:day:=28;第32頁共230頁信息學(xué)奧賽輔導(dǎo)教程(PASCAL語言)false:day:=29;end;end;{————以上處理2月的情況:閏年28天,平年29天}end;end.思考與練習(xí):1、從鍵盤上讀入長(zhǎng)方形的邊長(zhǎng)a,b,計(jì)算它的面積和周長(zhǎng),輸出。2、輸入一個(gè)時(shí)、分、秒,把它轉(zhuǎn)換為一個(gè)秒數(shù)。3、從鍵盤讀入一個(gè)數(shù),判斷它的正負(fù)。是正數(shù),則輸出"+",是負(fù)數(shù),則輸出"-"。4、輸入兩個(gè)數(shù)a,b,輸出較大數(shù)的平方值。5、鐵路托運(yùn)行李規(guī)定:行李重不超過50公斤的,托運(yùn)費(fèi)按每公斤0.15元計(jì)費(fèi);如超50公斤,超過部分每公斤加收0.10元。編一程序完成自動(dòng)計(jì)費(fèi)工作。6、某超市為了促銷,規(guī)定:購(gòu)物不足5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)歷史下冊(cè)第一單元測(cè)試題及答案
- 印刷行業(yè)供應(yīng)鏈協(xié)同效應(yīng)-洞察分析
- 虛擬現(xiàn)實(shí)購(gòu)物行為研究-洞察分析
- 停車場(chǎng)碳排放減排研究-洞察分析
- 藝術(shù)傳承與鄉(xiāng)村振興戰(zhàn)略-洞察分析
- 退變關(guān)節(jié)藥物臨床應(yīng)用前景探討-洞察分析
- 土地征收與經(jīng)濟(jì)發(fā)展-洞察分析
- 文化創(chuàng)意產(chǎn)品設(shè)計(jì)與市場(chǎng)-洞察分析
- 《實(shí)數(shù)的有關(guān)概念》課件
- 印刷數(shù)字化進(jìn)程-洞察分析
- GB/T 28035-2011軟件系統(tǒng)驗(yàn)收規(guī)范
- 動(dòng)物生理學(xué)第十二章 泌乳課件
- 史記·秦始皇本紀(jì)課件
- 化妝品產(chǎn)品召回模擬演練記錄表格
- 痤瘡示意圖課件
- 綜合管理部負(fù)責(zé)人(部長(zhǎng))崗位職責(zé)
- 腫瘤放射治療技術(shù)-總論課件
- 人才培養(yǎng)方案匯報(bào)課件
- 檢驗(yàn)科15項(xiàng)質(zhì)量控制指標(biāo)(檢驗(yàn)科質(zhì)控小組活動(dòng)記錄)
- 5S評(píng)分基準(zhǔn)模板
- 外研社小學(xué)英語三起點(diǎn)五年級(jí)上冊(cè)(中英文對(duì)照)
評(píng)論
0/150
提交評(píng)論