24. Thực hành thao tác với tập tin văn bản
Ở bài học trước, bạn đã được học cách thao tác với tập tin văn bản. Để giúp bạn rèn luyện thêm, bài học này bao gồm các bài tập để bạn thực hành. Làm nhiều thì sẽ quen tay, nghĩ nhiều thì quen não, bạn hãy tự nghĩ ra cách làm, viết giải thuật ra giấy, và gõ từng dòng mã để giúp nâng cao khả năng tư duy của bạn.
24.1 Thao tác với tập tin .txt
Bài 24a: Đếm số từ
Cho tập tin van_ban.txt chứa một đoạn văn tiếng Việt không dấu. Hãy viết chương trình:
- Đọc nội dung từ tập tin
- Đếm xem trong đoạn văn có bao nhiêu từ (các từ cách nhau bằng khoảng trắng)
- Ghi kết quả vào tập tin ket_qua.txt
Bài 24b: Tìm số lớn nhất
Cho tập tin day_so.txt gồm nhiều dòng (tối thiểu 10 dòng), mỗi dòng chứa một số nguyên.
- Đọc toàn bộ các số nguyên trong tập tin
- Tìm số lớn nhất và số nhỏ nhất trong dãy số đó
- Ghi dòng chữ "Số lớn nhất là: ..." và "Số nhỏ nhất là: ..." vào tập tin thong_ke.txt
Bài 24c: Kiểm tra số nguyên tố
Cho tập tin input.txt chứa một số nguyên dương n
- Đọc giá trị n từ tập tin
- Kiểm tra xem n có phải là số nguyên tố hay không
- Nếu là số nguyên tố, ghi "YES" vào tập tin output.txt. Ngược lại ghi "NO"
24.2 Bài tập về tập tin CSV
Tập tin CSV thường được dùng để quản lý danh sách có cấu trúc cột rõ ràng, giống như quản lý học sinh hoặc kho hàng.
Bài 24d: Quản lý thư viện
Tạo danh sách gồm 3 cuốn sách bạn yêu thích (Tên sách, Tác giả).
- Ghi danh sách này vào tập tin thu_vien.csv
- Viết chương trình đọc lại tập tin này và in ra màn hình theo định dạng: "Cuốn sách [Tên sách] được viết bởi [Tác giả]".
Bài 24e: Tính điểm trung bình
Cho tập tin bang_diem.csv có cấu trúc: Tên,Toán,Văn.
Ví dụ:
[bang_diem.csv]
Tên,Toán,Văn
Nguyen Van An,8,9
Le Thi Binh,10,7
Tran Huu Loc,6.5,8
- Đọc dữ liệu từ tập tin
- Tính điểm trung bình (ĐTB = (Toán + Văn) / 2) cho từng học sinh
- Ghi thêm một cột "Trung Bình" vào tập tin mới đặt tên là ket_qua_hoc_tap.csv.
Bài 24f: Lọc dữ liệu
Cho tập tin san_pham.csv chứa danh sách hàng hóa: Tên SP,Giá Tiền.
Ví dụ:
[san_pham.csv]
Tên SP,Giá Tiền
Chuột máy tính,250000
Bàn phím cơ,850000
Tai nghe,450000
Lót chuột,100000
Loa Bluetooth,1200000
- Viết chương trình yêu cầu người dùng nhập vào một mức giá ngân sách (ví dụ: 500.000)
- Tìm và liệt kê tất cả các sản phẩm có giá thấp hơn hoặc bằng mức ngân sách đó
- Lưu danh sách các sản phẩm thỏa mãn vào tập tin mua_sam.csv