Trường ĐH SPKT Trường ĐH SPKT TPHCM BỘ MÔN CÔNG NGHỆ PHẦN MỀM MÔN CƠ SỞ LẬP TRÌNH 2 NĂM HỌC 07 08 Thời gian 60’ không sử dụng tài liệu ĐỀ THI Câu 1 (2đ) Cho biết kết quả in ra màn hình sau khi thực hi[.]
Trang 1Trường ĐH SPKT TPHCM- BỘ MÔN CÔNG NGHỆ PHẦN MỀM
MÔN : CƠ SỞ LẬP TRÌNH 2
NĂM HỌC 07-08
Thời gian: 60’- không sử dụng tài liệu
ĐỀ THI :
Câu 1: (2đ) Cho biết kết quả in ra màn hình sau khi thực hiện chương trình sau
(kèm lời giải thích ngắn gọn): Code:
#include <iostream.h>
int F (int N, int u) {
if (N%u) return F (N-1, u);
return N;
}
void main () {
int M[]= {4, 8, 10, 15, 20};
for (int i=0; i<5; i++) {
cout << F(M[i], 6)<< endl;
}
}
[i]Câu 2: (6đ) Cho khai báo danh sách liên kết đôi như sau:
Code:
typedef struct tag_DNODE {
int Info;
tag_DNODE *pNext, *pPrev;
}DNODE, *DNODEPTR;
typedef struct DLIST {
DNODEPTR pHead, pTail;
};
Cho trước các hàm:
Code:
void RemoveFirst (DLIST &l); //xoa nut dau trong danh sach
void RemoveLast (DLIST &l); //xoa nut cuoi trong danh sach
void RemoveNode (DLIST &l, DNODEPTR p); //xoa nut p trong danh sach
Hãy viết các hàm thực hiện những công việc sau: (mỗi câu viết thành 1 hàm, không cần viết hàm main):
a) (2đ) Hàm tính trung bình cộng tất cả các nút có giá trị chia hết cho K, với K
là số nguyên dương cho trước
b) (2đ) Lưu danh sách liên kết vào một tập tin văn bản có tên cho trước Nội dung lưu là nội dung các nút của danh sách, lần lượt theo thứ tự và cách ít nhất
1 ký tự trắng
c) (2đ)Hàm xóa tất cả các nút của danh sách có giá trị bằng X, với X là số nguyên cho trước
Câu 3: (2đ) Viết đoạn code bằng C/C++ thực hiện các công việc sau:
Trang 2(1đ) Khai báo (các) cấu trúc cho phép lưu thông tin về kết quả học tập của một SV với yêu cầu lưu được điểm và số tín chỉ của từng môn học đã học, điểm trung bình chung, điểm TB tích lũy, số tín chỉ tích lũy của sinh viên
(1đ) Viết hàm tính điểm trung bình tích lũy của một sinh viên, ứng với cấu trúc đã khai báo ở trên
Chú ý: cán bộ coi thi không giải thích gì thêm.