高一第一學(xué)期信息技術(shù)競(jìng)賽輔導(dǎo)總結(jié)
信息技術(shù)高一第一學(xué)期學(xué)科競(jìng)賽輔導(dǎo)總結(jié)
連州中學(xué)
201*年1月15日
由教育部基礎(chǔ)教育一司、二司指導(dǎo),中央電化教育管主辦的第12屆全國(guó)中小學(xué)電腦制作活動(dòng)將于201*年3月底舉行。全國(guó)中小學(xué)電腦制作活動(dòng)是豐富中小學(xué)生學(xué)習(xí)生活,培養(yǎng)創(chuàng)新精神和實(shí)踐能力,推進(jìn)中小學(xué)普及信息技術(shù)教育的重要措施,也是各地中小學(xué)信息技術(shù)教育成果的集中展示。廣東省教育廳下發(fā)的《關(guān)于舉辦第十二屆全國(guó)中小學(xué)電腦制作活動(dòng)》文件的要求,為發(fā)揮信息技術(shù)教育優(yōu)勢(shì),提高學(xué)生綜合素質(zhì),豐富第二課堂教學(xué)活動(dòng),培養(yǎng)創(chuàng)新人才,全面推進(jìn)素質(zhì)教育,結(jié)合我校實(shí)際情況,為進(jìn)一步提高學(xué)生的操作能力和動(dòng)手能力,切實(shí)提高學(xué)生學(xué)以致用的能力和水平,提高我校乃至我市信息技術(shù)在各學(xué)科中的影響,本人從201*年9月中旬開(kāi)始組織學(xué)生參與本次競(jìng)賽培訓(xùn)活動(dòng),到201*年12月28日為止,現(xiàn)將三個(gè)多月的輔導(dǎo)工作情況總結(jié)如下:
第一,以信息技術(shù)課為核心,課外活動(dòng)相結(jié)合,在輔導(dǎo)工作中,本人擔(dān)任比賽信息獲取、指導(dǎo)學(xué)生解決技術(shù)問(wèn)題和協(xié)助學(xué)生整理作品準(zhǔn)備上交的工作。上課之前進(jìn)行資料收集,突出以教材為本教學(xué)研究的針對(duì)性、實(shí)踐性和實(shí)效性,通過(guò)系列輔導(dǎo)和學(xué)生實(shí)踐活動(dòng),注重對(duì)學(xué)生成長(zhǎng)過(guò)程的培養(yǎng),全面提高學(xué)生的操作能力和動(dòng)手能力。對(duì)學(xué)生的個(gè)別差異有清楚的認(rèn)識(shí),使教學(xué)更符合學(xué)生的需要,達(dá)到因材施教的目的。
第二,根據(jù)學(xué)生的特長(zhǎng)確定參賽項(xiàng)目。所謂"要想在游戲中取勝,就必須熟悉游戲規(guī)則"。另外,揣摩歷屆獲獎(jiǎng)作品,師生在共同觀看歷屆獲獎(jiǎng)作品的時(shí)候結(jié)合歷屆的活動(dòng)主題來(lái)思考,討論為什么該作品能獲獎(jiǎng),并從中得到啟發(fā)。我一方面可以讓學(xué)生自行選擇參賽的項(xiàng)目,一方面明確規(guī)定哪些學(xué)生參加哪個(gè)項(xiàng)目,做到學(xué)校內(nèi)各參賽項(xiàng)目都有學(xué)生參加。
第三,教學(xué)輔導(dǎo)工作認(rèn)真做到計(jì)劃、進(jìn)度、教學(xué)內(nèi)容、重點(diǎn)要求四個(gè)統(tǒng)一。平均每月集中三次,研究某一個(gè)參賽項(xiàng)目的具體實(shí)施情況,協(xié)調(diào)輔導(dǎo)進(jìn)度、反省過(guò)往工作中的不足和缺陷等內(nèi)容。
第四,輔導(dǎo)過(guò)程中存在的問(wèn)題。電腦設(shè)備較陳舊,運(yùn)行設(shè)計(jì)軟件較慢,一定程度影響了學(xué)生的積極性。學(xué)生的信息技術(shù)基礎(chǔ)和技能較薄弱,我校是山區(qū)學(xué)校,信息技術(shù)在本地的教育中還是個(gè)薄弱環(huán)節(jié),許多初中學(xué)校開(kāi)設(shè)了信息課,但由于信息技術(shù)教師的缺失或電腦設(shè)備的不足,所以很多學(xué)校的信息技術(shù)課都很少正常上課。
本學(xué)期的競(jìng)賽輔導(dǎo)雖然圓滿完成,但是存在的問(wèn)題也需要進(jìn)一步解決,希望在下個(gè)學(xué)期的輔導(dǎo)工作中,能獲得學(xué)校的大力支持更新設(shè)備。另外,有針對(duì)性的加強(qiáng)部分學(xué)生的實(shí)踐操作,提供更多的素材,讓學(xué)生加強(qiáng)合作學(xué)習(xí),盡快提高設(shè)計(jì)能力和操作水平,積極參賽,為我校取得優(yōu)異成績(jī)作出貢獻(xiàn)。
擴(kuò)展閱讀:信息技術(shù)競(jìng)賽輔導(dǎo)
信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
信息技術(shù)競(jìng)賽輔導(dǎo)
計(jì)算機(jī)基礎(chǔ)知識(shí)
第一章計(jì)算機(jī)基礎(chǔ)常識(shí)第二章操作系統(tǒng)簡(jiǎn)介第三章計(jì)算機(jī)網(wǎng)絡(luò)
第四章計(jì)算機(jī)信息安全基礎(chǔ)知識(shí)
Pascal語(yǔ)言
第一章開(kāi)始編寫pascal語(yǔ)言程序第二章Pascal語(yǔ)言基礎(chǔ)知識(shí)第三章順序結(jié)構(gòu)程序設(shè)計(jì)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)第六章數(shù)組與字符串第七章函數(shù)和過(guò)程第八章子界與枚舉類型第九章集合類型第十章記錄與文件類型第十一章指針第十二章程序調(diào)試
常用算法與策略
第一章算法的概念第二章遞歸第三章回溯第四章排序第五章查找第六章窮舉策略第七章貪心算法第八章分治策略
數(shù)據(jù)結(jié)構(gòu)
第一章什么是數(shù)據(jù)結(jié)構(gòu)第二章線性表第三章棧第四章隊(duì)第五章樹(shù)第六章圖
動(dòng)態(tài)規(guī)劃
第一章什么叫動(dòng)態(tài)規(guī)劃第二章用動(dòng)態(tài)規(guī)劃解題第三章典型例題與習(xí)題
第1頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
第四章動(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í)及算法
圖論算法
第一章最小生成樹(shù)第二章最短路徑第三章拓?fù)渑判颍ˋOV網(wǎng))第四章關(guān)鍵路徑(AOE網(wǎng))第五章網(wǎng)絡(luò)流第六章圖匹配
搜索算法與優(yōu)化
第一章雙向廣度優(yōu)先搜索第二章分支定界法第三章A*算法
青少年信息學(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ā)展。近年來(lái),信息學(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)開(kāi)展了多年省級(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年起,至201*年共舉辦了七屆全國(guó)青少年信息學(xué)奧林匹克分區(qū)聯(lián)賽,每年舉辦一次,有選手個(gè)人獎(jiǎng)項(xiàng)(省、國(guó)家級(jí))、選手等級(jí)證書(shū)、優(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):
第2頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
由中國(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ǔ)算本*常用輸入/輸出設(shè)備的種類、功能、使用機(jī)操*漢字輸入/輸出方法的作*常用計(jì)算機(jī)屏示信息程序的表示*自然語(yǔ)言的描述*PASCAL或BASIC語(yǔ)言*簡(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)化程序的基本概念*閱讀理解程序的基本能力*具有完成下列過(guò)程的能力:現(xiàn)實(shí)世界(指知識(shí)范疇的問(wèn)題)>信息世界(表達(dá)解法)>計(jì)算機(jī)世界(將解法用計(jì)算機(jī)能實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和算法描述出來(lái))*簡(jiǎn)單搜索*字串處理*排序*查找基本算法處理*統(tǒng)計(jì)*分類*合并*簡(jiǎn)單的回溯算法*簡(jiǎn)單的遞歸算法二、復(fù)賽內(nèi)容與要求:
在初賽的內(nèi)容上增加以下內(nèi)容(201*年修改稿):
第3頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
計(jì)算機(jī)*操作系統(tǒng)的使用知識(shí)軟件*編程語(yǔ)言的使用數(shù)據(jù)結(jié)構(gòu)*結(jié)構(gòu)類型中的記錄類型*指針類型*文件(提高組必須會(huì)使用文本文件輸入)*鏈表*樹(shù)*圖#程序設(shè)計(jì)算法處理*程序設(shè)計(jì)能力*設(shè)計(jì)測(cè)試數(shù)據(jù)的能力*運(yùn)行時(shí)間和占用空間的估算能力#*排列組合的應(yīng)用*進(jìn)一步加深回溯算法、遞歸算法*分治法*搜索算法:寬度、深度優(yōu)先算法*表達(dá)式處理:計(jì)算、展開(kāi)、化簡(jiǎn)等#*動(dòng)態(tài)規(guī)劃#三、初賽試題類型:注:試題語(yǔ)言兩者選一
(程序設(shè)計(jì)語(yǔ)言:基本BASIC或TURBOPASCAL)*判斷*填空*完善程序*讀程序?qū)戇\(yùn)行結(jié)果*問(wèn)答四、推薦讀物:
*分區(qū)聯(lián)賽輔導(dǎo)叢書(shū)*學(xué)生計(jì)算機(jī)世界報(bào)及少年電世界雜志
第一節(jié)計(jì)算機(jī)的基本常識(shí)
1.1計(jì)算機(jī)的產(chǎn)生和發(fā)展1.2計(jì)算機(jī)的系統(tǒng)及工作原理1.3計(jì)算機(jī)中有關(guān)數(shù)、編碼的基本常識(shí)1.4原碼、反碼與補(bǔ)碼1.5邏輯運(yùn)算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)歷了四代:
第4頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
①第一代電子管計(jì)算機(jī),始于1946年,結(jié)構(gòu)上以CPU為中心,使用計(jì)算機(jī)語(yǔ)言,速度慢,存儲(chǔ)量小,主要用于數(shù)值計(jì)算;
②第二代晶體管計(jì)算機(jī),始于1958年,結(jié)構(gòu)上以存儲(chǔ)器為中心,使用高級(jí)語(yǔ)言,應(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年開(kāi)始電子計(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ī)的主要硬件
輸入設(shè)備:鍵盤、鼠標(biāo)、掃描儀等。輸出設(shè)備:顯示器、打印機(jī)、繪圖儀等。
中央處理器(CPU):包括控制器和運(yùn)算器運(yùn)算器,可以進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算;控制器是計(jì)算機(jī)的指揮系統(tǒng),它的操作過(guò)程是取指令分析指令執(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)用軟件兩類:
第5頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
①系統(tǒng)軟件:為了使用和管理計(jì)算機(jī)的軟件,主要有操作系統(tǒng)軟件如,WINDOWS95/98/201*/NT4.0、DOS6.0、UNIX等;WINDOWS95/98/201*/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í)行它。工作原理圖如下:
1.3計(jì)算機(jī)中有關(guān)數(shù)及編碼的知識(shí)1.計(jì)算機(jī)是智能化的電器設(shè)備
計(jì)算機(jī)就其本身來(lái)說(shuō)是一個(gè)電器設(shè)備,為了能夠快速存儲(chǔ)、處理、傳遞信息,其內(nèi)部采用了大量的電子元件,在這些電子元件中,電路的通和斷、電壓高低,這兩種狀態(tài)最容易實(shí)現(xiàn),也最穩(wěn)定、也最容易實(shí)現(xiàn)對(duì)電路本身的控制。我們將計(jì)算機(jī)所能表示這樣的狀態(tài),用0,1來(lái)表示、即用二進(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)制二進(jìn)制八進(jìn)制十六進(jìn)制(2)數(shù)的權(quán)
不同進(jìn)制的數(shù),基數(shù)不同,每位上代表的值的大。(quán))也不相同。
第6頁(yè)共277頁(yè)
基數(shù)0,10,1,2,3,4,5,6,70,1,2,...,9,A,B,C,D,E,F特點(diǎn)逢二進(jìn)一逢八進(jìn)一逢十六進(jìn)一信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
如:(219)10=2*10+1*10+9*10(11010)2=1*2+1*2+0*2+1*2+1*2(273)8=2*8+7*8+3*8
231043210210
(27AF)16=2*16+7*16+10*16+15*16
210
(3)十進(jìn)制數(shù)轉(zhuǎn)換任意進(jìn)制
1)將十進(jìn)制整數(shù)除以所定的進(jìn)制數(shù),取余逆序。(39)10=(100111)2(245)10=(365)8
2)將十進(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)值展開(kāi):
如:(219)10=2*10+1*10+9*10
(11010)2=1*2+1*2+0*2+1*2+1*2=26
43210210(273)8=2*8+7*8+3*8=187
210(7AF)16=7*16+10*16+15*16=1867
210
4.定點(diǎn)數(shù)與浮點(diǎn)數(shù)
定點(diǎn)數(shù)是指數(shù)據(jù)中的小數(shù)點(diǎn)位置固定不變。由于它受到字長(zhǎng)范圍的限制,所能表示的數(shù)的范圍有限,計(jì)算結(jié)果容易溢出。
浮點(diǎn)數(shù)的形式可寫成:N=M*2(其中M代表尾數(shù),E代表階碼)其形式如下:階碼尾數(shù)(包括符號(hào)位)E
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ù)所采用的編碼的問(wèn)題,國(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-...
6.漢字編碼與漢字輸入法
第7頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
(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í)別和語(yǔ)音識(shí)別。鍵盤輸入法是當(dāng)前漢字輸入的主要方法。它大體可以分為:
流水碼:如區(qū)位碼、電報(bào)碼、通信密碼,優(yōu)點(diǎn)重碼律少,缺點(diǎn)難于記憶;音碼:以漢語(yǔ)拼音為基準(zhǔn)輸入漢字,優(yōu)點(diǎn)是容易掌握,但重碼律高;形碼:根據(jù)漢字的字型進(jìn)行編碼,優(yōu)點(diǎn)重碼少,但不容易掌握;
音形碼:將音碼和形碼結(jié)合起來(lái),能減少重碼律同時(shí)提高漢字輸入速度。(3)漢字字模
供計(jì)算機(jī)輸出漢字(顯示和打。┯玫亩M(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ù)值位的各位取反,補(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=10110111
第8頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
3.邏輯化簡(jiǎn)化簡(jiǎn)定律:
(1)交換律:A+B=B+A,AB=BA
(2)結(jié)合律:(A+B)+C=A+(B+C),(AB)C=A(BC)(3)冪等律:AA=A,A+A=A
(4)吸收律:A(A+B)=A,A+(AB)=A
(5)分配律:A(B+C)=AB+AC,A+(BC)=(A+B)(A+C)(6)互補(bǔ)律:A+A=1,AA=0(7)非深入:A+B=AB,AB=A+B
(8)0-1律:A+0=A,A+1=1,A1=A,A0=0
例:化簡(jiǎn)函數(shù)Q=AD+AD+AB+ACEF。這個(gè)函數(shù)有5個(gè)自變量,化簡(jiǎn)過(guò)程如下:Q=AD+AD+AB+ACEF=A+AB+ACEF=A+ACEF=A
練習(xí):求證:(A+B)(A+C)=AB+AC
第二節(jié)操作系統(tǒng)
2.1DOS的組成2.2DOS文件和目錄2.3DOS命令2.4Windows簡(jiǎn)介
2.1DOS(DiskOperatingSystem)的組成
MSDOS采用模塊結(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是一組程序和參表,其中程序部份是可以通過(guò)中斷方式調(diào)用的一組驅(qū)動(dòng)程序,參數(shù)給出外設(shè)的地址和參數(shù)。BIOS是計(jì)算機(jī)硬件和操作系統(tǒng)之間的接口通過(guò)它操作系統(tǒng)管理計(jì)算機(jī)硬件資源。
(2)IO.SYS模塊:IO.SYS是MSDOS和ROMBIOS之間的接口程序。它和RONBIOS一起完成系統(tǒng)設(shè)備的管理。
(3)MSDOS.SYS模塊:MSDOS.SYS用于實(shí)現(xiàn)文件管理,包括文件管理、目錄管理、內(nèi)存管理等功能。它以功能調(diào)用的形式實(shí)現(xiàn)用戶和MSDOS之間的程序級(jí)接口。
(4)COMMAND.COM模塊:COMMAND.COM的主要功能是負(fù)責(zé)接收、識(shí)別、解釋和執(zhí)行
第9頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
用戶從鍵盤輸入的MSDOS命令。
(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è)合法字符。4)樹(shù)形目錄:DOS采用樹(shù)形目錄結(jié)構(gòu)。由一個(gè)根目錄和若干層子目錄組成。這種目
錄結(jié)構(gòu)一是能夠解決文件重名問(wèn)題,即不同的目錄可以包含相同的文件名或目錄名;二是能夠解決文件多而根目錄容量有限帶來(lái)的問(wèn)題。在查找某個(gè)子目錄下的一個(gè)文件時(shí),要使用目錄路徑。指定路徑有兩種方法:絕對(duì)路徑和相對(duì)路徑。絕對(duì)路徑是從根目錄開(kāi)始到文件所在目錄的路徑。例如要查找UCDOS子目錄下的二級(jí)子目錄DATA下的README.TXT文件,絕對(duì)路徑為:\UCDOS\DATA。路徑中第一個(gè)“\”符號(hào)代表根目錄。相對(duì)路徑是從當(dāng)前目錄開(kāi)始到文件所在目錄的路徑。當(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:]
第10頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
其作用,能夠進(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è)用戶程序、在文檔之間移動(dòng)和復(fù)制信息、在平臺(tái)上進(jìn)行應(yīng)用程序的切換等。為了提高效率,Windows還提供了一些輔助程序,如字處理器、畫筆及其他標(biāo)準(zhǔn)應(yīng)用程序等。Windows具有以下主要特點(diǎn)。(1)圖形化的用戶界面
Windows提供了一種不同于DOS系統(tǒng)下命令行的工作方式,它通過(guò)對(duì)窗口、圖標(biāo)、選單、對(duì)話框、命令按鈕、滾動(dòng)框等圖形符號(hào)與畫面的操作來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)的各種操作。(2)標(biāo)準(zhǔn)化的操作界面
在Windows中,所有的操作都是通過(guò)窗口中的圖形界面進(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)用程序超過(guò)640陽(yáng)常規(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)開(kāi)發(fā)的各種相應(yīng)軟件。(7)TryType技術(shù)
TryType(真實(shí)字體)屬于內(nèi)建式比例字體,可以任意平滑放大與縮小。這種字體能使屏幕上顯示的效果與實(shí)際打印機(jī)輸出的信息完全一致,這就是所謂的“所見(jiàn)即所得”。[例4]在Windows95中,“任務(wù)欄”的作用是____。A)顯示系統(tǒng)的所有功能B)只顯示當(dāng)前活動(dòng)窗口名C)只顯示正在后臺(tái)工作的窗口名D)實(shí)現(xiàn)窗口之間的切換解答:在任務(wù)欄中,顯示了所有打開(kāi)的程序的圖標(biāo)。本題正確答案為D。
第三節(jié)計(jì)算機(jī)網(wǎng)絡(luò)常識(shí)
第11頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
3.1網(wǎng)絡(luò)基礎(chǔ)知識(shí)3.2Internet簡(jiǎn)介3.1網(wǎng)絡(luò)基礎(chǔ)知識(shí)1.網(wǎng)絡(luò)的概念
計(jì)算機(jī)網(wǎng)絡(luò)是將地理位置不同的計(jì)算機(jī),用通信鏈路連接起來(lái),共同遵守一定的協(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))。廣域網(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ī)通過(guò)相應(yīng)接口連到線路上。4.開(kāi)放系統(tǒng)互聯(lián)模型(OSI模型)OSI模型分7層:
各層功能如下:1.物理層
物理層與移動(dòng)二進(jìn)制數(shù)和維護(hù)物理連接有關(guān)。
第12頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
2.?dāng)?shù)據(jù)鏈路層
數(shù)據(jù)鏈路層通過(guò)幀在一個(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)過(guò)中間節(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)就訪問(wèn)數(shù)據(jù)。最高效地使用網(wǎng)絡(luò)資源通過(guò)應(yīng)用程序及活動(dòng)同步來(lái)管理對(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年代。
1.Internet的IP地址、IP地址類型和主機(jī)域名
(1)在Internet網(wǎng)上采用統(tǒng)一的網(wǎng)絡(luò)協(xié)議TCP/IP,與Internet相連的計(jì)算機(jī)必須具有唯一的主機(jī)地址,稱IP地址。IP地址采用分段地址方式,使用數(shù)字表示;如:207.46.130.14,其中由三個(gè)點(diǎn)隔開(kāi)的四個(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”,地址范圍從1.0.0.0到126.0.0.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”,地址范圍從128.0.0.0到191.255.255.255?捎玫腂類網(wǎng)絡(luò)有16382個(gè),每個(gè)網(wǎng)絡(luò)能容納6萬(wàn)多個(gè)主機(jī)。C類IP地址
一個(gè)C類IP地址由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是
第13頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
“110”。范圍從192.0.0.0到223.255.255.255。C類網(wǎng)絡(luò)可達(dá)209萬(wàn)余個(gè),每個(gè)網(wǎng)絡(luò)能容納254個(gè)主機(jī)。
D類地址用于多點(diǎn)廣播(Multicast)。
D類IP地址第一個(gè)字節(jié)以“l(fā)ll0”開(kāi)始,它是一個(gè)專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點(diǎn)廣播(Multicast)中。多點(diǎn)廣播地址用來(lái)一次尋址一組計(jì)算機(jī),它標(biāo)識(shí)共享同一協(xié)議的一組計(jì)算機(jī)。E類IP地址
以“l(fā)lll0”開(kāi)始,為將來(lái)使用保留。
全零(“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類地址:10.0.0.0~10.255.255.255B類地址:172.16.0.0~172.31.255.255C類地址:192.168.0.0~192.168.255.255
(3)為了使用方便,在訪問(wèn)Internet上的主機(jī)時(shí),通常使用主機(jī)域名而不是IP地址,但主機(jī)域名和IP地址一一對(duì)應(yīng),它由圓點(diǎn)分隔的一序列單詞組成如“Public.bta.net.cn"。IP地址如同電腦的身份證號(hào)碼,而域名相當(dāng)電腦的姓名。
2.Internet的功能
(1)信息瀏覽(WWW)
WWW(WorldWideWeb),中文名為”萬(wàn)維網(wǎng)“,是基于超文本的、方便用戶信息瀏覽和信息搜索的信息服務(wù)系統(tǒng)。用戶在瀏覽器中輸入網(wǎng)址即可得到需要的信息。人們常用的瀏覽器有網(wǎng)景公司的Netscape瀏覽器和Microsoft公司的InternetExplorer瀏覽器。網(wǎng)址的輸入是使用協(xié)議提供的服務(wù)+服務(wù)器地址(IP地址或主機(jī)域名)如http://198.105.232.1;ftp://zsqz.com(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ī)上)和下載(DOWNLOAD把遠(yuǎn)程計(jì)算機(jī)上的文件復(fù)制到本地計(jì)算機(jī)上)。(3)傳送電子郵件(E-mail)
電子郵件地址=用戶名+@+主機(jī)域名;如:zhangming@yahoo.com(4)電子公告牌(BBS)(5)遠(yuǎn)程登錄(telnet)(6)電子商務(wù)等3.TCP/IP參考模型
TCP/IP協(xié)議的開(kāi)發(fā)研制人員將Internet分為五個(gè)層次,以便于理解,它也稱為互聯(lián)網(wǎng)分層模型或互聯(lián)網(wǎng)分層參考模型,如下表:應(yīng)用層(第五層)傳輸層(第四層)互聯(lián)網(wǎng)層(第三層)
第14頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
網(wǎng)絡(luò)接口層(第二層)物理層(第一層)各層簡(jiǎn)要說(shuō)明如下:
物理層:對(duì)應(yīng)于網(wǎng)絡(luò)的基本硬件,這也是Internet物理構(gòu)成,即我們可以看得見(jiàn)的硬件設(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ù)膯挝弧?/p>
互聯(lián)網(wǎng)層:本層定義了互聯(lián)網(wǎng)中傳輸?shù)摹靶畔备袷,以及從一個(gè)用戶通過(guò)一個(gè)或多個(gè)路由器到最終目標(biāo)的""信息包""轉(zhuǎn)發(fā)機(jī)制。
傳輸層:為兩個(gè)用戶進(jìn)程之間建立、管理和拆除可靠而又有效的端到端連接。應(yīng)用層:它定義了應(yīng)用程序使用互聯(lián)網(wǎng)的規(guī)程。
第四節(jié)計(jì)算機(jī)信息安全基礎(chǔ)知識(shí)
4.1計(jì)算機(jī)網(wǎng)絡(luò)安全4.2計(jì)算機(jī)病毒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ì),安全問(wèn)題跟蹤,計(jì)算機(jī)病毒防治,數(shù)據(jù)加密。
網(wǎng)絡(luò)上信息傳播安全,即信息傳播后果的安全。包括信息過(guò)濾等。它側(cè)重于防止和控制非法、有害的信息進(jìn)行傳播后的后果。避免公用網(wǎng)絡(luò)上大量自由傳輸?shù)男畔⑹Э亍?/p>
網(wǎng)絡(luò)上信息內(nèi)容的安全。它側(cè)重于保護(hù)信息的保密性、真實(shí)性和完整性。避免攻擊者利用系統(tǒng)的安全漏洞進(jìn)行竊聽(tīng)、冒充、詐騙等有損于合法用戶的行為。本質(zhì)上是保護(hù)用戶的利益和隱私。
網(wǎng)絡(luò)安全的特征
2、網(wǎng)絡(luò)安全應(yīng)具有以下四個(gè)方面的特征:
保密性:信息不泄露給非授權(quán)用戶、實(shí)體或過(guò)程,或供其利用的特性。
完整性:數(shù)據(jù)未經(jīng)授權(quán)不能進(jìn)行改變的特性。即信息在存儲(chǔ)或傳輸過(guò)程中保持不被修改、不被破壞和丟失的特性。
可用性:可被授權(quán)實(shí)體訪問(wèn)并按需求使用的特性。即當(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ò)安全威脅
第15頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
自然災(zāi)害、意外事故;計(jì)算機(jī)犯罪;
人為行為,比如使用不當(dāng),安全意識(shí)差等;
“黑客”行為:由于黑客的入侵或侵?jǐn)_,比如非法訪問(wèn)、拒絕服務(wù)計(jì)算機(jī)病毒、非法連接等;
內(nèi)部泄密;外部泄密;信息丟失;
電子諜報(bào),比如信息流量分析、信息竊取等;信息戰(zhàn);
網(wǎng)絡(luò)協(xié)議中的缺陷,例如TCP/IP協(xié)議的安全問(wèn)題等等。4、黑客常用的信息收集工具
信息收集是突破網(wǎng)絡(luò)系統(tǒng)的第一步。黑客可以使用下面幾種工具來(lái)收集所需信息:SNMP協(xié)議,用來(lái)查閱非安全路由器的路由表,從而了解目標(biāo)機(jī)構(gòu)網(wǎng)絡(luò)拓?fù)涞膬?nèi)部細(xì)節(jié)。TraceRoute程序,得出到達(dá)目標(biāo)主機(jī)所經(jīng)過(guò)的網(wǎng)絡(luò)數(shù)和路由器數(shù)。
Whois協(xié)議,它是一種信息服務(wù),能夠提供有關(guān)所有DNS域和負(fù)責(zé)各個(gè)域的系統(tǒng)管理員數(shù)據(jù)。(不過(guò)這些數(shù)據(jù)常常是過(guò)時(shí)的)。
DNS服務(wù)器,可以訪問(wèn)主機(jī)的IP地址表和它們對(duì)應(yīng)的主機(jī)名。
Finger協(xié)議,能夠提供特定主機(jī)上用戶們的詳細(xì)信息(注冊(cè)名、電話號(hào)碼、最后一次注冊(cè)的時(shí)間等)。
Ping實(shí)用程序,可以用來(lái)確定一個(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í)語(yǔ)言編寫的源程序當(dāng)中。編寫這種病毒程序較困難。但是,一旦插入,其破壞性和危害性都很大。
②入侵病毒:是把病毒程序的一部分插入到主程序中。這種病毒程序也難編寫,一旦入侵,難以清除。
②操作系統(tǒng)病毒:是把病毒程序加入或替代部分操作系統(tǒng)進(jìn)行工作的病毒。這種病毒攻擊力強(qiáng)、常見(jiàn)、破壞性和危害性最大。
第16頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
④外殼病毒:是把病毒程序置放在主程序周圍,一般不修改源程序的一種病毒。它大多是感染DOS下的可執(zhí)行程序。這種病毒占一半以上,易編制,也易于檢測(cè)和消除。在日常維護(hù)中應(yīng)隔離計(jì)算機(jī)病毒的來(lái)源,經(jīng)常要用殺毒軟件檢查計(jì)算機(jī)系統(tǒng)和存儲(chǔ)器。例設(shè)一張軟盤已染上病毒,能清除病毒的措施是____。A)刪除該軟盤上的所有文件B)格式化該軟盤
C)刪除該軟盤上的所有可執(zhí)行文件D)刪除該軟盤上的所有批處理文件
解答:軟盤染毒后,病毒隱藏在磁盤內(nèi)部,并感染磁盤上的文件,而且可能通過(guò)磁盤的使用進(jìn)而擴(kuò)散到其他磁盤,造成更大的破壞。為了清除病毒,必須格式化軟盤,從而徹底清除染毒文件和病毒本身。本題正確答案為B。
Pascal語(yǔ)言概述與預(yù)備知識(shí)
關(guān)于PascalPascal的啟動(dòng)
1、關(guān)于TurboPascal
Pascal是一種計(jì)算機(jī)通用的高級(jí)程序設(shè)計(jì)語(yǔ)言。它由瑞士NiklausWirth教授于六十年代末設(shè)計(jì)并創(chuàng)立。
以法國(guó)數(shù)學(xué)家命名的Pascal語(yǔ)言現(xiàn)已成為使用最廣泛的基于DOS的語(yǔ)言之一,其主要特點(diǎn)有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運(yùn)行效率高;查錯(cuò)能力強(qiáng)。
正因?yàn)樯鲜鎏攸c(diǎn),Pascal語(yǔ)言可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)。尤其是對(duì)于程序設(shè)計(jì)的初學(xué)者,Pascal語(yǔ)言有益于培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格和習(xí)慣。IOI(國(guó)際奧林匹克信息學(xué)競(jìng)賽)把Pascal語(yǔ)言作為三種程序設(shè)計(jì)語(yǔ)言之一,NOI(全國(guó)奧林匹克信息學(xué)競(jìng)賽)把Pascal語(yǔ)言定為唯一提倡的程序設(shè)計(jì)語(yǔ)言,在大學(xué)中Pascal語(yǔ)言也常常被用作學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教學(xué)語(yǔ)言。
在Pascal問(wèn)世以來(lái)的三十余年間,先后產(chǎn)生了適合于不同機(jī)型的各種各樣版本。其中影響最大的莫過(guò)于TurboPascal系列軟件。它是由美國(guó)Borland公司設(shè)計(jì)、研制的一種適用于微機(jī)的Pascal編譯系統(tǒng)。該編譯系統(tǒng)由1983年推出1.0版本發(fā)展到1992年推出的7.0版本,其版本不斷更新,而功能更趨完善。下面列出TurboPascal的編年史:年代版本名稱1983TurboPascal1.0主要特色提高實(shí)數(shù)運(yùn)算速度并擴(kuò)大值域增加圖形功能第17頁(yè)共277頁(yè)
TurboPascal2.0Turbo-87Pascal1985TurboPascal3.信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)TurboBCDPascal特別適合應(yīng)用于商業(yè)提供集成開(kāi)發(fā)環(huán)境(IDE),引入單元概念增加調(diào)試功能支持面向?qū)ο蟮某绦蛟O(shè)計(jì)(OPP)提供面向?qū)ο蟮膽?yīng)用框架和庫(kù)(TurboVision)面向?qū)ο蟮膽?yīng)用系統(tǒng)、更完善的IDETurboVision2.0開(kāi)發(fā)ObjectWindows庫(kù)提供對(duì)OLE多媒體應(yīng)用開(kāi)發(fā)的支持VisualPascal1987TurboPascal4.01988TurboPascal5.01989TurboPascal5.51990TurboPascal6.01992TurboPascal7.01993BorlandPascal7.0(ForWindows)1995Delphi
TurboPascal語(yǔ)言是編譯型程序語(yǔ)言,它提供了一個(gè)集成環(huán)境的工作系統(tǒng),集編輯、編譯、運(yùn)行、調(diào)試等多功能于一體。2.Pascal的啟動(dòng)Pascal的啟動(dòng)
a.DOS下的啟動(dòng)(適用于MS-DOS6.22之前的版本或Win9X&Win201*的CommandMode)DOS環(huán)境,在裝有TurboPascal的文件目錄下,鍵入turbo即可進(jìn)入TurboPascal集成環(huán)境。
b.Win9X或Win201*模式下的啟動(dòng)(適用于TurboPascal3.0以后的版本)
如果在Win9X或Win201*的“資源管理器”裝有TurboPascal的目錄中,雙擊turbo.exe或在“開(kāi)始--程序”菜單中通過(guò)MS-DOS方式來(lái)運(yùn)行turbo.exe,它會(huì)提示你“該程序設(shè)置為MS-DOS方式下運(yùn)行,并且其它程序運(yùn)行時(shí),無(wú)法運(yùn)行它。如果選擇繼續(xù)所有其它程序?qū)㈥P(guān)閉”,所以在Win9X或Win201*下無(wú)法直接運(yùn)行它,這時(shí)你可以在你希望的地方(比如說(shuō)桌面上)單擊鼠標(biāo)右鍵“新建--快捷方式”,單擊“瀏覽”,找到turbo.exed選中,然后單擊“打開(kāi)”,再單擊“下一步”,再單擊完成;這還沒(méi)完,選中前面新建的快捷方式(應(yīng)該叫TurboPascal吧),單擊右鍵,單擊“屬性”,選擇“程序”,然后再單擊“高級(jí)”,把“MS-DOS方式”前面的那個(gè)勾去掉,也就是不要選“MS-DOS方式”,然后單擊“確定”,再單擊“確定”就大功告成了,以后你運(yùn)行TurboPascal的時(shí)候,只要雙擊那個(gè)你建立起的快捷方式就可以直接在Win9X或Win201*下運(yùn)行TurboPascal。
第一章開(kāi)始編寫pascal語(yǔ)言程序
1.1Pascal編輯環(huán)境
1.2簡(jiǎn)單的Pascal程序的結(jié)構(gòu)1.3完整的的Pascal程序結(jié)構(gòu)
第18頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
1.1Pascal編輯環(huán)境
1.下載TurboPascal6.0(1)下載turbopascal(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:上下翻頁(yè)Insert:插入與改寫狀態(tài)切換(3)編譯程序(Compile):Alt+F9(4)運(yùn)行程序(Run):Ctrl+F9(5)保存程序(Save):F2(6)打開(kāi)原有的程序:F3(7)查看程序運(yùn)行結(jié)果:Alt+F5(8)調(diào)試時(shí)增加觀察項(xiàng):Ctrl+F7
1.2簡(jiǎn)單Pascal程序的結(jié)構(gòu)例1下列是一Pascal源程序:
programlt1;{程序首部}
var{說(shuō)明部分}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)
第19頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
program程序名;
uses已知單元說(shuō)明;label標(biāo)號(hào)說(shuō)明;const常量說(shuō)明;type類型說(shuō)明;var變量說(shuō)明;function函數(shù)說(shuō)明;procedure過(guò)程說(shuō)明;begin語(yǔ)句;語(yǔ)句;語(yǔ)句;end.作業(yè):
1.熟悉Pascal編輯環(huán)境.2.記住快捷鍵的使用.
3.編寫78*67的值的Pascal程序并運(yùn)行.
第二章Pascal語(yǔ)言基礎(chǔ)知識(shí)
2.1Pascal的字符與符號(hào)2.2Pascal數(shù)據(jù)類型2.3常量與變量2.4標(biāo)準(zhǔn)函數(shù)2.5運(yùn)算符和表達(dá)式練習(xí)與作業(yè)2.1Pascal字符與符號(hào)
1.標(biāo)識(shí)符
(1)標(biāo)識(shí)符的定義:標(biāo)識(shí)符就是以字母開(kāi)頭的字母數(shù)字序列,有效長(zhǎng)度為63個(gè)字符,并且大小寫等效?梢杂脕(lái)標(biāo)示常量、變量、程序、函數(shù)等。例如例1.1中的Area(程序名),pi(符號(hào)常量),s、r(變量名)都是標(biāo)識(shí)符。(2)標(biāo)識(shí)符的分類:a.保留字(關(guān)鍵字)
所謂保留字是指在Pascal語(yǔ)言中具有特定的含義,你必須了解它的含義,以便于正確的
第20頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
使用,否則會(huì)造成錯(cuò)誤。標(biāo)準(zhǔn)Pascal語(yǔ)言中的保留字一共有35個(gè),TurboPascal語(yǔ)言一共有51個(gè)。下面是Pascal語(yǔ)言的保留字:
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ǔ)言預(yù)先定義的標(biāo)識(shí)符,具有特殊含義。以下列舉了TurboPascal語(yǔ)言部分常用的標(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)過(guò)程DisposeGetNewPackPagePutReadReadlnResetRewriteUnpackWriteWriteln標(biāo)準(zhǔn)文件InputOutput
c.用戶自定義標(biāo)識(shí)符:由你自己根據(jù)需要來(lái)定義。(1)選用的標(biāo)識(shí)符不能和保留字相同。
(2)語(yǔ)法上允許預(yù)定義的標(biāo)準(zhǔn)標(biāo)識(shí)符作為你自己定義的標(biāo)識(shí)符使用,但最好還是不要用。以下列舉了你自己在定義標(biāo)識(shí)符時(shí)可以用的字符:
AZ;az;09;+,-,*,/,=,,=,,(,),[,],{,},:=,,,;,.,:,..,",^
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ù)用來(lái)存放整數(shù)。TurboPascal支持五種預(yù)定義整型,它們是shortint(短整型)、integer(整型)、longint(長(zhǎng)整型)、byte(字節(jié)型)和word(字類型),TurboPascal分別用相同的名字作為他們的標(biāo)識(shí)符。每一種類型規(guī)定了相應(yīng)的整數(shù)取值范圍以及所占用的內(nèi)存字節(jié)數(shù)。
類型數(shù)值范圍占字節(jié)數(shù)格式
第21頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
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ù)用來(lái)存放實(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..16
TurboPascal支持兩種用于執(zhí)行實(shí)型運(yùn)算的代碼生成模式:軟件仿真模式和80x87浮點(diǎn)模式。除了real可以在軟件仿真模式下直接運(yùn)行以外,其他類型必須在80x87浮點(diǎn)模式下運(yùn)行。3.布爾型
一個(gè)布爾型數(shù)據(jù)用來(lái)存放邏輯值(布爾值)。布爾型的值只有兩個(gè):false和true,并且false的序號(hào)是0,true的序號(hào)是1。false和true都是預(yù)定義常數(shù)標(biāo)識(shí)符,分別表示邏輯假和邏輯真。并且true信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
(4)TurboPascal類型常量
類型常量,又稱變量常數(shù),它是TurboPascal的一個(gè)擴(kuò)充特性。類型常量的定義與標(biāo)準(zhǔn)Pascal規(guī)定的常數(shù)定義和變量說(shuō)明有所區(qū)別。類型常量定義的語(yǔ)法格式:const
:簡(jiǎn)單類型=常數(shù);例如:const
counter:integer=0;flag:boolean=true;index:0..100=0;2.變量
(1)變量:在某個(gè)程序中的運(yùn)行過(guò)程中其值可以發(fā)生改變的量(2)變量說(shuō)明:變量說(shuō)明出現(xiàn)在說(shuō)明部分。它的語(yǔ)法格式是:var
:;...
:;其中,保留字var表示開(kāi)始一個(gè)變量說(shuō)明部分。變量標(biāo)識(shí)符列表是一個(gè)用逗號(hào)隔開(kāi)的標(biāo)識(shí)符序列,冒號(hào)后面的類型是類型標(biāo)識(shí)符。每個(gè)變量說(shuō)明均以分號(hào)結(jié)束。例如:var
a,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無(wú)自變量圓周率實(shí)型sin整型、實(shí)型正弦實(shí)型sqr整型、實(shí)型平方同自變量sqrt整型、實(shí)型平方根實(shí)型
第23頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
例: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(201*)=1999succ(201*)=201*odd(3)=truepred("x")="wsucc("x")="y"3.轉(zhuǎn)換函數(shù)
函數(shù)標(biāo)識(shí)符自變量類型意義結(jié)果類型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無(wú)自變量[0,1間的隨機(jī)實(shí)數(shù)realrandomword[0,自變量間的隨機(jī)整數(shù))wordrandomize無(wú)自變量初始化內(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取余整型整型
第24頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
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)單類型布爾型(2)優(yōu)先級(jí)
運(yùn)算符優(yōu)先級(jí)not1(高)*,/,div,mod,and2xor,+,-,or3in,=,,>=,函數(shù)-->*,/,div,mod-->+,1
(2)布爾表達(dá)式:TurboPascal提供給布爾表達(dá)式以下基本操作:邏輯運(yùn)算和關(guān)系運(yùn)算。(3)數(shù)學(xué)上的表達(dá)式與pascal語(yǔ)言表達(dá)式的區(qū)別
數(shù)學(xué)表達(dá)式PASCAL表達(dá)式注意
2a2*a*號(hào)不能省略a÷ba/b除號(hào)的寫法a≠bab不等號(hào)的寫法a≤ba信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
a33aa17abcdex9.5αβλ5、將下列的數(shù)學(xué)表達(dá)式改寫成PASCAL表達(dá)式:b^2-4ac6、求下列表達(dá)式的值:
20mod1915mod97div819div3(4>5)and(79)or(9信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
的或相容的才可以相互賦值。
怎么來(lái)理解這句話呢?打個(gè)比方,我們沏功夫茶用的是小茶杯,裝飯時(shí)用飯碗。如果用飯碗來(lái)泡功夫茶,用小茶杯來(lái)裝飯,那情形一定很滑稽而且是不可行的;氐絇ASCAL中來(lái),賦值號(hào)左邊變量如果是整型,右邊表達(dá)式的值的類型也要是整型;賦值號(hào)左邊變量如果是字符型,右邊表達(dá)式的值的類型也要是字符型否則的話,也要出錯(cuò)了。這是數(shù)據(jù)類型相同的情況。
對(duì)于數(shù)據(jù)類型相容的,我們也可以用一個(gè)例子來(lái)幫助理解。我們都喝過(guò)功夫茶,也喝過(guò)大杯茶。把功夫茶倒在大茶杯里,一般不會(huì)出什么問(wèn)題;但如果把大杯里的茶倒在功夫茶杯里呢?可能小茶杯裝不下大茶杯里的茶,茶“溢出”了。在PASCAL中也會(huì)出現(xiàn)這種情況。當(dāng)一種數(shù)據(jù)類型的取值范圍包含著另一種數(shù)據(jù)類型的取值范圍時(shí),就可能出現(xiàn)類型相容的情況。如實(shí)型與整型,整型、字符型與它們各自的子界類型如果把整型值賦給實(shí)型變量,把整型子界值賦給整型變量,不會(huì)出錯(cuò);但如果反過(guò)來(lái),就會(huì)出現(xiàn)“溢出”,出錯(cuò)了。因些,我們?cè)趯戀x值語(yǔ)句時(shí),要注意兩邊的類型是否匹配。例:有程序如下:
vara,b:integer;c:real;d:0..100;begin
a:=100;b:=a;
{-------------以上是相同數(shù)據(jù)類型進(jìn)行賦值}d:=100;b:=d;c:=b;
{-------------以上是相容數(shù)據(jù)類型進(jìn)行賦值}d:=b;a:=c;
{-------------以上兩個(gè)賦值語(yǔ)句都出現(xiàn)溢出,編譯時(shí)出錯(cuò)}end.3.2讀語(yǔ)句
讀語(yǔ)句(read語(yǔ)句)和賦值語(yǔ)句一樣,能夠改變變量的值。與賦值語(yǔ)句不同,讀語(yǔ)句從鍵盤或文件接收值賦予變量,而賦值語(yǔ)句則直接由程序語(yǔ)句獲得。讀語(yǔ)句格式如下:read(變量名表);readln(變量名表);readln;
讀語(yǔ)句是編程中用得最多的語(yǔ)句之一。在使用時(shí)有幾點(diǎn)要注意:
1、變量名表。寫在括號(hào)中的變量,都要在變量說(shuō)明中先預(yù)以說(shuō)明;變量與變量之間,以“,”分隔;例:
vara,b:integer;
第27頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
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ū)別
例:有兩段程序有相同的變量說(shuō)明如下,不同的讀語(yǔ)句,我們可以通過(guò)比較它們執(zhí)行結(jié)果的異同來(lái)理解read與readln的區(qū)別。變量說(shuō)明vara,b,c,d:integer;read(a);程序段一readln(b,c);read(d);readln(a);程序段二read(b,c);read(d)12345輸入數(shù)據(jù)678在程序段一執(zhí)行時(shí),“read(a);”語(yǔ)句接收了第一個(gè)數(shù)據(jù)1并將它賦給變量a;接著執(zhí)行第二個(gè)語(yǔ)句“readln(b,c);”,接收了第一行數(shù)據(jù)中的2、3并把它們分別賦給變量b,c,同時(shí),把本行其它數(shù)據(jù)全部屏蔽掉,也就是宣布它們?nèi)孔鲝U。程序段二的執(zhí)行情況也是如此。因此,我們可以得出結(jié)論:語(yǔ)句read只管接收數(shù)據(jù),語(yǔ)句readln接收完數(shù)據(jù)后,還把同行的其它數(shù)據(jù)全部宣布作廢。
4、“readln;”語(yǔ)句從鍵盤接收一個(gè)回車符。這個(gè)語(yǔ)句通常用在需要暫停的地方。如輸出時(shí)用來(lái)等待程序員看清結(jié)果。3.3寫語(yǔ)句
寫(write)語(yǔ)句是Pascal中唯一能將運(yùn)算結(jié)果送出顯示在顯示器屏幕的語(yǔ)句。格式如下:write(輸出量表);{輸出后不換行}writeln(輸出量表);{輸出后換行}writeln;{輸出一個(gè)回車符}
使用寫語(yǔ)句時(shí)也有一些小問(wèn)題需要注意。
1、輸出量可以是:
第28頁(yè)共277頁(yè)
執(zhí)行結(jié)果abcd1236167信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
變量。輸出變量的值。輸出多個(gè)變量時(shí),變量間用“,”分隔。表達(dá)式。輸出的是表達(dá)式的值。常量。直接輸出常量值。
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)度輸出。如上語(yǔ)句句輸出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ù)法的形式輸出,和我們的一般書(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;”語(yǔ)句通常用于輸出多組數(shù)據(jù)時(shí)在屏幕上輸出空行來(lái)分隔數(shù)據(jù)組。
思考與練習(xí):
1、用字符輸出一個(gè)豬錦佳的頭像。
2、a,b,c分別等于1、12、123,把它們按向左對(duì)齊、向右對(duì)齊的方式打印出來(lái)。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ì)
第29頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
4.1IF語(yǔ)句4.2CASE語(yǔ)句練習(xí)與作業(yè)4.1IF語(yǔ)句
條件語(yǔ)句用于響應(yīng)一個(gè)條件的兩個(gè)方面。
例如:今天如果下雨,我們就在家;否則(不下雨)我們就去旅游。
又如:如果已經(jīng)搜索得到結(jié)果,就打印出答案;否則(還沒(méi)得到結(jié)果)就繼續(xù)搜索。IF語(yǔ)句的一般格式是:IF條件
THEN語(yǔ)句1{條件為真時(shí)的響應(yīng)、處理}
ELSE語(yǔ)句2;{條件為假時(shí)的響應(yīng)、處理}使用條件語(yǔ)句時(shí)要注意:
1、條件語(yǔ)句是一個(gè)語(yǔ)句。IF、THEN、ELSE都是語(yǔ)句的一個(gè)部分。所以它只能有一個(gè)“;”作為分隔符,放在句子的結(jié)束,特別要注意不能放在ELSE之前。
2、如果我們的程序只需對(duì)條件為真的情況作出處理,不需要處理?xiàng)l件為假的情況,則IF語(yǔ)句省略ELSE分句,格式變成:IF條件
THEN語(yǔ)句1;{條件為真時(shí)的響應(yīng)、處理}如:如果數(shù)a大于等于0則輸出它的平方根。ifa>=0thenwriteln(sqrt(a));
對(duì)以上的例子,條件為假時(shí)不需處理,于是我們干脆省去ELSE分句。
3、if語(yǔ)句可以多層嵌套。嵌套時(shí)為了避免誤解,可以用begin,end括起嵌套部分;else分句一般和最近的if分句配套:IF條件THENBEGIN
if條件1thenelse;ENDELSEBEGIN
if條件2thenelse;end;
例1、輸入兩個(gè)數(shù)a,b,輸出較大的數(shù)。programtt;vara,b:integer;begin
write("pleaseinputa,b:");readln(a,b);
ifa>bthenwriteln(a)
第30頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
elsewriteln(b);end.
4.2CASE語(yǔ)句
分情況語(yǔ)句適用于對(duì)一個(gè)條件的多種情況的響應(yīng)。格式:case表達(dá)式of標(biāo)號(hào)1:語(yǔ)句1;標(biāo)號(hào)2:語(yǔ)句2;
標(biāo)號(hào)n:語(yǔ)句n;else語(yǔ)句n+1end;
case語(yǔ)句在使用時(shí)有幾點(diǎn)要注意:
1.end與case對(duì)應(yīng);標(biāo)號(hào)與語(yǔ)句之間用“:”分隔;else與語(yǔ)句之間不用分隔符。2.標(biāo)號(hào)必須是一常量,其類型與表達(dá)式的類型一致
例2:某全自動(dòng)加油站a,b,c三種汽油的單價(jià)(元/kg)分別是1.50、1.35和1.18,也提供了“自己加”或“協(xié)助加”兩個(gè)服務(wù)等級(jí),這樣用戶可以得到5%或10%的優(yōu)惠。編一個(gè)程序,用戶輸入加油量、汽油品種和服務(wù)類型(f-自動(dòng),m-自己,e-協(xié)助),然后計(jì)算應(yīng)付款。programpcase1;var
oil,help:char;kg,total:real;begin
write("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!")
第31頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
end;
{處理服務(wù)類型}writeln;
writeln("Totalis",total:10:2);end.
3.可以多個(gè)標(biāo)號(hào)對(duì)應(yīng)同一條語(yǔ)句
4.語(yǔ)句可以是多個(gè)語(yǔ)句,但必須用語(yǔ)句括號(hào)(beginend)括起5.case語(yǔ)句也可以嵌套
例3:從鍵盤上讀入年和月,輸出該月有多少天。programpcase2;var
year,month,day:integer;runnian:boolean;begin
write("Enteryearandmonth:");readln(year,month);casemonthof
1,3,5,7,8,10,12:day:=31;
4,6,9,11:day:=30;{以上處理31天和30天的情況}2:begin
runnian:=(yearmod400=0)or((yearmod4=0)and(yearmod1000));caserunnianoftrue:day:=28;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ī)定:行李重不超過(guò)50公斤的,托運(yùn)費(fèi)按每公斤0.15元計(jì)費(fèi);如超50公斤,超過(guò)部分每公斤加收0.10元。編一程序完成自動(dòng)計(jì)費(fèi)工作。
6、某超市為了促銷,規(guī)定:購(gòu)物不足50元的按原價(jià)付款,超過(guò)50不足100的按九折付款,超過(guò)100元的,超過(guò)部分按八折付款。編一程序完成超市的自動(dòng)計(jì)費(fèi)的工作。
7、輸入a,b,c三個(gè)不同的數(shù),將它們按由小到大的順序輸出。13、當(dāng)前小學(xué)生的成績(jī)單由以前的百分制改為優(yōu)秀、良好、合格、不合格四個(gè)等級(jí)的等級(jí)制。編一程序完成分?jǐn)?shù)的自
第32頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
動(dòng)轉(zhuǎn)換工作。轉(zhuǎn)換規(guī)則如下:60分以下的為不合格;60到69分為合格;70到89分為良好;90分以上的為優(yōu)秀。(提示:可以利用DIV運(yùn)算來(lái)使程序更簡(jiǎn)明)
8、打印某年某月有多少天。(提示:A、閏年的計(jì)算方法:年數(shù)能被4整除,并且不能被100整除;或者能被400整除的整數(shù)年份。B、利用MOD運(yùn)算可以判斷一個(gè)數(shù)能否被另一個(gè)數(shù)整除)
9、編程模擬剪刀、石頭、布游戲:用S表示剪刀,用R表示石頭,用P表示布。規(guī)則是:剪刀剪布,石頭砸剪刀,布包石頭。游戲者分別把自己的選擇輸入,計(jì)算機(jī)給出結(jié)果。
第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
5.1For語(yǔ)句5.2While語(yǔ)句5.3Repeat-Until語(yǔ)句練習(xí)與作業(yè)5.1For語(yǔ)句
1.遞增型FOR循環(huán)。
FOR循環(huán)控制變量:=循環(huán)初值TO循環(huán)終值DO循環(huán)的語(yǔ)句(或語(yǔ)段)例:FORI:=5TO10DOWRITELN(I);
輸出的結(jié)果為:5678910即循環(huán)一共執(zhí)行了6次如果要重復(fù)多個(gè)語(yǔ)句,一定要用BEGIN-END形式:例:
FORI:=1TO10DOBEGINWRITELN(I);WRITELN(10-I);END;
2.遞減型FOR循環(huán)
FOR循環(huán)控制變量:=循環(huán)初值DOWNTO循環(huán)終值DO循環(huán)語(yǔ)句
遞減型FOR循環(huán)與遞增型FOR循環(huán)基本相同,只是循環(huán)控制變量每次遞減。3.FOR循環(huán)的幾點(diǎn)注意內(nèi)容:
(1)循環(huán)控制變量必須是順序類型的變量。所謂順序類型的變量,就是指整型,字符型,枚舉型,子界型,不允許是實(shí)型。
(2)不允許在循環(huán)體內(nèi)再對(duì)循環(huán)控制變量賦值。例如:A:=10;B:=50;FORK:=ATOBDOBEGIN
第33頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
K:=K+1;{這一句是錯(cuò)誤的。。。。。。。WRITELN(K);END;
(3)當(dāng)循環(huán)初值或循環(huán)終值中包含變量時(shí),允許在循環(huán)體內(nèi)改變這些變量的值,但并不改變?cè)ǖ难h(huán)次數(shù)。例:
A:=1;B:=10;FORI:=ATOBDOBEGINA:=5;B:=4;END;
在上面例子中,A,B的值在循環(huán)的內(nèi)部發(fā)生了變化,但并不影響循環(huán)的次數(shù),依然是10次。4.多重循環(huán)循環(huán)體由PASCAL語(yǔ)句構(gòu)成,當(dāng)然也可以包含F(xiàn)OR語(yǔ)句,這就構(gòu)成了循環(huán)的嵌套,形成多重循環(huán)。
例如,以下FOR循環(huán)輸出5行,每行輸出10個(gè)星號(hào)(*)FORi:=1to5DOBEGIN
FORj:=1TO10DOWrite("*");END;
初學(xué)者應(yīng)當(dāng)特別注意,內(nèi)層的循環(huán)變量不能和外層的循環(huán)變量相同。也就是說(shuō),嵌套的各層循環(huán)應(yīng)當(dāng)使用不同的變量作為循環(huán)變量。5.2While語(yǔ)句
1.WHILE循環(huán)的執(zhí)行形式WHILE布爾表達(dá)式DO語(yǔ)句例如:k:=10;WHILEk>0DOBEGIN
Writeln(k);k:=k-1END;其中
(1)WHIlE和DO是PASCAL保留關(guān)鍵字,是WHILE循環(huán)語(yǔ)句的組成部分。
(2)保留關(guān)鍵字DO后面的“語(yǔ)法”只能是一條語(yǔ)句,稱為“循環(huán)體”;如果循環(huán)體中需要包含多個(gè)語(yǔ)句則應(yīng)該如上例所示,采用一條復(fù)合語(yǔ)句。2.WHILE循環(huán)的執(zhí)行功能當(dāng)執(zhí)行到WHILE語(yǔ)句時(shí)(1)求出布爾表達(dá)式的值
(2)若布爾表達(dá)式的值為真,則執(zhí)行循環(huán)體內(nèi)的語(yǔ)句;若為“假”,執(zhí)行步驟4(3)重復(fù)步驟1和2
第34頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
(4)循環(huán)結(jié)束,執(zhí)行循環(huán)后面的語(yǔ)句。5.3Repeat-Until語(yǔ)句
1.REPEAT-UNTIL類型的循環(huán)的執(zhí)行形式REPEAT語(yǔ)句1語(yǔ)句2語(yǔ)句n
UNTIL布爾表達(dá)式
例如:以下循環(huán)求n=1+2+3++100n:=0;t:=i;REPEAT
n:=n+t;t:=t+1;UNTILt>100;其中
(1)REPEAT和UNTIL是PASCAL保留關(guān)鍵字。
(2)在REPEAT和UNTIL之間的語(yǔ)句構(gòu)成循環(huán)。在它們之間可以有任意多個(gè)語(yǔ)句,這一點(diǎn)和FOR,WHILE循環(huán)不同,F(xiàn)OR,WHILE循環(huán)體在語(yǔ)法上只允許一條語(yǔ)句。2.REPEAT-UNTIL循環(huán)的執(zhí)行功能
(1)遇到REPEAT語(yǔ)句后,即進(jìn)入循環(huán)體,順序執(zhí)行循環(huán)體內(nèi)的語(yǔ)句。
(2)遇到UNTIL語(yǔ)句后,求布爾表達(dá)式的值。若值為假,則返回步驟1;若為“真”,執(zhí)行步驟3
(3)循環(huán)結(jié)束,執(zhí)行UNTIL后面的下一條語(yǔ)句。思考與練習(xí):
1、計(jì)算下列式子的值:(1)1+2++100(2)1+3+5++97+99
2、輸入一個(gè)四位數(shù),求它各位上數(shù)字的和。
3、求水仙花數(shù)。所謂水仙花數(shù),是指一個(gè)三位數(shù)abc,如果滿足a^3+b^3+c^3=abc,則abc是水仙花數(shù)。
4、宰相的麥子:相傳古印度宰相達(dá)依爾,是國(guó)際象棋的發(fā)明者。有一次,國(guó)王因?yàn)樗呢暙I(xiàn)要獎(jiǎng)勵(lì)他,問(wèn)他想要什么。達(dá)依爾說(shuō):“只要在國(guó)際象棋棋盤上(共64格)擺上這么些麥子就行了:第一格一粒,第二格兩粒,,后面一格的麥子總是前一格麥子數(shù)的兩倍,擺滿整個(gè)棋盤,我就感恩不盡了!眹(guó)王一想,這還不容易,剛想答應(yīng),如果你這時(shí)在國(guó)王旁邊站著,你會(huì)不會(huì)勸國(guó)王別答應(yīng),為什么?
5、打印下列圖案:(輸入N值來(lái)控制圖案的規(guī)模,下列圖案均以N=3為例)
&&&&&&
第35頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
&&&&&&&&&
*********###
@@@
###@@@
6、輸入一整數(shù)A,判斷它是否質(zhì)數(shù)。(提示:若從2到A的平方根的范圍內(nèi),沒(méi)有一個(gè)數(shù)能整除A,則A是質(zhì)數(shù)。)
7、求兩個(gè)數(shù)的最小公倍數(shù)和最大公約數(shù)。(提示:公約數(shù)一定小于等于兩數(shù)中的小數(shù),且能整除兩數(shù)中的大數(shù)。公倍數(shù)一定大于等于兩數(shù)中的大數(shù),且是大數(shù)的倍數(shù),又能給兩數(shù)中的小數(shù)整除。)
8、編寫一個(gè)譯碼程序,把一個(gè)英語(yǔ)句子譯成數(shù)字代碼。譯碼規(guī)則是以數(shù)字1代替字母A,數(shù)字2代替字母B,,26代替字母Z,如遇空格則打印一個(gè)星號(hào)‘*’,英文句子以‘.‘結(jié)束。
9、“百錢買百雞”是我國(guó)古代的著名數(shù)學(xué)題。題目這樣描述:3文錢可以買1只公雞,2文錢可以買一只母雞,1文錢可以買3只小雞。用100文錢買100只雞,那么各有公雞、母雞、小雞多少只?與之相似,有"雞兔同籠"問(wèn)題。
10、輸入一個(gè)正整數(shù)N,把它分解成質(zhì)因子相乘的形式。如:36=1X2X2X3X3;19=1X19
(提示:設(shè)因子為I,從2開(kāi)始到N,讓N重復(fù)被I除,如果能整除,則用商取代N,I為一個(gè)因子;如果不能整除,再將I增大,繼續(xù)以上操作,直到I等于N。)
第六章數(shù)組與字符串
6.1一維數(shù)組6.2二維數(shù)組6.3字符串練習(xí)與作業(yè)6.1一維數(shù)組1、定義:var
a:array[1..10]ofinteger;
第36頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
其中:a是這一批數(shù)據(jù)的名稱,稱為數(shù)組名;array、of是定義數(shù)組的保留字;中括號(hào)中的數(shù)字是數(shù)據(jù)編號(hào)的下限和上限,財(cái)時(shí)也說(shuō)明了數(shù)據(jù)的個(gè)數(shù)(上限-下限);最后一個(gè)是數(shù)據(jù)的基類型,如integer,char,real,boolean。2、數(shù)組元素的輸入:
數(shù)組名代表的并不是一個(gè)變量,而是一批變量,因而,不能直接整個(gè)數(shù)組讀入,而是要逐個(gè)數(shù)組元素讀入,通常用循環(huán)結(jié)構(gòu)來(lái)完成這一功能。下面是幾個(gè)常用輸入數(shù)組元素的例子:fori:=1to10doread(a[i]);
{從鍵盤讀入數(shù)組元素的值;最常用的方法}fori:=1to10doa[i]:=i;
{數(shù)組元素a[1]到a[10]的值分別為1到10;數(shù)據(jù)賦初值}fori:=1to10doa[i]:=0;
{數(shù)組元素清0;最常用的數(shù)據(jù)初始化的方法}fori:=1to10doa[i]:=random(100);
{隨機(jī)產(chǎn)生10個(gè)100以內(nèi)的數(shù),賦給各數(shù)組元素}3、數(shù)組元素的輸出:
和數(shù)組元素的輸入相同,數(shù)組元素的輸出也不能由一個(gè)write語(yǔ)句直接完成。同樣要逐個(gè)數(shù)組元素輸出。通常也用循環(huán)結(jié)構(gòu)來(lái)完成這一功能:
fori:=1to10dowrite(a[i],"");{數(shù)組元素之間用空格分隔}writeln;4、數(shù)組的應(yīng)用:
例1:從鍵盤輸入10個(gè)數(shù),將這10個(gè)數(shù)逆序輸入,并求這10個(gè)數(shù)的和,輸出這個(gè)和。programp1;var
a:array[1..10]ofinteger;i,s:integer;begin
fori:=1to10doread(a[i]);
fori:=10downto1dowrite(a[i],"");writeln;s:=0;
fori:=1to10dos:=s+a[i];writeln("s=",s);end.
例2:用篩法求100以內(nèi)的素?cái)?shù)(質(zhì)數(shù))。
分析:素?cái)?shù)是除了1和它本身以外沒(méi)有其它約數(shù)的數(shù)。用篩法求素?cái)?shù)的方法是:用質(zhì)數(shù)篩去合數(shù):從第一個(gè)素?cái)?shù)2開(kāi)始,把它的倍數(shù)去掉;這樣2以后的第一個(gè)非0數(shù)就一定也是素?cái)?shù),把它的倍數(shù)也刪了重復(fù)這個(gè)刪數(shù)過(guò)程,直到在所找到的素?cái)?shù)后再也找不到一個(gè)非0數(shù)。把所有非0數(shù)輸出。programp2;
第37頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
var
a:array[1..100]ofinteger;i,j,k:integer;begin
fori:=1to100doa[i]:=i;a[1]:=0;i:=2;whilei信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
對(duì)某一列進(jìn)行處理。如累加第4列的數(shù)據(jù)。則固定列號(hào)為4。如:fori:=1to10dos:=s+a[i,4];
2、二維數(shù)組的輸入輸出要用雙重循環(huán)來(lái)控制:fori:=1to10do{控制行數(shù)}begin
forj:=1to5doread(a[i,j]){第一行讀入5個(gè)元素}readln;{讀入一個(gè)換行符}end;
{最常用的方法:從鍵盤讀入數(shù)據(jù)初始化二維數(shù)組}fori:=1to10do
forj:=1to5doa[i,j]:=0;{最常用的方法:將二維數(shù)組清0}fori:=1to10dobegin
forj:=1to5dowrite(a[i,j]:4);writeln;end;
{最常用的輸出方法:按矩陣形式輸出二維數(shù)組的值}
例1:競(jìng)賽小組共有20位同學(xué),這學(xué)期每位同學(xué)共參與了三項(xiàng)比賽,請(qǐng)統(tǒng)計(jì)每位同學(xué)的平均分。分析:定義一個(gè)20行3列的二維數(shù)組來(lái)存放這些成績(jī)。定義一個(gè)20個(gè)元素的一維數(shù)組來(lái)存放平均分。programp1;var
a:array[1..20,1..3]ofinteger;b:array[1..20]ofreal;i,j:integer;begin
fori:=1to20dobegin
forj:=1to3doread(a[i,j]);readln;end;
{從鍵盤上讀入20個(gè)同學(xué)的三次競(jìng)賽成績(jī)}fori:=1to20dob[i]:=0;{先將平均分?jǐn)?shù)組清0}fori:=1to20dobegin
forj:=1to3dob[i]:=b[i]+a[i,j];{計(jì)算總分}
第39頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
b[i]:=b[i]/3;{計(jì)算平均分}end;
fori:=1to20dowrite(b[i]:5:1);{輸出平均分}writeln;end.6.3字符串
1.字符串用于存放整批的字符數(shù)據(jù)。通常編程中使用字符串存放字符化了的數(shù)字?jǐn)?shù)據(jù)。如高精度運(yùn)算時(shí)存放操作數(shù)和運(yùn)算結(jié)果。字符串可以看作是特殊的字符串?dāng)?shù)組來(lái)處理。當(dāng)然,它也有自已的特點(diǎn)。下面是字符串定義的格式:var
s:string;s1:string[15];
字符串定義時(shí),如不指定長(zhǎng)度,則按該類型的最大長(zhǎng)度(255個(gè)字符)分配空間,使用時(shí)最大可用長(zhǎng)度為255個(gè);如果在中括號(hào)中給出一個(gè)具體的值(1255之間),則按這個(gè)值的大小分配空間。使用時(shí),最大的可用長(zhǎng)度即為該值。
2.字符串的輸入、輸出:
字符串類型既可按數(shù)組方式輸入、輸出,也可直接輸入、輸出:readln(s);writeln(s);多個(gè)字符串輸入時(shí)以回車作為數(shù)據(jù)間的分隔符;每個(gè)readln語(yǔ)句只能讀入一個(gè)字符串。3.有關(guān)字符串的操作:
操作類型返作用回值型l:=length(s);{l的值為9}字符串s:="123456789";s1:=copy(s,3,5);{s1的值是"34567"}vars:string;k,code:integer;begins:="1234";val(s,k,code);write(k);{k=1234}i:=1234;str(i,s);write(s);{s="1234"}s:="HonestAbeLincoln";Delete(s,8,4);Writeln(s);{"HonestLincoln"}第40頁(yè)共277頁(yè)例子length(s)函求字符串s的長(zhǎng)整s:="123456789";數(shù)度函復(fù)制s中從w開(kāi)數(shù)始的k位將字符串s轉(zhuǎn)為copy(s,w,k)val(s,k,code)過(guò)數(shù)值,存在k中;程code是錯(cuò)誤代碼過(guò)將數(shù)值i轉(zhuǎn)為字程符串s過(guò)在s中刪除從第str(i,s)Delete(s,w,k)w位開(kāi)始的k個(gè)程字符信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)Insert(s1,S,w)Pos(c,S)過(guò)將s1插到s中第程w位數(shù)的位置運(yùn)算將兩個(gè)字符串連接起來(lái)S:="HonestLincoln";Insert("Abe",S,8);{"HonestAbeLincoln"}函求字符c在s中整S:="123.5";型i:=Pos("",S);{i的值為1}s1:="1234";s2:="5678";s:=s1+s2;{"12345678"}+
思考與練習(xí):
符1、隨機(jī)產(chǎn)生20個(gè)100以內(nèi)的數(shù),輸出;按從小到大的順序排序,輸出。
2、求一個(gè)5X5數(shù)陣中的馬鞍數(shù),輸出它的位置。所謂馬鞍數(shù),是指在行上最小而在列上最大的數(shù)。如下:5678945678345212349012548
則1行1列上的數(shù)就是馬鞍數(shù)。
3、做一個(gè)加法器。完成30000以內(nèi)的加法,兩個(gè)加數(shù)間用“+”連接,可以連加,回車表示式子輸入完成;“#”表示結(jié)束運(yùn)算,退出加法器。
第七章函數(shù)和過(guò)程
8.1過(guò)程8.2函數(shù)
8.3全局變量和局部變量8.4值參數(shù)和變量參數(shù)練習(xí)與作業(yè)8.1過(guò)程
1.過(guò)程的定義
procedure過(guò)程名(形式參數(shù):參數(shù)說(shuō)明);{也可以不帶參數(shù)}varbegin...end;2.過(guò)程的調(diào)用
第41頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
過(guò)程名(實(shí)在參數(shù)表);
例1:求n個(gè)自然數(shù)的最大公約數(shù);programgcd1;constmaxn=100;varn,i,gcd:integer;
a:array[1..maxn]ofinteger;procedureenter;begin
write("n=(信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
...{函數(shù)語(yǔ)句}...
函數(shù)名:=表達(dá)式end;
2.函數(shù)的調(diào)用:
函數(shù)在語(yǔ)法上相當(dāng)于一個(gè)表達(dá)式,所以,調(diào)用時(shí),函數(shù)不能獨(dú)立成為一個(gè)語(yǔ)句;它可以出現(xiàn)在任何表達(dá)式可以出現(xiàn)的地方。例如賦值語(yǔ)句的右邊:
X:=函數(shù)名(實(shí)在參數(shù)表);{X的類型與函數(shù)類型必須一致}
又,如果函數(shù)類型是boolean,則還可以出現(xiàn)在條件語(yǔ)句中,充當(dāng)條件表達(dá)式:if函數(shù)名(實(shí)在參數(shù)表)then
例3:編一程序,求從10名同學(xué)中選出3名代表,有幾種不同的選法。(公式:C(m,n)=m!/n!*(m-n)!從m中選n)programzohe1;varm,n:integer;c:longint;
functionfactor(x:integer):longint;{定義}vari:integer;p:longint;beginp:=1;
fori:=1toxdop:=p*i;factor:=p;{這個(gè)語(yǔ)句必須}end;begin
write("m,n=");readln(m,n);
c:=factor(m)div(factor(n)*factor(m-n));{調(diào)用}writeln("c(",m,",",n,")=",c);end.
8.3全局變量和局部變量
在子程序中定義的變量稱為局部變量,在程序的一開(kāi)始定義的變量稱為全局變量。全局變量作用域是整個(gè)程序;局部變量作用域是定義該變量的子程序。當(dāng)全局變量與局部變量同名時(shí):在定義局部變量的子程序內(nèi),局部變量起作用;在其它地方全局變量起作用。例4:全局變量和局部變量。programlocal_global;vari,k:integer;proceduresub1;vari,j:integer;begin
第43頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
i:=17;
writeln("iinsub=",i);writeln("kinsub=",k);end;begini:=2;k:=9;
writeln("iinmain=",i);writeln("kinsub=",k);sub1;
writeln("iinmain=",i);writeln("jinmain=",j);readln;end.
上述程序運(yùn)行時(shí)將出現(xiàn)UnknownIdentfier;因?yàn)樽兞縥在主程序中沒(méi)定義。當(dāng)刪除本語(yǔ)句時(shí)。運(yùn)行結(jié)果如下:iinmain=2kinmain=9iinsub=17kinsub=9iinmain=28.4值參和變量參數(shù)
值形參傳值:調(diào)用時(shí)可用表達(dá)式代替形參,不該變實(shí)在參數(shù)的值。變量形參傳地址:調(diào)用時(shí)必須用變量代替行參變量,改變實(shí)在參數(shù)的值。例4:請(qǐng)看下列程序的運(yùn)行結(jié)果。programli3_10;vara,b,c:integer;
proceduresub(x,y:integer;varz:integer);begin
x:=x+1;y:=y+1;z:=x+y;
writeln("sub:x=",x:2,"y=",y:2,"z=",z:2);end;begin
a:=1;b:=4;c:=9;
writeln("main:a=",a:2,"b=",b:2,"c=",c);sub(a,b,c);
writeln("main:a=",a:2,"b=",b:2,"c=",c);sub(c+5,b*b,a);
writeln("main:a=",a:2,"b=",b:2,"c=",c);
第44頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
readln;end.
main:a=1b=4c=9sub:x=2y=5z=7main:a=1b=4c=7sub:x=13y=17z=30main:a=30b=4c=7練習(xí)與作業(yè)
1、試編寫一個(gè)將阿拉伯?dāng)?shù)字轉(zhuǎn)換為中文大寫數(shù)字的函數(shù)。(如中文狀態(tài)不方便,可以替換為ABCDEFGHIJ)
2、輸入一個(gè)長(zhǎng)字符串和一個(gè)短字符串以及一個(gè)合適的整數(shù),通過(guò)程序從指定位置用指定短字符串替換長(zhǎng)字符串中的內(nèi)容(要求編寫過(guò)程來(lái)實(shí)現(xiàn)),最后輸出新字符串。
第八章子界與枚舉類型
8.1子界類型8.2枚舉類型
Pascal有豐富的數(shù)據(jù)類型,在程序設(shè)計(jì)中有特殊而方便的應(yīng)用。類型定義的語(yǔ)法格式:type
=;=;
=;8.1子界與枚舉1.子界類型:
當(dāng)某些變量的取值范圍很具體時(shí),可用子界類型,它更符合實(shí)際、便于查錯(cuò)和節(jié)省內(nèi)存。定義如下:typeriqi=1..31;zimu="A".."Z";varday:riqi;ch1:zimu;也可以直接定義:day:1..31;year:0..200;ch1:"A".."Z";8.2枚舉類型:
第45頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)
通過(guò)預(yù)定義列出所有值的標(biāo)識(shí)符來(lái)定義一個(gè)有序集合,這些值的次序和枚舉類型說(shuō)明中的標(biāo)識(shí)符的次序是一致的。枚舉類型的形式:(標(biāo)識(shí)符1,,標(biāo)識(shí)符n)例如:
typedaystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday)枚舉元素只能是標(biāo)識(shí)符,而不能是數(shù)值常量或字符常量。例如以下的定義是錯(cuò)誤的: 枚舉元素是標(biāo)識(shí)符,不要把作為枚舉元素的標(biāo)識(shí)符視作變量名,它不能被賦值。同一個(gè)枚舉元素不能出現(xiàn)在兩個(gè)或兩個(gè)以上的枚舉類型定義中。例如以下的定義是錯(cuò)誤的:typedaytype1=(monday,tuesday);daytype2=(monday,wednesday); 可以將枚舉類型的定義和變量的定義結(jié)合在一起。例如:vara:(monday,tuesday,sunday)枚舉類型屬于順序類型。根據(jù)定義類型時(shí)各枚舉元素的排列順序確定它們的序列,序列號(hào)從0開(kāi)始。 例如:已經(jīng)定義daystype ord(sunday)=0,succ(sunday)=monday,pred(friday)=thursday 但是枚舉類型中的第一個(gè)元素沒(méi)有前趨,最后一個(gè)元素沒(méi)有后繼。TurboPascal不允許直接讀寫枚舉值,所以枚舉值的輸出常用case語(yǔ)句間接的輸出。枚舉值的輸入,則要一一判斷讀入字符是否是枚舉類型的標(biāo)識(shí)符。若是才能賦給枚舉變量,否則就會(huì)出錯(cuò)。例如:枚舉值的輸出casedayof sunday:write("sunday");monday:write("monday");tuesday:write("tuesday");wednesday:write("wednesday");thursday:write("thursday");friday:write("friday");saturday:write("saturday");end;練習(xí): 1.按月、日順序輸入今年的一個(gè)日期,輸出該日是星期幾?已知今年元旦是星期一。 第九章集合類型 9.1集合9.1集合1.集合的定義: type類型名=setof基類型 第46頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo) 例如:type num=setofchar;varn:num;或var n:setofchar;2.集合的表示: 用一組方括號(hào)括號(hào)一組元素來(lái)表示,元素之間用逗號(hào)分隔。如:[A,B,C,D]--有四個(gè)枚舉量的集合["A","B","C","D"]--有四個(gè)字符的集合[1..20]--包含了1到20中所有整數(shù)的集合[0]--只有一個(gè)元素0的單元素集[]--空集3.集合的運(yùn)算: (1)并(a+b):屬于a或?qū)儆赽[0..7]+[0..4]的值為[0..7](2)交(a*b):既屬于a又屬于b[0..7]*[0..4]的值為[0..4](3)差(a-b):屬于a但不屬于b[0..7]-[0..4]的值為[5..7](4)相等(a=b):a,b的元素完全一樣[0..7]=[0..4]的值為false(5)不等():元素不一樣[0..7][0..4]的值為true(6)包含于(=[0..4]的值為true(8)成員(in): 1in[0..4]的值為true4.注意事項(xiàng): (1)集合運(yùn)算相當(dāng)快,在程序中常用集合表達(dá)式來(lái)描述復(fù)雜的測(cè)試。如 A)條件表達(dá)式:(ch="T")or(ch="t")or(ch="Y")or(ch="y")可用集合表達(dá)式表示為: chin["T","t","Y","y"] B)if(ch>=20)and(ch信息學(xué)奧林匹克競(jìng)賽輔導(dǎo) ifchin[20..50]then...; (2)集合類型是一種使用簡(jiǎn)便,節(jié)省內(nèi)存面又運(yùn)算速度快的數(shù)據(jù)類型。 (3)TurboPascal規(guī)定集合的元素個(gè)數(shù)不超過(guò)256個(gè)(當(dāng)實(shí)際問(wèn)題所需的元素個(gè)數(shù)大于256時(shí),可采用布爾數(shù)組代替集合類型)。所以如下定義是錯(cuò)誤的:vari:setofinteger;(4)集合類型變量不能進(jìn)行算術(shù)運(yùn)算,了不允許用讀/寫語(yǔ)句直接輸入/輸出集合。所以集合的建立: A)要通過(guò)賦值語(yǔ)句實(shí)現(xiàn); B)或先初始化一個(gè)集合,然后通過(guò)并運(yùn)算向集合中逐步加入各個(gè)元素.(5)集合元素是無(wú)序的,所以ord,pred和succ函數(shù)不能用于集合類型的變量。練習(xí): 編程讀入兩個(gè)字符串,然后輸出如下信息: (1)出現(xiàn)在某一個(gè)字符串中至少一次的字母和數(shù)字;(2)同時(shí)出現(xiàn)在兩個(gè)字符串中至少一次的字母和數(shù)字; (3)出現(xiàn)在一個(gè)字符串中而不出現(xiàn)在另一個(gè)字符串中的字母和數(shù)字;(4)不出現(xiàn)在任何字符串中的字母和數(shù)字。 第十章記錄與文件類型 10.1記錄類型10.2文件類型 10.1記錄1.記錄的定義: type類型標(biāo)識(shí)符=record字段名1:類型1;字段名2:類型2;... 字段名n:類型n;end;如:type studata=recordnum:string[6];name:string[8];sex:boolean; s:array[1..5]ofreal;end;var 第48頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo) student:studata; students:array[1..10]ofstudata;2.記錄的運(yùn)用: (1)對(duì)記錄中和個(gè)域的引用,要寫出記錄名和域名,如:student.num(2)開(kāi)域語(yǔ)句:with。with記錄名do語(yǔ)句;或 with記錄名1,記錄名2,...do語(yǔ)句;注意: 1.在do后面語(yǔ)句中使用的記錄的域時(shí),只要簡(jiǎn)單地寫出域名就可以了,域名前的記錄變量和"."均可省略。 2.在關(guān)鍵字with后面,語(yǔ)句可以是一個(gè)簡(jiǎn)單語(yǔ)句,了可以是一個(gè)復(fù)合語(yǔ)句。3.雖然在with后可以有多個(gè)記錄變量名,但一般在with后只使用一個(gè)記錄變量名。10.2文件 文件是一種構(gòu)造型的數(shù)據(jù)類型。在程序中都需要產(chǎn)生一些輸出,也需要接受若干個(gè)輸入。這些輸入、輸出實(shí)際上是用文件的方法來(lái)實(shí)現(xiàn)的,在Pascal中用標(biāo)準(zhǔn)文件“input”和“output”來(lái)實(shí)現(xiàn),它們分別對(duì)應(yīng)標(biāo)準(zhǔn)輸入設(shè)備和標(biāo)準(zhǔn)輸出設(shè)備(可省略不寫)這也就是一些程序的程序書(shū)寫如下的原因了: programex(input,output);... 但有時(shí)大量數(shù)據(jù)的讀入和輸出都是來(lái)是磁盤文件,這就要求我們必須熟練掌握對(duì)磁盤文件的操作。 對(duì)于我們來(lái)說(shuō),我們只必須掌握文本文件(或稱正文文件,text)的讀寫即可:1.文本文件的定義: 文本文件不是簡(jiǎn)單地由某類型的元素序列所組成,它的基本元素是字符,由它們構(gòu)成行,若干行組成一份原文。由于各行的長(zhǎng)度可以不同,所以文本文件只能順序地處理。文本文件的定義如下:varfp:text;2.文本文件的讀操作: (1)調(diào)用assign過(guò)程,把磁盤文件賦予文本文件變量;assign(fp,filename); (2)調(diào)用reset過(guò)程,為讀操作做準(zhǔn)備;reset(fp); (3)在需要讀數(shù)據(jù)的位置調(diào)用read過(guò)程或readln過(guò)程。readln(fp,var1,var2,...,varn);3.文本文件的寫操作: 第49頁(yè)共277頁(yè)信息學(xué)奧林匹克競(jìng)賽輔導(dǎo) (1)調(diào)用assign過(guò)程,把磁盤文件賦予文本文件變量;assign(fp,filename); (2)調(diào)用rewrite過(guò)程,為讀操作做準(zhǔn)備;rewrite(fp); (3)在需要讀數(shù)據(jù)的位置調(diào)用write過(guò)程或writeln過(guò)程。writeln(fp,var1,var2,...,varn);4.文本文件的關(guān)閉操作:close(fp);5.文本文件的其他操作: (1)EOF(fp)布爾函數(shù),用于判斷文件結(jié)束否。(2)EOLN(fp)布爾函數(shù),用于判斷行結(jié)束否。例1:下面是一個(gè)建立和使用文件的程序:programwenjian;constn=3;m=2;typestudent=recordname:string; score:array[1..m]of0..100;end; varst:array[1..n]ofstudent;stfile:fileofstudent;sumst:array[1..n]ofinteger;sumsub:array[1..m]ofinteger;sum:integer;procedurenewfile;vari,j:integer;begin assign(stfile,"score.fil");rewrite(stfile);fori:=1tondobegin writeln("Inputstudent",i,"nameand",m,"score");readln(st[i].name);forj:=1tomdoread(st[i].score[j]);readln; write(stfile,st[i]);end; close(stfile); 第50頁(yè)共277頁(yè) 友情提示:本文中關(guān)于《高一第一學(xué)期信息技術(shù)競(jìng)賽輔導(dǎo)總結(jié)》給出的范例僅供您參考拓展思維使用,高一第一學(xué)期信息技術(shù)競(jìng)賽輔導(dǎo)總結(jié):該篇文章建議您自主創(chuàng)作。 來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。
《高一第一學(xué)期信息技術(shù)競(jìng)賽輔導(dǎo)總結(jié)》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.hmlawpc.com/gongwen/599982.html