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Á3 (2009 - 2012)
NGHỀ: LẬPTRÌNHMÁY TÍNH
MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề số: DA LTMT- LT20
Câu Nội dung Điểm
I. Phần bắt buộc
1 a. Công thức đệ quy
S(n) = 1 nếu n = 0
S(n) = ½*(n + 1) nếu n>0 1,0
b. Hàm đệ quy
float S(n)
{
if (n= =0)
return 1;
else
return(1/(2*n+1)+S(n-1));
}
1,0
2 a. Định nghĩa khóa của lược đồ quan hệ
Cho lược đồ quan hệ R với các tập thuộc tính U={A
1
,A
2
, ,
A
n
} và các phụ thuộc hàm F, X
⊄
U. Ta nói X là một khóa của
R nếu:
- X
→
U
∈
F
+
. Nghĩa là X xác định hàm tất cả các thuộc tính
(các phụ thuộc hàm này thuộc F hoặc được suy diễn logic từ
F).
- Không có
Φ
≠Y
⊂
X mà Y
→
U
∈
F
+
.
0,25
0,25
b. Thuật toán tìm một khóa của lược đồ quan hệ
Vào: lược đồ quan hệ R với tập thuộc tính U và tập phụ thuộc
hàm F
Ra: Tập K là khóa của R
Thuật toán:
- Đặt K=U
- Lặp lại quá trình loại bỏ khỏi K thuộc tính A mà
{K-A}
+
=U.
0,25
0,25
c. Áp dụng
Trang: 1/5
Bước 1: Gán K = R = {A,B,C,D,E,G,H,I}
Bước 2: Lần lượt loại bớt các thuộc tính của K
- Loại phần tử A: ta có {B,C,D,E,G,H,I}
+
= R
vì pth CG → AE khiến A thuộc về {B,C,D,E,G,H,I}
+
nên K = {B,C,D,E,G,H,I}.
- Loại phần tử B, ta có {C,D,E,G,H,I}
+
= R
vì pth CG → AE khiến A thuộc về {C,D,E,G,H,I}
+
và
pth AC → B nên K ={C,D,E,G,H,I}.
- Loại phần tử C, ta có {D,E,G,H,I}
+
≠ R nên K vẫn là {C,
D,E,G,H,I}
- Loại phần tử D, ta có: {C, E,G,H,I}
+
= R vì pth
CG → AE khiến A thuộc về {C, E,G,H,I}
+
và
pth AC → B nên K ={C,E,G,H,I}.
- Loại phần tử E, ta có: {C, G,H,I}
+
= R vì
pth CG → AE , AC → B , ABC→ D nên K ={C,G,H,I}.
- Loại phần tử G, ta có: {C, H,I}
+
≠ R
nên K vẫn là {C, G,H,I}.
- Loại phần tử H, ta có: {C, G,I}
+
≠ R
nên K vẫn là {C, G,H,I}.
- Loại phần tử I, ta có: {C,G,H}
+
= R
vì CG → AE , AC → B, ABC→ D nên K={C,G,H}.
=> Vậy K={ C,G,H} là một khóa của r ( R )
0,25
0,50
0,25
Trang: 2/5
3
#include"conio.h"
#include"iostream.h"
#include"string.h"
#include"stdio.h"
class diem
{
private:
char *mahs;
char *hoten;
float t,l,h;
public:
diem()
{
mahs=new char[10];hoten=new char[40];
t=0;l=0;h=0;
}
~diem()
{
delete mahs;
delete hoten;
}
void nhap()
{
cout<<"\nMa hoc sinh:";gets(mahs);
cout<<"\nHo va ten:"; gets(hoten);
fflush(stdin);
cout<<"diem toan:";cin>>t;
cout<<"diem ly:";cin>>l;
cout<<"diem hoa:";cin>>h;
}
void hienthi()
{
cout<<"\n"<<mahs<<" "<<hoten<<" "<<t<<"
"<<l<<" "<<h<<" "<<t+l+h;
}
int xet_ll()
{
if(t+l+h>=15 &&t>0 &&l>0&&h>0)
return 1;
else
return 0;
}
};
0,2
0,1
0,2
0,1
0,2
Trang: 3/5
class BD
{
private:
diem ds[50];
int n;
public:
void nhapBD();
void hienthiBD();
void DSDo();
};
void BD::nhapBD()
{
cout<<"\nNhap so hoc sinh (<50)";cin>>n;
for(int i=0;i<n;i++)
{
cout<<"\nNhap thong tin cua hoc sinh thu
"<<i<<":\n";
ds[i].nhap();
}
}
void BD::hienthiBD()
{
cout<<"\nMahs Ho va ten Toan Ly
Hoa Tongdiem";
for(int i=0;i<n;i++)
ds[i].hienthi();
}
void BD::DSDo()
{
cout<<"\nDanh sach thi sinh do";
cout<<"\nMahs Ho va ten Toan Ly
Hoa Tongdiem";
for(int i=0;i<n;i++)
if(ds[i].xet_ll())
ds[i].hienthi();
}
0,25
0,25
0,25
0,25
void main()
{
BD ds;
ds.nhapBD();
ds.hienthiBD();
ds.DSDo();
getch();
}
0,2
Trang: 4/5
Công (I)
II. Phần tự chọn
1
2
…
Công (II)
Tổng cộng (I + II)
………, ngày ………. tháng ……. năm ………
Trang: 5/5
. cout < < "
" < < mahs < < " " < < hoten < < " " < < t < < "
" < < l < < " " < < h < < " " < < t+l+h;
. NAM
Độc lập – Tự do – Hạnh phúc
ĐÁP ÁN
ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHOÁ 3 (2009 - 2012)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề