資訊處理 98 年程式設計概要考古題
題目為考試當年公告版本,實務標準請以現行規範為準。
試各撰寫一程式,由鍵盤輸入一個整數值M ㈠若M 為負數,則改為正數。(6 分) ㈡判斷M 是奇數或偶數。(6 分) ㈢利用for 迴圈,計算1+3+5+…+ M 的總和(但7 除外)。(6 分) ㈣利用while 迴圈,計算2+4+6+…+ M 的總和(但20 除外)。(7 分)
㈠說明Bubble Sort 如何排序。(5 分) ㈡設陣列ADATA[N]已存值 寫一程式印出ADATA 中所有元素之值。(5 分) 用Bubble Sort,將ADATA 升冪排列,並列印出ADATA 中所有元素之值。 (15 分)
試利用巢狀的if 敘述設計一程式,直接輸入學生成績,輸出為成績之評等。 學生成績依下列的分類方式評等:(25 分) 80~100:優等 60~79: 普通 0~59: 不及格 由鍵盤輸入學生成績之後,印出其結果。
說明下列各題:(每小題5 分,共25 分) ㈠作業系統(Operating System) ㈡程式語言(Programming Language) ㈢物件(Object) ㈣程式(Program) ㈤載入器(Loader)
試說明下列C 語言函式的功用:(每小題5 分,共20 分) ㈠設函式的輸入值皆為正整數 int xyz(int a, int b) { while (a != b) { if (a > b) a = a – b; else b = b – a;} return a;} ㈡設函式的輸入值為正整數 int xyz(int a) { if ( a == 1) return a; else return (a + xyz(a – 1));} ㈢設函式的輸入值皆為正整數 int xyz(int a, int b) { return (a > b ? a – b : b – a );} ㈣設函式的輸入值為正整數 long xyz(int x) { long f1 = 0, f2 = 1, f3 = 2, f4; if ((x == 0) || (x == 1)) return x; while (f3 <= x){ f4 = f1 + f2; f1 = f2; f2 = f4; f3++;} return f4; }