DỰ ÁN CỞ SỞ LẬP TRÌNHĐỀ TÀI: VIẾT CHƯƠNG TRÌNH VỚI CÁC LỚP : NHẬP HÓA ĐƠN, IN HÓA ĐƠN, TÍNH TIỀN CỦA TỪNG DICH VỤ MÀ KHÁCH HÀNG SỬ DỤNG, TÍNH TỔNG TIỀN KHÁCH SẠN THU ĐƯỢC SINH VIÊN THỰC
Trang 1DỰ ÁN CỞ SỞ LẬP TRÌNH
ĐỀ TÀI:
VIẾT CHƯƠNG TRÌNH VỚI CÁC LỚP : NHẬP HÓA ĐƠN, IN HÓA ĐƠN, TÍNH TIỀN CỦA TỪNG DICH VỤ MÀ KHÁCH HÀNG SỬ DỤNG, TÍNH
TỔNG TIỀN KHÁCH SẠN THU ĐƯỢC
SINH VIÊN THỰC HIỆN :
Trang 2MỤC LỤC 2
DANH MỤC HÌNH VẼ 3
MỞ ĐẦU 4
1 TỔNG QUAN ĐỀ TÀI 5
2 CƠ SỞ LÝ THUYẾT 6
2.1 Ý tưởng 6
2.2 Cơ sở lý thuyết 6
3 TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN 6
3.1 Phát biểu bài toán 7
3.2 Cấu trúc dữ liệu 7
3.3 Thuật toán 8
4 CHƯƠNG TRÌNH VÀ KẾT QUẢ 9
4.1 Tổ chức chương trình 9
4.2 Ngôn ngữ cài đặt 10
4.3 Kết quả 10
4.3.1 Giao diện chính của chương trình 10
4.3.2 Kết quả thực thi của chương trình 10
4.4 Nhận xét đánh giá 12
5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 12
5.1 Kết luận 12
5.2 Hướng phát triển 12
TÀI LIỆU THAM KHẢO 13
PHỤ LỤC 14
Trang 3Hình 1: Giao diện lúc chạy chương trình 7 Hình 2: Kết quả chương trình .8
Trang 4MỞ ĐẦU
1 Mục đích thực hiện đề tài
Củng cố, tìm hiểu và bổ sung thêm các kiến thức về các môn được học Từ
đó, bước đầu làm quen với việc nghiên cứu đồ án và tạo ra được một chươngtrình đơn giản theo yêu cầu Ngoài ra còn rèn luyện khả năng học và làm việctheo nhóm
2 Mục tiêu đề tài
- Tìm hiểu và nắm vững được các kiến thức liên quan đến nội dung của đề tài
- Trình tự các bước để thành lập các class
- Xây dựng được chương trình để hoàn thiện đề tài
3 Phạm vi và đối tượng nghiên cứu
- Các kiến thức cơ bản về lập tình hướng đối tượng
- Đối tượng
4 Phương pháp nghiên cứu
- Nghiên cứu các tài liệu kết hợp với các kiến thức được học, củng cố bằng cáchthực hành theo sự hướng dẫn của giảng viên
5 Cấu trúc của đồ án môn học
- Nội dung của đồ án môn học được trình bày theo cấu trúc sau:
Mở đầu
Tổng quan về đề tài
Cơ sở lí thuyết: trình bày cơ sở lí thuyết, các ý tưởng
Tổ chức cấu trúc dữ liệu và thuật toán: phát biểu bài toán, đầu vào vàđầu ra của bài toán, cấu trúc dữ liệu và thuật toán của chương trình
Chương trình và kết quả: tổ chức chương trình và nhận xét, đánh giá
Kết luận và hướng phát triển
Phụ lục
Trang 51 TỔNG QUAN ĐỀ TÀI
Để có thể nắm được các kiến thức và trình bày đồ án về giải phương trình bằngphương pháp dây cung và chia đôi Nhóm chúng em đã tiến hành nghiên cứu đề tàidựa trên các yêu cầu sau:
Tìm hiểu các bước để giải phương trình bằng phương pháp dây cung và chiađôi
Trình bày thuật toán tìm nghiệm bằng phương pháp dây cung và chia đôi
Cài đặt thuật toán bằng ngôn ngữ C++
Kết quả DEMO: 10 bộ test
2 CƠ SỞ LÝ THUYẾT
2.1 Ý tưởng
Trang 6Giả sử [a,b] là khoảng nghiệm phương trình f(x)=0 Gọi A,B là 2 điểm trên
đồ thị f(x) có hoành độ tương ứng là a,b Phương trình đường thẳng qua 2 điểm A(a,f(a)), B(b,f(b)) có dạng :
y−f (a)
f (b)−f (a)=
x−a b−a
Dây cung AB cắt trục x tại điểm có tọa độ (x1,0)
Do đó : 0−f (a)
f (b)−f (a)=
x1−a b−a
x1=a− (b−a) f (a)
f (b )−f (a)
Nếu f(a)*f(x1)<0, thay b=x1 ta có khoảng nghiệm mới là (a,x1)
Nếu f(b)*f(x1)<0, thay a=x1 ta có khoảng nghiệm mới là (x1,b)
Tiếp tục áp dụng pương pháp dây cung vào khoảng nghiệm mới ta được giá trị x2 Lại tiếp tục như thế ta nhận được các giá trị x3,x4,… càng tiến gần với giá trị nghiệm phương trình
2.2 Cơ sở lý thuyết
Dựa trên phần 4.4 Chính xác hóa nghiệm (của chương IV Giải gần đúng
nghiệm của phương trình) thuộc môn phương pháp tính
3 TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN
3.1 Phát biểu bài toán
Đầu vào: Dòng đầu tiên thể hiện số bậc n của đồ thị Dòng tiếp theo thể hiện các hệ số của phương trình
Đầu ra: Nghiệm gần đúng của phương trình
Trang 73.3 Thuật toán
Phương pháp chia đôi:
Khai báo hàm f(x)( hàm đa thức, hàm siêu việt)
Nhập a,b sao cho f(a)<0 và f(b)>0
Lặp:
c=(a+b)/2nếu f(c) > 0 -> b=cngược lại a=ctrong khi ()
Xuất nghiệm:c
Trang 8Phương pháp dây cung:
Nhập a,b
Tính x=a-(b-a)*f(a) / (f(b)-f(a))
Nếu f(x)*f(a)<0
Lặp b=xx= a-(b-a)*f(a) / (f(b)-f(a)) trong khi |x−b|>ε
Đọc dữ liệu đầu vào từ file
Sử dụng thuật toán tìm nghiệm bằng phương pháp dây cung và chia đôi
Trang 9Hình 1: Giao diện lúc chạy chương trình
3.6.2 Kết quả thực thi của chương trình
Mô tả kết quả thực hiện chương trình
Sau khi xây dựng, chương trình có thể trả về các kết quả sau:
Ghi ra thông báo “Không tìm thấy file” nếu không tìm thấy file trong đường dẫn
Trả về kết quả là các nghiệm gần đúng nếu chương trình thực hiện thành công
Trang 11của đề tài và tạo ra được một chương trình cơ bản để thực hiện thuật toán Bên cạnh đóchúng em còn được học và luyện tập về quy trình thực hiện báo cáo, đồ án để có thể thực hiện tốt hơn ở các đồ án sau này
4.2 Hướng phát triển
Chương trình có thể được mở rộng theo nhiều hướng như cho phép người dùnglựa chọn các loại thuật toán khác nhau, kiểu nhập dữ liệu đầu vào từ file hoặc thủcông, kết quả có thể được xuất ra một file riêng… Ngoài ra, chương trình còn có thểđược nâng cấp thành giao diện cửa sổ, giúp cho việc sử dụng chương trình được dễdàng và thuận tiện hơn
Trang 12[2] Bài giảng Cấu trúc dữ liệu – Trường Đại Học Bách Khoa Đà Nẵng, Khoa Công
nghệ thông tin
Trang 13PHỤ LỤC
Mã nguồn của chương trình: