精華區beta NTU-Exam 關於我們 聯絡資訊
課程名稱︰計算機程式語言 課程性質︰大一必修 課程教師︰林達德 開課學院:生農學院 開課系所︰生物產業機電工程學系 考試日期(年月日)︰2007/11/?? 考試時限(分鐘):90分鐘 是否需發放獎勵金:是 (如未明確表示,則不予發放) 試題 : 第一題:(10分,每一小題2分) 解釋名詞 (1)EOF (2)global variable (3)srand() (4)ASCII (5)UML 第二題:(10分,每一格2分) 考慮以下程式片斷: if(i == j) cout<<"1"<<endl; else if ((i % j)<3) cout<<"2"<<endl; else if (i<(j-1)) cout<<"3"<<endl; else cout<<"4"<<endl; cout<<"5"<<endl; 若i是9而j是4時,輸出為何? Answer:_____ 若i是4而j是9時,輸出為何? Answer:_____ 若i是5而j是6時,輸出為何? Answer:_____ 若i是5而j是9時,輸出為何? Answer:_____ 若i是0而j是0時,輸出為何? Answer:_____ 第三題:(10分,每一格2分) 下列敘述執行後變數A,B,C,D,E之值分別為何? int A=0, B=0, C=0, D=0, E=0; while(B <= 20) { A = A + 2; B = B + A; C++; D = B = C%2; E *= 2.0; } Answer: A=_____ B=_____ C=_____ D=_____ E=_____ 第四題:(10分) 請將下列程式在個人電腦上執行後輸出仔細地填入右側答案欄中 #include<iostream> Answer: using std::cout; using std::endl; int funct1(int a); int funct2(int a); int a=0,b=1; main() { int count; for(count = 1;count <= 5;++count) { b += funct(a+1) + 1; cout<<"b = "<<b<<endl; } } int funct1(int a) { b = funct2( a+1 ) + 1; return b; } int funct2(int a) { return(b+a); } 第五題:(10分) 設計一個程式,在螢幕上顯示下列的輸出 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5 Answer: 第六題:(10分) 請分別用 for,do while,while三種迴圈的程式語法撰寫程式,輸出下列序列: 1,4,7,10,13,16,19,22,25,28 Answer: 第七題:(10分) 指數函數e^x可以下式計算之 x^2 x^3 x^4 e^x = 1 + x + ╴╴╴ + ╴╴╴ + ╴╴╴ +...... 2! 3! 4! 請你設計一個函式計算指數函數(至第20項),同時在主程式中呼叫此函式計算 e^1,e^2,e^3,e^4,.....,至e^10,並將結果輸出至螢幕上。 Answer: 第八題:(10分) 請設計一個程式,其功能為找出整數1至N間的整數,整數N之值由使用者輸入,找到的質數 請輸出至螢幕上。 Answer: 第九題:(10分) 請設計一個名為Sphere的類別,此類別有三個內部資料(Private data number),分別為 radius、volume與s_area。此類別中另有三個成員函式(Public mumber function), 分別為CalculateVolume、CalculateSurfaceArea與PrintSphere,用來計算球體的體積、 表面積與輸出體積及表面積至電腦螢幕。 請寫出這個類別的完整內容,包含成員函式的定義程式碼。 [Hint:球體表面積公式為4πr^2,球體體積公式為(4/3)πr^3] Answer: 第十題:(10分) 請寫出一個程式計算丟擲五枚銅板出現正面次數的機率。此程式必須以主程式main()呼叫 函式 int five_coins()的方式完成,而 int five_coins()函式所回傳給主程式的整數為 隨機模擬丟擲五枚銅板後出現正面的銅板數。主程式則需要將每次的節果累計,最後將模 擬丟擲50000次銅板後,出現銅板正面為四個以上的機率輸出到螢幕上。 [Hint:你將可能會使用到 srand()及rand()函式] Answer: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59