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 - LT20<br />
Câu<br />
I. Phần bắt buộc<br />
1<br />
a. Công thức đệ quy<br />
<br />
Nội dung<br />
<br />
S(n) = 1 nếu n = 0<br />
S(n) = ½*(n + 1) nếu n>0<br />
<br />
Điểm<br />
<br />
1,0<br />
<br />
b. Hàm đệ quy<br />
float S(n)<br />
{<br />
if (n= =0)<br />
return 1;<br />
else<br />
return(1/(2*n+1)+S(n-1));<br />
}<br />
<br />
2<br />
<br />
a. Định nghĩa khóa của lược đồ quan hệ<br />
Cho lược đồ quan hệ R với các tập thuộc tính U={A1,A2, ...,<br />
An} và các phụ thuộc hàm F, X U. Ta nói X là một khóa của<br />
R nếu:<br />
- X U F+ . Nghĩa là X xác định hàm tất cả các thuộc tính<br />
(các phụ thuộc hàm này thuộc F hoặc được suy diễn logic từ<br />
F).<br />
- Không có Y X mà Y U F+ .<br />
b. Thuật toán tìm một khóa của lược đồ quan hệ<br />
Vào: lược đồ quan hệ R với tập thuộc tính U và tập phụ thuộc<br />
hàm F<br />
Ra: Tập K là khóa của R<br />
Thuật toán:<br />
- Đặt K=U<br />
- Lặp lại quá trình loại bỏ khỏi K thuộc tính A mà<br />
{K-A}+ =U.<br />
c. Áp dụng<br />
<br />
Trang: 1/5<br />
<br />
1,0<br />
<br />
0,25<br />
<br />
0,25<br />
<br />
0,25<br />
<br />
0,25<br />
<br />
Bước 1: Gán K = R = {A,B,C,D,E,G,H,I}<br />
0,25<br />
Bước 2: Lần lượt loại bớt các thuộc tính của K<br />
0,50<br />
+<br />
- Loại phần tử A: ta có {B,C,D,E,G,H,I} = R<br />
vì pth CG → AE khiến A thuộc về {B,C,D,E,G,H,I}+<br />
nên K = {B,C,D,E,G,H,I}.<br />
- Loại phần tử B, ta có {C,D,E,G,H,I}+ = R<br />
vì pth CG → AE khiến A thuộc về {C,D,E,G,H,I}+ và<br />
pth AC → B nên K ={C,D,E,G,H,I}.<br />
- Loại phần tử C, ta có {D,E,G,H,I}+ ≠ R nên K vẫn là {C,<br />
D,E,G,H,I}<br />
- Loại phần tử D, ta có: {C, E,G,H,I}+ = R vì pth<br />
CG → AE khiến A thuộc về {C, E,G,H,I}+ và<br />
pth AC → B nên K ={C,E,G,H,I}.<br />
- Loại phần tử E, ta có: {C, G,H,I}+ = R vì<br />
pth CG → AE , AC → B , ABC→ D nên K ={C,G,H,I}.<br />
- Loại phần tử G, ta có: {C, H,I}+ ≠ R<br />
nên K vẫn là {C, G,H,I}.<br />
- Loại phần tử H, ta có: {C, G,I}+ ≠ R<br />
nên K vẫn là {C, G,H,I}.<br />
- Loại phần tử I, ta có: {C,G,H}+ = R<br />
vì CG → AE , AC → B, ABC→ D nên K={C,G,H}.<br />
=> Vậy K={ C,G,H} là một khóa của r ( R )<br />
0,25<br />
<br />
Trang: 2/5<br />
<br />
3<br />
<br />
#include"conio.h"<br />
#include"iostream.h"<br />
#include"string.h"<br />
#include"stdio.h"<br />
class diem<br />
{<br />
private:<br />
char *mahs;<br />
char *hoten;<br />
float t,l,h;<br />
public:<br />
diem()<br />
{<br />
mahs=new char[10];hoten=new char[40];<br />
t=0;l=0;h=0;<br />
}<br />
~diem()<br />
{<br />
delete mahs;<br />
delete hoten;<br />
}<br />
void nhap()<br />
{<br />
cout