Trình bầy mô hình vào/ra dữ liệu trong đó input được nhập từ bàn phím, output được ghi ra tệp định kiểu... 2 Trình bầy mô hình vào/ra dữ liệu trong đó input được nhập từ tệp định kiểu, o
Trang 1Chương 5 BẢN GHI VÀ TỆP
CÂU HỎI
Câu 1
Nêu ý nghĩa của dữ liệu kiểu bản ghi, cho ví dụ minh họa Dữ liệu kiểu bản ghi thường sử dụng kết hợp với kiểu dữ liệu nào?
Câu 2
Trình bầy cách khai báo và cách truy cập vào các trường của bản ghi
Câu 3
Trình bầy mẫu nhập mảng các bản ghi và mẫu in ra màn hình mảng các bản ghi
Câu 4
Mảng các bản ghi có 2 trường có thể thay thế bằng hai mảng một chiều được không?, cho ví dụ minh họa
Câu 5
Mảng các bản ghi có 2 trường có thể thay thế bằng bằng mảng hai chiều gồm 2 dòng và 2 cột được không?, cho ví dụ minh họa
Câu 6
Nêu ý nghĩa của dữ liệu kiểu tệp, cho ví dụ minh họa
Câu 7
So sánh tệp văn bản và tệp định kiểu?, cho ví dụ minh họa
Câu 8
Trình bầy mô hình vào/ra dữ liệu trong đó input được nhập từ bàn phím, output được ghi ra tệp định kiểu
Câu 9
Trang 22
Trình bầy mô hình vào/ra dữ liệu trong đó input được nhập từ tệp định kiểu, output được ghi ra màn hình
Câu 10
Trình bầy mô hình vào/ra dữ liệu trong đó input được nhập từ tệp định kiểu, output được ghi ra tệp định kiểu khác
Câu 11
Trình bầy các mô hình vào/ra dữ liệu trong chương trình khi sử dụng tệp văn bản
BÀI TẬP THỰC HÀNH
Bài 1
Phiếu điểm của một học sinh trong một lớp gồm:
Họ tên
Điểm Môn 1
Điểm Môn 2
Điểm Môn 3
Trong đó quy định hệ số các môn 1, 2 và 3 tương ứng là 1, 2, 3
Hãy lập trình thực hiện các công việc sau:
1) Nhập từ bàn phím thông tin cho n phiếu điểm, (n <= 20)
2) In lên màn hình danh sách gồm họ tên học sinh, điểm thành phần các môn và điểm trung bình của các môn đó
3) In lên màn hình danh sách gồm họ tên học sinh cùng với điểm trung bình các môn theo thứ tự tăng dần của điểm trung bình
Bài 2
Một hóa đơn gồm các mục thông tin sau đây:
Tên hàng
Trang 33
Số lượng
Đơn vị
Đơn giá
Thành tiền
Thanh toán
Trong đó, Thành tiền bằng Đơn giá × Số lượng; Thanh toán bằng Thành tiền cộng với VAT (10%)
Hãy lập trình thực hiện các công việc sau đây:
1) Nhập từ bàn phím các thông tin chung của hoá đơn gồm:
Số hoá đơn,
Họ tên khách,
Địa chỉ
2) Tiếp theo nhập thông tin cho n dòng hoá đơn ứng với n mặt hàng mà khách hàng này mua (n ≤ 10)
3) In lên màn hình tờ hoá đơn đó theo dạng:
HOA DON BAN HANG
So hoa don: 123
Ho ten khach: Nguyen Tran Le
Dia Chi: 113 Hoang Hoa Tham
STT Ten hang Don gia DonVi SoLuong Thanh toán
Cong tong thanh tien: 163000
Tổng thanh tien sau khi da cong VAT: 179300
Bài 3
Trang 44
Hãy lập trình thực hiện các công việc sau đây:
1) Nhập từ bàn phím sơ yếu lý lịch tóm tắt của N cán bộ Mỗi một cán bộ gồm các
thông tin: Họ tên, ngày, tháng, năm sinh; địa chỉ (tên phố, số nhà, điện thoại liên hệ)
2) In lên màn hình thông tin vừa nhập
3) Tìm và in lên màn hình thông tin của một cán bộ sau khi nhập họ tên của cán bộ
đó
4) In lên màn hình danh sách các cán bộ sắp xếp theo thứ tự từ người già nhất đến người trẻ nhất
Bài 4
Lập trình tạo một tệp định kiểu, mỗi phần tử là một bản ghi biểu diễn thông tin của một học sinh gồm:
Họ tên
Năm sinh
Lớp
XL hạnh kiểm
XL văn hoá
Chương trình làm nhiệm vụ quản lý một danh sách học sinh thông qua menu sau đây:
Menu quản lý học sinh
1 Nhập học sinh mới
2 Xem danh sách
3 Tìm theo tên học sinh
4 Thoát khỏi chương trình
Bài 5
Trang 55
Lập trình tạo một tệp định kiểu, mỗi phần tử là một bản ghi biểu diễn thông tin của một sách gồm:
Tên sách
Tác giả
Năm xuất bản
Nhà xuất bản
Chương trình làm nhiệm vụ quản lý sách trong thư viện thông qua menu sau đây:
Menu quản lý sách
1 Nhập các sách
2 Xem danh mục sách
3 Tìm sách theo tên tác giả
4 Tìm sách theo tên gần đúng của sách
5 Thoát khỏi chương trình
Giải thích chi tiết mục 4: Giả sử có 5 quyển sách: (1) lap trinh pascal, (2) huong
dan lap trinh pascal, (3) lap trinh c, (4) huong dan lap trinh c, (5) huong dan thiet
ke website Khi đó: Nếu nhập tên sách là “huong dan” thì kết quả tìm thấy các quyển sách là: 2, 4, 5 Nếu nhập tên sách là “pascal” thì kết quả tìm thấy các quyển sách là: 1, 2 Nếu nhập tên sách là “c” thì kết quả tìm thấy các quyển sách là: 3, 4 Nếu nhập tên sách là “huong dan c” thì kết quả tìm thấy các quyển sách là: 4
Bài 6
Cho tệp văn bản có tên là MESSAGE.INP ghi nội dung của một tài liệu Giả thiết rằng: Giữa 2 câu chỉ ngăn cách bởi một dấu chấm và các từ trong câu chỉ ngăn cách bằng dấu trắng (dấu cách) hoặc dấu phẩy Mỗi dòng của tệp chứa không quá
200 ký tự và có không quá 100 dòng trong tệp Tệp MESSAGE.INP chỉ chứa văn bản đơn thuần (không bao gồm các hình vẽ hay biểu bảng)
Trang 66
Hãy lập chương trình đọc tệp văn bản nói trên và tạo tệp văn bản MESSAGE.OUT
để ghi các thông tin sau đây:
1) Dòng 1 ghi số lượng các từ có trong tệp message.inp
2) Dòng 2 ghi lại một câu có nhiều từ nhất trong tệp message.inp
Ví dụ
MESSAGE.INP
Children need a good care
Without any explanation, everybody knows that children need a good care In another way, all the people should take much care of children
MESSAGE.OUT
28
In another way, all the people should take much care of children
Bài 7
Cho một tệp văn bản có tên NUMBERS.INP có nội dung:
Dòng 1 chứa 1 số nguyên n (n ≤ 100)
Dòng 2 chứa dãy n số nguyên dương a1 a2 a n ,(a i ≤ 1000, i =1,2, , n)
Lập chương trình đọc tệp NUMBERS.INP và:
1) Tìm một phần tử lớn nhất trong dãy số đã cho
2) Tìm ước số chung lớn nhất của dãy số nói trên
Kết quả tìm được in lên màn hình
Ví dụ:
10
300 84 90 192 438 198 594 96 234 564
Max = 594 USCLN = 6
Trang 77
Bài 8
Trong một số trường hợp, dữ liệu dạng văn bản trong các phần mềm quản trị cơ sở
dữ liệu như Access, Visual Fox, Visual Basic đòi hỏi sự can thiệp của lập trình Ví
dụ, cần phải liệt kê danh sách các sinh viên có tên là "Nguyen*Chi*Dung" (ký hiệu
* thay cho dấu cách để dễ quan sát) Khi đó các phần mềm trên sẽ bỏ qua các sinh viên "**Nguyen*Chi*Dung*", "*Nguyen**Chi***Dung", mặc dù họ đều là các sinh viên đang được quan tâm Sự can thiệp của chương trình ở đây là làm chuẩn hóa họ tên của các sinh viên sao cho không có các dấu cách ở đầu, không có quá một dấu cách giữa họ, đệm và tên
Giả sử trên đĩa đã cho tệp DSSV.TXT mỗi dòng chứa họ tên của một sinh viên Hãy viết chương trình Pascal tạo tệp DSSV2.TXT ghi lại họ tên của sinh viên đó nhưng các họ tên này đã được chuẩn hoá
Trang 88