Tải bản đầy đủ (.doc) (5 trang)

Đáp án đề thi tốt nghiệp cao đẳng nghề khóa 3 (2009-2012) - 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (121 KB, 5 trang )

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 CHUN MƠN NGHỀ
Mã đề thi: DA LTMT - LT27
Câu
I. Phần bắt buộc
1 Cơ sở dữ liệu

Nội dung

Đ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
B. Ngôn ngữ đại số

1.

0.5


0.5

T 1 Giaovien
 Lop

0.3

giaovien. magv lop. magv

T 2 ( hoten, count ( malop ) (T 1)

2. T=  ( ho " Nguyen ") ( Hocvien)
3.

0.5

0.3

T 1 hocvien 
 bienlai
hocvien .mahv bienlai . 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
0.5 điểm
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; ifor (j=i+1; jif (a[i] >a[j])
0.5 điểm
{
tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
2. Viết chương trình tạo một danh sách liên kết đơn, …
typedef struct SP{

0.4
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;

2/5


void nhap( ){
SP tg ;
int i ;
head = NULL;
for ( i=0; i{ moi = (Node *) malloc (sizeof(Node));
printf ( “ Nhap thong tin cho nut moi:”);
printf ( “ Nhap thong tin ten san pham:”);
fflush(stdin);
gets ( tg.ten);
fflush(stdin);
printf ( “ Nhap ma san pham:”);
fflush(stdin);
gets ( tg.ma);

fflush(stdin);
printf ( “ Nhap so luong san pham:”);
scanf(“%d”, &tg.soluong);
printf ( “ Nhap giaban san pham:”);
scanf(“%f”, &tg.giaban);
tg.thanhtien=tg.soluong * tg.dongia;
moi -> 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

- Khai báo cấu trúc khn hình hàm:
template < class <tên dữ liệu tổng quát>> <kiểu dữ liệu hàm> hàm>(< Tham số>)
{
< Thân khn hình hàm>;
}

II.
1
2
….

- Xây dựng khn hình hàm min:
template <class t> t min(t a, t b)
{
if(areturn a;

else
return b;
}
void main()
{
int a=10.b=-120;
cout<<” Min 2 so nguyen=”<float x=-157.24,y=77.56;
cout<<” Min 2 so thuc=”<}
Cộng (I)
Phần tự chọn

Cộng (II)
Tổng cộng (I + II)
………, ngày ………. tháng ……. năm ……

5/5

2.0
1.0

1.0



×