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 />
<br />
Câu<br />
1<br />
<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 - LT28<br />
Nội dung<br />
Cơ sở dữ liệu<br />
<br />
Điểm<br />
2.5<br />
<br />
A. Ngôn ngữ SQL<br />
1. Select nhanvien.ho, nhanvien.tenlot, nhanvien.tennv, nhanvien.dchi<br />
From nhanvien, phongban<br />
Where nhanvien.mapb=phongban.mapb And phongban.tenpb=”Nghiên<br />
cứu”;<br />
2. Select Dean.mada, Dean.mapb, nhanvien.ho, nhanvien.tennv,<br />
nhanvien.dchi, nhanvien.ngsinh<br />
From phongban, nhanvien, dean<br />
Where phongban.mapb=dean.mapb And phongban.TRP=nhanvien.manv<br />
And dean.diadiem=”Hà Nội”<br />
3. Select nhanvien.tennv<br />
From nhanvien, phancong, dean<br />
Where nhanvien.manv= phancong.manv And Dean.mada= phancong.mada<br />
And phancong.thoigian>10 And nhanvien.mapb=5 And dean.tenda=”Sản<br />
phẩm X”;<br />
<br />
0.5<br />
<br />
0.5<br />
<br />
0.5<br />
<br />
B. Ngôn ngữ đại số<br />
T 1 <br />
<br />
1.<br />
<br />
Phongban<br />
<br />
Nhanvien<br />
nhanvien<br />
<br />
T 2 <br />
<br />
( tenpb<br />
<br />
2.<br />
<br />
phongban<br />
<br />
T2 <br />
T3 <br />
<br />
3.<br />
<br />
( ho , tenlot<br />
<br />
T1 <br />
<br />
( diadiem<br />
<br />
<br />
<br />
" Ha Noi<br />
<br />
, tennv<br />
<br />
phongban<br />
<br />
. mapb<br />
<br />
0.4<br />
<br />
") (T 1 )<br />
<br />
" Nghiencuu<br />
<br />
<br />
T 1 ( Phongban<br />
<br />
T 3 <br />
<br />
. mapb<br />
<br />
, dchi<br />
<br />
(T 2 )<br />
<br />
dean ) nhanvien<br />
phongban<br />
<br />
. mapb dean . mapb<br />
<br />
( mada , mapb , ho , tennv , dchi , ng sinh)<br />
<br />
. manv<br />
<br />
0.3<br />
(T 2 )<br />
<br />
( nhanvien phancong<br />
10 ^ mapb 5 ^ tenda " San pham X " )<br />
<br />
) <br />
<br />
dean<br />
<br />
phancong . mada dean . mada<br />
<br />
nhanvien . manv phancong . manv<br />
<br />
T 2 ( thoigian<br />
<br />
. TRP nhanvien<br />
<br />
") ( T 1)<br />
<br />
(T 1 )<br />
<br />
T 3 ( tennv ) (T 2)<br />
<br />
1/6<br />
<br />
0.3<br />
<br />
2<br />
<br />
Cấu trúc dữ liệu & giải thuật<br />
<br />
2.5<br />
<br />
1. Trình bày giải thuật sắp xếp nhanh (Quick sort) trên dãy số nguyên n phần tử<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 />
- Chọn 1 khóa làm chốt, đưa các phần tử nhỏ hơn chốt về phía trước của<br />
chốt, đưa các phần tử lớn hơn chốt về phía sau, kết thúc quá trình này ta<br />
được 2 dãy khóa con gọi là 2 phân đoạn.<br />
- Thực hiện tương tự quá trình trên bằng giải thuật đệ qui cho 2 phân đoạn<br />
của dãy khóa<br />
- - Quá trình thực hiện tương tự cho đến khi việc phân đoạn không thực hiện<br />
được nữa thì quá trình sắp xếp dãy ban đầu đã thực hiện xong.<br />
*) Giải thuật<br />
void Quick-sort (mang a, int n, int l, int r)<br />
{<br />
int i,j,x,tg,m;<br />
i=l;<br />
j=r;<br />
x=a[(l+r)/2];<br />
do<br />
{<br />
while (a[i]x) j++;<br />
if (i link = moi;<br />
p= moi;<br />
p -> link =NULL;<br />
}<br />
}<br />
}<br />
<br />
4/6<br />
<br />
0.4<br />
<br />
int dem1()<br />
{<br />
int d=0;<br />
p=head;<br />
while (p !=NULL)<br />
{<br />
if ((p->infor.soluonginfor.giaban=500))<br />
d++;<br />
p=p->link;<br />
}<br />
return d;<br />
}<br />
int dem2()<br />
{<br />
int d=0;<br />
p=head;<br />
while (p !=NULL)<br />
{<br />
if ((strcmp(p->infor.ma, “MS01”)==0)<br />
d=p->infor.soluong;<br />
p=p->link;<br />
}<br />
return d;<br />
}<br />
void main()<br />
{<br />
clrscr() ;<br />
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);<br />
nhap();<br />
prinft(“ mat hang co mso luong