
Trang:1/ 2
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐỀ 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ã đề số: LTMT - LT09
Hình thức thi: Tự luận
Thời gian: 150 phút (không kể thời gian giao/chép đề thi)
ĐỀ BÀI
Câu 1: (1,5 điểm)
1.Trình bày giải thuật tìm kiếm tuần tự.
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.
Câu 2: (3,5 điểm)
Xây dựng khuôn hình hàm thực hiện:
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.
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.
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
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.
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.
Câu 3: (2,0 điểm)
a. Định nghĩa phụ thuộc hàm
b. Cho quan hệ R (A, B, C, D) như sau
R(A B C D)
a 1 x 2
a 1 y 2
b 2 x 1
b 2 y 1
Cho biết R thỏa những phụ thuộc hàm nào trong số các phụ thuộc hàm liệt kê
dưới đây ?
f1: A A, f2: AB, f3 : AC, f4 : ACC, f5 : AD, f6 : DA

Trang:2/ 2
..............,ngày.............tháng..............năm...............
DUYỆT HỘI ĐỒNG THI TỐT NGHIỆP TIỂU BAN RA ĐỀ THI

Trang:1/ 4
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Á 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ể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

Trang:2/ 4
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
#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)

Trang:3/ 4
{
cout<<"["<<ma[1];
for(int i=2; i<=n; i++)
cout<<","<<ma[i];
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);
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm
0,25 điểm