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 - LT22
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
A. Ngôn ngữ SQL 1. Select nhanvien.manv,nhanvien.hoten From nhanvien,phongban,chucvu Where nhanvien.mapb=phongban.mapb and nhanvien.macv=chucvu.macv and phongban.tenpb=”Kinh doanh” and chucvu.luongcaonhat Between 300 And 500; 2. Select manv,hoten,ngaysinh, nu,luong From nhanvien Where mapb In(10,30,50) Order by mapb ASC,luong DESC ; 3. Selectt Nhanvien.manv,nhanvien.hoten,nhanvien.luong*12 AS luongcanam From nhanvien,chucvu Where nhanvien.macv=chucvu.macv and chucvu.tencv=”Trưởng phòng” B. Ngôn ngữ đại số 1. T1=Nhanvien*Phongban*chucvu
(cid:0)
(cid:0)
T )1(
T
2
(
tenpb
"
Kinh
doanh
^"
luongcaonh
at
Between
300
And
500
)
(cid:0) 0.3 điểm
(cid:0)
T
3
T )2(
,
hoten
( manv (cid:0)
(cid:0)
Nhanvien
)
(
mapb
In
) ())50,30,10(
0.3 điểm
T )1(
(
manv
,
hoten
,
ngay
sinh,
nu
,
luong
)
Truong "
tencv(cid:0)
Phong
(
2. T1 = T2 = (cid:0)
0.4 điểm
,
hoten
,
luong
manv
)12*
(
3. T1=nhanvien*chucvu (cid:0) T )1(") T2 = T3 = (cid:0) T )2(
1/5
2 Cấu trúc dữ liệu và giải thuật
2.5 điểm
1. Trình bày ý tưởng và giải thuật của thuật toán sắp xếp trộn
1 điểm
(merge-sort) *) Ý tưởng:
0.5 điểm
- Ban đầu có hai dãy khóa a và b đã được sắp xếp - Trộn hai dãy a, b thành một dãy c vẫn được sắp xếp - Mỗi lần đưa một phần tử vào dãy mới ta phải so sánh 2 phần tử đầu 2 dãy khóa con, nếu thấy khóa nào nhỏ hơn ta đưa phần tử đó vào dãy khóa mới.
Thực hiện quá trình trên cho đến khi một trong hai dãy rỗng, khi
đó ta chỉ việc đưa toàn bộ số phần tử của dãy còn lại vào sau dãy
mới. *) Giải thuật:
void merge-sort (mang a, mang b, mang c , int n, int m) {
int i=0, j=0, k=0, tg;
while ((i c[k]=a[i];
i++; }
Else { z[k]=b[j];
j++; } k++; }
If (i>=n) { for (i=j; i z[k]=b[i];
k++; } }
else
for (j=i; j z[k]=a[j];
k++; } } 2/5 float dongia, thanhtien;
int soluong; }; typedef struct tagNode
{ HS infor; struct tagNode *link; } Node;
Node *head, *p, *moi;
int n;
void nhap( ) {
HS tg ;
int i ;
head = NULL;
for ( i=0; i moi = (Node *) malloc (sizeof(Node));
printf ( “ Nhap thong tin cho cac mat hang:”);
printf ( “ Nhap thong tin ten mat hang:”); fflush(stdin); gets ( tg.ten); fflush(stdin); printf ( “ Nhap thong tin so luong va don gia cua mat hang:”); scanf(“%d%f”, &tg.soluong, &tg.dongia);
tg.thanhtien=tg.dongia*tg.soluong;
moi -> infor =tg;
if (head ==NULL) {
head = moi;
p=moi;
p -> link =NULL; }
else { p -> link = moi; p= moi;
p -> link =NULL; } } } 3/5 void duyet()
{ Node *p;
p=head;
printf ( “ danh sach cac mat hang vua nhap la:”);
while ( p !=NULL)
{ printf(« \n \t %s \t%d \t%f \t %f ”, p->infor.ten, p- >infor.soluong, p->infor.dongia, p->thanhtien) ; p=p-> link ; } }
void sapxep()
{ int tg;
p=head;
while (p !=NULL)
{ q=p->link;
while (q!=NULL)
{ if(q->infor.thanhtien tg=q->infor.thanhtien ;
q->infor.thantien =p->infor.thanhtien;
p->infor =tg; }
q=q->link; }
p=p->link; } } 4/5 void main()
{ clrscr() ;
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);
nhap();
duyet();
sapxep();
printf(“ danh sach cac mat hang sau sap xep la:”);
duyet();
getch(); }
Lập trình hướng đối tượng
- Hàm Constructor là hàm dùng để khởi tạo thành phần dữ liệu 5/50.5 điểm
2. Tạo danh sách liên kết trong đó mỗi nút là thong tin các mặt
hàng, mặt hàng bao gồm: Tên hàng, đơn giá, số lượng, thành tiền
(thành tiền = đơn giá * số lượng)
- Khai báo cấu trúc dữ liệu cho danh sách
- Viết hàm nhập thông tin danh sách các mặt hàng từ bàn
1.5 điểm
phím
- Viết hàm duyệt và hiển thị danh sách
- Viết hàm sắp xếp lại danh sách theo thứ tự tăng dần của
thành tiền.
typedef struct MH
{ char ten[10];
0.3 điểm
0.3 điểm
0.3 điểm
0.3 điểm
0.3 điểm
3
2 điểm
0.5 điểm
1.5 điểm
của đối tượng khi triệu gọi trong chương trình.
- class pointer
{
private:
int x,y;
public:
pointer(int xx,int yy)
{
x=xx;
y=yy;
}
pointer()
{
x=0;
y=0;
}
};
Cộng (I)
II. Phần tự chọn, do trường biên soạn 3 Điểm
1
2
…
Cộng (II)
Tổng cộng (I+II)
………, ngày ………. tháng ……. năm ……

