lOMoARcPSD| 61769897
TRƯỜNG ĐẠI HỌC THƯƠNG MẠI
KHOA HTTT KINH TẾ & TMĐT
-----
-----
BÀI
TẬP LỚN CUỐI KỲ
Python
Đề tài
15
XÂY DỰNG
CHƯƠNG TRÌNH
QUẢN LÝ HỌC VIÊN TẠI TRUNG TÂM ANH NGỮ OXFORD
Nhóm thực
hiện
:
1
5
MÃ LỚP
4511
:
2317INFO
GVHD
:
NGUYỄN HƯNG LONG
lOMoARcPSD| 61769897
Bảng đánh giá và phân công nhiệm vụ thành viên
STT
Họ và tên
Mã sinh
viên
Nhiệm vụ
Đánh giá
43
Đặng Thị Diệu Linh
22D190082
Viết chương trình,
chỉnh sửa đóng góp ý
kiến
A
44
Lương Trúc Linh
22D190085
Vẽ sơ đồ khối, làm
word, chỉnh sửa đóng
góp ý kiến
A
45
Nguyễn Phương Linh
22D190086
Viết chương trình,
chỉnh sửa đóng góp ý
kiến
A
LỜI CAM ĐOAN
Nhóm 15 chúng em gồm: Đặng Thị Diệu Linh, Lương Trúc Linh, Nguyễn Phương Linh xin cam
đoan bài tập lớn môn Lập trình với Python với đề bài “XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ HỌC
VIÊN TẠI TRUNG TÂM ANH NGỮ OXFORD” kết quả nghiên cứu công sức làm việc của cả
nhóm. Những tài liệu tham khảo được sử dụng trong bài thảo luận được nêu trong mục tài liệu tham
khảo. Các thông tin, số liệu được sử dụng là trung thực, chính xác và là do nhóm em hoàn toàn thực hiện
dưới sự phân ng nhiệm vụ ràng. Nhóm em xin chịu mọi trách nhiệm cho các sai sót với các thông
tin và số liệu đã sử dụng trong bài.
Bên cạnh đó, nhóm em cũng xin gửi lời cảm ơn đến thầy Nguyễn Hưng Long đã luôn nhiệt tình
giảng dạy và theo sát tiến độ làm bài của lớp. Nhờ những kiến thức học tập trên lớp và sự tìm tòi tham
khảo, nhóm em đã hoàn thành bài tập lớn quan trọng này. Bài làm này có thể còn mắc phải nhiều thiếu
sót, chúng em xin nhận những ý kiến nhận xét góp ý của thầy để bài hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
Hà Nam, ngày 25 tháng 03 năm 2023
lOMoARcPSD| 61769897
LỜI MỞ ĐẦU
Cuộc cách mạng công nghệ 4.0 đã và đang phát triển đến một trình độ nhất định và chiếm
một vị thế vô cùng quan trọng. Kết quả và những thành tựu mà nó đã đạt được hiện nay ảnh hưởng
không nhỏ đến đời sống thường ngày, công việc cũng như học tập, rèn luyện, đi sâu vào nếp sống
của mỗi người dân trên thế giới ngày nay.
Một trong những yếu tố rất quan trọng trong cuộc cách mạng lần thứ 4 này là Big Data, cho
phép con người có thể thu thập, chứa đựng được một lượng dữ liệu khổng lồ. Người ta có thể thu
thập được một lượng lớn thông tin bao gồm thông tin cá nhân của từng khách hàng. Điều này giúp
doanh nghiệp nhận ra các xu hướng, nhu cầu, mong muốn của người tiêu dùng một cách hiệu quả,
từ đó giúp doanh nghiệp thể tạo ra những chiến lược đúng đắn trong mỗi giai đoạn kinh
doanh. Để làm được điều đó thì việc xây dựng một hệ thống quản trị thông tin hiệu quả là vô cùng
cần thiết. Quản thông tin một cách tối ưu cho phép tổ chức đạt các mục tiêu khác nhau và những
lợi ích đem lại tác động trên nhiều phương diện. Tuy nhiên với một lượng dữ liệu khổng lồ như
vậy, việc lưu trữ, bảo quản duy trì chúng một việc không hề dễ dàng. i tập lớn lần này
một cơ hội để chúng em được tiếp xúc với công việc đó
Hiểu được điều này, nhóm chúng em khi nhận được đề tài “XÂY DỰNG CHƯƠNG
TRÌNH QUẢN LÝ HỌC VIÊN TẠI TRUNG TÂM ANH NGỮ OXFORD” đã sử dụng
những kiến thức còn hạn chế của bản thân tìm hiểu của cả nhóm để hoàn thành đề tài một
cách trọn vẹn nhất có thể, xây dung chương trình với tiêu chí: bố cục rõ ràng, mạch lạcdễ
hiểu nhất.
Để xây dựng được chương trình sau đây, chúng em đã cùng phân tích và chia bài tập lớn này thành
các phần:
I, Đặt bài toán
II, Phân tích bài toán bằng sơ đồ khối
III, Chương trình viết bằng ngôn ngữ Python
IV, Kết luận
I, Đặt bài toán
Trung tâm Anh ngữ Oxford là một trung tâm dạy tiếng anh ngoài giờ cho các lứa tuổi, bên
cạnh đó còn hỗ trợ ôn thi các chứng chỉ quốc tế phục vụ nhiều mục đích khác nhau của người học
lOMoARcPSD| 61769897
như: IELTS, TOIEC, TOEFL… vậy, ợng học viên đến học không nh bao gồm nhiều
phân lớp khác nhau, ví dụ như trình độ theo từng kỹ năng nghe, nói, đọc, viết; theo mục đích của
người học; theo mục tiêu đạt được của từng học viên… n cần phải nhập thông tin chính xác của
từng học viên để dễ dàng hơn trong việc quản lý.
Các thông tin của học viên khi nhập vào dữ liệu bao gồm:
- Mã học viên: MaHV
- Tên học viên: TenHV
- Mã lớp: MaLop
- Điểm kiểm tra sau mỗi khóa: Diem
- Địa chỉ học viên: Địachỉ
- Số điện thoại liên hệ: SĐT
Trong đó, mỗi học viên sẽ có một mã học viên và mã này là duy nhất.
Khi thực hiện lệnh cập nhật thông tin học viên, xóa thông tin học viên tìm kiếm thông tin, ta
luôn nhập mã học viên và lấy đó làm cơ sở cho các bước tiếp theo.
II, Phân tích bài toán bằng sơ đồ khối
1, Sơ đồ khối chương trình chính
lOMoARcPSD| 61769897
2, Sơ đồ nhập thông tin
lOMoARcPSD| 61769897
3, Sơ đồ cập nhật thông tin 4, Sơ đồ xóa thông tin học viên
lOMoARcPSD| 61769897
5, Sơ đồ
tìm kiếm thông tin học viên
III, Chương trình bằng ngôn ngữ Python
Khi làm bài tập này, nhóm em đã sử dụng module os và module sys.
- Module sys trong Python cung cấp các hàm và các biến được sử dụng để thao tác các phần
lOMoARcPSD| 61769897
khác nhau của môi trường chạy Python. cho phép chúng ta truy cập các tham số chức
năng cụ thể của hệ thống.
- Module os trong Python cung cấp các chứcng được sử dụng để tương tác với hệ điều hành
cũng được thông tin liên quan về nó. OS đi theo c Module tiện ích tiêu chuẩn của
Python. Module này cung cấp một cách linh động sử dụng chức năng phụ thuộc vào hệ điều
hành. Module os trong python cho phép chúng ta làm việc với các tập tin và thư mục.
1, Tạo mảng và thêm dữ liệu mẫu
# Khai báo biến toàn cc
lstHocVien = []
# Thếm dữ liệu mẫ u
def TaoDuLieuMau():
lstHocVien.append({'MaHV': 'HV01', 'TenHV': 'Nguyen Van A','MaLop': 'M45',
'Diem': 9.5, ịachỉ:':'Ha:i Phòng', 'SĐT':'0777384569'})
lstHocVien.append({'MaHV': 'HV02', 'TenHV': 'Le Van B', 'MaLop': 'H48', 'Diem':
7.5, ịachỉ:':'Ha:i Phòng', 'SĐT':'0777358961'})
lstHocVien.append({'MaHV': 'HV03', 'TenHV': 'Doan Thanh Nam', 'MaLop': 'M45',
'Diem': 8.5, ịachỉ:':'Hà Nội', 'SĐT':'0758734569'})
lstHocVien.append({'MaHV': 'HV04', 'TenHV': 'Nguyen Van D', 'MaLop': 'H45',
'Diem': 9, ịachỉ:':'Hà Nam', 'SĐT':'0245384569'})
lstHocVien.append({'MaHV': 'HV05', 'TenHV': 'Nguyen Van E', 'MaLop': 'M45',
'Diem': 9.5, ịachỉ:':'Ha:i Dương', 'SĐT':'085384569'})
lstHocVien.append({'MaHV': 'HV06', 'TenHV': 'Nguyen Hai Ha', 'MaLop': 'H48',
'Diem': 5, ịachỉ:':'Bình Dương', 'SĐT':'072387869'})
Hàm TaoDuLieuMau() có chức năng thêm dữ liệu mẫu vào danh sách học viên. Hàm
này được gọi trong hàm main() để tạo dữ liệu mẫu khi chương trình chạy
Mô tả:
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng hàm append() để thêm dữ liệu vào danh sách.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để thêm dữ liệu.
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có 6 học viên.
lOMoARcPSD| 61769897
2, Nhập thông tin học viên
# Hàm nhập thông tin học viến
def NhapThongTinHocVien():
# Nhập thông tin học viến
MaHV = input('Nhập mã học viến: ')
TenHV = input('Nhập tến học viến: ')
MaLop = input('Nhập mã lớp: ')
Diem = float(input('Nhập điế:m học viến: '))
Địachỉ: = input('Nhập địa chỉ: liến hệ: ')
SĐT = input('Nhập sô điện thoại liến hệ: ')
# Thếm vào danh sách
lstHocVien.append({'MaHV': MaHV, 'TenHV': TenHV, 'MaLop': MaLop, 'Diem': Diem,
ịachỉ:': Địachỉ:, 'SĐT': SĐT})
print('DANH SÁCH HỌC VIÊN SAU KHI THÊM')
print("MaHV TenHV MaLop Diem Địachỉ: SĐT")
for hv in lstHocVien:
print("{:<8} {:<18} {:<8} {:<8} {:<15} {:<15}".format(hv["MaHV"],
hv["TenHV"], hv["MaLop"], hv["Diem"], hv[ịachỉ:"], hv["SĐT"]))
Hàm NhapThongTinHocVien() có chức năng nhập thông tin học viên và thêm vào danh sách.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng nhập thông tin học viên.
Mô tả:
- Hàm sẽ yêu cầu người dùng nhập thông tin học viên.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng hàm append() để thêm dữ liệu vào danh sách.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để thêm dữ liệu.
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có 1 học viên mới.
3, Cập nhật thông tin học viên
lOMoARcPSD| 61769897
# Hàm cập nhật thông tin học viến
def CapNhatThongTinHocVien(): #
Nhập mã học viến cẫ[n cập nhật
MaHV = input('Nhập mã học viến cẫ[n cập nhật: ')
# Tìm học viến theo mã
for hv in lstHocVien:
if hv['MaHV'] == MaHV:
# Nhập thông tin mới
TenHV = input('Nhập tến học viến: ')
MaLop = input('Nhập mã lớp: ')
Diem = float(input('Nhập điế:m học viến: '))
Địachỉ: = input('Nhập địa chỉ: liến hệ: ')
SĐT = input('Nhập sô điện thoại liến hệ: ')
# Cập nhật lại thông tin
hv['TenHV'] = TenHV
hv['Diem'] = Diem
hv['MaLop'] = MaLop
hv[ịachỉ:'] = Địachỉ:
hv['SĐT'] = T
print('DANH SÁCH HỌC VIÊN SAU KHI CẬP NHẬT')
print("MaHV TenHV MaLop Diem Địachỉ: SĐT")
for hv in lstHocVien:
print("{:<8} {:<18} {:<8} {:<8} {:<15} {:<15}".format(hv["MaHV"],
hv["TenHV"], hv["MaLop"], hv["Diem"], hv[ịachỉ:"], hv["SĐT"]))
# Thoát kho:i hàm
return
# Nếu không tìm thẫy
print('KHÔNG TÌM THẤY HỌC VIÊN CẤ[N CẬP NHẬT')
Hàm CapNhatThongTinHocVien() có chức năng cập nhật thông tin học viên.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng cập nhật thông tin học viên.
Mô tả:
- Hàm sẽ yêu cầu người dùng nhập mã học viên cần cập nhật.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng cấu trúc vòng lặp for để tìm học viên cần cập nhật.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
lOMoARcPSD| 61769897
- Hàm sử dụng cấu trúc vòng lặp for để cập nhật dữ liệu.
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có thông tin mới.
=> Xem thông tin cập nhật bằng hàm TimKiemThongTinHocVien().
4, Xóa thông tin học viên
# Hàm xóa thông tin học viến
def XoaThongTinHocVien():
# Nhập mã học viến cẫ[n xóa
MaHV = input('Nhập mã học viến cẫ[n xóa: ')
# Tìm học viến theo mã
for hv in lstHocVien:
if hv['MaHV'] == MaHV:
# Xóa học viến
lstHocVien.remove(hv)
print('DANH SÁCH HỌC VIÊN SAU KHI THÊM')
print("MaHV TenHV MaLop Diem Địachỉ: SĐT")
for hv in lstHocVien:
print("{:<8} {:<18} {:<8} {:<8} {:<15} {:<15}".format(hv["MaHV"],
hv["TenHV"], hv["MaLop"], hv["Diem"], hv[ịachỉ:"], hv["SĐT"]))
# Thoát kho:i hàm
return
# Nếu không tìm thẫy
print('Không tìm thẫy học viến cẫ[n xóa')
Hàm XoaThongTinHocVien() có chức năng xóa thông tin học viên.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng xóa thông tin học viên.
Mô tả:
- Hàm sẽ yêu cầu người dùng nhập mã học viên cần xóa.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng cấu trúc vòng lặp for để tìm học viên cần xóa.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để xóa dữ liệu.
lOMoARcPSD| 61769897
- Có sử dụng hàm remove() để xóa dữ liệu: lstHocVien.remove(hv).
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có 1 học viên bị xóa.
=> Xem thông tin cập nhật bằng hàm TimKiemThongTinHocVien().
5, Tìm kiếm thông tin học viên
# Hàm tìm kiếm thông tin học viến
def TimKiemThongTinHocVien():
# Nhập mã học viến cẫ[n tìm
MaHV = input('Nhập mã học viến cẫ[n tìm: ')
# Tìm học viến theo mã
for hv in lstHocVien:
if hv['MaHV'] == MaHV:
# In thông tin học viến
print('Mã học viến: ', hv['MaHV'])
print('Tến học viến: ', hv['TenHV'])
print('Điế:m học viến: ', hv['Diem'])
print('Mã lớp học viến: ', hv['MaLop'])
print(ịa chỉ: học viến: ', hv[ịachỉ:'])
print('Sô điện thoại liến hệ:', hv['SĐT'])
# Thoát kho:i hàm
return
# Nếu không tìm thẫy
print('Không tìm thẫy học viến')
Hàm TimKiemThongTinHocVien() có chức năng tìm kiếm thông tin học viên.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng tìm kiếm thông tin học viên.
Mô tả:
- Hàm sẽ yêu cầu người dùng nhập mã học viên cần tìm.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng cấu trúc vòng lặp for để tìm học viên cần tìm.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để in dữ liệu.
lOMoARcPSD| 61769897
=> Sau khi thực hiện hàm này, danh sách học viên sẽ không thay đổi hiển thị thông tin học
viên cần tìm.
6, Chương trình chính
# Hàm hiế:n thị menu
def HienThiMenu():
print("--------------------------------------------------------")
print('CHƯƠNG TRÌNH QU:AN LÝ HỌC VIÊN TRUNG TẤM ANH NGỮ OXFORD ')
print(' 1. Nhập thông tin học viến')
print(' 2. Cập nhật thông tin học viến')
print(' 3. Xóa thông tin học viến')
print(' 4. Tìm kiếm thông tin học viến')
print(' 5. Thoát chương trình')
print('--------------------------------------------------------')
# Hàm chính
def main():
# Tạo dliệu mẫ u
TaoDuLieuMau()
# Hiế:n thị menu
HienThiMenu()
# Lặp lại việc chọn menu
while True:
# Nhập lựa chọn
choice = int(input('Nhập lựa chọn cu:a bạn: '))
# Xư: lý lựa chọn
if choice == 1:
NhapThongTinHocVien()
elif choice == 2:
CapNhatThongTinHocVien()
elif choice == 3:
XoaThongTinHocVien()
elif choice == 4:
TimKiemThongTinHocVien()
elif choice == 5:
sys.exit(0)
else:
print('Lựa chọn không hợp lệ')
# Hiế:n thị menu
HienThiMenu()
# Gọi hàm chính
main()
IV, Kết luận
lOMoARcPSD| 61769897
Ngày nay việc ứng dụng công nghệ thông tin đã trở nên phổ biến hầu hết mọi cơ quan,
doanh nghiệp, đặc biệt việc áp dụng tin học trong mọi công tác quản lý. Trong đó, công tác
quản giáo dục nói chung quản lí một sở giáo dục nói riêng là một trong những lĩnh vực
cần thiết và quan trọng. Để thực hiện tốt công việc quảnthì việc hoàn thiện và y dựng một hệ
thống thông tin quản lí là không thể thiếu.
Qua bài thảo luận trên, nhóm chúng em đã xây dựng được phần nào một hệ thống quản lí học
viên cho trung m Anh ngữ Oxford. Trong điều kiện kinh tế ngày càng phát triển, khoa học
thuật ngày càng hiện đại, trung m cần phải hoàn thiện công tác quản học viên để vừa mang
tính khoa học, khách quan, dễ dàng quản lí vừa xây dựng môi trường học tập tốt nhất, phù hợp với
năng lực của từng học viên. Từ đó giúp tất cả học viên phát huy tốt nhất năng lực của mình, đạt
được mục tiêu của bản thân, giúp cho trung tâm ngày càng phát triển được nhiều bậc phụ huynh
tin tưởng, gửi gắm.
Do trình độ bản thân còn nhiều hạn chế và bước đầu áp dụng lý thuyết vào thực hành nên bài
báo cáo này không tránh khỏi những thiếu sót, hạn chế trong quá trình viết bài. Nhóm em rất mong
nhận được sự đóng góp quý báu của thầy các bạn để bài viết của nhóm được hoàn thiện hơn.

Preview text:

lOMoAR cPSD| 61769897
TRƯỜNG ĐẠI HỌC THƯƠNG MẠI
KHOA HTTT KINH TẾ & TMĐT -----   -----
BÀI TẬP LỚN CUỐI KỲ
Học Phần: Lập trình Python Đề tài
15
XÂY DỰNG CHƯƠNG TRÌNH
QUẢN LÝ HỌC VIÊN TẠI TRUNG TÂM ANH NGỮ OXFORD
Nhóm thực hiện : 1 5 MÃ LỚP : 2317INF 451 O 1 GVHD
: NGUYỄN HƯNG LONG lOMoAR cPSD| 61769897
Bảng đánh giá và phân công nhiệm vụ thành viên STT Họ và tên Mã sinh Nhiệm vụ Đánh giá viên 43 Đặng Thị Diệu Linh 22D190082 Viết chương trình, A chỉnh sửa đóng góp ý kiến 44 Lương Trúc Linh 22D190085 A Vẽ sơ đồ khối, làm word, chỉnh sửa đóng góp ý kiến Viết chương trình, chỉnh sửa đóng góp ý kiến 45 Nguyễn Phương Linh 22D190086 A LỜI CAM ĐOAN
Nhóm 15 chúng em gồm: Đặng Thị Diệu Linh, Lương Trúc Linh, Nguyễn Phương Linh xin cam
đoan bài tập lớn môn Lập trình với Python với đề bài “XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ HỌC
VIÊN TẠI TRUNG TÂM ANH NGỮ OXFORD” là kết quả nghiên cứu và công sức làm việc của cả
nhóm. Những tài liệu tham khảo được sử dụng trong bài thảo luận được nêu rõ trong mục tài liệu tham
khảo. Các thông tin, số liệu được sử dụng là trung thực, chính xác và là do nhóm em hoàn toàn thực hiện
dưới sự phân công nhiệm vụ rõ ràng. Nhóm em xin chịu mọi trách nhiệm cho các sai sót với các thông
tin và số liệu đã sử dụng trong bài.
Bên cạnh đó, nhóm em cũng xin gửi lời cảm ơn đến thầy Nguyễn Hưng Long đã luôn nhiệt tình
giảng dạy và theo sát tiến độ làm bài của lớp. Nhờ những kiến thức học tập trên lớp và sự tìm tòi tham
khảo, nhóm em đã hoàn thành bài tập lớn quan trọng này. Bài làm này có thể còn mắc phải nhiều thiếu
sót, chúng em xin nhận những ý kiến nhận xét góp ý của thầy để bài hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
Hà Nam, ngày 25 tháng 03 năm 2023 lOMoAR cPSD| 61769897 LỜI MỞ ĐẦU
Cuộc cách mạng công nghệ 4.0 đã và đang phát triển đến một trình độ nhất định và chiếm
một vị thế vô cùng quan trọng. Kết quả và những thành tựu mà nó đã đạt được hiện nay ảnh hưởng
không nhỏ đến đời sống thường ngày, công việc cũng như học tập, rèn luyện, đi sâu vào nếp sống
của mỗi người dân trên thế giới ngày nay.
Một trong những yếu tố rất quan trọng trong cuộc cách mạng lần thứ 4 này là Big Data, cho
phép con người có thể thu thập, chứa đựng được một lượng dữ liệu khổng lồ. Người ta có thể thu
thập được một lượng lớn thông tin bao gồm thông tin cá nhân của từng khách hàng. Điều này giúp
doanh nghiệp nhận ra các xu hướng, nhu cầu, mong muốn của người tiêu dùng một cách hiệu quả,
và từ đó giúp doanh nghiệp có thể tạo ra những chiến lược đúng đắn trong mỗi giai đoạn kinh
doanh. Để làm được điều đó thì việc xây dựng một hệ thống quản trị thông tin hiệu quả là vô cùng
cần thiết. Quản lý thông tin một cách tối ưu cho phép tổ chức đạt các mục tiêu khác nhau và những
lợi ích đem lại có tác động trên nhiều phương diện. Tuy nhiên với một lượng dữ liệu khổng lồ như
vậy, việc lưu trữ, bảo quản và duy trì chúng là một việc không hề dễ dàng. Bài tập lớn lần này là
một cơ hội để chúng em được tiếp xúc với công việc đó
Hiểu được điều này, nhóm chúng em khi nhận được đề tài “XÂY DỰNG CHƯƠNG
TRÌNH QUẢN LÝ HỌC VIÊN TẠI TRUNG TÂM ANH NGỮ OXFORD” đã sử dụng
những kiến thức còn hạn chế của bản thân và tìm hiểu của cả nhóm để hoàn thành đề tài một
cách trọn vẹn nhất có thể, xây dung chương trình với tiêu chí: bố cục rõ ràng, mạch lạc và dễ hiểu nhất.
Để xây dựng được chương trình sau đây, chúng em đã cùng phân tích và chia bài tập lớn này thành các phần: I, Đặt bài toán
II, Phân tích bài toán bằng sơ đồ khối
III, Chương trình viết bằng ngôn ngữ Python IV, Kết luận I, Đặt bài toán
Trung tâm Anh ngữ Oxford là một trung tâm dạy tiếng anh ngoài giờ cho các lứa tuổi, bên
cạnh đó còn hỗ trợ ôn thi các chứng chỉ quốc tế phục vụ nhiều mục đích khác nhau của người học lOMoAR cPSD| 61769897
như: IELTS, TOIEC, TOEFL… Vì vậy, lượng học viên đến học là không nhỏ và bao gồm nhiều
phân lớp khác nhau, ví dụ như trình độ theo từng kỹ năng nghe, nói, đọc, viết; theo mục đích của
người học; theo mục tiêu đạt được của từng học viên… Nên cần phải nhập thông tin chính xác của
từng học viên để dễ dàng hơn trong việc quản lý.
Các thông tin của học viên khi nhập vào dữ liệu bao gồm: - Mã học viên: MaHV - Tên học viên: TenHV - Mã lớp: MaLop
- Điểm kiểm tra sau mỗi khóa: Diem
- Địa chỉ học viên: Địachỉ
- Số điện thoại liên hệ: SĐT
Trong đó, mỗi học viên sẽ có một mã học viên và mã này là duy nhất.
Khi thực hiện lệnh cập nhật thông tin học viên, xóa thông tin học viên và tìm kiếm thông tin, ta
luôn nhập mã học viên và lấy đó làm cơ sở cho các bước tiếp theo.
II, Phân tích bài toán bằng sơ đồ khối
1, Sơ đồ khối chương trình chính lOMoAR cPSD| 61769897
2, Sơ đồ nhập thông tin lOMoAR cPSD| 61769897
3, Sơ đồ cập nhật thông tin 4, Sơ đồ xóa thông tin học viên lOMoAR cPSD| 61769897 5, Sơ đồ
tìm kiếm thông tin học viên
III, Chương trình bằng ngôn ngữ Python
Khi làm bài tập này, nhóm em đã sử dụng module os và module sys.
- Module sys trong Python cung cấp các hàm và các biến được sử dụng để thao tác các phần lOMoAR cPSD| 61769897
khác nhau của môi trường chạy Python. Nó cho phép chúng ta truy cập các tham số và chức
năng cụ thể của hệ thống.
- Module os trong Python cung cấp các chức năng được sử dụng để tương tác với hệ điều hành
và cũng có được thông tin liên quan về nó. OS đi theo các Module tiện ích tiêu chuẩn của
Python. Module này cung cấp một cách linh động sử dụng chức năng phụ thuộc vào hệ điều
hành. Module os trong python cho phép chúng ta làm việc với các tập tin và thư mục.
1, Tạo mảng và thêm dữ liệu mẫu
# Khai báo biến toàn cục lstHocVien = [] # Thếm dữ liệu mẫ u def TaoDuLieuMau():
lstHocVien.append({'MaHV': 'HV01', 'TenHV': 'Nguyen Van A','MaLop': 'M45',
'Diem': 9.5, 'Địachỉ:':'Ha:i Phòng', 'SĐT':'0777384569'})
lstHocVien.append({'MaHV': 'HV02', 'TenHV': 'Le Van B', 'MaLop': 'H48', 'Diem':
7.5, 'Địachỉ:':'Ha:i Phòng', 'SĐT':'0777358961'})
lstHocVien.append({'MaHV': 'HV03', 'TenHV': 'Doan Thanh Nam', 'MaLop': 'M45',
'Diem': 8.5, 'Địachỉ:':'Hà Nội', 'SĐT':'0758734569'})
lstHocVien.append({'MaHV': 'HV04', 'TenHV': 'Nguyen Van D', 'MaLop': 'H45',
'Diem': 9, 'Địachỉ:':'Hà Nam', 'SĐT':'0245384569'})
lstHocVien.append({'MaHV': 'HV05', 'TenHV': 'Nguyen Van E', 'MaLop': 'M45',
'Diem': 9.5, 'Địachỉ:':'Ha:i Dương', 'SĐT':'085384569'})
lstHocVien.append({'MaHV': 'HV06', 'TenHV': 'Nguyen Hai Ha', 'MaLop': 'H48',
'Diem': 5, 'Địachỉ:':'Bình Dương', 'SĐT':'072387869'})
Hàm TaoDuLieuMau() có chức năng thêm dữ liệu mẫu vào danh sách học viên. Hàm
này được gọi trong hàm main() để tạo dữ liệu mẫu khi chương trình chạy Mô tả:
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng hàm append() để thêm dữ liệu vào danh sách.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để thêm dữ liệu.
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có 6 học viên. lOMoAR cPSD| 61769897
2, Nhập thông tin học viên
# Hàm nhập thông tin học viến def NhapThongTinHocVien():
# Nhập thông tin học viến
MaHV = input('Nhập mã học viến: ')
TenHV = input('Nhập tến học viến: ')
MaLop = input('Nhập mã lớp: ')
Diem = float(input('Nhập điế:m học viến: '))
Địachỉ: = input('Nhập địa chỉ: liến hệ: ')
SĐT = input('Nhập sô điện thoại liến hệ: ') # Thếm vào danh sách
lstHocVien.append({'MaHV': MaHV, 'TenHV': TenHV, 'MaLop': MaLop, 'Diem': Diem,
'Địachỉ:': Địachỉ:, 'SĐT': SĐT})
print('DANH SÁCH HỌC VIÊN SAU KHI THÊM')
print("MaHV TenHV MaLop Diem Địachỉ: SĐT") for hv in lstHocVien:
print("{:<8} {:<18} {:<8} {:<8} {:<15} {:<15}".format(hv["MaHV"],
hv["TenHV"], hv["MaLop"], hv["Diem"], hv["Địachỉ:"], hv["SĐT"]))
Hàm NhapThongTinHocVien() có chức năng nhập thông tin học viên và thêm vào danh sách.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng nhập thông tin học viên. Mô tả:
- Hàm sẽ yêu cầu người dùng nhập thông tin học viên.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng hàm append() để thêm dữ liệu vào danh sách.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để thêm dữ liệu.
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có 1 học viên mới.
3, Cập nhật thông tin học viên lOMoAR cPSD| 61769897
# Hàm cập nhật thông tin học viến
def CapNhatThongTinHocVien(): #
Nhập mã học viến cẫ[n cập nhật
MaHV = input('Nhập mã học viến cẫ[n cập nhật: ') # Tìm học viến theo mã for hv in lstHocVien: if hv['MaHV'] == MaHV: # Nhập thông tin mới
TenHV = input('Nhập tến học viến: ')
MaLop = input('Nhập mã lớp: ')
Diem = float(input('Nhập điế:m học viến: '))
Địachỉ: = input('Nhập địa chỉ: liến hệ: ')
SĐT = input('Nhập sô điện thoại liến hệ: ')
# Cập nhật lại thông tin hv['TenHV'] = TenHV hv['Diem'] = Diem hv['MaLop'] = MaLop
hv['Địachỉ:'] = Địachỉ: hv['SĐT'] = SĐT
print('DANH SÁCH HỌC VIÊN SAU KHI CẬP NHẬT')
print("MaHV TenHV MaLop Diem Địachỉ: SĐT") for hv in lstHocVien:
print("{:<8} {:<18} {:<8} {:<8} {:<15} {:<15}".format(hv["MaHV"],
hv["TenHV"], hv["MaLop"], hv["Diem"], hv["Địachỉ:"], hv["SĐT"])) # Thoát kho:i hàm return # Nếu không tìm thẫy
print('KHÔNG TÌM THẤY HỌC VIÊN CẤ[N CẬP NHẬT')
Hàm CapNhatThongTinHocVien() có chức năng cập nhật thông tin học viên.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng cập nhật thông tin học viên. Mô tả:
- Hàm sẽ yêu cầu người dùng nhập mã học viên cần cập nhật.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng cấu trúc vòng lặp for để tìm học viên cần cập nhật.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên. lOMoAR cPSD| 61769897
- Hàm sử dụng cấu trúc vòng lặp for để cập nhật dữ liệu.
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có thông tin mới.
=> Xem thông tin cập nhật bằng hàm TimKiemThongTinHocVien().
4, Xóa thông tin học viên
# Hàm xóa thông tin học viến def XoaThongTinHocVien():
# Nhập mã học viến cẫ[n xóa
MaHV = input('Nhập mã học viến cẫ[n xóa: ') # Tìm học viến theo mã for hv in lstHocVien: if hv['MaHV'] == MaHV: # Xóa học viến lstHocVien.remove(hv)
print('DANH SÁCH HỌC VIÊN SAU KHI THÊM')
print("MaHV TenHV MaLop Diem Địachỉ: SĐT") for hv in lstHocVien:
print("{:<8} {:<18} {:<8} {:<8} {:<15} {:<15}".format(hv["MaHV"],
hv["TenHV"], hv["MaLop"], hv["Diem"], hv["Địachỉ:"], hv["SĐT"])) # Thoát kho:i hàm return # Nếu không tìm thẫy
print('Không tìm thẫy học viến cẫ[n xóa')
Hàm XoaThongTinHocVien() có chức năng xóa thông tin học viên.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng xóa thông tin học viên. Mô tả:
- Hàm sẽ yêu cầu người dùng nhập mã học viên cần xóa.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng cấu trúc vòng lặp for để tìm học viên cần xóa.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để xóa dữ liệu. lOMoAR cPSD| 61769897
- Có sử dụng hàm remove() để xóa dữ liệu: lstHocVien.remove(hv).
=> Sau khi thực hiện hàm này, danh sách học viên sẽ có 1 học viên bị xóa.
=> Xem thông tin cập nhật bằng hàm TimKiemThongTinHocVien().
5, Tìm kiếm thông tin học viên
# Hàm tìm kiếm thông tin học viến def TimKiemThongTinHocVien():
# Nhập mã học viến cẫ[n tìm
MaHV = input('Nhập mã học viến cẫ[n tìm: ') # Tìm học viến theo mã for hv in lstHocVien: if hv['MaHV'] == MaHV: # In thông tin học viến
print('Mã học viến: ', hv['MaHV'])
print('Tến học viến: ', hv['TenHV'])
print('Điế:m học viến: ', hv['Diem'])
print('Mã lớp học viến: ', hv['MaLop'])
print('Địa chỉ: học viến: ', hv['Địachỉ:'])
print('Sô điện thoại liến hệ:', hv['SĐT']) # Thoát kho:i hàm return # Nếu không tìm thẫy
print('Không tìm thẫy học viến')
Hàm TimKiemThongTinHocVien() có chức năng tìm kiếm thông tin học viên.
Hàm này được gọi trong hàm main() khi người dùng chọn chức năng tìm kiếm thông tin học viên. Mô tả:
- Hàm sẽ yêu cầu người dùng nhập mã học viên cần tìm.
- Hàm sử dụng biến toàn cục lstHocVien để thêm dữ liệu.
- Hàm sử dụng cấu trúc vòng lặp for để tìm học viên cần tìm.
- Hàm sử dụng cấu trúc từ điển để lưu thông tin học viên.
- Hàm sử dụng cấu trúc vòng lặp for để in dữ liệu. lOMoAR cPSD| 61769897
=> Sau khi thực hiện hàm này, danh sách học viên sẽ không thay đổi và hiển thị thông tin học viên cần tìm. 6, Chương trình chính # Hàm hiế:n thị menu def HienThiMenu():
print("--------------------------------------------------------")
print('CHƯƠNG TRÌNH QU:AN LÝ HỌC VIÊN TRUNG TẤM ANH NGỮ OXFORD ')
print(' 1. Nhập thông tin học viến')
print(' 2. Cập nhật thông tin học viến')
print(' 3. Xóa thông tin học viến')
print(' 4. Tìm kiếm thông tin học viến')
print(' 5. Thoát chương trình')
print('--------------------------------------------------------') # Hàm chính def main(): # Tạo dữ liệu mẫ u TaoDuLieuMau() # Hiế:n thị menu HienThiMenu()
# Lặp lại việc chọn menu while True: # Nhập lựa chọn
choice = int(input('Nhập lựa chọn cu:a bạn: ')) # Xư: lý lựa chọn if choice == 1: NhapThongTinHocVien() elif choice == 2: CapNhatThongTinHocVien() elif choice == 3: XoaThongTinHocVien() elif choice == 4: TimKiemThongTinHocVien() elif choice == 5: sys.exit(0) else:
print('Lựa chọn không hợp lệ') # Hiế:n thị menu HienThiMenu() # Gọi hàm chính main() IV, Kết luận lOMoAR cPSD| 61769897
Ngày nay việc ứng dụng công nghệ thông tin đã trở nên phổ biến hầu hết ở mọi cơ quan,
doanh nghiệp, đặc biệt là việc áp dụng tin học ở trong mọi công tác quản lý. Trong đó, công tác
quản lý giáo dục nói chung và quản lí một cơ sở giáo dục nói riêng là một trong những lĩnh vực
cần thiết và quan trọng. Để thực hiện tốt công việc quản lí thì việc hoàn thiện và xây dựng một hệ
thống thông tin quản lí là không thể thiếu.
Qua bài thảo luận trên, nhóm chúng em đã xây dựng được phần nào một hệ thống quản lí học
viên cho trung tâm Anh ngữ Oxford. Trong điều kiện kinh tế ngày càng phát triển, khoa học kĩ
thuật ngày càng hiện đại, trung tâm cần phải hoàn thiện công tác quản lý học viên để vừa mang
tính khoa học, khách quan, dễ dàng quản lí vừa xây dựng môi trường học tập tốt nhất, phù hợp với
năng lực của từng học viên. Từ đó giúp tất cả học viên phát huy tốt nhất năng lực của mình, đạt
được mục tiêu của bản thân, giúp cho trung tâm ngày càng phát triển và được nhiều bậc phụ huynh tin tưởng, gửi gắm.
Do trình độ bản thân còn nhiều hạn chế và bước đầu áp dụng lý thuyết vào thực hành nên bài
báo cáo này không tránh khỏi những thiếu sót, hạn chế trong quá trình viết bài. Nhóm em rất mong
nhận được sự đóng góp quý báu của thầy các bạn để bài viết của nhóm được hoàn thiện hơn.