Thực hành lập trình – Tài liệu môn lập trình | Trường đại học sư phạm kỹ thuật TP. Hồ Chí Minh
Sinh viên viết hàm cho các bài tập thực hành trong danh sách bên dưới và nộp tại Mimir Classroom. 2. Với mỗi bài tập, sinh viên bắt buộc phải ghi đầy đủ thông tin cá nhân (bao gồm: mã số sinh viên, họ tên, ngày sinh, và email) tại phần đầu của source code. Nếu không có đủ thông tin cá nhân theo yêu cầu thì bài đó sẽ không được tính điểm. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
Môn: Kỹ thuật lập trình (PRTE230385)
Trường: Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
Preview text:
T H Ự C H À N H L Ậ P T R Ì N H 1 P a g e | 1
BÀI 5: PYTHON COLLECTION DATA TYPES AND STRINGS YÊU CẦU:
1. Sinh viên viết hàm cho các bài tập thực hành trong danh sách bên
dưới và nộp tại Mimir Classroom.
2. Với mỗi bài tập, sinh viên bắt buộc phải ghi đầy đủ thông tin cá nhân
(bao gồm: mã số sinh viên, họ tên, ngày sinh, và email) tại phần đầu
của source code. Nếu không có đủ thông tin cá nhân theo yêu cầu thì
bài đó sẽ không được tính điểm. 3. Cách tính điểm:
a. Mỗi bài tập tối đa 10 điểm.
b. Điểm bài thực hành = Điểm trung bình của tất cả các bài (làm tròn tới 0.5)
4. Sinh viên sẽ nhận điểm 0 nếu gian lận. BÀI TẬP THỰC HÀNH
Bài 1.Viết hàm thực hiện các thao tác sau:
1.1) Nhập n số nguyên và lưu vào một danh sách (list). Tên hàm: input_int_array Tham số: số nguyên n
Output: list chứa các số vừa nhập
1.2) Yêu cầu người dùng nhập vào các số nguyên dương, lưu các
số đó vào một danh sách. Nếu người dùng nhập số âm, hàm sẽ
dừng lại và trả về danh sách gồm các số nguyên dương vừa nhập.
Tên hàm: input_positive_int_array Tham số: Không có
Output: list chứa các số nguyên dương vừa nhập
1.3) Tính tổng và trung bình cộng các phần tử trong một dãy số. Tên hàm: sum_avg Tham số: List A
Output: Tổng và tbc tính được. Trường hợp list rỗng, coi như tổng và tbc bằng 0.
1.4) Tìm giá trị nhỏ nhất và lớn nhất của một dãy số. Tên hàm: find_min_max Tham số: List A
Output: Giá trị nhỏ nhất và lớn nhất tìm được.
1.5) Tính giá trị trung bình và độ lệch chuẩn của các phần tử trong một dãy số.
Tên hàm: compute_mean_std
T H Ự C H À N H L Ậ P T R Ì N H 1 P a g e | 2 Tham số: List A
Output: Giá trị trung bình và độ lệch chuẩn tính được. Trường
hợp list rỗng, coi như các giá trị đó bằng 0. (tổng thể)
1.6) Tính tổng và trung bình cộng các phần tử chính phương trong một dãy số.
Tên hàm: sum_avg_square_numbers Tham số: List A
Output: Tổng và tbc tính được. Trường hợp không có số chính
phương, coi như tổng và tbc bằng 0.
1.7) Tìm vị trí của phần tử chẵn đầu tiên trong một dãy số.
Tên hàm: find_first_even_number Tham số: List A
Output: Vị trí tìm được. Trường hợp không tìm được, trả về - 1.
1.8) Tìm số chẵn lớn nhất trong một dãy số.
Tên hàm: find_max_even_number Tham số: List A
Output: Giá trị tìm được. Trường hợp không tìm được, trả về - 1.
1.9) Tính tổng bình phương các số nguyên tố trong một dãy số.
Tên hàm: square_sum_prime_numbers Tham số: List A
Output: Tổng tính được. Trường hợp không có số nguyên tố, coi như tổng bằng 0.
1.10) Tìm phần tử median của một dãy số.
Gợi ý: Median (trung vị) là số ở giữa trong một danh sách các
số được sắp xếp tăng dần hoặc giảm dần. Tên hàm: find_median Tham số: List A
Output: Giá trị median tìm được.
1.11) Tìm phần tử xuất hiện nhiều lần nhất trong một dãy số. Tên hàm: find_most Tham số: List A
Output: Giá trị của phần tử tìm được.
1.12) Tìm vị trí của phần tử nguyên tố đầu tiên trong một dãy số.
Tên hàm: find_first_prime_number Tham số: List A
T H Ự C H À N H L Ậ P T R Ì N H 1 P a g e | 3
Output: Vị trí tìm được. Trường hợp không tìm được, trả về - 1.
1.13) Tìm số nguyên tố nhỏ nhất trong một dãy số.
Tên hàm: find_min_prime_number Tham số: List A
Output: Giá trị tìm được. Trường hợp không tìm được, trả về - 1.
1.14) Kiểm tra dãy số có phải là dãy tăng hay không. Tên hàm: is_increasing Tham số: List A
Output: True nếu dãy tăng, False nếu dãy giảm.
1.15) Thêm giá trị x vào dãy số sao cho dãy vẫn là dãy tăng.
Tên hàm: insert_increasing
Tham số: List A, số nguyên x
Output: List mới sau khi thêm phần tử. Trường hợp dãy ban
đầu chưa sắp xếp tăng, hàm trả về False.
1.16) Tìm cặp hai phần tử liên tiếp nhau có tổng lớn nhất. Tên hàm: find_max_pair Tham số: List A
Output: Tuple gồm 2 phần tử thỏa mãn điều kiện.
Bài 2.Cho một dãy (list) gồm các phân số, mỗi phân số gồm một
cặp 2 giá trị có kiểu dữ liệu tuple.
Ví dụ: A = [(2, 3), (8, 9)] là dãy gồm hai phân số 2 và 8 3 9
2.1) Sắp xếp dãy phân số theo chiều tăng dần. Tên hàm: sort_fractions
Tham số: List các phân số
Output: List sau khi sắp xếp
2.2) Rút gọn các phân số có trong dãy.
Tên hàm: simplify_fractions
Tham số: List các phân số
Output: List các phân số sau khi rút gọn.
2.3) Tính tổng các phân số có trong dãy. Tên hàm: sum_fractions
Tham số: List các phân số
Output: Tổng tính được (yêu cầu có rút gọn tổng nếu cần).
2.4) Tìm giá trị của phân số nhỏ nhất và lớn nhất có trong dãy.
Tên hàm: find_min_max_fractions
Tham số: List các phân số
Output: Phân số tìm được. Mỗi phân số là một cặp có kiểu
dữ liệu tuple như yêu cầu ở đề bài.
T H Ự C H À N H L Ậ P T R Ì N H 1
P a g e | 4 2.5) Tách dãy phân số thành 2 dãy con, một dãy chứa toàn phân
số âm, một dãy chứa toàn phân số dương. Tên hàm: split_fractions
Tham số: List các phân số
Output: Hai danh sách chứa các dãy phân số theo yêu cầu.
Bài 3.Cho một danh sách gồm các cuốn sách. Thông tin mỗi cuốn
sách chứa trong một dictionary với các từ khóa (key) như
sau: isbn, title, authors, publisher, pages, year. Trong đó:
o isbn: kiểu string, mã duy nhất của mỗi cuốn sách
o title: kiểu string, tên của cuốn sách
o authors: set of strings, tên của các tác giả
o publisher: string, tên nhà xuất bản o pages: int, số trang o year: int, năm xuất bản
b1 = {‘isbn’: ‘999-12-392’, ‘title’: ‘Introduction to Python’, authors:
{‘Hana Kim’, ‘David Lim’}, ‘publisher’: ‘NoStarch’, ‘pages’: 140, ‘year’: 2019}
b2 = {‘isbn’: ‘999-12-456’, ‘title’: ‘Advanced Python’, authors:
{‘Hana Kim’}, ‘publisher’: ‘NoStarch’, ‘pages’: 350, ‘year’: 2021} A = [b1, b2]
3.1) Sắp xếp danh sách theo chiều tăng dần của tên sách. Tên hàm: sort_books_by_title
Tham số: List các cuốn sách
Output: List sau khi sắp xếp
3.2) Sắp xếp danh sách theo chiều giảm dần của năm xuất bản. Tên hàm: sort_books_by_year
Tham số: List các cuốn sách
Output: List sau khi sắp xếp
3.3) Tìm cuốn sách có mã isbn là x. Tên hàm: find_by_isbn
Tham số: List các cuốn sách, mã isbn
Output: Tên của cuốn sách tìm được.
3.4) Lọc các cuốn sách theo nhà xuất bản. Tên hàm: filter_by_publisher
Tham số: List các cuốn sách, tên nhà xuất bản cần tìm.
Output: List gồm các cuốn sách tìm được.
T H Ự C H À N H L Ậ P T R Ì N H 1
P a g e | 53.5) Tìm các cuốn sách của tác giả A. Tên hàm: filter_by_author
Tham số: List các cuốn sách, tên của tác giả cần tìm.
Output: List gồm các cuốn sách tìm được.