• 沒有找到結果。

(高工組)臺北市102年高中電腦程式設計競賽決賽試題

N/A
N/A
Protected

Academic year: 2021

Share "(高工組)臺北市102年高中電腦程式設計競賽決賽試題"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

台北市 102 學年度高級中等學校學生(高工組)電腦軟體設計競賽 決賽試題

工作桌編號 ╴╴ 選手姓名 ╴╴╴╴╴ 代表學校 ╴╴╴╴╴ 總分╴╴╴ 試卷說明:1.請將寫好之程式原始檔依題號命名存檔,第一題取:選手姓名_Q1,第二題取:選手 姓名_Q2,依序命名存檔,並存於 C 碟之選手姓名_Contest 目錄。2.競賽時間 4 小時。

試題 1:總和面積表

說明:總和面積表是將二維的資料累加起來,也就是說,總和面積表中的點(x, y)等於從原始二維資料中 的點(0, 0)到(x, y),這個矩形內所有資料的和。數學式子表示如下:



   x i y j j i D y x S 0 0 ) , ( ) , ( , (1) 其中,S 是總和面積,D 是二維資料。上面公式,在實際應用時,不常使用,因為執行慢。比較快的式子 如下: ). 1 , 1 ( ) 1 , ( ) , 1 ( ) , ( ) , (x yD x yS xyS x y S xyS (2) 以圖 1 來說明,圖 1(a)和圖 1(c)是原始二維資料,圖 1(b)和圖 1(d)是利用上述公式,所得到的總合面積表。 圖 1(a)原始二維資料 D 圖 1(b)總和面積表 S 圖 1(c)原始二維資料 D 圖 1(d)總和面積表 S 假如,我們利用公式(1)求圖 1(a)中,左上角具有 6 個資料之深色矩形,其結果為 5+2+3+1+5+4=20,需要 做 6 次運算,其結果等於圖 1(b)中總合面積表之第 2 列第 3 行之 20 資料,只要一次運算即可得到結果。 再以圖 1(c)來說,利用公式(1)求圖中深色矩形之 6 個資料總和,其結果為 5+4+2+2+1+3=17,但是,若是 利用圖 1(d)總合面積表來計算,其結果為 34-14-8+5=17,只要執行 4 次(一個+, 兩個, 一個=)運算,此運 算,可以下面公式來表示: ) , ( ) , ( ) , ( ) , ( ) , ( 1 1 1 1      

 

R B R T L B L T xR xL x yB yT y y x S y x S y x S y x S y x D (3) 其中,xL和 yT是矩形左上角座標,xR和 yB 是矩形右下角座標。

(2)

請你設計一程式,可以讀取和顯示 5x5 檔案資料,可以計算和顯示總和面積表,可以讓用者輸入矩形 左上角座標和右下角座標,然後可以利用公式(3),計算和顯示矩形內資料之總和,同時,也可以計算和 顯示矩形內資料之平均。 評分:1. 可以讀取和顯示 5x5 檔案資料(5 分)。 2. 可以計算與顯示總和面積表(7.5 分)。 3. 可以讓用者輸入矩形左上角座標及輸入矩形右下角座標(2.5 分)。 .4. 計算與顯示矩形內資料之總和(7.5 分)。 5. 計算與顯示矩形內資料之平均(2.5 分)。 範例: 下圖中,輸入資料為二維 5x5 的資料,輸出資料是利用公式(2),所得到之總合面積表。計 算矩形內資料之總和,是利用公式(3)。計算矩形內資料之平均,也是利用公式(3),再平均。

試題 2:三角形判斷程式

說明:請寫一支程式能輸入三角形的 3 個頂點座標,接著計算 3 個邊的長度,進而判斷是哪種三 角形:有相同點座標、三點一直線、正三角形、等腰直角三角形、等腰三角形、直角三角形、鈍 角三角形、銳角三角形。注意:本程式需能處理 3 位小數點之數字,如 3 頂點座標(0, 0), (3, 1), (0.634, 3.098)能圍成正三角形,如下圖所示: 評分:1. 人機界面(4 分)。2. 程式功能 (21 分)

(3)

題目 3:

n

階正規魔術方陣

說明:由 2 n 個數字所組成的 n 階方陣,具有各對角線、各橫列與縱行的數字和都相等的性質,稱 為魔術方陣,而這個相等的和稱為魔術數字。若填入的數字是從1到 2 n ,則稱此種魔術方陣為 n 階正規魔術方陣,其魔術數字為 2 ( 1) 2 n n  。 要繪製一 n 階正規魔術方陣,常見的方法為:簡捷連續填製法 (適用於奇數階魔方陣),其口 訣為:1 立首列中,左一上一,受阻下一。以 n=3 為例,詳細作法說明如下: 步驟一:將 1 放置在第一列中間。 1 步驟二:往左上的位置填入下一數字, 假想格子上下左右環狀相鄰。 步驟三:依照步驟二逐次填入數字,如 果左上已經有數字,則往下面位置填入 數字。 步驟四:重複步驟二或三,直至完成魔 術方陣。 6 1 8 7 5 3 2 9 4 請依照上述簡捷連續填製法,設計一簡易輸入及顯示介面,使用者由該介面輸入不小於 3 、 不大於 11 的奇數 n 後(例如:n= 3 ),程式將該 n 階正規魔術方陣印出,並顯示‘成功’字樣。 如輸入數字小於 3 或非奇數,則程式需顯示‘錯誤’字樣。印出魔術方陣後,該程式可繼續輸 入下一數字。 評分: 1. 程式介面(4 分) 2. 程式執行正確性(21 分)

(4)

參考範例: 輸入 3,按執行後,顯示出 3 階正規魔術方陣 輸入 4,程式執行後顯示‘錯誤’字樣。

試題 4:誤差擴散法

說明:誤差擴散法為影像處理的一種技巧,可用來美化低色階的圖形。試設計一個程式, 可用 來實現 Floyd-Steinberg 誤差擴散法。左下圖為原始影像,右下圖為誤差擴散後影像。 圖 4-0 此方法之執行步驟如下: 步驟 1: 由左至右, 由上至下, 依序讀取每一個影像像素值。 步驟 2: 將每一個影像像素值 p 與數值 128 作比較。當 p 大於 128 時,該點的輸出為 255,且定 義誤差(error)為 p-255;否則,該點的輸出為 0,且定義誤差為 p。 步驟 3: 將誤差以圖 4-0 所示的比例擴散到鄰近的四個點,擴散後鄰近的四個點的值將變成原來 的值加上擴散的誤差值。(註:遇到邊界時,請將擴散的誤差值直接捨棄)

(5)

數值範例 111 119 123 117 111 124 111 115 error=111 0 167.5625 123 117 145.6875 130.9375 111 115 error= -87.4375 0 255 84.7460938 117 129.292969 103.613281 105.535156 115 評分項目:1.可以正確的載入影像資料檔,並且將資料顯示出來 (如圖 4-1 所示)。(5 分) (註:在此假設影像資料尺寸固定為 2013,即寬 20 點, 高 13 點) 2.可以正確的執行誤差擴散法,並且將資料顯示出來 (如圖 4-2 所示)。(20 分) 圖 4-1 圖 4-2

參考文獻

相關文件

(三) 使用 Visual Studio 之 C# 程式語言(.Net framework 架構) ,設計 各項系統程式、使用者操作介面,以及報表。. (四) 使用 MS

每一切削中心機旁需備 電腦一部,以利程式之 控制器 依競賽場設備為準

選手於競賽場地不得交談,如遇場地、材料、..之問題,皆以舉

(四)增加展能節競賽之基礎家具製作 (Furniture Making- Basic Course)、產品設計 (Product Design)、角色設計 (Character Design)、資源回收材料設計 (Waste

能熟悉電腦概念,包括作業 系統、應用軟體和檔案輸出 入硬體設備的安裝、操作和 維護。2.

」競賽,是結合生物科技與工程概念,以應用與設計為導向 的最新生物科學,為解決人類周遭生活問題。iGEM

結構化程式設計 是設計一個程式的一個技巧,此技巧就

螺紋、偏心、輥花等。CNC 車床設計 CNC 加工程 式,模擬加工路徑;或經由電腦輔助設計製造系