1. Trang chủ
  2. » Công Nghệ Thông Tin

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

7 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 164,23 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dưới đâ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 - LT37. Đáp án giúp các bạn củng cố kiến thức về truy vấn sau bằng ngôn ngữ đại số quan hệ, tính thừa kế,ý tưởng và giải thuật,... Mời các bạn tham khảo.

Trang 1

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Á 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 - LT08

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 điểm)

Câu 1: ( 3.0 điểm)

Hướng dẫn chấm

01 Trả lời các câu truy vấn sau bằng ngôn ngữ SQL:

a) Danh sách khách hàng (MAKH, TENKH) lắp đặt điện

thoại loại “Dây cáp”

Select KHACHHANG.MAKH, KHACHHANG.TENKH

from KHACHHANG, DIENTHOAI

where KHACHHANG.MAKH = DIENTHOAI.MAKH

and DIENTHOAI.LOAIDT = ‘Dây cáp’

b) Với mỗi dịch vụ có khách hàng đăng ký, hãy cho biết mã

dịch vụ, tên dịch vụ và tổng số điện thoại đăng ký dịch vụ

đó

Select DICHVU.MADV, DICHVU.TENDV, count(SODT) as

SodienthoaiDK

from DICHVU, DANGKY

where DICHVU.MADV = DANGKY.MADV

group by DICHVU.MADV, DICHVU.TENDV

Trả lời câu truy vấn sau bằng ngôn ngữ đại số quan hệ:

c) Liệt kê các số hợp đồng (SOHD) có đăng ký dịch vụ “Dịch

vụ 108”

1.0 điểm

1.0 điểm

1.0 điểm

Trang 2

Câu 2: ( 2.0 điểm)

01 Tính thừa kế là gì

Tính thừa kế là việc sử dụng lại các đặc tính của lớp cơ sở

trong các lớp dẫn xuất Với tính thừa kế, để xây dựng các

đối tượng mới, chỉ cần thêm các đặc tính cần thiết vào lớp

dẫn xuất

Các loại thừa kế

- Thừa kế đơn

- Thừa kế bội

- Thừa kế ảo

Ví dụ

1 Thừa kế đơn:

Lớp cơ sở ANIMAL có lớp dẫn xuất là ELEPHANT:

class ANIMAL {

public:

void Eat();

void Sleep();

void Breathe();

}

class ELEPHANT : public ANIMAL {

public:

void Trumpet();

void Stampede();

}

2 Thừa kế bội:

Lớp xe đạp BICYCLE kế thừa từ hai lớp khung xe

FRAME và bánh xe WHEEL

class FRAM{

public:

// các chi tiết tạo nên khung xe

};

class WHEEL{

public:

// các chi tiết tạo nên bánh xe

};

class BICYCLE:FRAME,WHEEL{

// và các chi tiết khác

};

0.25 điểm

0.25 điểm

0.5điểm

0.5điểm

Trang 3

3 Thừa kế ảo:

Lớp B,C thừa kế ảo lớp A

class A {

public:

// các thuộc tính của A

};

class B: public virtual A {

// …

};

class C: public virtual A {

// …

};

0.5điểm

Câu 3: ( 2.0 điểm)

1 Trình bày ý tưởng và giải thuật của thuật toán sắp xếp

*) Ý 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 đư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

0.25 điểm

*) 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<n)&&(j<m)) {

if (a[i]<b[j]) {

0.25 điểm

Trang 4

c[k]=a[i];

i++;

} Else {

z[k]=b[j];

j++;

} k++;

}

If (i>=n)

{

for (i=j; i<m;i++) {

z[k]=b[i];

k++;

} }

else

for (j=i; j<n;j++)

{

z[k]=a[j];

k++;

}

}

2 Tạo danh sách liên kết trong đó mỗi nút là thông 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 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

1.5 điểm

typedef struct MH

{ char ten[10];

float dongia, thanhtien;

int soluong;

};

0.3 điểm

Trang 5

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<n; 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;

}

}

}

0.3 điểm

void duyet()

{

Node *p;

p=head;

0.3 điểm

Trang 6

printf ( “ danh sach cac mat hang vua nhap la:”);

while ( p !=NULL)

{

printf(« \n \t %s \t%d \t%f \t %f ”, >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 <p->infor.thanhtien) {

tg=q->infor.thanhtien ; q->infor.thantien =p->infor.thanhtien;

p->infor =tg;

} q=q->link;

} p=p->link;

}

}

0.3 điểm

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();

}

0.3 điểm

Trang 7

II PHẦN TỰ CHỌN (3 điểm)

……… Hết………

Ngày đăng: 21/05/2021, 14:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w