Tải bản đầy đủ

D AN CU TRUC d LIU VA GII THUT XAY

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG
QUẢN LÍ NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM
Thực Hiện: Nhóm KI-BACKTRACK
Thành viên:
K’Long
MSSV: 17520707
Nguyễn Trọng Tài MSSV: 17521002
Lớp: IT003.I21. PMCL

TP HỒ CHÍ MINH 2018


1.

ĐỐI TƯỢNG NGƯỜI DÙNG – YÊU CẦU VÀ CHỨC NĂNG

CỦA CHƯƠNG TRÌNH

1.1. ĐỐI TƯỢNG NGƯỜI DÙNG
1.1.1. Chương trình hướng đến đối tượng người dùng là những giáo viên và
học sinh lớp 12 – Trung học Phổ Thông có nhu cầu tham khảo và ôn thi
bộ môn Anh Văn, hỗ trợ cho việc ôn thi tốt nghiệp trung học phổ thông.
1.2. YÊU CẦU
1.2.1. Hệ Thống
- Chương trình chỉ mới được thử nghiệm và hoạt động ổn định trên
nền tảng hệ điều hành Windows vì vậy người dùng cần phải cài đặt
chương trình trên nên tảng Windows (tất cả mọi phiên bản). Chương
trình không có yêu cầu đặc biết về cấu hình phần cứng.
1.2.2. Người Dùng
- Có khả năng sừ dụng máy tính (Hệ điều hành Windows cơ bản).
1.3. CHỨC NĂNG CỦA CHƯƠNG TRÌNH
- Tùy thuộc vào đối tượng người dùng, chương trình sẽ cung cấp
những chức năng khác nhau: (Thông qua tài khoản Đăng Nhập)
- Với Giáo Viên chương trình cung cấp chức năng:
o Tạo đề thi theo yêu cầu
o Xem toàn bộ câu hỏi trong ngân hàng câu hỏi
o Thêm câu hỏi
o Xem đáp án của các câu hỏi
o Cho thi và tính điểm cho bài thi
- Với Học Sinh chương trình cung cấp các chức năng:
o Tạo đề thi và Thi Thử
o Xem điểm và Thời gian làm bài.

2


2.

THIẾT KẾ CẤU TRÚC DỮ LIỆU VÀ THUẬT GIẢI
2.1. CẤU TRÚC DỮ LIỆU

Mỗi câu hỏi trong đề thi được tổ chức dưới dạng 1 node và có cấu trúc như sau:

Các câu hỏi được liên kết với nhau bởi danh sách liên kết đơn và có cấu trúc như
sau:

Trong đó class Questions là một danh sách liên kết bao gồm một số hàm cơ bản
- Tạo node (CreatNode)
- Thêm đầu (AddFirst)
3


- Thêm cuối (AddLast)
- Đếm số node (getLength)
2.2 MỘT SỐ THUẬT GIẢI CHÍNH
2.2.1 Xử lí dữ liệu trên file.txt
Các dữ liệu cho dùng cho chương trình được lưu hoàn toàn trên file có phần mở
rộng là .txt. Để có thể sử dụng được dữ liệu cần phải đọc dữ liệu từ file .txt.
Dưới đây là thuật toán làm việc với dữ liệu trên file:

Thuật giải trên đây cho phép đọc dữ liệu từ file vào và cùng với đó, nó sẽ lưu tất cả
thành phần của 1 câu hỏi vào 1 node trong Danh sách liên kết.

4


2.2.2 Lấy ngẫu nhiên các câu hỏi để tạo đề thi
Các câu hỏi được lưu toàn bộ trong class Questions. Để tạo ra được các câu hỏi
dựa vào những câu có sẵn, cần phải chọn các câu hỏi ngẫu nhiên và đảm bảo điều
kiện các câu hỏi sẽ không trùng nhau.
Các câu hỏi được lấy ngẫu nhiên và sau đó được lưu trong lớp Test.
Chọn các câu hỏi có ID khác nhau:

Các ID (số câu hỏi) sẽ được lưu vào 1 mảng có tên Questions_Index và từ mảng
này, chương trình sẽ tạo ra các câu hỏi ngẫu nhiên tướng ứng với ID của từng câu.

5


Lấy câu hỏi ngầu nhiên ứng với từng ID

Bây giờ trong lớp Test đã có được các câu hỏi ngẫu nhiên để tạo đề thi.
2.2.3 Tạo 1 đề thi hoàn chỉnh
Một đề thi hoàn chỉnh bao gồm phần hỏi và phần trả lời
Phần hỏi đã được tạo qua thuật toán Lấy Ngẫu nhiên các câu hỏi
Dưới đây là phần nhập câu trả lời:

6


Đây là code để tạo 1 đề thi hoàn chỉnh:

Code kiểm

7



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×