分區聯賽
每年10月份舉行初賽,12月初復賽。
初賽多涉及計算機基礎知識和概念型問題,例如第壹臺計算機的出現日期等等。復賽則為較有難度的程序設計比賽,要求選手具備初步的算法和數據結構的知識,壹般限時3小時。
此競賽為國家教育部統壹組織的比賽,1995年開始舉辦,每年都有很多中學生參加。
全國青少年信息學(計算機)奧林匹克分區聯賽競賽大綱
競賽形式和成績評定
聯賽分兩個年齡組:初中組和高中組。每組競賽分兩輪:初試和復試。
初試形式為筆試,側重考察學生的計算機基礎知識和編程的基本能力,並對知識面的廣度進行測試。程序設計的描述語言采用Pascal或Basic或C/C++。各省市初試成績在本賽區前百分之十五的學生進入復賽。
復試形式為上機,側重考察學生對問題的分析理解能力,數學抽象能力,駕馭編程語言的能力和編程技巧、想象力和創造性等。程序設計語言可采用Pascal、Basic、C/C++或Java。各省市競賽的等第獎在復試的優勝者中產生。為鼓勵學生多學習較新技術,使用C/C++或Java的學生可以得到適當加分
試題形式
每次聯賽的試題分四組:初中組初試賽題;初中組復試賽題;高中組初試賽題;高中組復試賽題。其中,初中組初試賽題和高中組初試賽題類型相同,初中組復試賽題和高中組復試賽題類型相同,但初中組和高中組的題目不完全相同,高中組難度略高,以體現年齡特點和層次要求。
初試:初試全部為筆試,滿分100分。試題由四部分組成:
選擇題:***20題,每題1.5分,***30分。每題有5個備選方案,前10個題為單選題(即每題有且只有壹個正確答案),後10題為復選題(即每題有1至5個正確答案,只有全部選對才得分)。
問題求解題:***2題,每題5分,***10分。試題給出壹個敘述較為簡單的問題,要求學生對問題進行分析,找到壹個合適的算法,並推算出問題的解。答案以字符串方式給出,考生給出的答案與標準答案的字符串相同,則得分;否則不得分。
程序閱讀理解題:***4題,每題8分,***32分。題目給出壹段程序(不壹定有關於程序功能的說明),有時也會給出程序的輸入,要求考生通過閱讀理解該段程序給出程序的輸出。輸出以字符串的形式給出,如果與標準答案壹致,則得分;否則不得分。
程序完善題:***2題,每題14分,***28分。題目給出壹段關於程序功能的文字說明,然後給出壹段程序代碼,在代碼中略去了若幹個語句並在這些位置給出空格,要求考生根據程序的功能說明和代碼的上下文,填出被略去的語句。填對的,則得分;否則不得分。
復試:復試的題型和形式向全國信息學奧賽(NOI)靠攏,全部為上機編程題,但難度略低。復試為決出競賽成績的最後壹個環節。題目包括4道題,每題100分,***計400分。難度有易有難,既考慮普及面,又考慮選拔的梯度要求。每壹道試題包括:題目、問題描述、樣例說明(輸入、輸出及必要的說明)。測試時,測試程序為每道題提供了5-10組測試數據,考生程序每答對壹組得10分,累計分即為該道題的得分。
試題的知識範圍
壹、初賽內容與要求:
計算機的基本常識
1.計算機和信息社會(信息社會的主要特征、計算機的主要特征、數字通信網絡的主要特征、數字化)
2.信息輸入輸出基本原理(信息交換環境、文字圖形多媒體信息的輸入輸出方式)
3.信息的表示與處理(信息編碼、微處理部件MPU、內存儲結構、指令,程序,和存儲程序原理、程序的三種基本控制結構)
4.信息的存儲、組織與管理(存儲介質、存儲器結構、文件管理、數據庫管理)
5.信息系統組成及互連網的基本知識(計算機構成原理、槽和端口的部件間可擴展互連方式、層次式的互連結構、互聯網絡、TCP/IP協議、HTTP協議、WEB應用的主要方式和特點)
6.人機交互界面的基本概念(窗口系統、人和計算機交流信息的途徑(文本及交互操作))
7.信息技術的新發展、新特點、新應用等。
計算機的基本操作
1.WINDOWS和LINUX的基本操作知識
2.互聯網的基本使用常識 (網上瀏覽、搜索和查詢等)
3.常用的工具軟件使用(文字編輯、電子郵件收發等)
程序設計基本知識
數據結構
1.程序語言中基本數據類型(字符、整數、長整數、浮點)
2.浮點運算中的精度和數值比較
3.壹維數組(串)與線性表
4.記錄類型(PASCAL)/ 結構類型(C)
程序設計
1.結構化程序設計的基本概念
2.閱讀理解程序的基本能力
3.具有將簡單問題抽象成適合計算機解決的模型的基本能力
4.具有針對模型設計簡單算法的基本能力
5.程序流程描述(自然語言/偽碼/NS圖/其他)
6.程序設計語言(PASCAL/C/C++,2003年仍允許BASIC)
基本算法
處理
1.初等算法(計數、統計、數學運算等)
2.排序算法(冒泡法、插入排序、合並排序、快速排序)
3.查找(順序查找、二分法)
4.回溯算法
二、復賽內容與要求:
在初賽的內容上增加以下內容:
數據結構
1.指針類型
2.多維數組
3.單鏈表及循環鏈表
4.二叉樹
5.文件操作(從文本文件中讀入數據,並輸出到文本文件中)
程序設計
1.算法的實現能力
2.程序調試基本能力
3.設計測試數據的基本能力
4.程序的時間復雜度和空間復雜度的估計
算法處理
1.離散數學知識的應用(如排列組合、簡單圖論、數理邏輯)
2.分治思想
3.模擬法
4.貪心法
5.簡單搜索算法(深度優先 廣度優先)搜索中的剪枝
6.動態規劃的思想及基本算法