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Ề KHOÁ 2 (2008 - 2011) NGHỀ: LẬP TRÌNH MÁY TÍNH MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ Mã đề số: DA LTMT - LT12
Nội dung
Điểm
Câu I. Phần bắt buộc
1
a. Trình bày được giải thuật Insertion Sort. - Trước hết: ta xem phần tử a[0] là một dãy đã có thứ tự. - Bước 1: xen phần tử a[1] vào danh sách đã có thứ tự a[0] sao cho a[0], a[1] là một danh sách có thứ tự. - Bước 2: xen phần tử a[2] vào danh sách đã có thứ tự a[0], a[1] sao cho a[0], a[1], a[2] là một danh sách có thứ tự. - Tổng quát ở bước i: xen phần tử a[i] vào danh sách đã có thứ tự a[0], a[1], … a[i-1] sao cho a[0], a[1],.. a[i] là một danh sách có thứ tự. - Sau n-1 bước thì kết thúc.
0,25 0.25 0,25 0,25
K[0] K[1] K[2] K[3] K[4] K[5] K[6] K[7] K[8]
3 0 9 25 99 10 35 88 18
35 3 35 35 99 35 35 25 25 25 25 25 25 25 99 88 35 35 0 0 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 99 99 99 99 35 25 25 18 18 9 9 3 3 3 3 3 3 3 88 88 88 88 88 88 99 88 88 18 18 18 18 18 18 18 99 99
0,75 0,25
2
0,25 0,25 0,25 0,25
b. Áp dụng giải thuật Insertion Sort với bộ dữ liệu K = {9, 3, 10, 0, 99, 35, 25, 88, 18} Khóa Bước Ban đầu Bước 1 3 Bước 2 3 Bước 3 0 Bước 4 0 Bước 5 0 Bước 6 0 Bước 7 0 Bước 8 0 0 Kết quả 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
Trang: 1/4
b. Áp dụng: Tìm chuỗi suy diễn AB → EG
1,0 1,0
1) AB AB (tính phản xã) 2) AB B (phân rã) 3) B D (F2) 4) AB D (tính bắc cầu 2 &3) 5) AB C (F1) 6) AB DC (kết hợp 4&5) 7) CD E (F3) 8) AB E (bắc cầu 6&7) 9) AB CE (kết hợp 5&8) 10)CE HG (F4) 11)CE G (phan rã) 12)AB G (bắc cầu 9&11) 13)AB EG (kết hợp 8&12)
0,25
3
#include
#include
#include
int uscln(int a,int b)
{
while (!(a%b==0) )
{
int r=b; b=a%b;a=r;
}
return b;
}
class PS
{
private:
int t,m;
public:
void nhap();
void hienthi();
void rutgon();
int operator>(const PS &p2);
void operator=(const PS &p2);
};
Trang: 2/4
0,1 0,1 0,25 0,1 0,25
0,25 0,5
void PS:: nhap()
{
cout<<"\n Nhap tu so:"; cin>>t;
cout<<"Nhap mau so:"; cin>>m;
}
void PS:: hienthi()
{
cout <(const PS &p2)
{
if (t*p2.m>p2.t*m)
return 1;
else
return 0;
void nhapmangPS(PS *a,int n)
{
for (int i=1;i<=n;i++)
a[i].nhap();
}
PS maxmangPS(PS * a, int n)
{
PS tg;
tg=a[1];
for(int i=2;i<=n;i++)
if (a[i]>tg)
tg=a[i];
return tg;
}
Trang: 3/4
0,2
lon
so
nhat
void main() { int n; PS a[10],p1,p2; cout<<"\nNhap so phan so:"; cin>>n; nhapmangPS(a,n); p2=maxmangPS(a,n); cout<<"\nPhan la:";p2.hienthi(); getch(); }
II. Phần tự chọn
………, ngày ………. tháng ……. năm ………
Trang: 4/4

