經(jīng)中國科協(xié)、教育部批準,由中國計算機學會主辦的全國青少年信息學計算機奧林匹克競賽(簡稱NOD及其分區(qū)聯(lián)賽(簡稱NOIP),是一項全國性的青少年學科競賽活動,是計算機知識在青少年中普及的產物。我國的青少年計算機普及教育起步于20世紀80年代初的青少年課外科技活動。隨著科學技術的發(fā)展,計算機技術已成為繼自然語言和數(shù)學語言之后人類必須掌握的第三種通用智力工具。計算機技術與基礎教育的結合,已成為我國教育面向現(xiàn)代化、面向世界、面向未來的一大趨勢。鄧小平同志以老一輩革命家的遠見卓識,高度贊揚了在青少年中開展計算機普及活動的做法,發(fā)出了“計算機的普及要從娃娃做起”的偉大號召。從此,有成千上萬的青少年加入到學習計算機、使用計算機的行列中來,使我國的計算機普及教育掀起了一個高潮。
在鄧小平同志發(fā)出號召以后,由中國科協(xié)和教育部聯(lián)合委托中國計算機學會興辦了首屆全國青少年計算機程序設計競賽活動。這個新的活動形式一出現(xiàn),就受到了黨和政府的關懷和支持。王震同志在頒獎大會上發(fā)言,代表黨中央肯定了“教育部和中國科協(xié)又為青少年辦了一件很有意義、很有遠見的好事”。黨和政府的支持、老一輩革命家的關心更加激勵了廣大青少年投身于NOI活動之中,使這項活動從一開始就有了相當?shù)牡匚缓陀绊懀蔀槲覈嗌倌暧嬎銠C普及教育活動中最有代表性的形式。
2000年于北京舉辦的第12屆國際信息學奧林匹克競賽(IOI),江澤民主席致了賀信。賀信中說:“在人類即將進入新世紀之際以信息科技和生命科技為核心的科技進步與創(chuàng)新正在深刻地改變著人類的生產和生活方式,推動著世界文明的發(fā)展。青年是人類的未來,也是世界科技發(fā)展的未來。國際信息學奧林匹克競賽活動,對年青一代了解和掌握現(xiàn)代科學技術,養(yǎng)成創(chuàng)新精神具有重要作用”。作為與國際奧林匹克學科競賽接軌的全國信息學奧林匹克競賽,舉辦NOI活動的宗旨就是在青少年中普及計算機科學,通過組織信息學奧林匹克競賽使學生開闊眼界、擴大知識面;了解計算機在現(xiàn)代化社會中的戰(zhàn)略地位培養(yǎng)并促其能力得以發(fā)展;通過競賽發(fā)現(xiàn)人才,對有才華的青少年起到激勵作用。同時NOI的舉辦其內容的變化與發(fā)展給學校相應課程增加了動力并啟發(fā)新的思路對各地計算機普及教育的興盛及教育內容的豐富和發(fā)展也一直起著良性的導向和指導作用。
第一部分 語言篇
第一章 Pascal語言基礎
第一節(jié) FreePascal概述
第二節(jié) FreePascal的基本概念
第二章 Pascal語言三種結構
第一節(jié) 順序結構的程序設計
第二節(jié) 分支結構的程序設計
第三節(jié) 循環(huán)結構
第三章 數(shù)組和字符串
第一節(jié) 一維數(shù)組
第二節(jié) 二維數(shù)組
第三節(jié) 字符串
第四章 子程序
第一節(jié) 函數(shù)
第二節(jié) 過程
第三節(jié) 變量和參數(shù)
第四節(jié) 數(shù)值形參和變量形參
第五節(jié) 過程和函數(shù)的嵌套
第六節(jié) 子程序(模塊化)結構的程序設計
第五章 其他構造類型
第一節(jié) 枚舉類型
第二節(jié) 子界類型
第三節(jié) 集合類型
第四節(jié) 記錄類型
第五節(jié) 文件類型
第六章 指針類型
第一節(jié) 指針類型
第二節(jié) 單向鏈表
第二部分 數(shù)據(jù)結構篇
第一章 棧
第二章 隊列
第三章 樹
第一節(jié) 樹
第二節(jié) 最優(yōu)二叉樹
第四章 圖
第三部分 算法篇
第一章 算法概述
第一節(jié) 算法概述
第二節(jié) 算法評價與優(yōu)化
第二章 排序與查找
第三章 搜索算法
第一節(jié) 窮舉法
第二節(jié) 回溯
第三節(jié) 深度優(yōu)先搜索和寬度優(yōu)先搜索
第四章 常用算法
第一節(jié) 高精度計算
第二節(jié) 模擬策略
第三節(jié) 遞歸
第四節(jié) 遞推
第五節(jié) 分治
第六節(jié) 貪心策略
第七節(jié) 動態(tài)規(guī)劃初步
第四部分 補充材料
第一章 計算機的基本常識
第二章 計算機工作原理及系統(tǒng)組成
第三章 信息的表示與處理
第四章 計算機網(wǎng)絡
第五章 軟件與操作系統(tǒng)
第六章 計算機的網(wǎng)絡安全
參考答案
第一部分 語言篇
第一章 Pascal語言基礎
第一節(jié) Free Pascal概述
知識概要
信息學奧林匹克競賽是一項益智性的競賽活動,核心是考查選手的智力和使用計算機解題的能力。選手首先應針對競賽中題目的要求構建數(shù)學模型,進而構造出計算機可以接受的算法,之后要寫出高級語言程序,上機調試通過。程序設計是信息學奧林匹克競賽的基本功,在青少年朋友參與競賽活動的第一步必須掌握一門高級語言及其程序設計方法。
Pascal語言也是一種算法語言,它是瑞士蘇黎世聯(lián)邦工業(yè)大學的N.沃思(Niklaus Wirth)教授于1968年設計完成的。Pascal語言的主要版本有Free Pascal和Turbo Pascal,F(xiàn)ree Pascal是DOS下的一種16位編程工具,在Turbo Pascal推出時,由于它擁有編譯速度極快的編譯器和功能強大而又簡便易用的集成開發(fā)環(huán)境(DE),在當時的程序員中廣為流行。現(xiàn)在,隨著Turbo Pascal逐漸被淘汰,全國信息學奧林匹克競賽決賽(NOI)和國際信息學奧林匹克競賽(IOI)已經(jīng)指定Free Pascal為比賽使用的Pascal編程工具。Free Pascal是由一個國際組織開發(fā)的32位Pascal編程工具,屬于共享軟件,可用于各種操作系統(tǒng)。由于它擁有32位的編譯器,而且一直在更新發(fā)展中,因此它的功能比Turbo Pascal更加強大,擁有許多現(xiàn)代程序設計的特征。
由于Pascal語言能夠精確地表達程序設計的基本概念,結構性好,表達能力強,因此成為許多學校程序設計課程的教學語言,以及計算機會考和奧林匹克信息學競賽的規(guī)定語言。本章節(jié)將詳盡地介紹Pascal的語法規(guī)則和Free Pascal的集成環(huán)境,所有示例均采用Pascal語言或類Pascal語言編寫。
……