CỘ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Á 3 (2009 - 2012)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề thi: DA LTMT - LT25
Nội dung
Câu
I. Phần bắt buộc
1 Cơ sở dữ liệu
Điểm
7 điểm
2.5 điểm
1.5 điểm
0.5 điểm
0.5 điểm
0.5 điểm
1 điểm
(cid:0)
Canbo
)
(cid:0) (cid:0) vaocongdoa
n ladangvien
()
Yes No ^ (
0.3 điểm
T
)1(
hesoluong macb ngay sinh, ) ( ,
A. Ngôn ngữ SQL
1. Select macb,hoten,ngaysinh,hesoluong From canbo
Where ladangvien=Yes and vaocongdoan=No;
2. Select canbo.macb, canbo.hoten,canbo.ngaysinh From
Canbo,phongban
Where canbo.mapb=phongban.mapb and phongban.tenpb=”Phòng tổ
chức”;
3. Select * From Canbo Where hesoluong*650000>2500000 and
ladangvien=Yes;
B. Ngôn ngữ đại số
1. T1=
T2=(cid:0)
,
hoten
2. T1=canbo*phongban
T
)1(")
tenpb(cid:0) Phong chuc to " (
0.3 điểm
T
)2(
, hoten , ngay sinh) (
macb
(cid:0) (cid:0)
Canbo
(
)
(cid:0) (cid:0) ( hesoluong *
650000 2500000 ^ ladangvien Yes )
(cid:0)
T2=
T3=(cid:0)
T
1
3.
(0.75đ)
0.4 điểm
(cid:0)
T
2
T
)1(
(cid:0) ( macb , hoten , ngay sinh, hesoluong , gioitinh , ladangvien , vaocongdoa
n , mapb , macv )
1/4
2 Cấu trúc dữ liệu và giải thuật
2.5 điểm
1 điểm
1. Trình bày giải thuật tìm kiếm nhị phân ( không đệ qui )
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;
1 điểm
else
if ( x < a[m])
l= m- 1;
else {
vt=m;
break; }}
return -1;
if ( l >r)
else return vt; }
1.5 điểm
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
typedef struct tagNode
{ int infor;
struct tagNode *link;
0.3 điểm
}
Node ;
Node *head, *p, *moi ;
int n ;
void nhap( ) {
int i ,tg;
head = NULL;
for ( i=0; i
0.3 điểm
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; } } }
2/4
void duyet() {
0.3 điểm
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 ;
0.3 điểm
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(); }
3
2 điểm
Lập trình hướng đối tượng
- Đơ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ơ
0.5 điểm
sở.
3/4
1.5 điểm
- Ví dụ:
class pointer
{
private:
int x,y;
public:
pointer(int xx=0,int yy=0)
{
x=xx;
y=yy;
}
void display()
{
cout<
Công (I)
3 điểm
II. Phần tự chọn, do trường biên soạn
1
2
…
Cộng (II)
Tổng cộng (I+II)
………, ngày ………. tháng ……. năm ……
4/4