課程名稱︰計算機程式語言
課程性質︰大一必修
課程教師︰林達德
開課學院:生農學院
開課系所︰生物產業機電工程學系
考試日期(年月日)︰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