1. Trang chủ
  2. » Cao đẳng - Đại học

ĐỀ THI TỐT NGHIỆP CĐN: LẬP TRÌNH MÁY TÍNH

11 1,2K 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 342,4 KB

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

Nội dung

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.. Tạo lớp HOASY để lưu các thông tin

Trang 1

TRƯỜNG CAO ĐẲNG NGHỀ KỸ

THUẬT CÔNG NGHỆ TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

ĐỀ 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: LTMT - LT01

Hình thức thi: Tự luận

Thời gian: 150 phút (không kể thời gian chép/giao đề thi)

ĐỀ BÀI 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 xếp một dãy khóa theo thứ tự tăng dần

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 lựa chọn

Câu 2: (3,5 điểm)

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:

a 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

b 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

c Tạo lớp SACHVEBIA kế thừa từ lớp BIA và lớp HOASY có các 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

d Xây dựng hàm main() thực hiện:

+ Nhập vào danh sách n cuốn sách

Trang 2

+ 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

Câu 3: (2,0 điểm)

Cho lược đồ cơ sở dữ liệu sau:

Docgia(MADG, HOTEN, NGAYSINH, DIACHI, NGHENGHIEP)

Phieumuon(SOPM, NGAYMUON, MADG)

Chitietmuon(SOPM, MADAUSACH, NGAYTRA)

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

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

c) Tổng số lượt mà 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) 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

Câu 4: (3,0 điểm)

Xây dựng lớp đa thức bao gồm thành phần các hệ số của đa thức và bậc của

đa thức để cài đặt các toán tử toán học cho lớp đa thức này Viết chương trình thực hiện:

a Xây dựng toán tử nhập dữ liệu của một đa thức

b Xây dựng toán tử toán tử cộng, toán tử nhân hai đa thức

c Xây dựng toán tử xuất dữ liệu của một đa thức

d Xây dựng toán tử tính giá trị của đa thức tại x

e Viết hàm main thực hiện:

- Nhập vào hai đa thức

- Hiển thị ra màn hình tổng, tích của hai đa thức đó

Trang 3

- Tính giá trị của đa thức tại giá trị x được nhập vào

=====HẾT=====

Giám thị coi thi không giải thích gì thêm Sinh viên không được sử dụng tài liệu

Trang 4

TRƯỜNG CAO ĐẲNG NGHỀ KỸ

THUẬT CÔNG NGHỆ TP.HCM

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

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 xếp một

dãy khóa theo thứ tự tăng dần

0,75 điểm

procedure sxluachon(a,n)

1 for i:=1 to n-1 do

begin

0,25 điểm

m:=i;

for j:= i+1 to n do begin if(a[j]<a[m]) then m:=j;

if(m <> i) then begin X:=a[i];

a[i]:=a[m];

a[m]:=X;

end;

end;

end;

2 return;

0.5 đ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 lựa chọn

0,75 điểm

Cho một dãy khoá gồm 10 phần tử, chẳng hạn:

Trang 5

40 23 17 55 22 45 15 60 30 20

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 0,25 điểm

Bước 3: 15 17 20 55 22 45 40 60 30 23 0,25 đ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

3,5 điểm

a 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

0,5 điểm

#include <iostream.h>

#include <conio.h>

#include<stdio.h>

class BIA { char mahinhanh[10];

float tienve;

public: void nhap()

{ cout<<"ma hinh anh:";gets(mahinhanh);

cout<<"tien ve:";cin>>tienve;

} void hienthi()

{ cout <<" "<<mahinhanh<< " "<<tienve;

} };

b 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

0,5 điểm

class HOASY { char hoten[30];

char diachi[30];

public: void nhaphs()

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

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

} void hienthihs()

{ cout << " "<<hoten<<" " << diachi;

Trang 6

} };

c 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

0,75 điểm

class SACHVEBIA: public BIA, public HOASY

{ char tensach[30];

char tacgia[30];

int sotrang;

float giaban;

public: void nhapsach()

{ 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 <<" "<<sotrang<<" "<<giaban;

hienthi();

hienthihs();

cout<<"\n";

} };

d 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

1,25 điểm

void main()

{ clrscr();

SACHVEBIA *ds,temp;

int n,x,i,j;

cout<<"\nNhap vao so cuon sach co ve bia:";

0,25 điểm

Trang 7

cin>>n;

ds=new SACHVEBIA[n];

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

{ cout <<"\nNhap thong tin cho cuon sach thu " <<i+1<<endl;

ds[i].nhapsach();

}

cout<<"Thong tin ve cac cuon sach co ve bia da nhap:" <<endl;

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

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

} int jmin;

for(i=0;i<n-1;i++)

{jmin=i;

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

if(ds[jmin].giaban>ds[j].giaban)

jmin=j;

{

temp=ds[i];

ds[i]=ds[jmin];

ds[jmin]=temp;

}

}

cout<<endl;

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

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

}

getch();

}

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) Dausach(MADAUSACH, BAN, TAP, MASH) Sach(MASH, TENSACH, TACGIA, NHAXB, NAMXB)

2 điểm

Trang 8

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à 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) FROM Docgia))

0,5 điểm

Trang 9

Câu 4 Xây dựng lớp đa thức bao gồm thành phần các hệ số của đa thức và

bậc của đa thức để cài đặt các toán tử toán học cho lớp đa thức này

Viết chương trình thực hiện

3 điểm

a Xây dựng toán tử nhập dữ liệu của một đa thức 0,5 điểm

#include <conio.h>

#include <iostream.h>

#include <math.h>

class Dathuc

{

double a[20];// Mang chua cac he so da thuc a0, a1,

int n ;// Bac da thuc public:

friend ostream& operator<< (ostream& os, Dathuc d);

friend istream& operator>> (istream& is, Dathuc &d);

friend Dathuc operator+(Dathuc d1, Dathuc d2);

friend Dathuc operator*(Dathuc d1, Dathuc d2);

friend double operator^(Dathuc d, double x);

};

istream& operator>> (istream& is, Dathuc &d)

{

cout << "Bac da thuc:";

cin >> d.n;

cout <<"Nhap cac he so da thuc:" ; for (int i=0 ;i<=d.n ;++i)

{

cout << "\n He so bac " << i <<"=";

is >> d.a[i] ; }

return is;

}

b Xây dựng toán tử toán tử cộng, toán tử nhân hai đa thức 1 điểm Dathuc operator+(Dathuc d1, Dathuc d2)

{

Dathuc d;

int k,i;

k = d1.n > d2.n ? d1.n : d2.n ; for (i=0;i<=k ;++i)

if (i<=d1.n && i<=d2.n) d.a[i] = d1.a[i] + d2.a[i];

else

if (i<=d1.n) d.a[i] = d1.a[i];

else d.a[i] = d2.a[i];

i = k;

while (i>0 && d.a[i]==0.0) i;

d.n=i;

return d ;

Trang 10

}

Dathuc operator*(Dathuc d1 , Dathuc d2)

{

Dathuc d;

int k, i, j;

k = d.n = d1.n + d2.n ; for (i=0;i<=k;++i) d.a[i] = 0;

for (i=0 ;i<= d1 n ;++i)

for (j=0 ;j<= d2.n ;++j)

d.a[i+j] += d1 a[i]*d2.a[j];

return d;

}

c Xây dựng toán tử xuất dữ liệu của một đa thức 0,5 điểm ostream& operator<< (ostream& os, Dathuc d)

{

os<<"Cac he so (tu ao):";

for (int i=d.n ;i>= 1 ; i) {

if(d.a[i-1]<0)

os << d.a[i] <<" * x^" <<i;

else

os << d.a[i] <<" * x^" <<i<<"+";}

os<<d.a[0];

return os;

}

d Xây dựng toán tử tính giá trị của đa thức tại x 0,5 điểm double operator^(Dathuc d, double x)

{

double s=0.0 , t=1.0;

for (int i=0 ;i<= d.n ;++i) {

s += d.a[i]*t;

t *= x;

} return s;

}

e Viết hàm main thực hiện:

- Nhập vào hai đa thức

- Hiển thị ra màn hình tổng, tích của hai đa thức đó

- Tính giá trị của đa thức tại giá trị x được nhập vào

0,5 điểm

void main()

{

Dathuc p,q,f,g;

double x,h;

clrscr();

Trang 11

cout <<"\n Nhap da thuc P=";cin >> p;

cout <<"\n Nhap da thuc Q=";cin >> q;

f = p+q;

cout << "\n Tong hai da thuc= "<< f ;

g = p*q;

cout << "\n Tich hai da thuc= "<< g ; cout << "\n Tinh gia tri cua da thuc P tai x=";cin >> x;

cout << "\n P("<<x<<") ="<<h;

getch();

}

=====HẾT=====

Ngày đăng: 30/08/2015, 22:08

TỪ KHÓA LIÊN QUAN

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