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 - LT06<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.0 điểm )<br />
Câu 1: ( 2.0 điểm)<br />
Hướng dẫn chấm<br />
TT<br />
Nội dung<br />
1. Trình bày giải thuật tìm kiếm nhị phân ( không đệ qui )<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 />
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 />
Trang:1/ 6<br />
<br />
Điểm<br />
0.5 điểm<br />
<br />
0.5 điểm<br />
<br />
}<br />
2. Khai báo cấu trúc nút cho danh sách móc nối đơn thông tin<br />
là 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<br />
từ 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 />
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 />
<br />
1.5 điểm<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
0.3 điểm<br />
<br />
void duyet()<br />
<br />
Trang:2/ 6<br />
<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 />
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 />
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 />
Lập trình hướng đối tượng<br />
<br />
0.3 điểm<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<br />
cơ sở.<br />
<br />
Trang:3/ 6<br />
<br />
0.5 điểm<br />
<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