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

đá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 (3)

5 327 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 98,5 KB

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

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Á II 2008 - 2011 NGHỀ: LẬP TRÌNH MÁY TÍNH MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ Mã đề

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

1 Trình bày giải thuật sắp xếp kiểu thêm dần để sắp xếp một

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

0,75 điểm

procedure sxthemdan(a,n)

1 a[0] := -∞;

2 for i:=2 to n do

begin

0,25 điểm

X:=a[i];

j:=i-1;

while(X<a[j]) begin a[j+1]=a[j];

j:=j-1;

end;

0,25 điểm

a[j+1] = X;

end;

3 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 thêm dần

0,75 điểm

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

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

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

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

Trang 2

Câu 2 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,5 đ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;

0,5 điểm

Trang 3

d.n=i;

return d ; }

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;

}

0,5 điểm

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

1 điểm

Trang 4

void main()

{

Dathuc p,q,f,g;

double x,h;

clrscr();

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

}

0,25 điểm

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

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

Giaovien(MAGV, HOTEN, TDGV, MAKHOA) Khoa(MAKHOA, TENKHOA, DTKHOA) Lop(MALOP, TENLOP, SISO, MAKHOA) Monhoc(MAMH, TENMH)

Phonghoc(SOPHONG, CHUCNANG) Lichbaogiang(MALICH, NGAYDAY, MAGV) Dongbaogiang(MALICH, TUTIET, DENTIET, BAIDAY, GHICHU, LYTHUYET, MAMH, MALOP, SOPHONG)

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

2 điểm

a Xem lịch báo giảng tuần từ ngày 16/09/2002 đến ngày

23/09/2002 của giáo viên có MAGV (mã giáo viên) là

TH3A040 Thông tin kết xuất: MAGV, HOTEN, TENLOP,

TENMH, SOPHONG, NGAYDAY, TUTIET, DENTIET,

BAIDAY, GHICHU:

SELECT Magv, Hoten, Tenlop, Tenmh, Sophong, Ngayday,

Tutiet, Dentiet, Baiday, Ghichu

FROM (((Lichbaogiang INNER JOIN Dongbaogiang

ON Dongbaogiang.Malich = Lichbaogiang.Malich) INNER JOIN Giaovien ON Lichbaogiang.Magv = Giaovien.Magv)

INNER JOIN Lop ON Dongbaogiang.Malop =

0,75 điểm

Trang 5

Lop.Malop) INNER JOIN Monhoc ON Dongbaogiang.Mamh = Monhoc.Mamh

WHERE (Ngayday BETWEEN #16/09/2002# AND

#23/09/2002#) AND Giaovien.Magv = “TH3A040”

b Xem lịch báo giảng ngày 23/09/2002 của các giáo viên có

mã khoa là CNTT Thông tin kết xuất: MAGV, HOTEN,

TENLOP, TENMH, SOPHONG, NGAYDAY, TUTIET,

DENTIET, BAIDAY, GHICHU)

SELECT Magv, Hoten, Tenlop, Tenmh, Sophong, Ngayday,

Tutiet, Dentiet, Baiday, Ghichu

FROM (((Lichbaogiang INNER JOIN Dongbaogiang

ON Dongbaogiang.Malich = Lichbaogiang.Malich) INNER JOIN Giaovien ON Lichbaogiang.Magv = Giaovien.Magv)

INNER JOIN Lop ON Dongbaogiang.Malop = Lop.Malop)

INNER JOIN Monhoc ON Dongbaogiang.Mamh = Monhoc.Mamh

WHERE (Lop.Makhoa = “CNTT”) AND (Lichbaogiang.Ngayday = #23/09/2002#)

0,75 điểm

c Cho biết số lượng giáo viên (SOLUONGGV) của mỗi khoa,

kết quả cần sắp xếp tăng dần theo cột tên khoa Thông tin kết

xuất: TENKHOA, SOLUONGGV ( SOLUONGGV là

thuộc tính tự đặt)

SELECT Tenkhoa, Count(Giaovien.Magv) AS Soluonggv

FROM Giaovien INNER JOIN Khoa ON Khoa.Makhoa =

Giaovien.Makhoa GROUP BY Giaovien.Makhoa,Tenkhoa

0,5 điểm

1

2

Tổng cộng (I + II)

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

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

TỪ KHÓA LIÊN QUAN

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

w