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 - LT22<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 />
7 điểm<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 nhanvien.manv,nhanvien.hoten<br />
From nhanvien,phongban,chucvu<br />
Where nhanvien.mapb=phongban.mapb and<br />
<br />
0.5 điểm<br />
<br />
nhanvien.macv=chucvu.macv and phongban.tenpb=”Kinh<br />
doanh” and chucvu.luongcaonhat Between 300 And 500;<br />
2. Select manv,hoten,ngaysinh, nu,luong<br />
From nhanvien<br />
Where mapb In(10,30,50)<br />
Order by mapb ASC,luong DESC ;<br />
3. Selectt Nhanvien.manv,nhanvien.hoten,nhanvien.luong*12<br />
AS luongcanam<br />
From nhanvien,chucvu<br />
Where nhanvien.macv=chucvu.macv and chucvu.tencv=”Trưởng<br />
<br />
0.5 điểm<br />
<br />
0.5 điểm<br />
<br />
phòng”<br />
1 điểm<br />
<br />
B. Ngôn ngữ đại số<br />
1. T1=Nhanvien*Phongban*chucvu<br />
T 2 ( tenpb"Kinh doanh" ^ luongcaonhat<br />
<br />
Between 300 And 500)<br />
<br />
(T1)<br />
<br />
0.3 điểm<br />
<br />
T 3 ( manv,hoten) (T 2)<br />
<br />
2. T1 = ( mapb In (10 ,30,50 )) ( Nhanvien)<br />
T2 =<br />
<br />
<br />
<br />
0.3 điểm<br />
(T 1)<br />
( manv , hoten, ngay sinh, nu ,luong )<br />
<br />
1/8<br />
<br />
3. T1=nhanvien*chucvu<br />
T2 = (tencv"Truong Phong ") (T 1)<br />
T3 =<br />
<br />
<br />
<br />
( manv , hoten, luong*12 )<br />
<br />
0.4 điểm<br />
<br />
(T 2)<br />
<br />
2/8<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 trộn<br />
(merge-sort)<br />
<br />
1 điểm<br />
<br />
*) Ý tưởng:<br />
- Ban đầu có hai dãy khóa a và b đã được sắp xếp<br />
- Trộn hai dãy a, b thành một dãy c vẫn được sắp xếp<br />
- Mỗi lần đưa một phần tử vào dãy mới ta phải so sánh 2<br />
phần tử đầu 2 dãy khóa con, nếu thấy khóa nào nhỏ hơn ta 0.5 điểm<br />
đưa phần tử đó vào dãy khóa mới.<br />
Thực hiện quá trình trên cho đến khi một trong hai dãy rỗng, khi<br />
đó ta chỉ việc đưa toàn bộ số phần tử của dãy còn lại vào sau dãy<br />
mới.<br />
*) Giải thuật:<br />
void merge-sort (mang a, mang b, mang c , int n, int m)<br />
{<br />
int i=0, j=0, k=0, tg;<br />
while ((i