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

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

5 172 1

Đ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 5
Dung lượng 86 KB

Nội dung

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 1/5 Câu Nội dung Điểm I. Phần bắt buộc 7 điểm 1 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 nhanvien.macv=chucvu.macv and phongban.tenpb=”Kinh doanh” and chucvu.luongcaonhat Between 300 And 500; 0.5 điểm 2. Select manv,hoten,ngaysinh, nu,luong From nhanvien Where mapb In(10,30,50) Order by mapb ASC,luong DESC ; 0.5 điểm 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” 0.5 điểm B. Ngôn ngữ đại số 1 điểm 1. T1=Nhanvien*Phongban*chucvu ∏ = = = ),( )500300^""( )2(3 )1(2 hotenmanv AndBetweenatluongcaonhdoanhKinhtenpb TT TT σ 0.3 điểm 2. T1 = )( ))50,30,10(( Nhanvien Inmapb σ T2 = ∏ ),sinh,,,( )1( luongnungayhotenmanv T 0.3 điểm 3. T1=nhanvien*chucvu T2 = )1( ")"( T PhongTruongtencv= σ T3 = ∏ )12*,,( )2( luonghotenmanv T 0.4 điểm 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 (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 đư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.5 đ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]) { 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++; } } 0.5 điểm 2/5 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 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; }; typedef struct tagNode { HS infor; struct tagNode *link; } Node; Node *head, *p, *moi; int n; 0.3 điểm 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 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 ; } } 0.3 điểm 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 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(); } 0.3 điểm 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. 0.5 điểm - class pointer { private: int x,y; public: pointer(int xx,int yy) { x=xx; y=yy; } pointer() { x=0; y=0; } }; 1.5 điểm 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 …… 5/5 . 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: . !=NULL) { q=p->link; while (q!=NULL) { if(q->infor.thanhtien < p->infor.thanhtien) { tg=q->infor.thanhtien ; q->infor.thantien =p->infor.thanhtien;

Ngày đăng: 19/03/2014, 02:45

w