Sau đây là Đáp án đề thi tốt nghiệp cao đẳng nghề khoá II (năm 2008 - 2011) nghề Lập trình máy tính môn thi lý thuyết chuyên môn nghề - Mã đề thi: DA LTMT - LT40 dành cho các bạn chuyên ngành Lập trình máy tính. Tài liệu giúp các bạn có thêm tư liệu trong việc luyện thi tốt nghiệp cho chuyên ngành này.
Trang 1CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐÁP ÁN
ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHOÁ II (2008 - 2011)
NGHỀ: LẬP TRÌNH MÁY TÍNH MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề số: DA LTMT - LT06
Hình thức thi: Viết tự luận
Thời gian: 150 phút (Không kể thời gian giao đề thi)
ĐÁP ÁN
I PHẦN BẮT BUỘC ( 7.0 điểm )
Câu 1: ( 2.0 điểm)
Hướng dẫn chấm
1 Trình bày giải thuật tìm kiếm nhị phân ( không đệ qui ) 0.5 điểm int binary_search ( mang a, int x)
{
int l, r, m;
i=0;
l= n-1;
while (l <= r)
{
m = (l+r) /2;
if ( x>a[m]) l=m+1;
else
if ( x < a[m])
l= m- 1;
else { vt=m;
break;
} }
if ( l >r) return -1;
else return vt;
0.5 điểm
Trang 2}
2 Khai báo cấu trúc nút cho danh sách móc nối đơn thông tin
là số nguyên
Viết hàm nhập thông tin cho danh sách gồm n nút (n nhập vào
từ bàn phím)
Viết hàm chèn nút vào cuối danh sách nối đơn thông tin là số
nguyên nhập vào từ bàn phím
1.5 điểm
typedef struct tagNode
{ int infor;
struct tagNode *link;
}
Node ;
Node *head, *p, *moi ;
int n ;
0.3 điểm
void nhap( )
{
int i ,tg;
head = NULL;
for ( i=0; i<n; i++)
{
moi = (Node *) malloc (sizeof(Node));
printf ( “ Nhap thong tin cho nut moi:”);
scanf(“%d”, &tg);
moi -> infor =tg;
if (head ==NULL) {
head = moi;
p=moi;
p -> link =NULL;
} else {
p -> link = moi;
p= moi;
p -> link =NULL;
} }
}
0.3 điểm
Trang 3{
Node *p;
p=head;
printf ( “ danh sach vua nhap la :”) ;
while ( p !=NULL)
{
printf(« \n %d ”, p->infor.) ; p=p-> link ;
}
}
void chencuoi( )
{
int tg;
p=head;
while ( p !=NULL)
p=p-> link ;
moi = (Node *) malloc (sizeof(Node));
printf ( “ Nhap thong tin cho nut bo sung moi:”);
scanf(“%d”, &tg);
moi->infor=tg;
p ->link =moi ;
p=p->link ;
p ->link=NULL;
}
0.3 điểm
void main()
{
clrscr() ;
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);
nhap();
duyet();
chencuoi();
duyet();
getch();
}
0.3 điểm
- Đơn thừa kế là quá trình ta xây dựng một lớp từ một lớp ban
đầ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ơ sở
0.5 điểm
Trang 4- Ví dụ:
class pointer
{
private:
int x,y;
public:
pointer(int xx=0,int yy=0)
{
x=xx;
y=yy;
}
void display()
{
cout<<x<<”,<<y<<endl;
}
};
class circle: public pointer
{
private:
float r;
public:
circle(int xx=0,int yy=0,float rr=0):pointer(xx,yy)
{
r=rr;
}
void display()
{
cout<<” Toa do tam:”;
pointer::display();
cout<<” Ban kinh:”<<r<<endl;
}
};
1.5 điểm
Câu 2: ( 1.5 điểm)
01 - Có thể thừa kế từ nhiều interface nhưng chỉ có thể thừa kế
từ một abstract class
- Có thể viết sẵn các thực thi trong Abstract class, nhưng
interface thì không
- Interface dùng để gom các hành động cần được hiện thực ,
các khả năng của một đối tượng (ví dụ con người và xe cộ
0.25 điểm
0.25 điểm
0.5 điểm
Trang 5cùng có khả năng đi lại, nhưng con người không cùng tính
chất với xe cộ), còn abstract class cho các lớp thừa kế cùng
1 loại, tính chất hay trạng thái (ví dụ đàn ông, phụ nữ, trẻ
con, người già đều là con người)
- Abstract class có tốc độ thực thi nhanh hơn interface
- Thêm 1 tính năng mới vào interface sẽ phá vỡ toàn bộ các
lớp hiện thực, còn abstract thì không
0.25 điểm
0.25 điểm
Câu 3: ( 3.5 điểm)
01 a) SELECT matho,tentho
FROM tho
WHERE matho NOT IN
(SELECT matho FROM hop_dong INNER JOIN chitiet_HD ON hop_dong.sohd =
chitiet_HD.sohd
WHERE ng_ngthu > date() OR ISNULL(ng_ngthu))
b) SELECT
sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu
FROM hop_dong
WHERE ng_giao_dk <= DATE() AND (TRIGIAHD >
(SELECT SUM(SOTIENTHU) FROM phieu_thu
WHERE phieu_thu.sohd = hop_dong.sohd) OR sohd Not In (Select sohd
From phieu_thu))
c) SELECT
sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu
FROM hop_dong
WHERE ng_giao_dk > #5/01/2011# AND ng_giao_dk <= #5/30/3011#
d) SELECT chitiet_hd.matho,tentho,COUNT(macv) AS soluongcv
FROM chiTiet_hd INNER JOIN tho ON chiTiet_hd.matho = tho.matho
GROUP BY chiTiet_hd.matho,tentho
HAVING COUNT(macv) >= ALL (SELECT COUNT(macv) FROM
chiTiet_hd GROUP BY matho)
1.0 điểm
1.0 điểm
1.0 điểm
0.5 điểm
II PHẦN TỰ CHỌN (3 điểm)
……… Hết………