資訊處理 102 年程式設計概要考古題
題目為考試當年公告版本,實務標準請以現行規範為準。
下列的Java 語言程式中,存在一個Math 的類別做為遞迴演算。 ㈠請問下列程式的輸出為何?請依據下列程式邏輯,寫下運算輸出結果的過程。 (10 分) ㈡如果在第06 與07 行之間加入一行敘述System.out.println(n);請問執行程式後n 值 依序輸出的結果為何?(10 分) 01 class Math { 02 int math_num(int n) { 03 if(n <= 2) 04 { 05 return 1; 06 } 07 return math_num(n - 3) + math_num(n - 2) + math_num(n - 1); 08 } 09 } 10 public class ShowMath { 11 public static void main(String[] argv) { 12 Math m = new Math(); 13 System.out.println(m.math_num(8)); 14 } 15 }
請回答下列問題: ㈠XML 與HTML 的主要區別。(5 分) ㈡ADO.NET 有兩大重點,分別是DataReader 與DataSet 這兩種,請描述其相異之 處。(5 分) ㈢在ASP.NET 中建置一個Web 網站,這個應用程式包含了100 個頁面。若想要在 建置應用程式的環境中,當發生一個HTTP 代碼錯誤時,可以顯示一個自訂的錯 誤頁面給使用者。請問要花最小的代價完成這些目標,可以在這個應用程式那二 個檔案中,建置CustomErrors 事件去處理HTTP 錯誤?(5 分) ㈣在C#中,string str = null 與 string str = " " 的區別為何?(5 分) (請接第二頁) 102年特種考試地方政府公務人員考試試題 類 科: 資訊處理 全四頁 第二頁
由於避免個資外洩,欲撰寫一Java 程式,姓名與身分證字號僅顯示部分內容,下列 為Java 部分程式片段,請依據下列原則以迴圈方式完成方框內的程式:(20 分) ㈠姓名顯示原則為只顯示名字的第一個字與最後一個字,但是名字如果只有二個字, 則顯示「李X」,例如名字為「李大同」,則顯示「李X 同」。不限定名字的長 度都可以顯示此型態。 ㈡身分證字號顯示原則為顯示一個字元、隱藏一個字元,例如身分證字號為 「A123456789」,則顯示「A*2*4*6*8*」。 public static void main(String[] arg) { String hidename="李大同"; String hideid="A123456789"; String name=""; String id=""; //隱藏姓名 System.out.println(name); //隱藏身分證字號 System.out.println(id); } (請接第三頁) 102年特種考試地方政府公務人員考試試題 類 科: 資訊處理 全四頁 第三頁
下列均為程式片段,請回答下列問題: ㈠請問下列C++程式的目的為何?若輸入21、235、71、64、129 五個數值,則輸 出結果為何?(5 分) 01 int main() 02 { 03 double num(0); 04 double *xarray; 05 xarray=new double[5]; 06 cout<<"請輸入5 個數值,謝謝!"<<endl; 07 for(int i=0;i<=4;i++) 08 { 09 cin >>*(xarray+i); 10 if(*(xarray+i)>num) 11 num = *(xarray+i); 12 } 13 cout<<"結果:"<<num<<endl; 14 } ㈡請問下列C++程式的目的為何?若輸入數值659845,則輸出結果為何?(5 分) 01 int main() 02 { 03 static int InputNum,DispNo,Result; 04 cout << "請輸入任一整數"; 05 cin >> InputNum; 06 while(InputNum > 0) 07 { 08 DispNo = InputNum % 10; 09 Result += DispNo; 10 InputNum /= 10; 11 } 12 cout << "結果:" << Result <<endl; 13 } ㈢請問下列C 程式所依據的數學公式為何?(例如∑= − n i i n ia x 0 ) 若輸入數值為5,則輸出結果為何?(10 分) 01 int main() 02 { 03 int sum1=0,sum2=0,n,i,j; 04 printf("輸入一數字:\n"); 05 scanf("%d",&n); 06 for(i=0;i<=n;i++){ 07 for (j=0;j<=i;j++){ 08 sum2+=j; 09 } 10 if(i%2==0) 11 sum1-=sum2; 12 else 13 sum1+=sum2; 14 sum2=0; 15 } 16 printf("結果為:%d\n",sum1); 17 return 0; 18 } (請接第四頁) 102年特種考試地方政府公務人員考試試題 類 科: 資訊處理 全四頁 第四頁
下列的HTML 程式中,執行後自動顯示今天日期。 使用者輸入生日(西元格式)後,按submit 顯示民國生日格式與年齡。 執行結果顯示生日的民國日期與年齡: 年齡的算法為精確年齡計算方式,若今年生日已過,則為今年與生日年份相減,若 今年生日未過,則為今年與生日年份相減再減1。請依題意完成下列程式(需在10 個 灰色網底位置填入適當指令)。(每小題2 分,共20 分) 01 <html> 02 <head> 03 <script language="javascript"> 04 function CurrentDate() 05 { 06 date= new Date(); 07 var d = n ; //Set day of date 08 var m= o ; //Set month of date 09 var y= p ; //Set year of date 10 11 document.getElementById('CurDate').value= y + '/' + m + '/' + d; 12 } 13 14 function display() 15 { 16 var birthday = q ; 17 var today = new Date(); 18 var age = r ; 19 var Ryears = birthday.getFullYear()-1911; 20 21 // Reset birthday to the current year. 22 s ; 23 24 // If the user's birthday has not occurred yet this year, subtract 1. 25 if ( t ) 26 { 27 u ; 28 } 29 30 document.write("你的生日:民國" + Ryears +" 年 " + (birthday.getMonth()+1) + " 月 " + birthday.getDate() + "日</br>"); 31 document.write("你目前年齡是: " + age + " 歲"); 32 } 33 34 </script> 35 </head> 36 <body onload= v > 37 <form name="Age" method="post"> 38 今天日期:<input type="text" name="CurDate" id="CurDate" readonly="readonly"> 39 你的生日:<input type="date" name="Birthday" id="Birthday"> 40 41 <input type="submit" name="submit" value="submit" onClick= w > 42 </form> 43 </body> 44 </html>