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 - LT01

Nội dung Câu Điểm

I. Phần bắt buộc 7 điểm

Câu 1 1,5 điểm

1 Trình bày giải thuật sắp xếp kiểu lựa chọn để thực hiện sắp 0,75 điểm

xếp một dãy khóa theo thứ tự tăng dần.

0,25 điểm procedure sxluachon(a,n)

1. for i:=1 to n-1 do

begin

0.5 điểm m:=i; for j:= i+1 to n do

begin if(a[j]

if(m <> i) then

begin X:=a[i];

a[i]:=a[m];

a[m]:=X;

end; end;

end;

2. return;

2

0,75 điểm

Hãy đưa ra một dãy khoá gồm 10 phần tử bất kỳ, sau đó đưa ra kết quả thực hiện 3 bước đầu tiên để sắp xếp dãy khoá đó theo thứ tự tăng dần bằng giải thuật sắp xếp kiểu lựa chọn.

Cho một dãy khoá gồm 10 phần tử, chẳng hạn: 40 23 17 55 22 45 15 60 30 20.

Trang:1/ 6

0,25 điểm Bước 1: 15 23 17 55 22 45 40 60 30 20

0,25 điểm Bước 2: 15 17 23 55 22 45 40 60 30 20

Bước 3: 15 17 20 55 22 45 40 60 30 23

0,25 điểm

3,5 điểm Câu 2

Một nhà xuất bản nhận xuất bản sách. Sách có hình ảnh ở trang bìa thì phải thuê họa sĩ vẽ bìa. Viết chương trình thực hiện các yêu cầu.

0,5 điểm a

{ cout <<" "<

Tạo lớp BIA để lưu các thông tin : Mã hình ảnh, tiền vẽ và định nghĩa hàm thành phần cho phép nhập và hiển thị dữ liệu cho các đối tượng của lớp BIA. #include #include #include class BIA { char mahinhanh[10]; float tienve; public: void nhap() { cout<<"ma hinh anh:";gets(mahinhanh); cout<<"tien ve:";cin>>tienve; } void hienthi() };

b

0,5 điểm

Tạo lớp HOASY để lưu các thông tin họ tên, địa chỉ của họa sỹ và định nghĩa hàm thành phần cho phép nhập và hiển thị dữ liệu cho các đối tượng của lớp HOASY

class HOASY { char hoten[30]; char diachi[30]; public: void nhaphs()

{ cout<<"ten hoa sy:";gets(hoten);

Trang:2/ 6

cout<<"dia chi:";gets(diachi); }

void hienthihs() { cout << " "<

};

c 0,75 điểm

Tạo lớp SACHVEBIA kế thừa từ lớp BIA và lớp HOASY thông tin về tên sách, tác giả, số trang, giá bán và định nghĩa hàm thành phần cho phép nhập và hiển thị dữ liệu cho các đối tượng của lớp SACHVEBIA

{ cout<<"ten sach:";gets(tensach); cout<<"tac gia:";gets(tacgia); cout<<"so trang:";cin>>sotrang; cout<<"gia ban:";cin>>giaban; nhap(); nhaphs(); }

void hienthisach() { cout << tensach<<" " << tacgia

hienthi(); hienthihs(); cout<<"\n"; }

class SACHVEBIA: public BIA, public HOASY { char tensach[30]; char tacgia[30]; int sotrang; float giaban; public: void nhapsach() <<" "<

d

1,25 điểm

Xây dựng hàm main() thực hiện: + Nhập vào danh sách n cuốn sách + Sắp xếp giá bán tăng dần bằng phương pháp sắp xếp chọn và hiển thị kết quả sắp xếp. + Hiển thị ra màn hình danh dách n cuốn sách có vẽ bìa.

Trang:3/ 6

{ ds[i].hienthisach();cout<

temp=ds[i]; ds[i]=ds[jmin]; ds[jmin]=temp;

0,25 điểm 0,75 điểm 0,25 điểm

{ ds[i].hienthisach();cout<

void main() { clrscr(); SACHVEBIA *ds,temp; int n,x,i,j; cout<<"\nNhap vao so cuon sach co ve bia:"; cin>>n; ds=new SACHVEBIA[n]; for (i = 0; i ds[j].giaban) jmin=j; { } } cout<

Trang:4/ 6

}

Câu 3 2 điểm

Cho lược đồ cơ sở dữ liệu sau: Docgia(MADG, HOTEN, NGAYSINH, DIACHI,

Phieumuon(SOPM, NGAYMUON, MADG) Chitietmuon(SOPM, MADAUSACH, NGAYTRA) Dausach(MADAUSACH, BAN, TAP, MASH) TENSACH, Sach(MASH, TACGIA, NHAXB,

NGHENGHIEP) NAMXB) Hãy thực hiện các câu hỏi sau đây bằng SQL

0,5 điểm a

Danh sách các đọc giả đã đăng ký mượn sách trong ngày d. Yêu cầu các thông tin: MADG, HOTEN, DIACHI: Các quyển sách của phiếu mượn có SOPM là x. Yêu cầu các

thông tin MASH, TENSACH, TACGIA, NGAYMUON,

NGAYTRA.

0,5 điểm b

Các quyển sách của phiếu mượn có SOPM là x. Yêu tin MASH, TENSACH, TACGIA, các

((Sach FROM INNER JOIN Dausach ON

Chitietmuon INNER JOIN ON

INNER JOIN Phieumuon On Phieumuon.Sopm

WHERE Phieumuon.Sopm = x;

cầu thông NGAYMUON, NGAYTRA: SELECT Mash, Tensach, Tacgia, Ngaymuon, Ngaytra Sach.Mash=Dausach.Mash) Chitietmuon.Madausach = Dausach.Madausach) = Chitietmuon.Sopm

c

0,5 điểm

JOIN Docgia ON

INNER

WHERE YEAR(Ngaymuon)=2001 GROUP BY Phieumuon.Madg, Docgia.Hoten

Tổng số lượt mà mỗi đọc giả đến mượn sách trong năm 2001. tin kết xuất MADG, HOTEN, SOLANMUON Thông (SOLANMUON là thuộc tính tự đặt) SELECT Madg, Hoten, Count(*) As Solanmuon FROM Phieumuon Docgia.Madg=Phieumuon.Madg Danh sách các đọc giả cao tuổi nhất đã mượn sách trong ngày 0, 5 điểm

d

Trang:5/ 6

JOIN Docgia ON INNER

d. Thông tin kết xuất MAĐG, HOTEN, NGAYSINH, DIACHI, NGHENGHIEP: SELECT Madg, Hoten, Ngaysinh, Diachi, Nghenghiep FROM Phieumuon Docgia.Madg=Phieumuon.Madg WHERE (Ngaymuon=d) AND (Ngaysinh IN (SELECT MIN(Ngaysinh) FROM Docgia))

II. Phần tự chọn, do trường biên soạn 3 điểm

1

2

Tổng cộng (I + II)

……….., Ngày…………Tháng………..Năm…………..

Trang:6/ 6