CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
Câu
1
ĐÁP ÁN
ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHOÁ 2 (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 - LT27
Nội dung
Cơ sở dữ liệu
Điểm
2.5
A. Ngôn ngữ SQL
1. Select giaovien.hoten, Count(lop.malop)
From lop, giaovien
Where lop.magv=giaovien.magv
Group by giaovien.hoten;
2. Select * From hocvien
Where ho=”Nguyễn”;
3. Select hocvien.ho,hocvien.ten,bienlai.diem,bienlai.kqua, bienlai.xeploai
From hocvien,bienlai
Where hocvien.mahv=bienlai.mahv And bienlai.tiennop=0
0.5
0.5
0.5
B. Ngôn ngữ đại số
1.
T 1 Giaovien Lop
giaovien.magv lop. magv
0.3
T 2 ( hoten , count ( malop ) (T 1)
2.
3.
T= ( ho " Nguyen ") ( Hocvien)
0.3
T1 hocvien bienlai
hocvien . mahvbienlai . mahv
T 2 ( tiennop 0 ) (T 1)
0.4
T3= ( ho ,ten ,diem ,kqua , xeploai ) (T 2)
1/5
2
Cấu trúc dữ liệu & giải thuật
2.5
1. Trình bày giải thuật sắp xếp đổi chỗ trực tiếp (Interchange sort) trên dãy số
nguyên n phần tử
*) Ý tưởng
- Ban đầu có một dãy khóa k1,k2,k3....kn chưa được sắp xếp
- Chương trình thực hiện 2 vòng lặp, vòng lặp i chạy trước và vòng lặp j
chạy ngay sau i, nếu phát hiện một nghịch thế thì tiến hành đổi chỗ ngay.
Như vậy sau mỗi bước của vòng lặp i thì phần tử nhỏ nhất (lớn nhất) được
đưa lên vị trí thứ i
*) Giải thuật:
Void Interchange-sort (mang a, int n)
{
int i,j,tg;
for (i=0; i
a[j])
{
tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
0.5
đ
i
ể
m
0.5
đ
i
ể
m
2. Viết chương trình tạo một danh sách liên kết đơn, …
typedef struct SP{
char ten[10];
char ma[5];
int soluong;
float giaban, thanhtien;
};
typedef struct tagNode{
SP infor;
struct tagNode *link;
}Node;
Node *head, *p, *moi;
int n;
0.4
2/5
void nhap( ){
SP tg ;
int i ;
head = NULL;
for ( i=0; i infor =tg;
if (head ==NULL){
head = moi;
p=moi;
p -> link =NULL;
}
else{
p -> link = moi;
p= moi;
p -> link =NULL;
}}}
3/5
0.4
void sapxep() {
SP tg;
p=head;
while (p !=NULL){
q=p->link;
while (q!=NULL){
if(q->infor.thanhtien infor.thanhtien){
tg=q->infor;
q->infor =p->infor;
p->infor =tg;
}
q=q->link;
}
p=p->link;
}
}
float maxthanhtien() {
Node *p; float max;
p=head;
max=p->infor.thanhtien;
while ( p !=NULL)
{
if ((p -> infor.thanhtien>max)
max=p->infor.thanhtien ;
p=p-> link ;
}
return max;
}
void main(){
clrscr() ;
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);
nhap();
sapxep();
prinft(“ thanh tien cao nhat la %f”, maxthanhtien());
getch();
}
4/5
0.4
0.4
0.1
4
Lập trình hướng đối tượng
2.0
- Khai báo cấu trúc khuôn hình hàm:
template < class > (< Tham số>)
{
< Thân khuôn hình hàm>;
}
1.0
- Xây dựng khuôn hình hàm min:
template t min(t a, t b)
{
if(a