113年 國安局特考 三等 資訊組(選試英文) 計算機概論 試卷

pdf
91.63 KB
2 頁
windows10
侵權投訴
加載中. ..
PDF
113
年公務人員特種考試警察人員一般警察人員
國家安全情報人員考試
三等考試
資訊組(選試英文
計算機概論
2小時 座號:
※注意:
使
使
代號:
3
5450
頁次:
2
1
一、請 IEEE-754 32 bit)浮,轉
「十進位浮點小數
Sign1 bitExponent8 bits, bias=127Fraction23 bits
0 10000011 10100000000000000000000
-17.125 IEEE-754
Exponent 4 bits "
C0F80000" IEEE-754 Fraction
4 bits 的二進位值」,和此""的「十進位
數」25
二、臺灣科技公司規劃網路,其中財務部門使用 C等級(class C)的網路系
統並手動設定 IP網路遮罩為 255.255.255.224財務主管小明
IP 140.123.100.89員工佳佳的 IP 140.123.100.182請寫出小明
的網路位址廣播位址(以十進位表示以及說明財務部門的網路可以
切割成幾個子網路、每個子網路設定可用主機電腦數量。最後,請說明
IP Subnet Mask)與
功能。25 分)
三、某 A~E
距離的資訊為A->B (20)A->C (25)A->D (11)B->C (25)B->E (18)
C->D (27)C->E (12)D->B (24)E->A(22)請畫出"起始點 B"之廣
度優先走訪樹狀圖其中每一個景點只出現一次另外請畫出根節"
始點為 B"其他景點為葉節點的展開樹 B->D 景點的所有路徑
最短路徑,以及所經過之景點及其距離。最後,請說明上面最短路徑走
訪方法的演算步驟25
代號:
35450
頁次:
2
2
四、請完成計算中位數與眾數兩個方法(I)~(V)空格程式,使程式正常運作,
以輸出 Mean=1, Mode=5其中中位數是將一組數值資料由小到大排列
後,取最中間的數值為中位數。若資料個數為奇數,則取最中間的數值
為中位數,例如 1, 2, 3, 3, 4, 6, 7, 7, 9 的中位數是 4;若資料個數為偶數,
1, 2, 3, 3, 4, 6, 7, 7, 8, 9
中位數是(4+6)/2=5。眾數,則是指一組數字中出現次數最頻繁的數字
例如2335710 的眾數是 3最後請說明此程式是否有不安全
的地方,以及其原因。25 分)
#include <iostream>
#include <algorithm>
using namespace std;
class Compute {
public:
void setData(int *, int);
double getMedian();
double getMode();
private:
int *data, d_size;
// 取得 key map 中的索引
int getIndex(int d[2][20], int key, int c) {
for (int i=0; i<c; i++)
if (key==d[0][i]) return i;
return -1;
}
//取得最大頻率值的 key
int getMaxValue(int d[2][20], int c) {
int maxKey = d[0][0];
int maxValue = d[1][0];
for (int i=1; i<c; i++)
if (maxValue<d[1][i]) {
maxKey = d[0][i];
maxValue = d[1][i];
}
return maxKey;
}
};
//設定資料並完成排序
void Compute::setData(int *d, int s) {
data = d;
d_size = s;
sort(data, data+d_size);
}
// 求中位數,若數量為奇數,回傳中間值,否則
回傳中間平均值
double Compute::getMedian() {
if (d_size%2== (I) ) // (I)
return data[ (II) ]; // (II)
else
return (data[(d_size/2)-1]+ (III) )/2.0; //(III)
}
//求眾數,統計數列各值出現頻率,找最大
double Compute::getMode() {
//d_map[0]紀錄 Key, d_map[1]紀錄頻率值
int d_map[2][20]={0};
//d_map 數量
int map_count=0;
for (int i=0; i<d_size; i++) {
int index =
getIndex(d_map, data[i], map_count);
if (index== (IV) ) { // (IV)
d_map[0][map_count]=data[i];
d_map[1][map_count++]=1;
}
else
d_map[1][ ( V )]=d_map[1][index]+1; //(V)
}
return getMaxValue(d_map,map_count);
}
int main() {
int data[10] ={5, 3, -4, 3, -1, 5, -1, -3, 5, -2};
Compute p;
p.setData(data, 10);
cout<<"Mean="<<p.getMedian()<<", ";
cout<<"Mode="<<p.getMode()<<endl;
}
收藏 ⬇️ 下載