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

đáp án đề thi lí thuyết tốt nghiệp khóa 3 - lập trình máy tính - mã đề thi ltmt - lt (24)

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 (96.67 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Ề 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ã đề thi: DA LTMT - LT24
Câu Nội dung Điểm
I. Phần bắt buộc
1 Cơ sở dữ liệu 2.5 điểm
A. Ngôn ngữ SQL 1.5 điểm
1. Select monthi.mamt, monthi.tenmt From monthi,ketqua (0.75đ)
Where monthi.mamt=ketqua.mamt and ketqua.diemthi<5;
0.5 điểm
2. Select Lop.malop,lop.tenlop,khoa.tenkhoa, count(thisinh.masv) as
tongsinhvien
From thisinh,lop,khoa
Where thisinh.malop=lop.malop and lop.makhoa=khoa.makhoa
Group by Lop.malop,lop.tenlop,khoa.tenkhoa;
0.5 điểm
3. Select thisinh.masv, thisinh.hoten, thisinh.ngaysinh, lop.tenlop,
khoa.tenkhoa, monthi.tenmonthi, ketqua.diemthi From
thisinh,monthi,ketqua,lop,khoa
Where thisinh.malop=lop.malop and lop.makhoa=khoa.makhoa and
monthi.mamt=ketqua.mamt and thisinh.masv=ketqua.masv;
0.5 điểm
B. Ngôn ngữ đại số 1 điểm
1. T1= monthi*ketqua
T2=
)5( <diemthi
σ


(T1)
T3=

),(
)2(
tenmtmamt
T
0.3 điểm
2. T1=Thisinh*Lop*Khoa
T2=

)(,,(
)1(
masvcounttenlopmalop
T
0.3 điểm
3. T1=thisinh*monthi*ketqua*lop*khoa
T2=

),,,sinh,,,(
)1(
diemthitenmonthitenkhoatenlopngayhotenmasv
T
0.4 điểm
1/5
2 Cấu trúc dữ liệu và giải thuật 2.5 điểm
1. Trình bày giải thuật tìm kiếm tuần tự 0.5 điểm
int linear_search( mang a, int n, int x)
{ a[n] = x;
i=0;

while ( a[i] !=x)
i++;
if (i==n) return -1;
else return i; }
0.5 điểm
2. Khai báo cấu trúc nút cho danh sách móc nối đơn thông tin là
số nguyên
Viết hàm nhập thông tin cho danh sách gồm n nút (n nhập vào từ
bàn phím)
Viết hàm chèn nút vào đầu danh sách nối đơn thông tin là số
nguyên nhập vào từ bàn phím
2 điểm
typedef struct tagNode { int infor;
struct tagNode *link; }
Node;
Node *head, *p, *moi;
int n;
0.4 điểm
void nhap( ) { int i ,tg;
head = NULL;
for ( i=0; i<n; i++) {
moi = (Node *) malloc (sizeof(Node));
printf ( “ Nhap thong tin cho nut moi:”);
scanf(“%d”, &tg);
moi -> infor =tg;
if (head ==NULL) { head = moi;
p=moi;
p -> link =NULL; }
else { p -> link = moi;
p= moi;

p -> link =NULL; }}}
0.4 điểm
void duyet()
{ Node *p;
p=head;
printf ( “ danh sach vua nhap la:”);
while ( p !=NULL)
{ printf(" \n %d ”, p->infor.) ;
p=p-> link ; } }
0.4 điểm
void chendau( ) {
int tg; {
0.4 điểm
2/5
moi = (Node *) malloc (sizeof(Node));
printf ( “ Nhap thong tin cho nut bo sung nut moi:”);
scanf(“%d”, &tg.);
moi -> infor =tg;
moi -> = head ;
head = moi ;}
3/5
void main() { clrscr() ;
printf ( ” nhap so nut ”) ;scanf (“ %d”, &n);
nhap();
duyet();
chendau();
duyet();
getch(); }
0.4 điểm
3 Lập trình hướng đối tượng 2 điểm

- Quá tải toán tử là quá trình ta định nghĩa lại phép toán để dùng
cho kiểu dữ liệu không phải là dữ liệu cơ sở của ngôn ngữ lập
trình.
- Có hai loại phép toán quá tải:
+ Quá tải phép toán 1 ngôi
+ Quá tải phép toán 2 ngôi
1 điểm
- Ví dụ:
class phanso
{
private:
int tu,mau;
public:
phanso(int t=0,int m=0)
{
tu=t;
mau=m;
}
phanso operator+(phanso o2)
{
phanso temp;
temp.tu=tu*o2.mau+mau*o2.tu;
temp.mau=mau*o2.mau;
return temp;
}
phanso operator-(phanso o2)
{
phanso temp;
temp.tu=tu*o2.mau-mau*o2.tu;
temp.mau=mau*o2.mau;

return temp;
}
};
1 điểm
Cộng I 7 điểm
II. Phần tự chọn, do trường biên soạn
1
2
4/5

Cộng II
Tổng cộng (I+II)

………, ngày ………. tháng ……. năm ……
5/5

×