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- LT19
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 35 25 88 18
Bướ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. Các dạng chuẩn 1NF, 2NF, 3NF
- Một lược đồ quan hệ R là ở dạng chuẩn 1 (1NF) nếu miền
giá trị của các thuộc tính của nó chỉ chứa các giá trị nguyên tử
(đơn, không phân chia được) và giá trị của một thuộc tính bất
kỳ trong một bộ giá trị phải là một giá trị đơn thuộc miền giá
0,5
Trang: 1/4
trị của thuộc tính đó.
- Một lược đồ quan hệ R là ở dạng chuẩn 2 (2NF) nếu R đạt
dạng chuẩn 1 và tất cả các thuộc tính không khoá của R đều
phụ thuộc đầy đủ vào khoá (hay mỗi thuộc tính không khóa A
của R đều không phụ thuộc bộ phận nào của một khóa bất kỳ
của R)
- Một lược đồ quan hệ R là ở dạng chuẩn 3 (3NF) nếu khi một
phụ thuộc hàm X
→
A thỏa mãn trong R, thì:
+ Hoặc X là một siêu khóa của R
+ Hoặc A là một thuộc tínhkhóa của R
0,5
0,5
b. Cho biết dạng chuẩn của các lược đồ quan hệ sau:
- Q1(ABCDEG); F1={A→BC, C→DE, E→G}
- Ta có: K ={A}
- Vậy D, E, C, G là thuộc tính không khóamà C→DE, E→G
- Do vậy Q không thuộc dạng chuẩn 3, mà Q thuộc dạng
chuẩn 2
0,5
- Q2(ABCD) ; F2={AB → C ; D → B C → ABD}
- Ta có: K1=[AB]; K2=[AD];K3=[C]
là các khoá
- Vậy Q2 không có thuộc tính không khoá nên Q2 đạt chuẩn 3
0,5
- Q3(GMVNHP); F3={G→N; G→H; G→P; M→V;
NHP→M}
- Khoá của Q là G.
- Thuộc tính không khoá là M, V, N, H, P.
- Do các phụ thuộc hàm G → M; G → V; G → N; G → H; G
→ P là các phụ thuộc hàm đầy đủ, nên lược đồ quan hệ Q đạt
dạng chuẩn 2 , Q không dạt dạng chuẩn 3.
0,5
Trang: 2/4
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();
PS operator+(const PS &p2);
void operator=(const PS &p2);
};
0,25
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;
}
PS PS::operator+(const PS &p2)
{
PS tg;
tg.t=t*p2.m+p2.t*m;
tg.m=m*p2.m;
return tg;
}
0,1
0,1
0,25
0,1
0,25
Trang: 3/4
void nhapmangPS(PS *a,int n)
{
for (int i=1;i<=n;i++)
a[i].nhap();
}
PS tongmangPS(PS *a,int n)
{
PS tg;
tg=a[1];
for(int i=2;i<=n;i++)
tg=tg+a[i];
tg.rutgon();
return tg;
}
0,25
0,5
void main()
{
int n;
PS a[10],p2;
cout<<"\nNhap so phan so:"; cin>>n;
nhapmangPS(a,n);
p2=tongmangPS(a,n);
cout<<"Tong cua mang cac phan so
la:";p2.hienthi();
getch();
}
0,2
II. Phần tự chọn
………, ngày ………. tháng ……. năm ………
Trang: 4/4
. 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. tính không khoá của R đều
phụ thuộc đầy đủ vào khoá (hay mỗi thuộc tính không khóa A
của R đều không phụ thuộc bộ phận nào của một khóa bất kỳ
của R)
-