Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN LẬP TRÌNH TÍNH TOÁN

TÊN ĐỀ TÀI{Bold, size 20-30, tùy theo số chữ,… của tên đề


tài}

Giảng viên hướng dẫn: ThS. NGUYỄN VĂN NGUYÊN


Sinh viên thực hiện:
Nguyễn Phước Thịnh LỚP: XXX NHÓM: YYY
Trần Công Đức LỚP: XXX NHÓM: YYY (nếu có)

Đà Nẵng, 03/2023
Lời cảm ơn
Trong suốt quá trình thực hiện dồ án PBL1, mặc dù gặp phải nhiều khó khăn
nhưng được sự giúp đỡ của quý thầy và các bạn nên Đồ án đã hoàn thành đúng tiến độ,
với đề tài” Kiểm tra số lần xuất hiện và tần suất của các từ trong tệp”
Chúng em xin chân thành cảm ơn thầy Nguyễn Văn Nguyên đã tận tình hướng
dẫn, chỉ bảo kinh nghiệm, kiến thức quý báu. Cũng như tất cả các thành viên trong lớp
23KHDL1 đã có những ý kiến đóng góp, bổ sung, phê bình, cũng như động viên khích
lệ giúp chúng em hoàn thiện đề tài.
Mặc dù nhóm thức hiện đã cố gắng hết sức để thực hiện đồ án, nhưng kiến thức
còn hạn chế nên trong quá trình thực hiện cũng khó tránh khỏi những sai sót. Nhóm
thực hiện mong nhân được sự đóng góp ý kiến của quý thầy cô cùng các bạn sinh viên.
Sau cùng nhóm thực hiện xin chúc Thầy cô sức khoẻ, thành công và tiếp tục
đào tạ những sinh viên giỏi đóng góp cho đất nước. Chúc các bạn sức khoẻ, học tập
thật tốt để không phụ công lao các Thầy Cô đã giảng dạy. Nhóm thực hiện xin chân
thành cảm ơn.
Trân trọng

Tên sinh viên :Nguyễn Phước Thịnh-Trần Công Đức


1
MỤC LỤC

MỤC LỤC..............................................................................................................1
DANH MỤC HÌNH VẼ.........................................................................................3
MỞ ĐẦU{font: TimeNew Roman, bold, size: 14, căn lề: center}........................1
1. TỔNG QUAN ĐỀ TÀI.................................................................................1
2. CƠ SỞ LÝ THUYẾT...................................................................................1
2.1. Ý tưởng..................................................................................................1
2.2. Cơ sở lý thuyết.......................................................................................1
3. TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN.............................1
3.1. Phát biểu bài toán...................................................................................1
3.2. Cấu trúc dữ liệu......................................................................................1
3.3. Thuật toán..............................................................................................1
4. CHƯƠNG TRÌNH VÀ KẾT QUẢ...............................................................1
4.1. Tổ chức chương trình.............................................................................1
4.2. Ngôn ngữ cài đặt....................................................................................1
4.3. Kết quả...................................................................................................1
4.3.1. Giao diện chính của chương trình......................................................1
4.3.2. Kết quả thực thi của chương trình.....................................................1
4.3.3. Nhận xét đánh giá..............................................................................1
5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN....................................................1
5.1. Kết luận..................................................................................................1
5.2. Hướng phát triển....................................................................................1
TÀI LIỆU THAM KHẢO......................................................................................2
PHỤ LỤC...............................................................................................................3

Tên sinh viên :Nguyễn Phước Thịnh-Trần Công Đức


2
DANH MỤC HÌNH VẼ
Hình 1

Tên sinh viên :Nguyễn Phước Thịnh-Trần Công Đức


3
Đồ án lập trình tính toán

MỞ ĐẦU{font: TimeNew Roman, bold, size: 14, căn lề: center}


{Để 2 dòng trống}
{Font: Time New Roman; thường; cỡ chữ: 13; dãn dòng: 1,3; căn lề: justified}
{Trong phần này, cần trình bày về: Mục đích thực hiện đề tài, mục tiêu đề tài,
phạm vi và đối tượng nghiên cứu, phương pháp nghiên cứu, cấu trúc của đồ môn học}

Tên sinh viên :Nguyễn Phước Thịnh-Trần Công Đức


1
Đồ án lập trình tính toán

1. TỔNG QUAN ĐỀ TÀI


{Nội dung A {Font: Time New Roman; thường; cỡ chữ: 13; dãn dòng: 1,3; căn
lề: justified}

2. CƠ SỞ LÝ THUYẾT
2.1. Ý tưởng

Để giải quyết bài toán này, chúng ta có thể sử dụng cấu trúc dữ liệu cây nhị phân tìm
kiếm để lưu trữ các từ và tần suất xuất hiện của chúng. Dưới đây là ý tưởng cơ bản để
giải quyết bài toán:

1. Đọc và xử lý văn bản:


 Đầu tiên, chúng ta sẽ đọc văn bản từ file và phân tách các từ dựa trên
dấu cách hoặc các ký tự không phải là chữ cái.
 Sau đó, chúng ta sẽ loại bỏ các từ trống và chuyển các từ thành chữ
thường để đảm bảo tính không phân biệt giữa chữ hoa và chữ thường.
2. Tạo cây nhị phân tìm kiếm:
 Sau khi có danh sách các từ, chúng ta sẽ tạo một cây nhị phân tìm kiếm.
 Trong quá trình thêm từ vào cây, nếu từ đã tồn tại thì chỉ cần tăng tần
suất xuất hiện của từ đó lên 1, nếu không thì thêm từ vào cây với tần
suất xuất hiện là 1.
3. Duyệt cây và in ra bảng tần suất:
 Duyệt cây theo thứ tự LNR (left, node, right) để in ra các từ và tần suất
xuất hiện của chúng theo thứ tự ABC.
4. Giới hạn số lượng từ:
 Trong quá trình duyệt cây, chúng ta chỉ cần duyệt 100 từ đầu tiên nếu
cây có nhiều hơn 100 từ khác nhau.

2.2. Cơ sở lý thuyết

Cơ sở lý thuyết của các ý tưởng này dựa trên hai khái niệm chính: cấu trúc dữ liệu cây
nhị phân tìm kiếm và các thuật toán duyệt cây.

1. Cây nhị phân tìm kiếm:


 Cây nhị phân tìm kiếm là một cấu trúc dữ liệu dùng để lưu trữ dữ liệu
theo cách tổ chức cây có các nút, trong đó mỗi nút có tối đa hai nút con
(gọi là nút con trái và nút con phải).
 Tính chất quan trọng của cây nhị phân tìm kiếm là mỗi nút trái nhỏ hơn
nút cha và mỗi nút phải lớn hơn nút cha. Điều này tạo ra một tính chất

Tên sinh viên 1


Đồ án lập trình tính toán

sắp xếp tự nhiên trong cây, giúp chúng ta dễ dàng thực hiện các thao
tác như tìm kiếm và sắp xếp.
 Cấu trúc dữ liệu này rất phù hợp để lưu trữ và xử lý tần suất xuất hiện
của các từ trong văn bản, vì chúng ta có thể tìm kiếm, thêm, xóa và
duyệt các từ một cách hiệu quả.
2. Thuật toán duyệt cây:
 Duyệt cây là quá trình truy cập lần lượt các nút trong cây theo một thứ
tự nhất định. Có ba phương pháp duyệt phổ biến: duyệt trước (preorder
traversal), duyệt giữa (inorder traversal), và duyệt sau (postorder
traversal).
 Trong trường hợp này, chúng ta sử dụng duyệt cây theo thứ tự LNR
(left, node, right), cũng được gọi là duyệt giữa. Kỹ thuật này cho phép
chúng ta duyệt các nút của cây theo thứ tự từ nhỏ đến lớn, phù hợp với
việc in ra các từ và tần suất của chúng theo thứ tự ABC.

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
Mô tả đầu vào (Input) và đầu ra (Output)
3.2. Cấu trúc dữ liệu

3.3. Thuật toán


Trình bày các thuật toán và phân tích độ phức tạp của các thuật toán.

4. CHƯƠNG TRÌNH VÀ KẾT QUẢ


4.1. Tổ chức chương trình
4.2. Ngôn ngữ cài đặt

Chương trình được viết bằng ngôn ngữ lập trình C.

4.3. Kết quả


4.3.1. Giao diện chính của chương trình
4.3.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.

Tên sinh viên 2


Đồ án lập trình tính toán

4.3.3. Nhận xét đánh giá

5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


5.1. Kết luận
5.2. Hướng phát triển

Tên sinh viên 3


Đồ án lập trình tính toán

TÀI LIỆU THAM KHẢO


[1] Nguyễn Đình Thúc , Trí tuệ nhân tạo – Lập trình tiến hóa, năm xuất bản 2011, NXB
Giáo dục Việt Nam.
[2] Lê Tiến Mẫu, Thuật giải di truyền và ứng dụng lập thời khóa biểu theo học chế tín
chỉ cho trường đại học, Luận văn thạc sĩ kỹ thuật, Đại học Đà Nẵng, 2012.
[3] Phạm Anh Tuấn, Ứng dụng giải thuật di truyền để xếp thời khóa biểu cho trường
đại học, Luận văn thạc sỹ khoa học máy tính, Đại học Đà Nẵng, 2012.
[4] http://vi.wikipedia.org/wiki/
[5] http://diendan.congdongcviet.com/

Tên sinh viên 4


Đồ án lập trình tính toán

PHỤ LỤC
Sinh viên bỏ Code từng phần vào đây.{Font: Time New Roman; thường; cỡ
chữ: 12; dãn dòng: 1,3; căn lề: justified}

Tên sinh viên 5

You might also like