-
Thông tin
-
Hỏi đáp
Báo cáo bài tập lớn môn Cấu trúc dữ liệu và giải thuật | Đại học Công nghệ Đông Á
Báo cáo bài tập lớn môn Cấu trúc dữ liệu và giải thuật | Đại học Công nghệ Đông Á. Tài liệu được biên soạn dưới dạng file PDF gồm 27 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Cấu trúc dữ liệu và giải thuật (ĐA) 3 tài liệu
Đại học Công Nghệ Đông Á 73 tài liệu
Báo cáo bài tập lớn môn Cấu trúc dữ liệu và giải thuật | Đại học Công nghệ Đông Á
Báo cáo bài tập lớn môn Cấu trúc dữ liệu và giải thuật | Đại học Công nghệ Đông Á. Tài liệu được biên soạn dưới dạng file PDF gồm 27 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Môn: Cấu trúc dữ liệu và giải thuật (ĐA) 3 tài liệu
Trường: Đại học Công Nghệ Đông Á 73 tài liệu
Thông tin:
Tác giả:
Tài liệu khác của Đại học Công Nghệ Đông Á
Preview text:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN
HỌC PHẦN: Cấu Trúc Dữ Liệu Và Giải Thuật TÊN BÀI TẬP LỚN Đề 9:
Ứng dụng danh sách liên kết vòng tạo một menu thực hiện công việc
trên một danh sách số nguyên
Sinh Viên Thực Hiện Khóa Lớp Nguyễn Duy Đăng K 13 DCCNTT 13.10.4 Trần Nhật Minh K 13 DCCNTT 13.10.4
Nguyễn Trần Nguyên Ngọc K 13 DCCNTT 13.10.4 1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á BÀI TẬP LỚN
HỌC PHẦN: Cấu Trúc Dữ Liệu Và Giải Thuật Đề 9:
Ứng dụng danh sách liên kết vòng tạo một menu thực hiện công việc trên một danh sách số nguyên STT
Sinh Viên Thực Hiện Mã Sinh Viên Điểm Bằng Số Điểm Bằng Chữ 1 Nguyễn Duy Đăng 20220562 2 Trần Nhật Minh 20220550 3
Nguyễn Trần Nguyên Ngọc 20220623 CÁN BỘ CHẤM 1 CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên) 2 MỤC LỤC Nội Dung
DANH MỤC CÁC TỪ VIẾT TẮT....................................................................................4
DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ............................................................................5
Chương 1. Tổng quan về đề tài..........................................................................................7
1.1 Giới thiệu.................................................................................................................7
1.2 Phân công công việc.................................................................................................7
Chương 2. Thuật toán. (vẽ sơ đồ, các bước của thuật toán và ví dụ.).................................8
2.1 Lưu đồ thuật toán.....................................................................................................8
2.2 Bộ dữ liệu mẫu.(khoảng 10 bộ mẫu)........................................................................8
2.3. Thiết kế giao diện....................................................................................................8
Chương 3 .Cài đặt..............................................................................................................9
Module 1:.......................................................................................................................9
Module 2........................................................................................................................9
Kết luận............................................................................................................................10
Kết quả đạt được..........................................................................................................10
Hướng phát triển..........................................................................................................10
Danh mục sách tham khảo...............................................................................................11
Chương 1: Tổng quan về đề tài 3
GIỚI THIỆU ĐỀ TÀI
Liên kết danh sách là 1 dữ liệu cấu trúc được sử dụng để lưu trữ 1 tập dữ liệu. Danh sách liên kết có các chất sau:
Các phần tử trong danh sách liên kết được kết nối bằng con trỏ.
Phần tử cuối cùng trỏ tới NULL.
Có thể tăng hoặc giảm số lượng phần tử trong quá trình thực thi chương trình này. Bộ nhớ tối ưu.
Có 2 thuật toán chính cho danh sách liên kết là:
Insert: Insert một phần tử vào vị trí bất kỳ trong liên kết danh sách.
Xóa: Xóa một phần tử ở vị trí bất kỳ trong liên kết danh sách.
Danh sách liên kết được chia làm 3 loại:
Danh sách đơn liên kết (Danh sách liên kết đơn): Mỗi một phần tử (hay còn gọi là
nút) trong danh sách đơn liên kết bao gồm dữ liệu và con trỏ tiếp theo , con trỏ tiếp
theo sẽ trỏ tới nút tiếp theo trong đơn danh sách liên kết . Và nếu con trỏ tiếp theo NULL trỏ tới
thì có nghĩa là nút đó là nút cuối cùng trong đơn liên kết danh sách. 4
Danh sách liên kết kép (Danh sách liên kết đôi): Mỗi nút trong danh sách liên kết đôi
bao gồm con trỏ trước , dữ liệu và con trỏ tiếp theo , con trỏ trước đó trỏ tới phần
tử đứng trước, con trỏ tiếp theo trỏ tới phần tử phía sau. Nếu con trỏ trước đó trỏ
tới NULL thì nút đó có nghĩa là nút đầu tiên trong đơn danh sách liên kết. Và tương
tự với danh sách liên kết, con trỏ tiếp theo tới NULL thì đó là nút cuối cùng trong đơn liên kết danh sách.
Danh sách vòng tròn liên kết danh sách (Danh sách liên kết vòng): Gần giống với
danh sách liên kết đơn, nhưng khác nhau ở một điểm, con trỏ tiếp theo của nút cuối
cùng trỏ tới nút đầu tiên của danh sách. 5
Một chương trình menu có thể thực hiện các công việc trên một danh sách các số nguyên
là một tập hợp các lựa chọn cho phép người dùng thực hiện các thao tác với danh sách. Các
thao tác này có thể bao gồm:
Thêm số: Thêm một số mới vào cuối danh sách.
Xóa số: Xóa một số khỏi danh sách.
Tìm kiếm số: Tìm kiếm một số trong danh sách.
Sắp xếp danh sách: Sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần.
Hiển thị danh sách: Hiển thị danh sách trên màn hình.
Menu này có thể được tùy chỉnh để phù hợp với nhu cầu cụ thể của người dùng. Ví dụ,
người dùng có thể thêm các thao tác mới hoặc thay đổi thứ tự các thao tác hiện có.
Cách thức hoạt động của menu?
Menu hoạt động bằng cách cung cấp cho người dùng một tập hợp các lựa chọn. Người dùng
có thể nhập số tương ứng với lựa chọn họ muốn thực hiện. Menu sau đó sẽ thực thi thao tác tương ứng.
Cách thức lưu trữ danh sách?
Danh sách có thể được lưu trữ theo nhiều cách khác nhau, chẳng hạn như: * Mảng * Danh sách liên kết * Cây
Cách thức hiển thị danh sách?
Danh sách có thể được hiển thị trên màn hình theo nhiều cách khác nhau, chẳng hạn như:
* In danh sách theo từng dòng * In danh sách theo cột
* In danh sách dưới dạng biểu đồ
Cách thức bảo vệ danh sách khỏi bị thay đổi trái phép?
* Kiểm tra quyền truy cập * Sử dụng khóa * Sử dụng mã hóa 6
1.2PHÂN CÔNG TRÁCH NHIỆM THỰC HIỆN: Nguyễn Trần Nguyên Ngọc Code Nguyễn Duy Đăng Word Trần Nhật Minh0 Power point LỚP: DCCNTT 13.10.4 7
Chương 2: Thuật toán
2.1 Lưu đồ thuật toán 8 9 10 11 12 13 14 15
2.3 Thiết kế Giao diện
Giao diện cho menu thực hiện các công việc trên một danh sách các số nguyên cần
phải đáp ứng các yêu cầu sau:
Tính dễ sử dụng: Giao diện cần phải dễ hiểu và dễ sử dụng cho người dùng.
Tính trực quan: Giao diện cần phải trực quan và dễ nhìn.
Tính linh hoạt: Giao diện cần phải linh hoạt để có thể tùy chỉnh theo nhu cầu của người dùng. 1. Trang Chính (Dashboard): Tiêu đề trang: Menu
Trình điều hướng chính để hiển thị các lựa chọn: Danh sách công việc, Thêm công việc,
Xóa công việc, Chi tiết công việc, Tìm kiếm công việc, Sắp xếp danh sách, Hiển thị danh sách, Báo cáo công việc
Hiển thị thống kê cơ bản về tổng số, số phần tử đc thêm, số phần tử bị xóa, v.v. 2. Danh sách công việc:
Bảng danh sách công việc với các cột thông tin quan trọng như nội dung công việc, vị trí, v.v.
Tùy chọn để xem chi tiết từng công việc hoặc chỉnh sửa thông tin của công việc.
Tùy chọn để xóa công việc khỏi danh sách. 3. Thêm công việc:
Một biểu mẫu để nhập thông tin mới cho công việc, bao gồm: tên, thời gian thực hiện, địa chỉ, vị trí, v.v.
Có nút "Lưu" để thêm công việc và "Hủy" để hủy bỏ thao tác. 4. Xóa công việc
Một biểu mẫu hiện lên để thực hiện lệnh xóa
Có nút "Xóa" để chấp nhận xóa công việc và "Hủy" để hủy bỏ thao tác. 16 5. Chi tiết Công việc:
Hiển thị tất cả thông tin chi tiết về một công việc cụ thể, bao gồm cả hình ảnh minh họa nếu có.
Có tùy chọn để chỉnh sửa thông tin công việc hoặc xóa công việc đó khỏi hệ thống. 6. Tìm kiếm Công việc:
Một biểu mẫu để tìm kiếm công việc theo các tiêu chí như tên, vị trí, thời gian, độ khó, địa chỉ v.v.
Hiển thị kết quả tìm kiếm trong bảng danh sách. 7. Sắp xếp danh sách
Một biểu mẫu để sắp xếp danh sách công việc theo trình tự: tiến độ hoàn thiện, công việc
đang thực hiện, công việc chưa thực hiện, thời gian hết hạn,.. 8. Hiển thị danh sách
Một biểu mẫu để hiển thị danh sách: công việc đã hoàn thành, công việc chưa hoàn thành,.. 6. Báo cáo:
Trang cho phép tạo và xuất báo cáo về dữ liệu tiến độ công việc.
Có thể có các loại báo cáo như đánh giá theo độ hoàn thiện, số lượng công việc hoàn
thành/k hoàn thành trong ngày, v.v.
7. Giao diện nâng cao (Tùy chọn):
Đăng nhập và phân quyền để đảm bảo chỉ có người dùng có quyền mới có thể thực hiện các thao tác quản lý.
Tích hợp tải lên hình ảnh minh họa cho từng công việc cụ thể.
Thêm tính năng xuất danh sách công việc cần thực hiện ra file Excel hoặc PDF.
Hiển thị lịch sử chỉnh sửa thông tin của mỗi công việc. 17
Giao diện trên là một ví dụ cơ bản. Tùy thuộc vào phạm vi và yêu cầu cụ thể của dự án, bạn
có thể mở rộng giao diện này và thêm các tính năng và chức năng khác để đáp ứng tốt nhất
nhu cầu quản lý nhân sự của tổ chức hoặc ứng dụng của bạ Chương 3: Cài Đặt 18 19 20 Module 1: 21 Module 2: Module 3: 22 Module 4: Module 5: 23 Module 6: 24 Kết Luận
Mục đích của việc tạo ra một hệ thống hoặc phần mềm thực hiện các công việc là để hiệu
quả hóa và tối ưu hóa quản lý và sử dụng tài nguyên thời gian trong một tổ chức hoặc doanh
nghiệp. Dưới đây là một số mục đích cụ thể:
Mục đích của việc tạo ra một hệ thống hoặc phần mềm thực hiện các công việc tự động là để:
Tăng năng suất: Hệ thống hoặc phần mềm tự động có thể thực hiện các
công việc nhanh hơn và hiệu quả hơn so với con người. Điều này có thể
giúp doanh nghiệp tiết kiệm thời gian và tiền bạc.
Giảm lỗi: Hệ thống hoặc phần mềm tự động có thể giảm thiểu khả năng xảy
ra lỗi do con người. Điều này có thể giúp cải thiện chất lượng sản phẩm hoặc dịch vụ.
Tăng tính nhất quán: Hệ thống hoặc phần mềm tự động có thể đảm bảo rằng
các công việc được thực hiện theo cách nhất quán. Điều này có thể giúp cải
thiện độ tin cậy và khả năng dự đoán của quy trình.
Giảm chi phí: Hệ thống hoặc phần mềm tự động có thể giúp giảm chi phí lao
động. Điều này có thể là do hệ thống hoặc phần mềm tự động có thể thực
hiện các công việc mà trước đây cần phải thuê nhân viên để thực hiện.
Dưới đây là một số ví dụ về cách hệ thống hoặc phần mềm tự động có thể được
sử dụng để thực hiện các công việc tự động:
Trong các doanh nghiệp, hệ thống hoặc phần mềm tự động có thể được sử dụng để: o
Tự động hóa các quy trình kinh doanh, chẳng hạn như lập hóa đơn, xử
lý đơn hàng, và quản lý nhân sự. o
Tự động hóa các tác vụ sản xuất, chẳng hạn như kiểm tra chất lượng và lắp ráp sản phẩm. o
Tự động hóa các tác vụ dịch vụ khách hàng, chẳng hạn như trả lời câu
hỏi và giải quyết vấn đề.
Trong các lĩnh vực khác, hệ thống hoặc phần mềm tự động có thể được sử dụng để: o
Tự động hóa các tác vụ nghiên cứu, chẳng hạn như phân tích dữ liệu và tạo báo cáo. 25 o
Tự động hóa các tác vụ giáo dục, chẳng hạn như phân phối bài tập và chấm điểm. o
Tự động hóa các tác vụ chăm sóc sức khỏe, chẳng hạn như chẩn
đoán bệnh và kê đơn thuốc.
Tự động hóa đang ngày càng trở nên phổ biến trong nhiều lĩnh vực. Khi công nghệ
tiếp tục phát triển, chúng ta có thể mong đợi thấy nhiều hệ thống và phần mềm tự
động mới được phát triển để thực hiện các công việc tự động. Hướng Phát Triển
Để phát triển một menu quản lý nhân sự, bạn cần xác định các chức năng và tính năng quan
trọng mà bạn muốn bao gồm trong ứng dụng của mình. Dưới đây là một hướng dẫn sơ bộ về
cách phát triển menu quản lý nhân sự:
1. **Xác định các Chức năng Cơ bản:**
Xác định những chức năng quan trọng mà bạn muốn cung cấp trong menu. Ví dụ: - Thêm mới công việc.
- Hiển thị danh sách công việc. - Tìm kiếm công việc.
- Chỉnh sửa thông tin công việc. - Xóa công việc. - Thống kê và báo cáo.
2. **Thiết kế Giao diện Người dùng (UI):**
Xây dựng giao diện người dùng (UI) để hiển thị menu và các tùy chọn chức năng. Bạn có
thể sử dụng thư viện hoặc framework GUI như Qt, Tkinter (Python), hoặc thậm chí sử dụng giao diện dòng lệnh.
3. **Lập Trình Các Chức Năng:**
Viết mã lập trình cho từng chức năng trong menu. Điều này bao gồm xử lý dữ liệu, tương
tác với người dùng, và thực hiện các thao tác quản lý nhân sự như thêm, xóa, sửa đổi, và tìm kiếm. 4. **Lưu Trữ Dữ Liệu:**
Xác định cách bạn sẽ lưu trữ dữ liệu về nhân viên. Bạn có thể sử dụng cơ sở dữ liệu như
MySQL, PostgreSQL hoặc SQLite để lưu trữ thông tin cán bộ.
5. **Kết nối với Cơ sở Dữ liệu (nếu cần):**
Nếu bạn sử dụng cơ sở dữ liệu, bạn cần viết mã để kết nối với cơ sở dữ liệu, thực hiện truy
vấn và cập nhật dữ liệu. 26
6. **Xử lý Lỗi và Ngoại lệ:**
Xử lý các tình huống lỗi và ngoại lệ một cách hợp lý để đảm bảo tính ổn định của ứng dụng.
7. **Kiểm tra và Sửa Lỗi:**
Thực hiện kiểm thử để đảm bảo tính đúng đắn và hiệu suất của ứng dụng. Sửa lỗi nếu cần thiết.
8. **Tối ưu hóa và Mở Rộng:**
Tối ưu hóa mã và cải thiện hiệu suất nếu cần. Nếu bạn muốn mở rộng ứng dụng, bạn có
thể xem xét thêm các tính năng như quản lý lương, quản lý chấm công, hoặc tích hợp tính năng bảo mật.
9. **Tài liệu Hóa và Hướng Dẫn Sử Dụng:**
Tạo tài liệu hướng dẫn sử dụng cho người dùng và lập trình viên, giúp họ hiểu cách sử
dụng ứng dụng và tích hợp nó vào hệ thống hiện tại.
10. **Triển khai và Hỗ trợ:**
Triển khai ứng dụng trong môi trường sản xuất và cung cấp hỗ trợ cho người dùng. Đảm
bảo rằng bạn có cơ chế cập nhật và bảo mật cho ứng dụng của mình.
11. **Liên tục Phát triển:**
Tiếp tục phát triển và cải thiện ứng dụng dựa trên phản hồi từ người dùng và yêu cầu mới.
Hãy nhớ tuân thủ các tiêu chuẩn phát triển phần mềm và quy trình kiểm thử để đảm bảo
chất lượng và tính ổn định của ứng dụng quản lý nhân sự của bạn. 27