CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐÁP ÁN
ĐỀ THITỐTNGHIỆP CAO ĐẲNG NGHỀ KHOÁ2 (2008 - 2011)
NGHỀ: LẬPTRÌNHMÁY TÍNH
MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề số: DA LTMT- LT12
Câu Nội dung Điểm
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
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
K[0] K[1] K[2] K[3] K[4] K[5] K[6] K[7] K[8]
Ban
đầu
9 3 10 0 99 35 25 88 18
Bước 1 3 9 10 0 99 35 25 88 18
Bước 2 3 9 10 0 99 3 25 88
18Bước
3
0 3 9 10 99 35 25 88 18
Bước 4 0 3 9 10 99 35 25 88 18
Bước 5 0 3 9 10 35 99 25 88 18
Bước 6 0 3 9 10 25 35 99 88 18
Bước 7 0 3 9 10 25 35 88 99 18
Bước 8 0 3 9 10 18 25 35 88 99
Kết
quả
0 3 9 10 18 25 35 88 99
0,75
0,25
2 a. Nêu 4 tính chất của phụ thuộc hàm
Trang: 1/5
- 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
0,25
0,25
0,25
0,25
b. Áp dụng: Tìm chuỗi suy diễn AB → EG
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)
1,0
1,0
Trang: 2/5
3
#include <conio.h>
#include <iostream.h>
#include <math.h>
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);
};
0,25
Trang: 3/5
void PS:: nhap()
{
cout<<"\n Nhap tu so:"; cin>>t;
cout<<"Nhap mau so:"; cin>>m;
}
void PS:: hienthi()
{
cout <<t<<"/"<<m;
}
void PS::rutgon()
{
int uc=uscln(t,m);
t=t/uc;
m=m/uc;
}
void PS::operator=(const PS &p2)
{
t=p2.t;
m=p2.m;
}
int PS::operator>(const PS &p2)
{
if (t*p2.m>p2.t*m)
return 1;
else
return 0;
0,1
0,1
0,25
0,1
0,25
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;
}
0,25
0,5
Trang: 4/5
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 so lon nhat
la:";p2.hienthi();
getch();
}
0,2
II. Phần tự chọn
………, ngày ………. tháng ……. năm ………
Trang: 5/5
. 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. Nếu Y ⊇ X thi X → Y
- Bắt cầu: Nếu X → Y và Y → Z thi X → Z
- Phân rã: Nếu X → YZ thi X → Y và X → Z
- Bắt cầu: Nếu X → Y và X → Z thi X →