Đáp án đề thi tốt nghiệp cao đẳng nghề khoá II (năm 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 - LT17 giúp các bạn biết được đáp án đúng của đề thi môn Lý thuyết chuyên môn nghề ngành Lập trình máy tính. Từ đó, giúp các bạn nắm bắt kiến thức tốt hơn để có sự chuẩn bị cho kỳ thi một cách hiệu quả.
Trang 1CỘ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Á 2 (2008 - 2011)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ
Mã đề số: DA LTMT - LT17
I Phần bắt buộc
1 a Phương pháp biểu diễn danh sách liên kết kép
- Danh sách liên kết kép là một cấu trúc dữ liệu bao gồm 1 tập
hợp các phần tử, trong đó mỗi phần tử là một nút, trong mỗi
nút có chứa hai liên kết tới nút liền trước và liền sau nút đó
- Cấu trúc 1 nút của danh sách liên kết kép
Trong đó:
+ INFO: là trường chứa thông tin (dữ liệu) của nút + Lptr: là con trỏ chứa địa chỉ của nút liền trước (bên trái) nút này trong danh sách
+ Rptr: là con trỏ chứa địa chỉ của nút liền sau (bên phải) nút này trong danh sách
- Danh sách liên kết kép luôn được quản lý bởi hai con trỏ trỏ:
một vào nút cực trái của danh sách và một trỏ vào nút cực
phải của danh sách
- Một danh sách liên kết kép được biểu diễn tổng quát như
sau:
1,0
b - Thêm một nút có thông tin là X vào trước nút M đang trỏ,
nếu không tồn tại nút M thì chèn vào đầu cực trái
Trang 2void themtruocM(L, R, X, M)
{
// Tạo nút mới
new<= avail;
new->info=X;
if(L==NULL);
{L=R=new; new->rptr=new->lprt=NULL;}
else
{
// Tìm nút M
P=L;
while(p!=M && p!=NULL) p=p->rptr;
if(P!=NULL) // tìm thấy nút M
If(M==L) // M trùng với nút cực trái
{new->rptr = M; M->lptr=new;
new->lptr=NULL; L=new; } else
{ p=M->lptr;
New->rptr=M; M->lptr=new;
p->rptr=new; new->lptr=p;}
else // Không tìm thấy nút M
{new->rptr = M; M->lptr=new;
new->lptr=NULL; L=new; } }
}
1,0
- Xóa nút thứ k trong danh sách
void xoa_nut_thu_k(L, R, M)
{
// Tìm nút thứ k
if(L== NULL) count<<”Danh sach rong”;
else
{ dem=1; p=L;
while(dem<k && p!=NULL) p=p->link;
if(p!=NULL)
{
switch {
case L==R: {L=R=NULL; break;}
case L==p: {L=L->rptr;
L->lptr=NULL;break;}
case R==p: {R=R->lptr;
R->rptr=NULL;break;}
default: {q=p->lptr; M=p->rptr;
q->rptr=M; M->lptr=q; break;}
} free(p);
}
else cout<<”Khong ton tai nút thu ”<<k;
1,0
Trang 32 a Tính (AB)+
- Gọi X={A, B}
- Do AB C nên
F
X ={A, B, C}
- Do B D nên
F
X ={A, B, C, D}
- Do CD E nên
F
X ={A, B, C, D, E}
- Do CE GH nên
F
X ={A, B, C, D, E, G, H}
1,0
b Tính (BG)+
- Gọi X={B, G}
- Do G A nên
F
X ={A, B, G}
- Do AB C nên
F
X ={A, B, C, G}
- Do B D nên
F
X ={A, B, C, D, G}
- Do CD E nên
F
X ={A, B, C, D, E, G}
- Do CE GH nên
F
X ={A, B, C, D, E, G, H}
1,0
3 #include"conio.h"
#include"iostream.h"
#include"string.h"
#include"stdio.h"
class diem
{
private:
char *mahs;
char *hoten;
float t,l,h;
public:
diem()
{
mahs=new char[10];hoten=new char[40];
t=0;l=0;h=0;
}
~diem()
{
delete mahs;
delete hoten;
}
void nhap()
{
cout<<"\nMa hoc sinh:";gets(mahs);
cout<<"\nHo va ten:"; gets(hoten);
fflush(stdin);
cout<<"diem toan:";cin>>t;
cout<<"diem ly:";cin>>l;
cout<<"diem hoa:";cin>>h;
}
0,25
0,25
Trang 4float tongdiem()
{
return t+l+h;
}
void hienthi()
{
cout<<"\n"<<mahs<<" "<<hoten<<"
"<<t<<" "<<l<<" "<<h<<"
"<<tongdiem();
}
};
0,1
0,15
class BD
{
private:
diem ds[50];
int n;
public:
void nhapBD();
void hienthiBD();
void tongdiem_Max();
};
0,25
void BD::nhapBD()
{
cout<<"\nNhap so hoc sinh (<50)";cin>>n;
for(int i=0;i<n;i++)
{
cout<<"\nNhap thong tin cua hoc sinh
thu "<<i<<":\n";
ds[i].nhap();
}
}
void BD::hienthiBD()
{
cout<<"\nMahs Ho va ten Toan
Ly Hoa Tongdiem";
for(int i=0;i<n;i++)
ds[i].hienthi();
}
0,25
0,15
Trang 5void BD::tongdiem_Max()
{
float tg=0.0;
int max,i;
for(i=0;i<n;i++)
{tg=ds[i].tongdiem(); max=i;}
cout<<"\nDanh sach thi sinh thu khoa";
cout<<"\nMahs Ho va ten Toan
Ly Hoa Tongdiem";
for(i=max;i<n;i++)
if (ds[i].tongdiem()==tg)
ds[i].hienthi();
}
0,5
void main()
{
BD ds;
ds.nhapBD();
ds.hienthiBD();
ds.tongdiem_Max();
getch();
}
0,1
II Phần tự chọn
………, ngày ………. tháng ……. năm ………