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ã đề số: DA LTMT - LT13

Nội dung

Điểm

Câu I. Phần bắt buộc

1

a. Trình bày được giải thuật Buble Sort. - Bước 0: Xét các phần tử M[j] (j giảm từ N-1 đến 0), so sánh M[j] với M[j-1]. Nếu M[j] nhỏ hơn M[j-1] thì đổi chỗ M[j] và

0,25

M[j-1] cho nhau. Sau bước này thì M[0] có giá trị nhỏ nhất.

0.25

0,25

- Bước 1: Xét các phần tử M[j] (j giảm từ N-1 đến 1), so sánh M[j] với M[j-1]. Nếu M[j] nhỏ hơn M[j-1] thì đổi chỗ M[j] và M[j-1] cho nhau. Sau bước này thì M[1] có giá trị nhỏ nhất. - Tổng quát ở bước i: Xét các phần tử M[j] (j giảm từ N-1 đến i), so sánh M[j] với M[j-1]. Nếu M[j] nhỏ hơn M[j-1] thì đổi chỗ M[j] và M[j-1] cho nhau. Sau bước này thì M[i] có giá trị nhỏ nhất. - Sau N - 1 bước thì kết thúc.

0,25

b. Áp dụng giải thuật Buble Sort với bộ dữ liệu K = {9, 3, 10, 0, 99, 35, 25, 88, 18}

Trang: 1/5

0,75

K[0] K[1] K[2] K[3] K[4] K[5] K[6] K[7] K[8]

9 3 10 0 99 35 25 88 18

0 9 3 3 9 9 10 10 10 10

0,25

99 18 18 18 18 25 99 25 25 25 25 35 25 99 35 35 35 35

35 18 35 35 99 88 88 88 88 88 88 88 88 88 99 99 99 99 99 0 3 9 10 18 25 Khóa Bước Ban đầu Bước 1 Bước 2 Bước 3 Bước 4 Bước 5 Bước 6 Bước 7 Bước 8 Kết quả

Trang: 2/5

2

X thì X → Y

0,25 0,25 0,25 0,25

a. Nêu 4 tính chất của phụ thuộc hàm - Phản xạ: Nếu Y (cid:0) - Bắt cầu: Nếu X → Y và Y → Z thì X → Z - Phân rã: Nếu X → YZ thì X → Y và X → Z - Bắt cầu: Nếu X → Y và X → Z thì X → YZ

b. Áp dụng: Tìm chuỗi suy diễn ABGH

1,0

1,0

1) AB  E (F1) 2) E  G (F4) 3) AB  G (tính bắc cầu 2 &3) 4) AB  AB (phản xạ) 5) AB  B (phân rã) 6) AB  BE (kết hợp 1&5) 7) BE  I (F3) 8) AB  I (bắc cầu 6&7) 9) AB  GI (kết hợp 3&8) 10)GI  H (F5) 11)AB  H (bắc cầu 9&10) 12)AB  GH (kết hợp 3&11)

3

0,25

#include #include #include class DT { private: double a[20];// Mang chua cac he so da thuc a0, a1,... int n ;// Bac da thuc public: void nhap(); void hienthi(); DT operator+(const DT &d2); double operator^(double x);// Tinh gia tri da thuc };

0,25

void DT::hienthi() { cout<

Trang: 3/5

0,25

void DT::nhap() { cout << "Bac da thuc:"; cin >> n; cout << "Nhap cac he so da thuc:" ; for (int i=0 ;i<=n ;++i) { cout << "\n He so bac"<> a[i] ; } }

0,75

DT DT::operator+(const DT &d2) { DT d; int k,i; k = (n > d2.n)?n:d2.n ; for (i=0;i<=k ;++i) if (i<=n && i<=d2.n) d.a[i] = a[i] + d2.a[i]; else if (i<=n) d.a[i] =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 ; }

0,25

double DT::operator^(double x) { double s=0.0 , t=1.0; for (int i=0 ;i<= n ;++i) { s+= a[i]*t; t *= x; } return s; }

Trang: 4/5

0,25

void main() { DT p,q,f; double x,g; clrscr(); cout <<"\n Nhap da thuc P :" ;p.nhap(); cout <<"\n Nhap da thuc Q :" ;q.nhap(); cout << "\n Nhap so thuc x :" ;cin >> x; f = (p+q); g = f^x; cout << "\n Da thuc f "; f.hienthi(); cout<<"\n x =" << x; cout << "\n f(x) = "<

II. Phần tự chọn

1

……….., ngày…………tháng………..năm…………..

Trang: 5/5