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 - LT07<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: ( 3.0 điểm)<br />
Hướng dẫn chấm<br />
TT<br />
Nội dung<br />
01 Câu a: (1.0 điểm)<br />
Select HoTenSV, TenDeTai, HoTenGV<br />
From SinhVien sv, Khoa k, HuongDan hd, DeTai dt,<br />
GiangVien gv<br />
Where sv.MaKhoa = k.MaKhoa AND k.TenKhoa = ‘Công<br />
nghệ thông tin’<br />
AND sv.MaSV = hd.MaSV AND hd.MaDeTai =<br />
dt.MaDeTai<br />
AND dt.MaGV = gv.MaGV<br />
ORDER BY TenDeTai<br />
02 Câu b: (1.0 điểm)<br />
Select HoTenGV, count(MaDeTai) as SoLuongDT<br />
From DeTai dt, GiangVien gv<br />
Where dt.MaDeTai = gv.MaDeTai<br />
GROUP BY HoTenGV<br />
03<br />
<br />
Câu c: ( 1.0 điểm)<br />
Select HoTenGV, Nam, count(MaDeTai) as SoLuongDT<br />
From DeTai dt, GiangVien gv<br />
Where dt.MaDeTai = gv.MaDeTai<br />
GROUP BY HoTenGV, Nam<br />
<br />
Trang:1/ 5<br />
<br />
Điểm<br />
<br />
1.0<br />
điểm<br />
<br />
1.0<br />
điểm<br />
<br />
1.0<br />
điểm<br />
<br />
Câu 2: ( 2.0 điểm)<br />
TT<br />
Nội dung<br />
Điểm<br />
01 - Một constructor là một hàm thành viên với tên giống như 0.5 điểm<br />
tên của lớp, nhằm thực hiện các công việc ban đầu như tạo<br />
ra, sao chép, khởi tạo giá trị đầu của đối tượng<br />
0.5 điểm<br />
- Một destructor là một hàm thành viên đặc biệt của một<br />
lớp. Tên của destructor đối với một lớp là ký tự ngã (~)<br />
theo sau bởi tên lớp. phương thức này tự động gọi đến khi 1.0 điểm<br />
kết thúc sự tồn tại của thực thể. Thông thường, phương<br />
thức này bao hàm các thao tác : thu hồi vùng nhớ đã cấp<br />
phát, đóng tập tin đã mở trong phương thức thiết lập…<br />
- Các constructor và destructor được gọi một cách tự động.<br />
Thứ tự các hàm này được gọi phụ thuộc vào thứ tự trong<br />
đó sự thực hiện vào và rời khỏi phạm vi mà các đối tượng<br />
được khởi tạo. Một cách tổng quát, các destructor được<br />
gọi theo thứ tự ngược với thứ tự của các constructor được<br />
gọi.Các constructor được gọi của các đối tượng khai báo<br />
trong phạm vi toàn cục trước bất kỳ hàm nào (bao gồm<br />
hàm main()) trong file mà bắt đầu thực hiện. Các<br />
destructor tương ứng được gọi khi hàm main() kết thúc<br />
hoặc hàm exit() được gọi.Các constructor của các đối<br />
tượng cục bộ tự động được gọi khi sự thực hiện đến điểm<br />
mà các đối tượng được khai báo. Các destructor tương ứng<br />
được gọi khi các đối tượng rời khỏi phạm vi (nghĩa là khối<br />
mà trong đó chúng được khai báo). Các constructor và<br />
destructor đối với các đối tượng cục bộ tự động được gọi<br />
mỗi khi các đối tượng vào và rời khỏi phạm vi.Các<br />
constructor được gọi của các đối tượng cục bộ tĩnh (static)<br />
khi sự thực hiện đến điểm mà các đối tượng được khai báo<br />
lần đầu tiên.<br />
Câu 3: ( 2.0 điểm)<br />
TT<br />
<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<br />
chọn (Selection-sort)<br />
Trang:2/ 5<br />
<br />
Điểm<br />
0.5 đ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 xếp<br />
- Lần lượt thực hiện tìm vị trí của phần tử nhỏ nhất ứng với vị trí<br />
<br />
0.25 điểm<br />
<br />
thứ i trong dãy và đưa lên vị trí thứ i.<br />
*) Giải thuật:<br />
void selection-sort (mang a, int n)<br />
{<br />
int i,j,m,tg;<br />
for (i=0; i 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 sinh vien vua nhap la:”);<br />
while ( p !=NULL)<br />
{ printf(" \n \t %s \t%d \t%d ”, p->infor.ten, p->infor.tuoi, p>infor.dt) ;<br />
p=p-> link ;<br />
}<br />
}<br />
void duyet2()<br />
{<br />
Node *p;<br />
p=head;<br />
printf ( “ danh sach sinh vien co diem toan infor.dt infor.ten, p->infor.tuoi,<br />
p->infor.dt) ;<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 />
<br />
II. PHẦN TỰ CHỌN (3 điểm)<br />
<br />
Trang:5/ 5<br />
<br />
0.3 điểm<br />
<br />