CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐÁP ÁN
ĐỀTHITỐTNGHIỆP CAO ĐẲNG NGHỀ KHOÁ II (2008 - 2011)
NGHỀ: LẬPTRÌNHMÁY TÍNH
MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề số: DA LTMT- LT09
TT Nội dung Điểm
I. Phần bắt buộc 7 điểm
Câu 1 1,5 điểm
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.
0,75 điểm
1 Trình bày giải thuật tìm kiếm tuần tự. 0,75 điểm
function TKTT(a,n,X);
1. i:=1; a[n+1]:=X;
0,25 điểm
2. While a[i]<>X do i:=i+1; 0,25 điểm
3. if i=n+1 then return 0
else return 1;
0,25 điểm
2Trì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
Câu 2 3,5 điểm
a Xây dựng khuôn hàm hoán đổi cho phép đổi giá trị của hai
biến số truyền vào
0,5 điểm
Trang:1/ 4
#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;
}
b Xây dựng khuôn hình hàm sắp xếp có sử dụng khuôn hình
hàm hoán đổi để sắp xếp giá trị của một mảng theo chiều
tăng dần.
0,5 điểm
template <class T>
void Sapxep(T *ma,int n)
{
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(ma[i]>ma[j])
Hoandoi(ma[i],ma[j]);
}
c Xây dựng khuôn hình hàm tìm số lớn nhất trong một một
mảng
0,5 điểm
template <class T>
void Timmax(T *ma,int n)
{ T max;
max=ma[1];
for(int i=2;i<=n;i++)
if(max<ma[i])
max=ma[i];
cout<<"phan tu lon nhat trong mang la:"<<max;
}
d Xây dựng khuôn hình hàm để in giá trị của một mảng ra
màn hình
0,5 điểm
template <class T>
void Hienthi(T *ma,int n)
{
cout<<"["<<ma[1];
for(int i=2; i<=n; i++)
cout<<","<<ma[i];
Trang:2/ 4
cout<<"]\n";
}
e Viết hàm main sử dụng các khuôn 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.
1,5 điểm
void main()
{
clrscr();
int A[100];
double B[100];
int i,n,m;
cout<<"Nhap vao so phan tu cua mang so
nguyen"<<endl;
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"A["<<i<<"]=";
cin>>A[i];
}
cout<<"Nhap vao so phan tu cua mang so
thuc"<<endl;
cin>>m;
for(i=1; i<=m; i++)
{
cout<<"B["<<i<<"]=";
cin>>B[i];
}
cout<<"Mang so nguyen ban dau la:"<<endl;
Hienthi(A,n);
cout<<"Mang so nguyen sau khi sap xep
la:"<<endl;
Sapxep(A,n);
Hienthi(A,n);
cout<<"Mang so thuc ban dau la:"<<endl;
Hienthi(B,m);
cout<<"Mang so thuc sau khi sap xep la:"<<endl;
Sapxep(B,m);
Hienthi(B,m);
Timmax(B,m);
getch();
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
Trang:3/ 4
}
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ạ.
f2: thỏa mãn vì với mỗi bộ của R ta đều có A→B
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ó A→D
f6: thỏa vì với mỗi bộ của R ta đều có A→D
1 điểm
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
. 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. buộc 7 điểm
Câu 1 1,5 điểm
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.
0,75 điểm
1 Trình bày giải thuật tìm