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Á 2 (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 - 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à

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

- 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 0.25 0,25 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}

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

0 3 9 10 99 35 25 88 18

99 18 18 18 18 18 10 10 10 10 10 9 3 3 3 9 9 9 0 25 99 25 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,75 0,25

2

Khóa Bước Ban đầu Bước 1 0 Bước 2 Bước 3 Bước 4 Bước 5 Bước 6 Bước 7 Bước 8 Kết quả a. Nêu 4 tính chất của phụ thuộc hàm

Trang: 1/4

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

- Phản xạ: Nếu Y  X thì X → Y - 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) 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)

1,0 1,0 0,25

3

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

int n ;// Bac da thuc

#include #include #include class DT { private: a0, a1,... 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: 2/4

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

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

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 ;

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) else }

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: 3/4

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

Trang: 4/4