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

Đá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

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 (142.05 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Ố 2 (2008 - 2011)
NGHỀ: LẬP TRÌNH MÁY TÍNH
MƠN THI: LÝ THUYẾT CHUN MƠN NGHỀ
Mã đề số: DA LTMT - LT17
Câu
Nội dung
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

Điểm

- 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 1,0
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
Lptr

INFO

Rptr

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:
L

R

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: 1/5


void 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)
1,0
{
// 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 ”<} }

Trang: 2/5


2

a. Tính (AB)+
- Gọi X={A, B}
- Do AB C nên X F ={A, B, C}
- Do B D nên X F ={A, B, C, D}
- Do CD E nên X F ={A, B, C, D, E}
- Do CE GH nên X F ={A, B, C, D, E, G, H}

1,0

b. Tính (BG)+

- Gọi X={B, G}
- Do G A nên X F ={A, B, G}
- Do AB C nên X F ={A, B, C, G}
- Do B D nên X F ={A, B, C, D, G}
- Do CD E nên X F ={A, B, C, D, E, G}
- Do CE GH nên X F ={A, B, C, D, E, G, H}
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;
}

Trang: 3/5

1,0

0,25

0,25


float tongdiem()
{
return t+l+h;
}
void hienthi()
{
cout<<"\n"<"<"<"<}


0,1

"<"<
};
class BD
{
private:
diem ds[50];
int n;
public:
void nhapBD();
void hienthiBD();
void tongdiem_Max();
};
void
{

BD::nhapBD()

0,15

0,25

0,25

cout<<"\nNhap so hoc sinh (<50)";cin>>n;
for(int i=0;i{

cout<<"\nNhap thong tin cua hoc sinh
thu "<ds[i].nhap();
}
}
void BD::hienthiBD()
{
cout<<"\nMahs
Ho va ten
Toan
Ly
Hoa
Tongdiem";
for(int i=0;ids[i].hienthi();
}

Trang: 4/5

0,15


void BD::tongdiem_Max()
{
float tg=0.0;
int max,i;
for(i=0;iif
(ds[i].tongdiem()>tg)
{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;iif (ds[i].tongdiem()==tg)
ds[i].hienthi();

0,5

}

0,1

void main()
{
BD ds;
ds.nhapBD();
ds.hienthiBD();
ds.tongdiem_Max();
getch();
}

II. Phần tự chọn

………,


Trang: 5/5

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



×