Bài thuyết trình Tin học Lớp 11 - Ví dụ làm việc với tệp
SLIDE 1: Mở đầu
SLIDE 2: Video giáo viên
Chào mừng các em đến với bài giảng e-learning Bài 16: Ví dụ làm việc với tệp, môn Tin học lớp 11 do giáo viên Nguyễn Khánh Tâm, giáo viên giảng dạy bộ môn Tin học trường THPT Bình Xuyên – Huyện Bình Xuyên – Tỉnh Vĩnh Phúc thực hiện.
SLIDE 3: Giới thiệu bài mới
Trong chương trình Tin học lớp 11, ở bài học 15, các em đã được tìm hiểu về các thao tác với tệp văn bản và các bước làm việc với tệp văn bản. Để hiểu sâu hơn và biết vận dụng kiến thức về tệp văn bản để cài đặt được một chương trình Pascal đơn giản, các em cùng tìm hiểu nội dung của bài 16 của chương trình Tin học lớp 11.
Bạn đang xem tài liệu "Bài thuyết trình Tin học Lớp 11 - Ví dụ làm việc với tệp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
THUYẾT MINH SLIDE 1: Mở đầu SLIDE 2: Video giáo viên Chào mừng các em đến với bài giảng e-learning Bài 16: Ví dụ làm việc với tệp, môn Tin học lớp 11 do giáo viên Nguyễn Khánh Tâm, giáo viên giảng dạy bộ môn Tin học trường THPT Bình Xuyên – Huyện Bình Xuyên – Tỉnh Vĩnh Phúc thực hiện. SLIDE 3: Giới thiệu bài mới Trong chương trình Tin học lớp 11, ở bài học 15, các em đã được tìm hiểu về các thao tác với tệp văn bản và các bước làm việc với tệp văn bản. Để hiểu sâu hơn và biết vận dụng kiến thức về tệp văn bản để cài đặt được một chương trình Pascal đơn giản, các em cùng tìm hiểu nội dung của bài 16 của chương trình Tin học lớp 11. SLIDE 4: Nội dung bài học Bài 16: Ví dụ làm việc với tệp Trước hết, cô và các em cùng tìm hiểu tổng quan về bài học. Bài học trình bày 2 ví dụ: Ví dụ 1: Tính khoảng cách: Ví dụ 2: Tính điện trở tương đương Ngoài ra, còn có Video hướng dẫn thực hành trên Free Pascal. SLIDE 5: Mục tiêu bài học Nội dung của bài học đảm bảo được các mục tiêu sau đây: * Về kiến thức: Các em: - Hiểu các bước làm việc với tệp văn bản: khai báo biến tệp, gắn tên tệp cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp. - Hiểu một số hàm và thủ tục chuẩn làm việc với tệp văn bản. - Hiểu một số lỗi khi làm việc với tệp văn bản. * Về kỹ năng: Các em: - Sử dụng được một số hàm và thủ tục chuẩn làm việc với tệp văn bản. - Xử lý được một số lỗi thường gặp khi làm việc với tệp văn bản. - Cài đặt được một số chương trình đơn giản có sử dụng kiểu tệp văn bản. * Về thái độ: Qua bài học này, các em thêm - Ham học hỏi, chủ động tích cực trong học tập. - Yêu thích lập trình. * Về năng lực hình thành: Bài học sẽ giúp các em phát triển - Năng lực tự học - Năng lực sáng tạo. Trước khi vào tìm hiểu nội dung bài học, các em hãy ôn tập lại một số kiến thức sau đây. SLIDE 6,7 SLIDE 8: Ví dụ làm việc với tệp Các em vừa ôn tập lại một số lỗi thường gặp khi thao tác với tệp văn bản. Bây giờ, cô cùng các em tìm hiểu chi tiết nội dung bài học. Bài 16 đưa ra 2 ví dụ: Ví dụ 1: Tính khoảng cách: (Qua ví dụ này, các em hiểu các bước để đọc dữ liệu từ tệp văn bản vào biến có kiểu dữ liệu chuẩn và đưa kết quả ra màn hình) Ví dụ 2: Tính điện trở tương đương (Qua ví dụ này, các em hiểu các bước để đọc dữ liệu từ tệp văn bản vào biến có kiểu dữ liệu chuẩn, và các bước để ghi dữ liệu từ mảng 1 chiều ra tệp văn bản) Ngoài ra, còn có Video hướng dẫn thực hành , giúp các em: - Xử lý được một số lỗi cú pháp thường gặp khi làm việc với tệp văn bản. - Biết các bước tìm lỗi ngữ nghĩa trong chương trình Free Pascal bằng cách sử dụng debug và chạy từng bước (F7) đồng thời xử lý được một số lỗi ngữ nghĩa trong chương trình Free Pascal đơn giản. - Cài đặt được một chương trình đơn giản có sử dụng kiểu tệp văn bản. sau đây các em lần lượt tìm hiểu kỹ từng ví dụ. SLIDE 9: Ví dụ 1- Tính khoảng cách Ví dụ 1: Tính khoảng cách Đề bài: Một trường trung học phổ thông tổ chức cho giáo viên và học sinh của trường đi cắm trại, sinh hoạt ngoài trời ở vườn quốc gia Cúc Phương. Để lên lịch đến thăm khu trại các lớp, thầy Hiệu trưởng cần biết khoảng cách từ trại của mình (ở tọa độ (0,0)) đến trại của các giáo viên chủ nhiệm. Mỗi lớp có một khu trại, vị trí trại của mỗi giáo viên chủ nhiệm đều có tọa độ nguyên (x,y) được ghi trong tệp văn bản TRAI.TXT (như vậy, tệp TRAI.TXT chứa liên tiếp các cặp số nguyên, các số cách nhau bởi dấu cách và không kết thúc bằng kí tự xuống dòng) Giả sử tệp TRAI.TXT có dữ liệu như sau: Yêu cầu: viết chương trình đọc các cặp tọa độ từ tệp TRAI.TXT, tính rồi đưa ra màn hình khoảng cách (với độ chính xác hai chữ số sau dấu chấm thập phân) giữa trại của lớp và trại của thầy hiệu trưởng). SLIDE 10: Phân tích ví dụ 1 – Tính khoảng cách Ta phân tích bài toán: Bước 1: Kiểm tra con trỏ tệp có giá trị bằng TRUE không. Nếu là TRUE (con trỏ ở cuối tệp) thì dừng. Nếu là FALSE thì chuyển xuống bước 2. Bước 2: Đọc tọa độ của trại từ tệp văn bản TRAI.TXT vào 2 biến nguyên x và y. Bước 3: Tính khoảng cách d Bước 4: Hiển thị khoảng cách d ra màn hình. Quay lại bước 1. Chương trình sau sẽ đọc các cặp tọa độ từ tệp TRAI.TXT, tính rồi đưa ra màn hình khoảng cách (với độ chính xác hai chữ số sau dấu chấm thập phân) giữa trại của mỗi giáo viên chủ nhiệm và của thầy hiệu trưởng. SLIDE 11: Chương trình ví dụ 1 – Tính khoảng cách Đây là chương trình tính khoảng cách. Cô cùng các em phân tích chương trình: Phần khai báo: - 2 biến x,y là tọa độ của trại của giáo viên chủ nhiệm có kiểu nguyên nên khai báo là integer. - do biến d lưu khoảng cách giữa trại của mỗi giáo viên chủ nhiệm và của thầy hiệu trưởng mà khoảng cách này được tính theo công thức d=sqrt(x*x+y*y) trong đó x,y là tọa độ của trại của giáo viên chủ nhiệm nên cần khai báo là real. - biến tệp f được khai báo ở phần khai báo thông qua lệnh f: text Phần thân chương trình: - biến tệp f được gắn với tệp TRAI.TXT thông qua lệnh assign(f,’C:\TRAI.TXT); - cặp lệnh assign(f,’C:\TRAI.TXT); reset(f) dùng để mở tệp f ra để đọc dữ liệu. - Các em quan sát cấu trúc While not EOF(f) do Begin Read(f,x,y); Vân vân End; Đây là cấu trúc dùng để đọc tất cả các phần tử của tệp. Ở chương trình này ta thấy: Đầu tiên kiểm tra con trỏ tệp. Nếu con trỏ tệp chưa ở cị trí cuối tệp (hàm eof(F) trả ra giá trị FALSE) thì đọc dữ liệu và tính toán: Mỗi lần đọc: Thứ nhất: đọc 2 phần tử gán vào 2 biến x và y là 2 biến thuộc kiểu dữ liệu chuẩn bằng lệnh read(f,x,y) Thứ 2: Tính khoảng cách d thông qua lệnh gán: D:= sqrt(x*x+y*y) Thứ 3: Hiển thị luôn kết quả ra màn hình thông qua lệnh writeln(‘Khoang cach:’,d:10:2); sau đó quay lên kiểm tra con trỏ tệp. Quá trình đọc kết thúc khi hàm EOF(f) trả ra giá trị TRUE tức đã hết phần tử của tệp hay nói cách khác con trỏ tệp đã trỏ tới cuối tệp. Sau đó đóng tệp bằng lệnh close(f); Giả sử tệp TRAI.TXT chứa dữ liệu như sau Lần 1: x=3, y=4; d=5.00, con trỏ giá trị FALSE Lần 2: x=15, y=7, d=16,55, con trỏ tệp giá trị FALSE Lần 3: x=2, y=6, d=6,32, con trỏ tệp có giá trị TRUE chương trình dừng và đóng tệp. Như vậy, qua ví dụ 1 này, các em được ôn lại và khắc sâu kiến thức về xây dựng thuật toán và về kiểu dữ liệu tệp văn bản: đầu tiên là khai báo biến tệp, tiếp theo là gắn tên tệp với biến tệp, tiếp theo là mở tệp để đọc, tiếp theo là Đọc dữ liệu từ tệp văn bản vào biến có kiểu dữ liệu chuẩn và đưa kết quả ra màn hình, cuối cùng là phải đóng tệp. Kết quả chương trình cụ thể như sau: SLIDE 12: Kết quả chương trình ví dụ 1- Tính khoảng cách Sau đây, cô cùng các em tìm hiểu kỹ ví dụ thứ 2: Tính điện trở tương đương. SLIDE 13: Ví dụ 2 – Tính điện trở tương đương Ví dụ 2: Tính điện trở tương đương Đề bài: Cho ba điện trở R1,R2,R3. Sử dụng 3 điện trở để tạo ra 5 mạch điện có điện trở tương đương khác nhau bằng cách mắc theo 5 sơ đồ như hình vẽ. Mỗi cách mắc cho một điện trở tương đương khác nhau. Cho tệp văn bản RESIST.DAT gồm nhiều dòng, mỗi dòng chứa ba số thực R1 , R2, R3, các số cách nhau một dấu cách, 0<R1,R2,R3≤105 Yêu cầu: Viết chương trình đọc dữ liệu từ tệp RESIST.DAT, tính các điện trở tương đương và ghi kết quả ra tệp văn bản RESIST.EQU, mỗi dòng ghi năm điện trở tương đương của ba điện trở ở dòng dữ liệu vào tương ứng. SLIDE 14: Phân tích ví dụ 2 - Tính điện trở tương đương Giả sử tệp RESIST.DAT như sau: Phân tích: Phân tích: Bước 1: Kiểm tra con trỏ tệp có giá trị bằng TRUE không. Nếu là TRUE thì dừng. Nếu là FALSE thì chuyển xuống bước 2. Bước 2: Đọc dữ liệu từ tệp vào 3 biến R1, R2, R3. Bước 3: Tính điện trở tương đương mắc theo sơ đồ I, II, III, IV, V. Như vậy mỗi bộ 3 điện trở R1, R2, R3 cần 5 biến để lưu tương ứng 5 sơ đồ. Giả sử dùng mảng 1 chiều để lưu 5 kết quả này. Bước 4: Ghi kết quả của mảng ra tệp. Quay lên bước 1. Như vậy, quá trình này kết thúc khi hết tệp. SLIDE 15: Chương trình ví dụ 2: Tính điện trở tương đương Chương trình sau đọc dữ liệu từ tệp RESIST.DAT, tính các điện trở tương đương và ghi kết quả ra tệp văn bản RESIST.EQU, mỗi dòng ghi năm điện trở tương đương của ba điện trở ở dòng dữ liệu vào tương ứng Phân tích chương trình: - Ở phần khai báo: Mảng a lưu giá trị tương đương là kết quả của phép chia do đó phải khai báo kiểu real. - Ở ví dụ 2 này ta thấy có 2 biến tệp văn bản là f1 và f2 F1 ta thấy xuất hiện ở cặp lệnh Assign(f1,’RESIST.DAT’) Reset(f1) Như vậy, tệp f1 được gắn cho tệp RESIST.DAT do đó ta cần mở tệp RESIST.DAT để đọc dữ liệu bằng lệnh reset(f1) F2 ta thấy xuất hiện ở cặp lệnh Assign(f2,’RESIST.EQU’) Rewrite(f2) Như vậy tệp f2 được gắn cho tệp RESIST.EQU dùng để chứa kết quả do đó ta cần mở tệp RESIST.EQU ra để ghi dữ liệu bằng lệnh Rewrite(f2) Sau lệnh Rewrite(f2), nếu tệp RESIST.EQU chưa có sẽ tạo ra một tệp RESIST.EQU trống để chứa dữ liệu. Nếu tệp RESIST.EQU đã tồn tại thì dữ liệu sẽ bị xóa để chuẩn bị ghi dữ liệu. Tương tự như ví dụ 1 Tính khoảng cách, Cấu trúc While not EOF(f) do Begin Readln(f,R1,R2,R3); Vân vân End; dùng để đọc tất cả các phần tử của tệp. Sau khi đọc dữ liệu, chương trình tính 5 điện trở tương đương, gán vào từng phần tử của mảng. Để ghi 5 giá trị tương đương này vào tệp RESIST.EQU, chương trình sử dụng lệnh For i:=1 to 5 do write(f2,a[i]:9:3); Nhận xét rằng để ghi dữ liệu từ mảng ra tệp ta cần ghi giá trị các phần tử của mảng ra tệp chứ không ghi biến mảng vào tệp. Lệnh writeln(f2) sẽ ghi một dấu xuống dòng vào tệp RESIST.EQU. Lúc này con trỏ tệp của tệp RESIST.EQU sẽ nhảy xuống dòng dưới để chuẩn bị ghi 5 giá trị điện trở tương đương tiếp theo. (nếu tệp RESIST.DAT vẫn còn dữ liệu) Khi quá trình này kết thúc, ta cần đóng cả tệp f1 và f2. Như vậy, qua ví dụ này, các em được ôn lại và khắc sâu kiến thức về Các bước để đọc dữ liệu từ tệp văn bản vào biến có kiểu dữ liệu chuẩn, và các bước để ghi dữ liệu từ mảng 1 chiều ra tệp văn bản gồm: đầu tiên là khai báo biến tệp, tiếp theo là gắn tên tệp với biến tệp, tiếp theo là mở tệp để ghi, tiếp theo là Ghi dữ liệu ra tệp văn bản, cuối cùng là phải đóng tệp SLIDE 16: Chú ý đọc đúng cấu trúc tệp văn bản Việc đọc dữ liệu từ tệp không đúng cấu trúc tệp có thể gây ra lỗi ngữ nghĩa (kết quả chương trình không đúng). Để hiểu rõ vấn đề này, ta quan sát ví dụ sau: Trường hợp thứ nhất: Chương trình chỉ có một lệnh readln, chương trình cho kết quả đúng. Cụ thể như sau: chương trình đọc được 03 lần, mỗi lần đọc 3 dữ liệu: Lần 1: R1=1, R2=3, R=5.5 , các điện trở tương đương như trên Lần 2: R1=2, R2=4, R=6 .5, các điện trở tương đương như trên Lần 3: R1=5, R2=7, R=9 , các điện trở tương đương như trên Chương trình cho ta kết quả đúng vì việc đọc dữ liệu đúng cấu trúc tệp. Các giá trị của R1, R2, R3 nhận được tại mỗi lần đọc đúng đề bài ra. Trường hợp thứ hai: Chương trình có 03 lệnh readln, chương trình cho kết quả sai. Bởi do lệnh đọc dữ liệu là readln nhưng mỗi lần chỉ đọc 1 dữ liệu nên chương trình chỉ đọc được một lần, kết quả như sau Lần 1: R1=1, R2=2, R=5.5 , các điện trở tương đương như trên Lúc này con trỏ tệp đã trỏ đến cuối tệp và chương trình dừng. Do vậy tệp kết quả RESIST.EQU sẽ sai mặc dù công thức tính các điện trở tương đương vẫn như trên. Ở trường hợp thứ 2 này, Nếu ta thay 03 lệnh readln bằng 03 lệnh read thì chương trình cho kết quả đúng. Kết luận: Các em cần chú ý cách đọc dữ liệu từ tệp văn bản + Đọc đúng cấu trúc tệp văn bản Một khả năng nữa có thể dẫn đến việc chương trình chạy không có lỗi nhưng kết quả chương trình sai do câu lệnh viết không đúng ngữ nghĩa theo yêu cầu bài toán. Các em cùng quan sát 2 chương trình sau: SLIDE 17: Chú ý viết câu lệnh đúng ngữ nghĩa Trường hợp thứ nhất: Các lệnh tính điện trở tương đương có dấu đóng ngoặc Trường hợp thứ hai: Các lệnh tính điện trở tương đương không có dấu đóng ngoặc Điều này làm cho kết quả chương trình sai. Kết luận: Các em chú ý viết câu lệnh đúng ngữ nghĩa theo yêu cầu bài toán. Đối với các lỗi về cú pháp, chương trình dịch sẽ thông báo để cho chúng ta có thể sửa lỗi. Đối với các lỗi về ngữ nghĩa thì chương trình dịch không phát hiện được. Do vậy, để đảm bảo một chương trình chạy và cho kết quả đúng thì cần: + Thuật toán đúng + Không có lỗi cú pháp + Và Không có lỗi ngữ nghĩa Sau đây, các em cùng quan sát video hướng dẫn thực hành trên FREE PAS CAL SLIDE 18: Video thực hành Trong video này các em sẽ cùng tìm hiểu: - Thứ nhất: Nhận biết và xử lý được một số lỗi cú pháp thường gặp khi làm việc với tệp văn bản. - Thứ 2: Các bước tìm lỗi ngữ nghĩa trong chương trình Pascal bằng cách sử dụng debug và chạy từng bước (F7) Các em có thể chọn xem video thực hành trên Turbo Pascal 7.0 hoặc trên Free Pascal. SLIDE 19: Củng cố Cô và các em vừa tìm hiểu xong bài 16: Ví dụ làm việc với tệp. * Về kiến thức: - Hiểu các bước làm việc với tệp văn bản: khai báo biến tệp, gắn tên tệp cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp. - Hiểu một số hàm và thủ tục chuẩn làm việc với tệp văn bản: eof , eoln. - Hiểu một số lỗi khi làm việc với tệp văn bản. * Về kỹ năng: Các em: - Cài đặt được chương trình có sử dụng kiểu dữ liệu tệp văn bản: + Khai báo biến tệp: Var :text; + Gắn tên tệp: assign( , ) + Mở tệp để đọc: reset( ); hoặc Mở tệp để ghi: rewrite( ); + Đọc dữ liệu: read( , ); hoặc Ghi dữ liệu: write( , ); + Đóng tệp: close( ); - Sử dụng được hàm: eof , eoln. - Xử lý được một số lỗi về cú pháp và ngữ nghĩa thường gặp. SLIDE 36: Bài tập củng cố Để giúp các em củng cố lại các nội dung đã tìm hiểu qua bài học này, có 3 dạng bài tập chủ yếu sau đây: Dạng 1: Hiểu cách khai báo tệp văn bản, ý nghĩa của các lệnh làm việc với tệp văn bản Dạng 2: Hiểu các bước làm việc với tệp văn bản và ý nghĩa của một số hàm và thủ tục làm việc với tệp văn bản. Dạng 3: Nhận biết một số lỗi khi khi làm việc với tệp văn bản: Lỗi cú pháp và lỗi ngữ nghĩa. Mời các em hoàn thành các câu hỏi sau: SLIDE 37> cau 1 38: 2 39 40:4 41:5 42:6 43:7 SLIDE 26: Kết thúc Bài học đến đây là kết thúc. Chúc các em học tốt. SLIDE 27: Bài học cuộc sống
Tài liệu đính kèm:
- bai_thuyet_trinh_tin_hoc_lop_11_vi_du_lam_viec_voi_tep.docx
- VIDEO THUC HANH FREE PASCAL.docx
- TURBO PASCAL.docx
- HƯỚNG DẪN THỰC HÀNH-TURBO PASCAL.docx
- HƯỚNG DẪN THỰC HÀNH-FREE PASCAL11111.docx
- HƯỚNG DẪN THỰC HÀNH-FREE PASCAL11111 - Copy.docx
- CÁC BƯỚC TÌM LỖI LOGIC.docx