đáp án đề thi lí thuyết tốt nghiệp khóa 2 - lập trình máy tính - mã đề thi ltmt - lt (2)

6 299 0
đáp án đề thi lí thuyết tốt nghiệp khóa 2 - lập trình máy tính - mã đề thi ltmt - lt (2)

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

Thông tin tài liệu

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 - LT02 Câu Nội dung Đ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 nổi bọt để sắp xếp một dãy khóa theo thứ tự tăng dần. 0,75 điểm procedure sxnoibot(a,n) 1. for i:=1 to n-1 do begin 0,25 điểm for j:= n downto i+1 do begin if(a[j]<a[j-1]) then begin 0,25 điểm X:=a[j]; a[j]:=a[j-1]; a[j]:=X; end; end;end; 2. return; 0,25 điểm 2 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 nổi bọt. 0,75 điểm Cho một dãy khoá bất kỳ gồm 10 phần tử, chẳng hạn 40 23 17 55 22 45 15 60 30 20. Bước 1: 15 40 23 17 55 22 45 20 60 30 0,25 điểm Bước 2: 15 17 40 23 20 55 22 45 30 60 0,25 điểm Bước 3: 15 17 20 40 23 22 55 30 45 60 0,25 điểm Trang:1/ 6 Câu 2 Một công ty sản xuất may mặc cần quản lý lương cho nhân viên công ty mình. Hãy viết chương trình đáp ứng các yêu cầu: 3,5 điểm a Xây dựng lớp NHANVIEN có dữ liệu thành phần là mã nhân viên, đơn vị, họ tên, ngày sinh. Các hàm thành phần bao gồm: nhập dữ liệu nhân viên, hiển thị dữ liệu. 0,75 điểm #include <iostream.h> #include <conio.h> #include<stdio.h> typedef struct date { int ngay,thang,nam; }; class NHANVIEN { char manv[10]; char madv[10]; char hoten[30]; date ngaysinh; public: void nhap() { cout<<"ma nhan vien:";gets(manv); cout<<"ma don vi:";gets(madv); cout<<"ho ten:";gets(hoten); cout<<"ngay sinh:"; cin>>ngaysinh.ngay>>ngaysinh.thang>>ngaysinh.nam; } void hienthi() { cout <<" "<<madv<<manv<< " "<<hoten<<" "<<ngaysinh.ngay<<"/"<<ngaysinh.than g <<"/"<<ngaysinh.nam; } }; 0,25 điểm 0,25 điểm 0,25 điểm Trang:2/ 6 b Xây dựng lớp LUONG thừa kế lớp NHANVIEN và có thêm các thuộc tính: phụ cấp, hệ số lương, bảo hiểm. Các hàm thành phần để nhập và tính lương cho nhân viên theo công thức: Lương = hệ số lương *830000 + phụ cấp - bảo hiểm 0,75 điểm class LUONG: public NHANVIEN { float phucap,baohiem; float hesoluong; public: void nhapluong() { cout<<"phu cap:";cin>>phucap; cout<<"bao hiem:";cin>>baohiem; cout<<"he so luong:";cin>>hesoluong; } float tinhluong() { return(hesoluong*830000+phucap-baohiem); } void hienthiluong() { cout<<" "<<hesoluong<<" "<<phucap<<" "<<baohiem<<" "<<tinhluong(); } }; 0,25 điểm 0,25 điểm 0,25 điểm c Xây dựng hàm main() thực hiện: + Nhập danh sách gồm n nhân viên + Sắp xếp lương nhân viên tăng dần bằng phương pháp sắp xếp nổi bọt và hiển thị kết quả sắp xếp ra màn hình + Hiển thị ra màn hình bảng lương của nhân viên. 2 điểm void main() { clrscr(); LUONG *ds,tg; int n,i,j; cout<<"\nNhap vao so nhan vien:"; cin>>n; 0,5 điểm Trang:3/ 6 ds=new LUONG[n]; for (i = 1; i <=n; i++) { cout <<"\nNhap thong tin cho nhan vien thu " <<i<<endl; ds[i].nhap(); ds[i].nhapluong(); } cout<<"Bang luong cua nhan vien theo tung don vi:" <<endl; for (i = 1; i <=n; i++) { ds[i].hienthi(); ds[i].hienthiluong(); cout<<endl; } cout<<endl; for(i=2;i<=n+1;i++) for(j=n;j>=i;j ) if(ds[j].tinhluong()<ds[j-1].tinhluong()) { tg=ds[j-1]; ds[j-1]=ds[j]; ds[j]=tg; } for (i = 1; i <=n; i++) { ds[i].hienthi(); ds[i].hienthiluong(); cout<<endl; } getch(); } 0,75 điểm 0,75 điểm 0,25 điểm Câu 3 Cho lược đồ cơ sở dữ liệu sau: Docgia(MADG, HOTEN, NGAYSINH, DIACHI, NGHENGHIEP) Phieumuon(SOPM, NGAYMUON, MADG) Chitietmuon(SOPM, MADAUSACH, NGAYTRA) 2 điểm Trang:4/ 6 Dausach(MADAUSACH, BAN, TAP, MASH) Sach(MASH, TENSACH, TACGIA, NHAXB, NAMXB) Hãy thực hiện các câu hỏi sau đây bằng SQL 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 cầu các thông tin MASH, TENSACH, TACGIA, NGAYMUON, NGAYTRA: SELECT Mash, Tensach, Tacgia, Ngaymuon, Ngaytra FROM ((Sach INNER JOIN Dausach ON Sach.Mash=Dausach.Mash) INNER JOIN Chitietmuon ON Chitietmuon.Madausach = Dausach.Madausach) INNER JOIN Phieumuon On Phieumuon.Sopm = Chitietmuon.Sopm WHERE Phieumuon.Sopm = x; 0,5 điểm c Tổng số lượt mỗi đọc giả đến mượn sách trong năm 2001. Thông tin kết xuất MADG, HOTEN, SOLANMUON (SOLANMUON là thuộc tính tự đặt) SELECT Madg, Hoten, Count(*) As Solanmuon FROM Phieumuon INNER JOIN Docgia ON Docgia.Madg=Phieumuon.Madg WHERE YEAR(Ngaymuon)=2001 GROUP BY Phieumuon.Madg, Docgia.Hoten 0,5 điểm d Danh sách các đọc giả cao tuổi nhất đã mượn sách trong ngày d. Thông tin kết xuất MAĐG, HOTEN, NGAYSINH, DIACHI, NGHENGHIEP: SELECT Madg, Hoten, Ngaysinh, Diachi, Nghenghiep FROM Phieumuon INNER JOIN Docgia ON Docgia.Madg=Phieumuon.Madg WHERE (Ngaymuon=d) AND (Ngaysinh IN (SELECT MIN(Ngaysinh) 0, 5 điểm Trang:5/ 6 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 . 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. Đ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 nổi bọt để sắp xếp một dãy khóa theo thứ tự tăng dần. 0,75 điểm procedure

Ngày đăng: 17/03/2014, 17:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan