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