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 - LT25<br />
Câu<br />
<br />
Nội dung<br />
<br />
I. Phần bắt buộc<br />
1<br />
<br />
Điểm<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 macb,hoten,ngaysinh,hesoluong From canbo<br />
Where ladangvien=Yes and vaocongdoan=No;<br />
2. Select canbo.macb, canbo.hoten,canbo.ngaysinh From<br />
Canbo,phongban<br />
Where canbo.mapb=phongban.mapb and phongban.tenpb=”Phòng tổ<br />
chức”;<br />
3. Select * From Canbo Where hesoluong*650000>2500000 and<br />
ladangvien=Yes;<br />
<br />
0.5 điểm<br />
<br />
0.5 điểm<br />
<br />
0.5 điểm<br />
1 điểm<br />
<br />
B. Ngôn ngữ đại số<br />
1. T1= (ladangvienYes ^ vaocongdoan No) (Canbo)<br />
T2= ( macb,hoten,ngay sinh, hesoluong ) (T1)<br />
2. T1=canbo*phongban<br />
T2= (tenpb"Phong to chuc") (T 1)<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
T3= ( macb,hoten ,ngay sinh) (T 2)<br />
3. T 1 ( hesoluong*650000 2500000 ^ ladangvienYes ) (Canbo) (0.75đ)<br />
T 2 ( macb,hoten,ngay sinh, hesoluong , gioitinh,ladangvien,vaocongdoan,mapb, macv) (T 1)<br />
<br />
1/6<br />
<br />
0.4 điểm<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 giải thuật tìm kiếm nhị phân ( không đệ qui )<br />
<br />
1 điểm<br />
<br />
int binary_search ( mang a, int x)<br />
{<br />
int l, r, m;<br />
i=0;<br />
l= n-1;<br />
while (l a[m])<br />
l=m+1;<br />
else<br />
1 điểm<br />
if ( x < a[m])<br />
l= m- 1;<br />
else<br />
{<br />
vt=m;<br />
break;<br />
}<br />
}<br />
if ( l >r)<br />
return -1;<br />
else return vt;<br />
}<br />
2. Khai báo cấu trúc nút cho danh sách móc nối đơn thông tin là<br />
số nguyên<br />
Viết hàm nhập thông tin cho danh sách gồm n nút (n nhập vào từ 1.5 điểm<br />
bàn phím)<br />
Viết hàm chèn nút vào cuối danh sách nối đơn thông tin là số<br />
nguyên nhập vào từ bàn phím<br />
typedef struct tagNode<br />
{ int infor;<br />
struct tagNode *link;<br />
}<br />
Node ;<br />
Node *head, *p, *moi ;<br />
int n ;<br />
<br />
0.3 điểm<br />
<br />
2/6<br />
<br />
void nhap( )<br />
{<br />
int i ,tg;<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 />
}<br />
}<br />
void duyet()<br />
{<br />
Node *p;<br />
p=head;<br />
printf ( “ danh sach vua nhap la :”) ;<br />
while ( p !=NULL)<br />
{<br />
printf(« \n %d ”, p->infor.) ;<br />
p=p-> link ;<br />
}<br />
}<br />
void chencuoi( )<br />
{<br />
int tg;<br />
p=head;<br />
while ( p !=NULL)<br />
<br />
3/6<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
p=p-> link ;<br />
moi = (Node *) malloc (sizeof(Node));<br />
printf ( “ Nhap thong tin cho nut bo sung moi:”);<br />
scanf(“%d”, &tg);<br />
moi->infor=tg;<br />
p ->link =moi ;<br />
p=p->link ;<br />
p ->link=NULL;<br />
}<br />
<br />
4/6<br />
<br />
void main()<br />
{<br />
clrscr() ;<br />
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);<br />
nhap();<br />
duyet();<br />
chencuoi();<br />
duyet();<br />
getch();<br />
}<br />
<br />
3<br />
<br />
Lập trình hướng đối tượng<br />
<br />
0.3 điểm<br />
<br />
2 điểm<br />
<br />
- Đơn thừa kế là quá trình ta xây dựng một lớp từ một lớp ban<br />
đầu đã có. Lớp mới gọi là lớp dẫn xuất, lớp ban đầu gọi là lớp cơ<br />
<br />
0.5 điểm<br />
<br />
sở.<br />
- Ví dụ:<br />
class pointer<br />
{<br />
private:<br />
int x,y;<br />
public:<br />
pointer(int xx=0,int yy=0)<br />
{<br />
x=xx;<br />
y=yy;<br />
}<br />
void display()<br />
{<br />
cout