Tải bản đầy đủ (.doc) (6 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-LT07

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 (65.7 KB, 6 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 CHUYÊN MÔN NGHỀ
Mã đề số: DA LTMT - LT07
Câu
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 nổi bọt để sắp xếp một dãy 0,75 điểm
khóa theo thứ tự giảm dần.
procedure sxdoicho(a,n)
1. for i:=1 to n-1 do
0,25 điểm

2

begin
for j:= n downto i+1 do
0,5 điểm
begin
if(a[j]begin
X:=a[j];
a[j]:=a[j-1];


a[j]:=X;
end;
end;
end;
2. return;
Hãy đưa ra một dãy khoá gồm 10 phần tử bất kỳ, sau đó đưa 0,75 điểm
ra kết quả thực hiện 3 bước đầu tiên để sắp xếp dãy khố đó
theo thứ tự giảm dần bằng giải thuật sắp xếp kiểu nổi bọt.
Cho một dãy khoá gồm 10 phần tử, chẳng hạn:
84 53 17 76 11 98 19 77 69 95.

Bước 1: 98 84 53 17 76 11 95 19 77 69
Bước 2: 98 95 84 53 17 76 11 77 19 69

0,25 điểm
0,25 điểm

Bước 3: 98 95 84 77 53 17 76 11 69 19

0,25 điểm

Trang:1/ 6


Câu 2
a

b

3,5 điểm

0,5 điểm

Xây dựng lớp sinh viên bao gồm các thuộc tính số báo danh,
họ tên, ngày sinh, lớp và định nghĩa hàm thành phần: hàm
cho phép nhập thông tin cho một sinh viên, hàm hiển thị
thông tin của một sinh viên
#include <iostream.h>
0,25 điểm
#include <conio.h>
#include<stdio.h>
#include<string.h>
typedef struct date
{int ngay,thang,nam;};
class SINHVIEN
{
char sobaodanh[10];
char hoten[30];
date ngaysinh;
char lop[10];
public:
void nhapsv()
0,25 điểm
{
cout<<"so bao danh";cin>>sobaodanh;
cout<<"ho ten";gets(hoten);
cout<<"ngay sinh";
cin>>ngaysinh.ngay>>ngaysinh.thang>>ngaysinh.nam;
cout<<"lop:";gets(lop);
}
void hienthisv()

{
cout<<<"/"<<<" "<}
};
Xây dựng lớp điểm thi thừa kế từ lớp sinh viên lưu các kết
quả môn thi tin đại cương, toán cao cấp, tiếng anh và định
nghĩa các hàm thành phần: hàm cho phép nhập thông tin
điểm thi cho một sinh viên, hàm hiển thị thông tin điểm thi
của một sinh viên ( với các thông tin điểm tin đại cương, toán
cao cấp, tiếng anh).
class DIEMTHI:public SINHVIEN
{protected:
Trang:2/ 6

0,5 điểm


c

float tindc;
float toan;
float tienganh;
public:
void nhapdiem()
{
cout<<"tin dai cuong:";cin>>tindc;
cout<<"toan cao cap:";cin>>toan;
cout<<"tieng anh:";cin>>tienganh;

}
void hienthidiem()
{
cout<<" "<}
};
Xây dựng lớp kết quả thừa kế lớp điểm thi lưu tổng số điểm
1 điểm
đạt được của sinh viên, và định nghĩa hàm thành phần: hàm
cho phép xếp loại học lực của sinh viên dựa vào tổng điểm
với tổng điểm ≥ 24 thì xếp loại giỏi, 21 ≤ tổng điểm < 24 thì
xếp loại khá, 15 ≤ tổng điểm < 21 thì xếp loại trung bình,
cịn tổng điểm <15 thì xếp loại yếu, hàm hiển thị kết quả thi
của sinh viên (với các thông tin số báo danh, họ tên, ngày
sinh, lớp, điểm tin đại cương, toán cao cấp, tiếng anh, xếp
loại).
class KETQUA:public DIEMTHI
0,25 điểm
{
public:
float tongdiem()
{ return (tindc+toan+tienganh);
}
char* xeploai()
0,5 điểm
{ char *ch;
if(tongdiem()>24)
ch="Gioi";
else
if((tongdiem()>=21)&&(tongdiem()<24))

ch="Kha";
else
if((tongdiem()>=21)&&(tongdiem()<24))
ch="Kha";
else
if((tongdiem()>=15)&&(tongdiem()<21))
ch="Trung binh";
else
Trang:3/ 6


ch="Yeu";
return ch;
}
void hienthikq()
{
hienthisv();
hienthidiem();
cout<<" "<}

0,25 điểm

};
d

Viết hàm main thực hiện:
1,5 điểm
- Nhập danh sách kết quả cho n sinh viên.
- Sắp xếp danh sách sinh viên giảm dần theo tổng điểm bằng

phương pháp sắp xếp nổi bọt và hiển thị kết quả sắp xếp.
- Hiển thị ra màn hình danh sách sinh viên xếp loại yếu.
Nhập danh sách kết quả cho n sinh viên
0,25điểm
void main()
{ clrscr();
KETQUA *dssv,tam;
int n,i,j;
cout<<"\nNhap vao so sinh vien:";
cin>>n;
dssv=new KETQUA[n];
for (i = 1; i <=n; i++)
{ cout <<"\nNhap thong tin cho sinh vien thu: "
<dssv[i].nhapsv();
dssv[i].nhapdiem();
}
Sắp xếp danh sách sinh viên giảm dần theo tổng điểm bằng 0,75điểm
phương pháp sắp xếp nổi bọt và hiển thị kết quả sắp xếp.
for (i = 1; i 0,5 điểm
for(j=n;j>=i;j--)
if(dssv[j-1].tongdiem(){ tam=dssv[j-1];
dssv[j-1]=dssv[j];
dssv[j]=tam;
}
cout <<"\nDanh sach ket qua sau khi da sap xep la:"<for(i=1;i<=n;i++)
{

dssv[i].hienthikq();
Trang:4/ 6


cout<}
Hiển thị ra màn hình danh sách sinh viên xếp loại yếu.
cout <<"\nDanh sach sinh vien xep loai yeu la:"<for (i = 1; i <=n; i++)
{
if(strcmp(dssv[i].xeploai(),"Yeu")==0)
dssv[i].hienthikq();
cout<}
getch();
}
Câu 3
a

b

SELECT sotinchi, tenmh
FROM Monhoc
WHERE sotinchi IN (SELECT max(sotinchi)
FROM Monhoc
WHERE tinhchat=1)
and(tinhchat=1);

0,5 điểm


2 điểm
0,25điểm

SELECT Mssv, Hoten, Lop, Diemthi
FROM Sinhvien INNER JOIN Diem ON
Sinhvien.Mssv = Diem.Mssv
ORDER BY Sinhvien.Lop, Diem.Diemthi;
(hoặc SELECT Mssv, Hoten, Lop, Diemthi
FROM Sinhvien INNER JOIN Diem ON
Sinhvien.Mssv = Diem.Mssv
GROUP BY sinhvien.Lop
ORDER BY Diem.Diemthi)
SELECT Hoten, Lop, Diemthi
FROM Sinhvien INNER JOIN Diem ON
Sinhvien.Mssv = Diem.Mssv
WHERE Diem.Diemthi IN (
SELECT Max(Diem.Diemthi)
FROM Diem
WHERE Diem.mamh= ‘CSDL’) and
(Diem.mamh= ‘CSDL’)

0,5 điểm

d

SELECT Hoten, Diemthi
FROM Sinhvien INNER JOIN Diem ON
Sinhvien.Mssv = Diem.Mssv
WHERE Mssv=9900277;


0,25 điểm

e

SELECT Diem.mssv, hoten, malop, AVG(diemthi) AS

0,5 điểm

c

Trang:5/ 6

0,5 điểm


diemtrungbinh
FROM Sinhvien INNER JOIN Diem ON
Sinhvien.mssv=Diem.mssv
GROUP BY Diem.mssv, Sinhvien.malop,
Sinhvien.hoten
HAVING AVG(diemthi)<5
ORDER BY Diem.mssv
II. Phần tự chọn, do trường biên soạn
1
2
Tổng cộng (I + II)

3 điểm

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


Trang:6/ 6



×