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Ố 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 - LT09
TT
Nội dung
I. Phần bắt buộc
Câu 1
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 chiều giảm dần.
Trình bày giải thuật tìm kiếm tuần tự.
function TKTT(a,n,X);
1. i:=1; a[n+1]:=X;
2. While a[i]<>X do i:=i+1;
3. if i=n+1 then return 0
else return 1;
2
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.
procedure sxthemdan(a,n)
1. a[0] := -∞;
2. for i:=2 to n do
begin
X:=a[i]; j:=i-1;
while(Xbegin
a[j+1]=a[j]; j:=j-1;
end;
a[j+1] = X;
end;
3. return;
Điểm
7 điểm
1,5 điểm
0,75 điểm
Câu 2
3,5 điểm
a
Xây dựng khn hàm hốn đổi cho phép đổi giá trị của hai
biến số truyền vào
Trang:1/ 4
0,75 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,75 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,5 điểm
b
c
d
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
template <class T>
void Hoandoi(T& a,T& b)
{
T tmp;
tmp=a;
a=b;
b=tmp;
}
Xây dựng khn hình hàm sắp xếp có sử dụng khn hình
hàm hốn đổi để sắp xếp giá trị của một mảng theo chiều
tăng dần.
template <class T>
void Sapxep(T *ma,int n)
{
for(int i=1;i
for(int j=i+1;j<=n;j++)
if(ma[i]>ma[j])
Hoandoi(ma[i],ma[j]);
}
Xây dựng khuôn hình hàm tìm số lớn nhất trong một một
mảng
template <class T>
void Timmax(T *ma,int n)
{
T max;
max=ma[1];
for(int i=2;i<=n;i++)
if(max
max=ma[i];
cout<<"phan tu lon nhat trong mang la:"<
}
Xây dựng khn hình hàm để in giá trị của một mảng ra
màn hình
template <class T>
void Hienthi(T *ma,int n)
{
cout<<"["<
for(int i=2; i<=n; i++)
cout<<","<
Trang:2/ 4
0,5 điểm
0,5 điểm
0,5 điểm
cout<<"]\n";
}
e
Viết hàm main sử dụng các khn hình hàm đã xây dựng :
- Sắp xếp giá trị của hai mảng, một mảng các phần tử có
kiểu nguyên và một mảng các phần tử có kiểu thực.
- Hiển thị số lớn nhất trong mảng các phần tử có kiểu thực.
void main()
{
clrscr();
int A[100];
double B[100];
int i,n,m;
cout<<"Nhap vao so phan tu cua mang so
nguyen"<
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"A["<
cin>>A[i];
}
cout<<"Nhap vao so phan tu cua mang so
thuc"<
cin>>m;
for(i=1; i<=m; i++)
{
cout<<"B["<
cin>>B[i];
}
cout<<"Mang so nguyen ban dau la:"<
Hienthi(A,n);
cout<<"Mang so nguyen sau khi sap xep
la:"<
Sapxep(A,n);
Hienthi(A,n);
cout<<"Mang so thuc ban dau la:"<
Hienthi(B,m);
cout<<"Mang so thuc sau khi sap xep la:"<
Sapxep(B,m);
Hienthi(B,m);
Timmax(B,m);
getch();
}
Trang:3/ 4
1,5 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
Câu 3
2 điểm
a
Định nghĩa phụ thuộc hàm
Một phụ thuộc hàm, ký hiệu là X→ Y, giữa hai tập thuộc
tính X và Y chỉ ra một ràng buộc trên các bộ có thể có tạo
nên một trạng thái quan hệ r của R. Ràng buộc đó là: với
hai bộ bất kỳ t1 và t2 trong r , nếu có t1[X] = t2[X] thì
cũng phải có t1[Y] = t2[Y].
1 điểm
b
f1: thỏa mãn vì theo luật phản xạ.
1 điểm
f2: thỏa mãn vì với mỗi bộ của R ta đều có AB
f3: khơng thỏa vì A(a) B(x) và A(b) B(x)
f4: thỏa vì AC C
f5: thỏa vì với mỗi bộ của R ta đều có AD
f6: thỏa vì với mỗi bộ của R ta đều có AD
II. Phần tự chọn, do trường biên soạn
3 điểm
1
2
Tổng cộng (I + II)
……….., ngày…………tháng………..năm…………..
Trang:4/ 4