Tải bản đầy đủ (.pdf) (8 trang)

Đá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 - LT22

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (158.29 KB, 8 trang )

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Ề KHỐ 2 (2008 - 2011)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MƠN THI: LÝ THUYẾT CHUN MƠN NGHỀ
Mã đề thi: DA LTMT - LT22
Câu

Nội dung

Điểm

I. Phần bắt buộc
1

7 điểm

Cơ sở dữ liệu

2.5 điểm

A. Ngôn ngữ SQL

1.5 điểm

1. Select nhanvien.manv,nhanvien.hoten
From nhanvien,phongban,chucvu
Where nhanvien.mapb=phongban.mapb and


0.5 điểm

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

0.5 điểm

0.5 điểm

phòng”
1 điểm

B. Ngôn ngữ đại số
1. T1=Nhanvien*Phongban*chucvu
T 2   ( tenpb"Kinh doanh" ^ luongcaonhat

Between 300 And 500)

(T1)

0.3 điểm


T 3  ( manv,hoten) (T 2)

2. T1 =  ( mapb In (10 ,30,50 )) ( Nhanvien)
T2 =



0.3 điểm
(T 1)
( manv , hoten, ngay sinh, nu ,luong )

1/8


3. T1=nhanvien*chucvu
T2 =  (tencv"Truong Phong ") (T 1)
T3 =



( manv , hoten, luong*12 )

0.4 điểm

(T 2)

2/8


2


2.5 điểm

Cấu trúc dữ liệu và giải thuật
1. Trình bày ý tưởng và giải thuật của thuật toán sắp xếp trộn
(merge-sort)

1 điểm

*) Ý tưởng:
- 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 0.5 điểm
đưa phần tử đó vào dãy khóa mới.
Thực hiện q 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{
if (a[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++;
}

3/8

0.5 điểm


}
else
for (j=i; j{
z[k]=a[j];
k++;
}
}

4/8



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];
float dongia, thanhtien;
int soluong;
};
typedef struct tagNode
0.3 điểm
{ 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:”);
0.3 điểm
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;

5/8


p=moi;
p -> link =NULL;
}
else
{
p -> link = moi;
p= moi;
p -> link =NULL;
}
}
}

6/8



void duyet()
{
Node *p;
p=head;
printf ( “ danh sach cac mat hang vua nhap la:”);
while ( p !=NULL)
0.3 điểm
{
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 infor.thanhtien)
0.3 điểm
{
tg=q->infor.thanhtien ;
q->infor.thantien =p->infor.thanhtien;
p->infor =tg;
}
q=q->link;

}
p=p->link;
}
}
void main()
{
clrscr() ;
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);
0.3 điểm
nhap();
duyet();
sapxep();
printf(“ danh sach cac mat hang sau sap xep la:”);

7/8


duyet();
getch();
}

3

Lập trình hướng đối tượng

2 điểm

- Hàm Constructor là hàm dùng để khởi tạo thành phần dữ liệu
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;
}
};
II. Phần tự chọn, do trường biên soạn

0.5 điểm

1.5 điểm

3 Điểm

Tổng cộng (I+II)

………, ngày ………. tháng ……. năm ……

8/8




×