Bài tập thực hành môn Nhập môn lập trình - Tuần 5: Hàm và tổ chức mã nguồn

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM  
KHOA CÔNG NGHỆ THÔNG TIN  
HỆ CHÍNH QUI – LỚP CỬ NHÂN TÀI NĂNG 2014  
MÔN: NHẬP MÔN LẬP TRÌNH  
BÀI TẬP THỰC HÀNH  
Tuần 5  
HÀM VÀ TỔ CHỨC MÃ NGUỒN  
ĐẶNG HOÀNG HẢI  
ĐỖ NGUYÊN KHA  
TP.HCM, ngày 10 tháng 11 năm 2014  
{dhhai, dnkha}@fit.hcmus.edu.vn  
1 Bài tập về hàm  
PHẦN 1  
Viết một chương trình cung cấp các chức năng tương ứng với các hàm dưới đây (Bài tập  
1 đến Bài tập 5). Xây dựng menu chương trình cho phép người dùng chọn sử dụng 1  
trong 5 chức năng. Sau khi thực hiện xong chức năng cho phép người dùng chọn một  
chức năng khác. Kết thúc chương trình khi người dùng nhập 0.  
Bài tập 1: Viết hàm tính giá trị n! , với n là số nguyên dương và n > 1.  
Bài tập 2: Viết hàm để kiểm tra một ngày nào đó có hợp lệ hay không, kiểm tra năm  
nhuận.  
Bài tập 3: Viết hàm để nhận biết một số nguyên dương có phải là số nguyên tố hay  
không.  
Bài tập 4: Viết hàm xuất ra màn hình dãy số Fibonanci thứ n  
Bài tập 5: Viết hàm tính tổ hợp C(n, k)  
PHẦN 2  
Bài tập 6:  
Viết chương trình tính giai thừa với 3 cài đặt khác nhau: stub (trả về số nguyên bất kỳ),  
stirling (sử dụng công thức xấp xỉ Stirling làm tròn thành số nguyên), accurate (trả về kết  
quả chính xác)  
!
!
Công thức xấp xỉ Stirling ꢀ! ≈ 2ꢀꢁ  
!
Nộp các tập tin mã nguồn, tập tin build.bat chứa các lệnh đã sử dụng và tập tin  
BaoCao.doc/docx chứa bảng so sánh kết quả của 3 chương trình cài đặt với ít nhất 10 giá  
trị n cho trước, các nhận xét khác (nếu có)  
2 Hướng dẫn biên dịch, liên kết và thực thi từ dòng lệnh  
Sử dụng MinGW đã học:  
• Tập tin mã nguồn là C++ thì sử dụng g++ để biên dịch, cú pháp tương tự  
g++ -c hello.cpp  
3
{dhhai, dnkha}@fit.hcmus.edu.vn  
• Dù ngôn ngữ lập trình C/C++ đều sử dụng lệnh gcc –o file.o để liên kết mã  
• Nếu chương trình có nhiều tập tin mã nguồn thì biên dịch từng tập tin thành  
các tập tin .o tương ứng. Chỉ biên dịch tập tin mã nguồn .c, .cpp không biên  
dịch những tập tin .h  
gcc -c file1.c file2.c [filen.c]  
• Liên kết nhiều tập tin .o  
gcc –o program.exe file1.o file2.o [filen.o]  
3 Bài tập trên lớp  
Sử dụng bộ công GNU, xây dựng chương trình tìm ước số chung lớn nhất của 2 số  
nguyên dương đáp ứng các yêu cầu sau:  
1. Bao gồm các tập tin:  
• main.cpp: Chứa chương trình chính, cho phép người dùng nhập 2 số  
nguyên dương  
• gcd.h: Chứa khai báo hàm tìm ước số chung lớn nhất như sau  
unsigned int gcd(unsigned int a, unsigned int b);  
• gcd_stub.cpp: Chứa cài đặt hàm tìm ước số chung lớn nhất trả về một  
số nguyên dương bất kỳ (tùy bạn quyết định)  
• gcd_naive.cpp: Chứa cài đặt hàm tìm ước số chung lớn nhất bằng  
cách sử dụng vòng lặp tìm thử-sai từ 1 đến min(a, b)  
• gcd_euclidean.cpp: Chứa cài đặt hàm tìm ước số chung lớn nhất sử  
dụng thuật toán Euclidean  
2. Sử dụng dòng lệnh để biên dịch và thực thi chương trình với từng phiên bản  
cài đặt khác nhau:  
• gcd_stub.exe  
• gcd_naive.exe  
• gcd_euclidean.exe  
3. Nộp bài bao gồm các tập tin mã nguồn và tập tin build.bat chứa các lệnh đã  
sử dụng ở bước 2  
4
pdf 3 trang myanh 15240 Free
Bạn đang xem tài liệu "Bài tập thực hành môn Nhập môn lập trình - Tuần 5: Hàm và tổ chức mã nguồn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_tap_thuc_hanh_mon_nhap_mon_lap_trinh_tuan_5_ham_va_to_ch.pdf