Tải bản đầy đủ (.pdf) (4 trang)

Đáp án đề thi tốt nghiệp cao đẳng nghề khoá II (năm 2008 - 2011) nghề Lập trình máy tính môn thi lý thuyết chuyên môn nghề - Mã đề thi: DA LTMT - LT11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (128.02 KB, 4 trang )

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Ề KHỐ 2 (2008 - 2011)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MƠN THI: LÝ THUYẾT CHUN MƠN NGHỀ
Mã đề số: DA LTMT - LT11
Câu
Nội dung
I. Phần bắt buộc
1
a. Trình bày được giải thuật Selection Sort.

Điểm

- Bước 0: chọn phần tử có giá trị nhỏ nhất trong n phần tử từ
a[0] đến a[n-1] và hốn vị nó với phần tử a[0].
- Bước 1: chọn phần tử có giá trị nhỏ nhất trong n-1 phần tử từ
a[1] đến a[n-1] và hốn vị nó với a[1].
- Tổng quát ở bước thứ i: chọn phần tử có giá trị nhỏ nhất
trong n-i phần tử từ a[i] đến a[n-1] và hốn vị nó với a[i].
- Sau n-1 bước (từ bước 0 đến n-2) thì mảng đã được sắp xếp.

0,25
0.25
0,25
0,25

b. Áp dụng giải thuật Selection Sort với bộ dữ liệu
K = {9, 3, 10, 0, 99, 35, 25, 88, 18}
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ả

2

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

3

10

0

99

35

25


88

18

0

3
3

10
10
9

9
9
10
10

99
99
99
99
18

35
35
35
35
35
25


25
25
25
25
25
35
35

0

3

9

10

18

25

35

88
88
88
88
88
88
88

88
88

18
18
18
18
99
99
99
99
99

a. Định nghĩa khóa của lược đồ quan hệ

Trang: 1/4

0,75

0,25


Cho lược đồ quan hệ R với các tập thuộc tính U={A1,A2, ...,
An} và các phụ thuộc hàm F, X  U. Ta nói X là một khóa của
R nếu:
- X  U  F+ . Nghĩa là X xác định hàm tất cả các thuộc tính
(các phụ thuộc hàm này thuộc F hoặc được suy diễn logic từ
F).
- Không có  Y  X mà Y  U  F+ .
b. Thuật tốn tìm một khóa của lược đồ quan hệ

Vào: lược đồ quan hệ R với tập thuộc tính U và tập phụ thuộc
hàm F
Ra: Tập K là khóa của R
Thuật tốn:
- Đặt K=U
- Lặp lại q trình loại bỏ khỏi K thuộc tính A mà
{K-A}+ =U.

0,25

0,25

0,25

0,25

c. Áp dụng
Bước 1: Gán K = R = {A,B,C,D,E,G,H,I}
0,25
Bước 2: Lần lượt loại bớt các thuộc tính của K
0,50
+
- Loại phần tử A: ta có {B,C,D,E,G,H,I} = R
vì pth CG → AE khiến A thuộc về {B,C,D,E,G,H,I}+
nên K = {B,C,D,E,G,H,I}.
- Loại phần tử B, ta có {C,D,E,G,H,I}+ = R
vì pth CG → AE khiến A thuộc về {C,D,E,G,H,I}+ và
pth AC → B nên K ={C,D,E,G,H,I}.
- Loại phần tử C, ta có {D,E,G,H,I}+ ≠ R nên K vẫn là {C,
D,E,G,H,I}

- Loại phần tử D, ta có: {C, E,G,H,I}+ = R vì pth
CG → AE khiến A thuộc về {C, E,G,H,I} + và
pth AC → B nên K ={C,E,G,H,I}.
- Loại phần tử E, ta có: {C, G,H,I}+ = R vì
pth CG → AE , AC → B , ABC→ D nên K ={C,G,H,I}.
- Loại phần tử G, ta có: {C, H,I}+ ≠ R
nên K vẫn là {C, G,H,I}.
- Loại phần tử H, ta có: {C, G,I}+ ≠ R
nên K vẫn là {C, G,H,I}.
- Loại phần tử I, ta có: {C,G,H}+ = R
vì CG → AE , AC → B, ABC→ D nên K={C,G,H}.
=> Vậy K={ C,G,H} là một khóa của r ( R )
0,25

Trang: 2/4


3

#include <conio.h>
#include <iostream.h>
#include <math.h>
int uscln(int a,int b)
{
while (!(a%b==0) )
{
int r=b; b=a%b;a=r;
}
return b;
}

class PS
{
private:
int t,m;
public:
void nhap();
void hienthi();
void rutgon();
PS operator+(const PS &p2);
void operator=(const PS &p2);

0,25

};
void PS:: nhap()
{
cout<<"\n Nhap tu so:"; cin>>t;
cout<<"Nhap mau so:"; cin>>m;
}
void PS:: hienthi()
{
cout <}
void PS::rutgon()
{
int uc=uscln(t,m);
t=t/uc;
m=m/uc;
}
void PS::operator=(const PS &p2)

{
t=p2.t;
m=p2.m;
}
PS PS::operator+(const PS &p2)
{
PS tg;
tg.t=t*p2.m+p2.t*m;
tg.m=m*p2.m;
return tg;
}

Trang: 3/4

0,1

0,1

0,25

0,1

0,25


void nhapmangPS(PS *a,int n)
{
for (int i=1;i<=n;i++)
a[i].nhap();
}


0,25

PS tongmangPS(PS *a,int n)
{
PS tg;
tg=a[1];
for(int i=2;i<=n;i++)
tg=tg+a[i];
tg.rutgon();
return tg;
}

0,5

void main()
{
int n;
PS a[10],p2;
cout<<"\nNhap so phan so:"; cin>>n;
nhapmangPS(a,n);
p2=tongmangPS(a,n);
cout<<"Tong
cua
mang
cac
la:";p2.hienthi();
getch();
}


0,2

phan

so

II. Phần tự chọn

………,

Trang: 4/4

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



×