1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo Đồ án sắp xếp lịch thi

22 195 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 204,79 KB

Nội dung

Cấu trúc dữ liệu và Phân tích, thiết kế giải thuật là hai học phần rất quan trọng đối với người lập trình. Học phần này được xem như nền tảng của lập trình máy tính. Nó là cơ sở vững chắc để giải quyết nhiều bài toán, đồng thời cung cấp cho chúng ta hiểu biết về các giải thuật tác động lên dữ liệu, cũng như cách tổ chức dữ liệu hiệu quả để tối ưu bài toán. Sau khi học xong học phần lí thuyết, em đã nghiên cứu và thực hiện đồ án này như là một cách để củng cố và mở rộng kiến thức. Thông qua quá trình thực hiện đồ án, chúng em đã nắm bắt được những kỹ thuật quan trọng của việc xây dựng cấu trúc dữ liệu và phân tích, thiết kế giải thuật sao cho tối ưu nhất.

ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN GIẢI THUẬT VÀ LẬP TRÌNH Đề tài 3: XẾP LỊCH THI GIẢNG VIÊN HƯỚNG DẪN: Võ Đức Hoàng SINH VIÊN THỰC HIỆN: Trần Văn Hiền Lớp : 18T1 Nhóm : 18N10A Đà Nẵng, 12/2020 MỤC LỤC MỤC LỤC LỜI MỞ ĐẦU .2 DANH MỤC HÌNH VẼ GIỚI THIỆU ĐỀ TÀI CƠ SỞ LÝ THUYẾT 4 2.1 Ý tưởng 2.2 Cơ sở lý thuyết .4 TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN .4 3.1 Phát biểu toán 3.2 Cấu trúc liệu 3.3 Thuật toán CHƯƠNG TRÌNH VÀ KẾT QUẢ 4.1 Tổ chức chương trình .8 4.2 Ngôn ngữ cài đặt 17 4.3 Kết 17 4.3.1 Giao diện chương trình 17 4.3.2 Kết thực thi chương trình 18 4.3.3 Nhận xét 20 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 21 5.1 Kết luận 21 5.2 Hướng phát triển 21 TÀI LIỆU THAM KHẢO 21 LỜI MỞ ĐẦU Cấu trúc liệu Phân tích, thiết kế giải thuật hai học phần quan trọng người lập trình Học phần xem tảng lập trình máy tính Nó sở vững để giải nhiều toán, đồng thời cung cấp cho hiểu biết giải thuật tác động lên liệu, cách tổ chức liệu hiệu để tối ưu toán Sau học xong học phần lí thuyết, em nghiên cứu thực đồ án cách để củng cố mở rộng kiến thức Thơng qua q trình thực đồ án, chúng em nắm bắt kỹ thuật quan trọng việc xây dựng cấu trúc liệu phân tích, thiết kế giải thuật cho tối ưu Bài toán “ Xếp lịch thi ” mà em nghiên cứu trình bày báo cáo sau ví dụ Em xin chân thành cảm ơn thầy Võ Đức Hồng bổ sung ý tưởng tận tình giúp đỡ chúng em thực đồ án Em mong nhận góp ý từ phía thầy để làm em hoàn thiện DANH MỤC HÌNH VẼ Hình : Danh sách môn học đọc từ tệp văn (Input) 18 Hình : Danh sách môn học sinh viên đọc từ tệp văn (Input) 18 Hình : Kết mảng thể môn học kề để xử lý 19 Hình : Kết mã màu sau xử lý môn học .19 Hình : Kết lịch thi sau xếp lịch xong (Output) 20 GIỚI THIỆU ĐỀ TÀI Mô tả: Giả sử sinh viên phải thi số môn n môn thi Hãy lập lịch thi cho khơng có sinh viên có mơn thi thời gian số đợt thi Đầu vào: Các tập tin văn chứa thông tin về: Số môn thi, Tên môn thi Số sinh viên, Các môn học sinh viên Đầu ra: Tập tin văn chứa Lịch thi với số đợt thi khơng có sinh viên thi nhiều mơn đợt thi CƠ SỞ LÝ THUYẾT 2.1 Ý tưởng Như biết , lên đại học sinh viên cho dù học lớp học khác Vì việc xếp lịch thi tay nhiều thời gian Cho nên ý tưởng xây dựng chương trình “ Xếp lịch thi ” cấu trúc liệu thuật toán giúp giải vấn đề 2.2 Cơ sở lý thuyết Tạo struct Student để chứa thông tin sinh viên môn học sinh viên Khởi tạo Array(mảng) Student để chứa tất sinh viên Áp tốn tơ màu để giải vấn đề Giải thuật tham lam Dựa cấu trúc liệu thuật toán để xây dựng giải thuật đáp ứng với yêu cầu đề TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN 3.1 Phát biểu toán a) Đầu vào (Input) Các tập tin văn chứa thông tin về: Số môn thi, Tên môn thi Số sinh viên, Các môn học sinh viên + Tệp văn số sinh viên môn học sinh viên students.txt Dòng số lượng sinh viên Các dịng mơn học sinh viên tổ chức theo hình thức : + Dịng tên sinh viên + Dịng thứ hai số lượng mơn học sinh viên + Các dịng tên mơn học sinh viên + Dịng cuối dấu ‘-‘ để báo hiệu cho chương trình đọc hết mơn học sinh viên Giữa sinh viên có dấu ‘-‘ để ngăn cách Như tệp văn student.txt phía bên : + Nhìn dịng biết số sinh viên : + Tiếp đến sinh viên tên Tran Van Hien, có số lượng mơn học mơn học Lap trinh java,Cong nghe di dong va Lap trinh oop + Sau đọc xong sinh viên đến dấu ‘-‘ tiếp tục đọc sinh viên hết + Tệp văn số môn học để xếp lịch thi danh sách mơn subjects.txt Dịng số lương mơn học Các dịng tên mơn học b) Đầu (Output) Tập tin văn chứa Lịch thi với số đợt thi khơng có sinh viên thi nhiều mơn đợt thi 3.2 Cấu trúc liệu Struct Student struct Student { string name; string *student_subjects; int amount; Student(){ name=""; amount=0; } Student(string ten,int so_luong) { name=ten; amount=so_luong; student_subjects=new string[amount]; } void setSubject(string s,int i) { this->student_subjects[i]=s; } void setName(string s){ this->name=s; } void show(){ cout

Ngày đăng: 27/04/2021, 23:24

TỪ KHÓA LIÊN QUAN

w