CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM<br />
Độc lập – Tự do – Hạnh phúc<br />
<br />
ĐÁP ÁN<br />
ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHOÁ II (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 - LT09<br />
Hình thức thi: Viết tự luận<br />
Thời gian: 150 phút (Không kể thời gian giao đề thi)<br />
ĐÁP ÁN<br />
I. PHẦN BẮT BUỘC (7 điểm)<br />
Câu 1: ( 2.5 điểm)<br />
Hướng dẫn chấm<br />
TT<br />
Nội dung<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<br />
bọt (bubble-sort)<br />
<br />
Điểm<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ừ<br />
0.5 điểm<br />
cuối dãy, nếu gặp hai phần tử ien tiếp nghịch thế thì<br />
tiến hành đổi chỗ.<br />
- Trong quá trình sắp xếp phần tử nhẹ hơn sẽ nổi lên<br />
trên, 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 />
void nhap( )<br />
{<br />
HS tg ;<br />
int i ;<br />
head = NULL;<br />
for ( i=0; i infor =tg;<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 />
Trang:2/ 4<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<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 />
{<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 duyet2()<br />
{<br />
Node *p;<br />
p=head;<br />
printf ( “ danh sach nhan vien co tham nien >10 va co tuoi <<br />
40 la:”);<br />
while ( p !=NULL)<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, p->infor.tn) ;<br />
p=p-> link ;<br />
}<br />
}<br />
void main()<br />
{<br />
clrscr() ;<br />
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);<br />
nhap();<br />
duyet();<br />
duyet2();<br />
getch();<br />
}<br />
<br />
Trang:3/ 4<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
Câu 2: ( 1.5 điểm)<br />
TT<br />
Nội dung<br />
Điểm<br />
01 Public :<br />
Các thành viên mang thuộc tính public có thể được truy cập 0.5điểm<br />
bởi tất cả các hành vi trong và ngoài lớp chứa nó.<br />
Private :<br />
Các thành viên mang thuộc tính private chỉ có thể được truy 0.5điểm<br />
cập bởi các hành vi thuộc lớp và các hành vi, các lớp là bạn<br />
(friend) của lớp chứa nó<br />
Protected :<br />
Các thành viên mang thuộc tính protected chỉ có thể được truy 0.5điểm<br />
cập bởi các thành viên của nó và thành viên trong những lớp<br />
hậu duệ của lớp chứa nó.<br />
Câu 3: ( 3.0 điểm)<br />
TT<br />
Nội dung<br />
01 a/<br />
Select VT.TenCKS as 'Tên K.San',DDL.TenTP as 'Tên<br />
T.Pho',Sum(SChua)As 'Tong S.Chua'<br />
From VT,DDL<br />
Where VT.TenCKS='Que Huong' or VT.TenCKS='Thanh Binh'<br />
Group by VT.TenCKS,DDL.TenTP<br />
Order by VT.TenCKS Asc<br />
b/<br />
Select VT.TenCKS as 'Tên K.San',<br />
Count(VT.TenTP) as 'Tong so T.Pho'<br />
From VT<br />
Group by VT.TenCKS<br />
Order by Count(VT.TenTP)<br />
c)<br />
Select VT.TenTp<br />
From CKS, VT<br />
Where CKS.TenCKS = VT.TenCKS and NguoiSH =’Bảo’<br />
<br />
II. PHẦN TỰ CHỌN (3 điểm)<br />
………………………..Hết………………………<br />
<br />
Trang:4/ 4<br />
<br />
Điểm<br />
<br />
1.0 điểm<br />
<br />
1.0 điểm<br />
<br />
1.0 điểm<br />
<br />