CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM<br />
<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ã đề thi: DA LTMT - LT23<br />
<br />
1/7<br />
<br />
Câu<br />
<br />
Nội dung<br />
<br />
Điểm<br />
<br />
I. Phần bắt buộc<br />
1<br />
<br />
Cơ sở dữ liệu<br />
<br />
2.5 điểm<br />
<br />
A. Ngôn ngữ SQL<br />
<br />
1.5 điểm<br />
<br />
1. Select thisinh.masv,thisinh.hoten,thisinh.ngaysinh,lop.tenlop<br />
From thisinh,lop,khoa<br />
Where thisinh.malop=lop.malop and lop.makhoa=khoa.makhoa<br />
<br />
0.5 điểm<br />
<br />
and khoa.tenkhoa=”Công nghệ thông tin”;<br />
2. Select<br />
thisinh.masv,thisinh.hoten,thisinh.ngaysinh,monthi.tenmonthi,ket<br />
qua.diemthi<br />
From thisinh,monthi,ketqua,lop<br />
Where thisinh.masv=ketqua.masv and monthi.mamt=ketqua.mamt<br />
<br />
0.5 điểm<br />
<br />
and thisinh.malop=lop.malop and lop.makhoa=”CNTT” and<br />
year(thisinh.ngaysinh) Between 1989 And 1992;<br />
3. Select<br />
thisinh.masv,thisinnh.hoten,monthi.tenmonthi,ketqua.diemthi<br />
From thisinh,monthi,ketqua<br />
Where thisinh.masv=ketqua.masv and monthi.mamt=ketqua.mamt<br />
<br />
0.5 điểm<br />
<br />
and ketqua.diemthi>=8;<br />
1 điểm<br />
<br />
B. Ngôn ngữ đại số<br />
1. T1=thisinh*lop*khoa<br />
T 2 ( tenkhoa"Cong nghe thong tin") (T 1)<br />
<br />
0.3 điểm<br />
<br />
T 3 ( masv,hoten,ngay sinh,tenlop) (T 2)<br />
2. T1=thisinh*monthi*ketqua*lop<br />
T 2 ( makhoa"CNTT " ^<br />
<br />
year ( ngay sinh) Between 1989 And 1992 )<br />
<br />
(T 1)<br />
<br />
0.3 điểm<br />
<br />
T 3 ( masv,hoten ,ngay sinh,tenmonthi,diemthi) (T 2)<br />
<br />
3. T1=thisinh*monthi*ketqua<br />
T2= ( diemthi8) (T1)<br />
<br />
0.4 điểm<br />
<br />
T3= ( masv,hoten ,tenmonthi,diemthi) (T 2)<br />
<br />
2/7<br />
<br />
2<br />
<br />
2.5 điểm<br />
<br />
Cấu trúc dữ liệu và giải thuật<br />
1. Trình bày ý tưởng và giải thuật của thuật toán sắp xếp nổi bọt<br />
(bubble-sort)<br />
<br />
1 điểm<br />
<br />
*) Ý tưởng:<br />
- Ban đầu có một dãy khóa k1,k2,k3….kn chưa được sắp<br />
xếp<br />
- Duyệt toàn bộ dãy khóa, tại mỗi bước quét dãy khóa từ 0.5 điểm<br />
cuối dãy, nếu gặp hai phần tử ien tiếp nghịch thế thì tiến<br />
hành đổi chỗ.<br />
- Trong quá trình sắp xếp phần tử nhẹ hơn sẽ nổi lên trên,<br />
phần tử nặng hơn sẽ chìm xuống dưới.<br />
*) Giải thuật:<br />
void bubble-sort (mang a, int n)<br />
{<br />
int i,j,m,tg;<br />
for (i=0; i=i+1; j--)<br />
if (a[j] 10 và tuổi < 40.<br />
typedef struct NV<br />
{ char ten[10];<br />
int tuoi, tn;<br />
};<br />
typedef struct tagNode<br />
{ HS infor;<br />
struct tagNode *link;<br />
}<br />
Node;<br />
Node *head, *p, *moi;<br />
int n;<br />
<br />
0.3 điểm<br />
<br />
3/7<br />
<br />
void nhap( )<br />
{<br />
HS tg ;<br />
int i ;<br />
head = NULL;<br />
for ( i=0; i infor =tg;<br />
0.3 điểm<br />
if (head ==NULL)<br />
{<br />
head = moi;<br />
p=moi;<br />
p -> link =NULL;<br />
}<br />
else<br />
{<br />
p -> link = moi;<br />
p= moi;<br />
p -> link =NULL;<br />
}<br />
}<br />
}<br />
void duyet()<br />
{<br />
Node *p;<br />
p=head;<br />
printf ( “ danh sach nhan vien vua nhap la:”);<br />
while ( p !=NULL)<br />
0.3 điểm<br />
{<br />
printf(" \n \t %s \t%d \t%d ”, p->infor.ten, p->infor.tuoi, p>infor.tn) ;<br />
p=p-> link ;<br />
}<br />
}<br />
<br />
4/7<br />
<br />
void duyet2()<br />
{<br />
Node *p;<br />
p=head;<br />
printf ( “ danh sach nhan vien co tham nien >10 va co tuoi < 40<br />
la:”);<br />
while ( p !=NULL)<br />
0.3 điểm<br />
{<br />
if ((p -> infor.tuoi >10)&&( p -> infor.tn >10))<br />
printf(" \n \t %s \t%d \t%d ”, p->infor.ten, p->infor.tuoi,<br />
p->infor.tn) ;<br />
p=p-> link ;<br />
}<br />
}<br />
void main()<br />
{<br />
clrscr() ;<br />
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);<br />
0.3 điểm<br />
nhap();<br />
duyet();<br />
duyet2();<br />
getch();<br />
}<br />
<br />
3<br />
<br />
Lập trình hướng đối tượng<br />
<br />
2 điểm<br />
<br />
- Phương pháp khai báo xây dựng hàm bạn cho nhiều lớp:<br />
class B; /* Khai báo dẫn hướng lớp B*/<br />
class A<br />
{<br />
private:<br />
< Khai báo các thành phần riêng lớp A>;<br />
public:<br />
…<br />
friend (< Tham số<br />
hàm>);<br />
};<br />
class B<br />
{<br />
private:<br />
< Khai báo các thành phần riêng lớp B>;<br />
public:<br />
…<br />
<br />
1 điểm<br />
<br />
5/7<br />
<br />