103年 高普考 普通考試 資訊處理 程式設計概要 試卷

pdf
241.82 KB
2 頁
MIS
侵權投訴
加載中. ..
PDF
103
普通考試
代號44420
科:
資訊處理
目:
程式設計概要
考試時間:
1小時 30
座號:
使
(請接背面)
、二 C;其中??????
#include
#include
#define TRUE 1
#define FALSE 0
int i, j, k, m, n, p;
一、請完成下述程式片段。
請完成下方兩個函數 is_odd()is_even(),使其可以用相互遞迴(mutual
recursion的方式檢查所輸入的正整數為奇數或偶數。不管 n是奇數或是偶數,
is_odd(n)is_even(n)都應回傳正確的布林值TRUE FALSE)。請扼
要解說程式之正確性。(15 分)
bool is_even(unsigned int n) {
if (??????)
return ??????
else
return ??????
}
bool is_odd(unsigned int n) {
if (??????)
return ??????
else
return ??????
}
請撰寫單遞迴函single recursive functioncheck 以判斷所給之正整數為奇
數或偶數,若為奇數回傳 FALSE,若為偶數回傳 TRUE請扼要解說程式之正確
性。(15 分)
二、研究下方的片段 C言程式並回答下列問題。
scanf (“%d”, &n);
if (n > 0)
for (m=0, i=1; i<=n; m++, i=i*2);
printf (“%dn”, m);
請說明該程式片段最後輸出的數字的意涵,也就是 mn的關係。(10 分)
請改寫該程式片段,在不使用迴圈的情況下可以得到相同的結果。(15 分)
scanf (“%d”, &n);
if (n > 0)
??????
printf (“%dn”, m);
103
考試試題
代號44420
科:
資訊處理
目:
程式設計概要
三、假設書架上有七本書,已知每一本書的高度都不一樣,請以下列方式進行排序:
一個與第二個位置上的書先比較,較低的書放到第一個位置,較高的書放到第二個
位置;再來第二個與第三個位置的書相比較,依此類推。第一輪做完後,再從頭開
始進行第二輪的比較與交換,然後再進行第三輪、第四輪等,直至第輪結束為止。
若這七本書高度分別 15, 12, 17, 18, 11, 14, 19,請問每一輪需交換書本位置的次
數為何?(10 分)
若總共有 n本書本,最多共需交換幾次書本才能排序完成?(5分)
請宣告並說明如何以一維陣列 books[n]來表示書本的位置與高度。(5分)
請以上述宣告的一維陣列資料結構為基礎,用 C, C++Java 寫出上述排序演算
法。(10 分)
四、請完成下列網頁程式以呈現如下表之資料。
品牌
庫存
銷售數
Volvo
18
20
Luxgen
57
145
Toyota
41
78
Honda
17
15
請宣告二維陣列$cars 並事先儲存上述四種汽車品牌、庫存、銷售數。5分)
請用迴圈印出上述表格內容。(10 分)
$cars = . . .
. . .
收藏 ⬇️ 下載