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Á 3(2009 - 2012)
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
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
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.
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
. 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ã đề. đ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/