CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐÁP ÁN
ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHỐ 3 (2009 - 2012)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MƠN THI: LÝ THUYẾT CHUN MƠN NGHỀ
Mã đề số: DA LTMT - LT13
Câu
Nội dung
I. Phần bắt buộc
1
a. Trình bày được giải thuật Buble Sort.
- Bước 0: Xét các phần tử M[j] (j giảm từ N-1 đến 0), so sánh
M[j] với M[j-1]. Nếu M[j] nhỏ hơn M[j-1] thì đổi chỗ M[j] và
M[j-1] cho nhau. Sau bước này thì M[0] có giá trị nhỏ nhất.
- Bước 1: Xét các phần tử M[j] (j giảm từ N-1 đến 1), so sánh
M[j] với M[j-1]. Nếu M[j] nhỏ hơn M[j-1] thì đổi chỗ M[j] và
M[j-1] cho nhau. Sau bước này thì M[1] có giá trị nhỏ nhất.
- Tổng quát ở bước i: Xét các phần tử M[j] (j giảm từ N-1 đến
i), so sánh M[j] với M[j-1]. Nếu M[j] nhỏ hơn M[j-1] thì đổi
chỗ M[j] và M[j-1] cho nhau. Sau bước này thì M[i] có giá trị
nhỏ nhất.
- Sau N - 1 bước thì kết thúc.
b. Áp dụng giải thuật Buble Sort với bộ dữ liệu
K = {9, 3, 10, 0, 99, 35, 25, 88, 18}
Trang: 1/5
Điểm
0,25
0.25
0,25
0,25
0,75
Khóa
Bước
Ban
đầu
Bước 1
Bước 2
Bước 3
Bước 4
Bước 5
Bước 6
Bước 7
Bước 8
Kết
quả
K[0] K[1] K[2] K[3] K[4] K[5] K[6] K[7] K[8]
9
3
10
0
99
35
25
88
18
0
9
3
3
9
9
10
10
10
10
99
18
18
18
18
25
99
25
25
25
25
35
25
99
35
35
35
35
10
18
25
35
18
35
35
99
88
88
88
88
88
88
88
88
88
99
99
99
99
99
0
3
9
Trang: 2/5
0,25
2
3
a. Nêu 4 tính chất của phụ thuộc hàm
- Phản xạ: Nếu Y ⊇ X thì X → Y
- Bắt cầu: Nếu X → Y và Y → Z thì X → Z
- Phân rã: Nếu X → YZ thì X → Y và X → Z
- Bắt cầu: Nếu X → Y và X → Z thì X → YZ
b. Áp dụng: Tìm chuỗi suy diễn ABGH
1) AB E (F1)
2) E G (F4)
3) AB G (tính bắc cầu 2 &3)
4) AB AB (phản xạ)
5) AB B (phân rã)
6) AB BE (kết hợp 1&5)
7) BE I (F3)
8) AB I (bắc cầu 6&7)
9) AB GI (kết hợp 3&8)
10)GI H (F5)
11)AB H (bắc cầu 9&10)
12)AB GH (kết
hợp 3&11)
#include
<conio.h>
#include <iostream.h>
#include <math.h>
class DT
{
private:
double a[20];// Mang chua cac he so da thuc a0,
a1,...
int n ;// Bac da thuc
public:
void nhap();
void hienthi();
DT operator+(const DT &d2);
double operator^(double x);// Tinh gia tri da
thuc
};
0,25
0,25
0,25
0,25
1,0
1,0
0,25
0,25
void DT::hienthi()
{
cout<
for (int i=1 ;i<= n ;++i)
cout<<"+"<< a[i] <<"X^"<
}
Trang: 3/5
void DT::nhap()
{
cout << "Bac da thuc:";
cin >> n;
cout << "Nhap cac he so da thuc:" ;
for (int i=0 ;i<=n ;++i)
{
cout << "\n He so bac"<
cin >> a[i] ;
}
}
0,25
0,75
DT DT::operator+(const DT &d2)
{
DT d;
int k,i;
k = (n > d2.n)?n:d2.n ;
for (i=0;i<=k ;++i)
if (i<=n && i<=d2.n)
d.a[i] = a[i] + d2.a[i];
else
if (i<=n)
d.a[i] =a[i];
else
d.a[i] = d2.a[i];
i = k;
while (i>0 && d.a[i]==0.0) --i;
d.n=i;
return d ;
}
0,25
double DT::operator^(double x)
{
double s=0.0 , t=1.0;
for (int i=0 ;i<= n ;++i)
{
s+= a[i]*t;
t *= x;
}
return s;
}
Trang: 4/5
void main()
{
DT p,q,f;
double x,g;
clrscr();
cout <<"\n Nhap da thuc P :" ;p.nhap();
cout <<"\n Nhap da thuc Q :" ;q.nhap();
cout << "\n Nhap so thuc x :" ;cin >> x;
f = (p+q);
g = f^x;
cout << "\n Da thuc f ";
f.hienthi();
cout<<"\n x =" << x;
cout << "\n f(x) = "<
getch();
}
0,25
II. Phần tự chọn
1
……….., ngày…………tháng………..năm…………..
Trang: 5/5