1. Trang chủ
  2. » Công Nghệ Thông Tin

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

5 246 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 97 KB

Nội dung

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Á 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 Câu Nội dung Điểm 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 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: 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: 1/5 L R 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) { // 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: 2/5 2 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: 3/5 float 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: 4/5 void BD::tongdiem_Max() { float tg=0.0; int max,i; for(i=0;i<n;i++) if (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;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 ……… Trang: 5/5 . 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. 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 …….

Ngày đăng: 17/03/2014, 17:56

w