Một số dạng bài tập cơ bản rèn luyện kỹ năng lập trình với tệp vào giảng dạy chương v – tin học 11

21 53 0
Một số dạng bài tập cơ bản rèn luyện kỹ năng lập trình với tệp vào giảng dạy chương v – tin học 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT LÊ VĂN HƯU SÁNG KIẾN KINH NGHIỆM MỘT SỐ DẠNG BÀI TẬP CƠ BẢN RÈN LUYỆN KỸ NĂNG LẬP TRÌNH VỚI TỆP Người thực hiện: Nguyễn Thị Trang Chức vụ: Giáo viên Đơn vị công tác: Trường THPT Lê Văn Hưu SKKN thuộc mơn: Tin học THANH HĨA NĂM 2021 MỤC LỤC Mở đầu 1.1 Lí chọn đề tài: Tin học ngành khoa học có mục tiêu phát triển sử dụng máy tính điện tử để nghiên cứu cấu trúc, tính chất thơng tin, phương pháp thu thập, lưu trữ, tìm kiếm, biến đổi, truyền thông tin ứng dụng vào lĩnh vực khác đời sống xã hội Đối với em học sinh, nói “hành trang” để giúp em vững bước tới tương lai - tương lai hệ công nghệ thông tin bùng nổ! Trong việc giảng dạy cho học sinh, việc giúp học sinh lĩnh hội kiến thức Giáo viên cịn phải biết kích thích tính tích cực, sáng tạo say mê học hỏi học sinh việc học tập em Bởi vì, việc học tập tự giác, tích cực, chủ động sáng tạo đòi hỏi học sinh phải có ý thức mục tiêu đặt tạo động lực bên thúc đẩy thân họ hoạt động để đạt mục tiêu Chương trình Tin học lớp 11 mơn học khó, kiến thức trải rộng, địi hỏi em phải biết vận dụng kiến thức xếp cách lơgíc để lập trình giải tốn hồn chỉnh Tuy nhiên thực tế học sinh làm điều Hầu hết em chưa viết cách vận dụng phù hợp câu lệnh, cú pháp để giải tập Ở chương V chương trình tin học 11, em tìm hiểu kiểu liệu tệp – kiểu liệu phục vụ cho tốn có khối lượng liệu lớn với yêu cầu cần lưu trữ để xử lý nhiều So với kiểu liệu học thời lượng chương trình dành cho phần tệp khơng nhiều viết chương trình lại có nhiều thao tác nên khiến cho em cảm thấy phức tạp, khó hiểu, mơ hồ, khó vận dụng vào tập dẫn đến hứng thú học tập Từ thực tiễn giảng dạy kiểu liệu tệp (file) với mong muốn học sinh có thái độ yêu thích mơn học, chủ động, sáng tạo, tích cực việc tiếp thu kiến thức, tự tin lập trình nên mạnh dạn đưa sáng kiến “Một số dạng tập rèn luyện kỹ lập trình với tệp” vào giảng dạy “chương V – Tin học 11” Tuy dạy dựa vào đối tượng học sinh, vào trọng tâm kiến thức chương trình, cịn mang tính chất cá nhân đề xuất, mong nhận góp ý bạn đọc đồng nghiệp để việc giảng dạy hoàn thiện 1.2 Mục đích nghiên cứu: Nhận thấy việc học sinh lập trình liên quan đến kiểu liệu tệp cịn gặp nhiều lúng túng, mơ hồ, sử dụng câu lệnh, cú pháp cho phù hợp nên sử dụng số dạng tập tệp (thơng qua ngơn ngữ lập trình Pascal) để giúp em tìm hiểu trao đổi thảo luận qua hiểu rõ chất nắm vững cú pháp, ý nghĩa câu lệnh thao tác xử lý tệp, cách làm việc với tệp từ “rèn lun kỹ lập trình với tệp” Và từ “kỹ năng” giúp em u thích mơn học, mạnh dạn hơn, tự tin tham gia xây dựng học, tạo nên sôi nổi, hưng phấn, hứng thú lớp học, kích thích tính tích cực, chủ động, tự tin thân; đồng thời hình thành em kỹ phân tích, xử lý vấn đề khơng liên quan đến kiểu liệu mà cịn tồn q trình học lập trình 1.3 Đối tượng nghiên cứu Đề tài nghiên cứu số dạng tập có sử dụng thao tác với tệp văn pascal chương trình Tin học 11, áp dụng thực nghiệm hai lớp 11B7 11B8 trường THPT Lê Văn Hưu 1.4 Phương pháp nghiên cứu Kết hợp nhiều phương pháp như: - Phương pháp nghiên cứu lý luận: Trên sở kiến thức môn Tin Học THPT, phương pháp dạy học quan điểm đường lối Đảng, văn Bộ giáo dục Đào tạo chuẩn kiến thức phương pháp dạy học tích cực - Phương pháp quan sát: Nhìn nhận lại thực trạng công tác giảng dạy kết hợp thực tiễn giáo dục môn Tin Học việc tiếp thu học sinh trường THPT Lê Văn Hưu – Thanh Hóa năm học 2020 – 2021 Thơng qua q trình giảng dạy kiểm tra, thân tơi tìm hiểu tích luỹ - Phương pháp phân tích, so sánh - Phương pháp kiểm tra, đánh giá Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lí luận sáng kiến kinh nghiệm - Các kiểu liệu kiểu liệu chuẩn, kiểu mảng, kiểu xâu kiểu liệu lưu trữ nhớ (RAM) bị tắt máy Với số tốn có khối lượng liệu lớn, có yêu cầu lưu trữ để xử lý nhiều lần cần có kiểu liệu tệp (file) Tệp kiểu liệu có cấu trúc - Xét theo cách tổ chức liệu, phân loại tệp thành hai loại: Tệp văn tệp có cấu trúc (trong chương trình tin học 11 xét đến tệp văn bản) - Tệp văn tệp mà liệu ghi dạng kí tự theo mã ASCII Dữ liệu tệp văn chia thành dịng kết thúc kí tự xuống dịng hay kí tự kết thúc tệp - Để làm việc với tệp cần khai báo biến tệp Các thao tác với tệp văn bao gồm: + Gắn tên tệp + Mở tệp để đọc mở tệp để ghi + Đọc liệu từ tệp, ghi liệu vào tệp + Đóng tệp 2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm - Tin học 11 mơn học khó - Ý thức học tập cịn học đối phó, quan tâm chủ động dành cho môn học không nhiều nên nhiều em không nhớ kiến thức cũ để giải tập - Mặt khác, liệu kiểu tệp khác hoàn toàn với kiểu liệu em học mà thời lượng ít, số lượng thao tác nhiều nên gây khó khăn cho em học làm tập Các em không hiểu rõ vai trò, chất, ý nghĩa câu lệnh thao tác với tệp, lúng túng, mơ hồ, nhầm lẫn việc xác định thao tác, câu lệnh xử lý tệp nên không làm tập dẫn đến thái độ chán nản, không hứng thú với môn học Thực tế giảng dạy đặt vấn đề: làm để học sinh hiểu vai trò, chất, ý nghĩa câu lệnh thao tác với tệp có “kỹ năng” giải tập liên quan đến kiểu liệu Thông qua “một số dạng tập bản” mà em làm quen giúp thân ghi nhớ, hiểu rõ vai trò, chất, ý nghĩa cách làm việc với câu lệnh thao tác xử lý tệp từ “rèn luyện kỹ lập trình” mạnh dạn áp dụng sáng kiến kinh nghiệm “Một số dạng tập rèn luyện kỹ lập trình với tệp” vào giảng dạy chương V – Tin học 11 2.3 Giải pháp thực 2.3.1 Phần lý thuyết  Khai báo tệp văn bản: Tệp văn khai báo trực tiếp có dạng VAR : Text; Trong đó: - tên biến tệp: người lập trình đặt theo quy tắc đặt tên Pascal - text: kiểu liệu tệp văn  Gắn tên tệp: ASSIGN ( , ); Trong đó: Tên tệp: Là biến xâu xâu; chứa đường dẫn ổ đĩa, thư mục liên tiếp cách dấu đường dẫn (\), cuối tên tệp  Mở tệp: Tệp dùng để chứa kết liệu vào nên ta có: - Mở tệp để ghi: REWRITE (); - Mở tệp để đọc: RESET (); Lưu ý: - Trước mở tệp, biến tệp phải gắn tên tệp thủ tục ASSIGN - Khi sử dụng thủ tục REWRITE đĩa chưa có tệp tệp tạo với nội dung rỗng; cịn tệp có tồn nội dung cũ bị xóa để chuẩn bị ghi liệu - Khi sử dụng thủ tục RESET đĩa chưa có tệp thực chương trình hệ thống báo lỗi  Đọc /ghi tệp văn - Sau sử dụng thủ tục mở tệp để ghi, để tiến hành ghi liệu vào tệp ta dùng thủ tục WRITE(…), WRITELN(… ): WRITE ( , ); WRITELN (, ); Trong danh sách kết giá trị ghi vào tệp - Sau sử dụng thủ tục mở tệp để đọc, để tiến hành đọc liệu từ tệp ta dùng thủ tục READ(…), READLN(… ) Cách viết: READ(, ); READLN(, < danh sách biến>); Trong đó, danh sách biến nhiều tên biến đơn, nhiều biến biến phân cách dấu phẩy  Đóng tệp: CLOSE (); Thủ tục Close();chuyển nội dung nhớ vào tệp đĩa, đồng thời đóng tệp lại để giải phóng nhớ dành cho biến tệp Các tệp mở mà khơng đóng lại liệu truy xuất trê biến tệp  Một số hàm chuẩn thường dùng đọc/ ghi tệp: - Hàm EOF () trả giá trị TRUE trỏ tới cuối tệp Vị trí cuối tệp vị trí sau vị trí liệu cuối tệp Tại vị trí cuối tệp kí tự điều khiển (có mã số 26) Việc đọc phần tử tệp cịn cần có có điều kiện: phải thử xem tệp có cịn phần tử hay khơng, tức trỏ chưa đến cuối tệp (eof) Hàm chuẩn eof báo cho biết trỏ vào cuối tệp eof () = True cịn trỏ vào phần tử tệp eof ()= false Do trước thực thao tác để đọc tệp gán cho biến cần phải thử xem tệp kết thúc chưa câu lệnh: IF NOT EOF () then read(, ); Hoặc muốn đọc tất phần tử tệp While NOT EOF () Begin read(, ); {các lệnh xử lý thao tác khác} end; - Hàm EOLN () trả giá trị TRUE trỏ tới cuối dòng Nhận xét: Việc đọc / ghi tệp văn tương tự việc đọc ghi từ bàn phím  Sơ đồ mơ tả trình tự thao tác với tệp: 2.3.2 Một số dạng tập rèn luyện kỹ lập trình 2.3.2.1 Dạng tập rèn luyện kỹ nhận diện câu lệnh ý nghĩa câu lệnh thao tác với tệp Giúp học sinh nắm cú pháp, cách viết ý nghĩa câu lệnh gắn với thao tác xử lý tệp Bài tập 1: Tìm câu lệnh liên quan đến kiểu liệu tệp chương trình cho biết ý nghĩa chúng? {Dòng 1} Program bai1; {Dòng 2} Var f:text; {Dòng 3} x, y:integer; {Dòng 4} Begin {Dòng 5} Assign ( f, ‘tong.out’); {Dòng 6} Rewrite(f); {Dòng 7} Writeln(‘ nhap vao gia tri cua x, y’); {Dòng 8} Readln (x,y); {Dòng 9} Writeln(f, ‘x+y=’, x+y); {Dòng 10} Close(f); {Dòng 11} Readln; {Dòng 12} End  Học sinh dựa kiến thức học tệp để tìm câu lệnh liên quan đến tệp trình bày ý nghĩa câu lệnh - Giáo viên: nhận xét, bổ sung hệ thống lại kiến thức Các câu lệnh liên quan đến kiểu Ý nghĩa câu lệnh liệu tệp {Dòng 2} Var f:text; khai báo biến f có kiểu tệp văn {Dịng 5} Assign( f, ‘tong.out’); Gắn tên tệp ‘tong.out’ cho biến tệp f để biến f tham chiếu đến tệp ‘tong.out’ nhớ {Dòng 6} Rewrite(f); Mở file ‘tong.out’ để ghi liệu {Dòng 9}Writeln(f, ‘x+y=’, x+y); Ghi xâu giá trị tổng x+y vào file ‘tong.out’ {Dòng 10} Close(f); Đóng file ‘tong.out’ để an tồn liệu Bài tập 2: Tìm câu lệnh liên quan đến kiểu liệu tệp chương trình cho biết ý nghĩa chúng? {Dòng 1} Program doc_tep; {Dòng 2} Var f1:text; {Dòng 3} x,y:integer; {Dòng 4} Begin {Dòng 5} y:=0; {Dòng 6} Assign ( f1, ‘so.inp’); {Dòng 7} Reset(f1); {Dòng 8} read(f1,x); {Dòng 9} y:= y+x; {Dòng 10} writeln(‘y= ’, y) {Dòng 11} Close(f1); {Dòng 12} Readln; {Dòng 13} End  Học sinh dựa kiến thức tệp để tìm câu lệnh liên quan đến tệp trình bày ý nghĩa câu lệnh - Giáo viên: nhận xét, bổ sung hệ thống lại kiến thức Các câu lệnh liên quan đến kiểu Ý nghĩa câu lệnh liệu tệp {Dòng 2} Var f1:text; khai báo biến f1 có kiểu tệp văn {Dòng 6} Assign ( f1, ‘so.inp’); Gắn tên tệp ‘so.inp’ cho biến tệp f1 để biến f1 tham chiếu đến tệp ‘so.inp’ nhớ {Dòng 7} Reset(f1); Mở file ‘so.inp’ đọc nội dung {Dòng 8} read(f1,x); Đọc giá trị số nguyên file ‘so.inp’ cho biến x {Dịng 11} Close(f1); Đóng file ‘so.inp’ để an tồn liệu Bài tập 3: Tìm câu lệnh liên quan đến kiểu liệu tệp chương trình cho biết ý nghĩa chúng? {Dòng 1} Program doc_tep; {Dòng 2} Var f1:text; {Dòng 3} x, y:integer; {Dòng 4} Begin {Dòng 5} y:=0; {Dòng 7} Assign ( f1, ‘so.inp’); {Dòng 8} Reset(f1); {Dòng 9} While not eof(f1) {Dòng 10} Begin {Dòng 11} read(f1,x); {Dòng 12} y:= y+x; {Dòng 13} End; {Dòng 14} writeln(‘tong cac so tep so.inp là: ’, y); {Dòng 15} Close(f1); {Dòng 16} Readln; {Dòng 17} End  Học sinh dựa hệ thống kiến thức thao tác với tệp học để tìm câu lệnh liên quan đến tệp trình bày ý nghĩa câu lệnh - Giáo viên: nhận xét, bổ sung hệ thống lại kiến thức Các câu lệnh liên quan đến kiểu Ý nghĩa câu lệnh liệu tệp {Dòng 2} Var f1:text; khai báo biến f1 có kiểu tệp văn {Dịng 7} Assign ( f1, ‘so.inp’); Gắn tên tệp ‘so.inp’ cho biến tệp f1 để biến f1 tham chiếu đến tệp ‘so.inp’ nhớ {Dòng 8} Reset(f1); Mở file ‘so.inp’ đọc nội dung {Dòng 9} While not eof(f1) {Dòng 11} read(f1,x); {Dòng 15} Close(f1); Lặp lại việc kiểm tra xem trỏ tới cuối tệp chưa Đọc giá trị số nguyên file ‘so.inp’ cho biến x Đóng file ‘so.inp’ để an tồn liệu Lưu ý: Làm rõ điểm khác biệt cách thực chương trình để học sinh quan sát kết từ hiểu ý nghĩa tác dụng câu lệnh “While not eof(f1) do” 2.3.2.2 Dạng tập rèn luyện kỹ xác định vị trí câu lệnh Giúp học sinh nhận biết mối quan hệ thao tác xử lý tệp từ xác định vị trí câu lệnh cho phù hợp Bài tập 1: Điền vào chỗ trống chương trình cho phù hợp Var f : text ; x, y : integer ; TB: real; Begin (1) (f, ‘SO.TXT ’) ; (2) .(f) ; While not (3) begin Read (f, x, y) ; TB := (x+y)/2; end; Writeln (‘TB= ’, TB) ; .(4) (f) ; end  Học sinh vận dụng hệ thống kiến thức học để làm tập: Căn vào lệnh “Var f:text;” “Read (f, x,y);”là câu lệnh khai báo biến tệp văn Read(f,x,y) câu lệnh đọc liệu từ tệp văn vị trí cịn thiếu là: (1): assign (2): reset (3) : eof(f) (4): close Bài tập 2: Điền vào chỗ trống chương trình cho phù hợp Var i: integer; f: (1) .; begin Assign(f, ‘A.txt’); .(2) (f); i := 123456; write (f, i); (3) (f, -789); (4) (f); end  Học sinh vận dụng hệ thống kiến thức học để làm tập: Căn vào lệnh ‘Assign(f, ‘A.txt’);’ câu lệnh gắn tên tệp cho biến tệp văn write (f, i); câu lệnh ghi liệu từ tệp văn vị trí cịn thiếu là: (1): text (2): Rewrite (3) : write (4): close 2.3.2.3 Dạng tập rèn luyện kỹ phát sửa lỗi Giúp học sinh nhận biết, hiểu ghi nhớ sâu cách viết câu lệnh, mối quan hệ câu lệnh, rèn luyện kỹ phán đốn tình giải tình làm tập với tệp Bài tập 1: Phát sửa lỗi chương trình {Dịng 1} Var f:text; {Dòng 2} x:integer; {Dòng 3} begin {Dòng 4} assign(‘so.txt’, f); {Dòng 5} rewrite(f); {Dòng 6} while not eofdo {Dòng 7} begin {Dòng 8} read(x, f); {Dòng 9} write(x); {Dòng 10} end; 10 {Dòng 11} cloes(f); {Dòng 12} end  Học sinh vận dụng hệ thống kiến thức học để làm tập: {Dòng 4} lỗi  sửa: assign(f, ’ so.txt’); {Dòng 5} lỗi  sửa: reset(f); {Dòng 6} lỗi  sửa: while not eof (f) do; {Dòng 8} lỗi  sửa: read(f, x); Bài tập 2: Phát sửa lỗi chương trình {Dịng 1} Var text: f; {Dòng 2} x, y:integer; {Dòng 3} begin {Dòng 4} assign(‘so.txt’, f); {Dòng 5} reset(f); {Dòng 6} write (‘nhap vao gia tri cua x va y ’) {Dòng 7} readln(x; y); {Dòng 8} write(f, x, y); {Dòng 9} close; {Dòng 10} readln; {Dòng 11} end  Học sinh vận dụng hệ thống kiến thức học để làm tập: {Dòng 1} lỗi  sửa: Var f :text; {Dòng 4} lỗi  sửa: assign(f, ’ so.txt’); {Dòng 5} lỗi  sửa: rewrite(f); {Dòng 9} lỗi  sửa: close(f); 2.3.3 Một số dạng tập vận dụng kỹ lập trình với tệp Sau học sinh hiểu rõ chất, ý nghĩa thao tác với tệp, rèn luyện kỹ lập trình; giáo viên đưa hệ thống tập yêu cầu học sinh vận dụng kỹ dựa hệ thống kiến thức học để lập trình giải tốn 2.3.3.1 Dạng tập ghi tệp - GV phân nhóm phát phiếu học tập - Các nhóm học sinh thảo luận đưa câu trả lời Bài tập 1: Viết chương trình nhập vào dãy n số nguyên (n

Ngày đăng: 25/05/2021, 19:59

Từ khóa liên quan

Mục lục

  • Người thực hiện: Nguyễn Thị Trang

  • 1. Mở đầu

    • 1.1. Lí do chọn đề tài:

    • 1.2. Mục đích nghiên cứu:

    • 1.3. Đối tượng nghiên cứu

    • 1.4. Phương pháp nghiên cứu

    • 2. Nội dung sáng kiến kinh nghiệm

      • 2.1. Cơ sở lí luận của sáng kiến kinh nghiệm

      • 2. 2. Thực trạng của vấn đề trước khi áp dụng sáng kiến kinh nghiệm

      • 2.3. Giải pháp thực hiện

        • 2.3.1. Phần lý thuyết

        • 2.3.2. Một số dạng bài tập rèn luyện kỹ năng lập trình.

          • 2.3.2.1. Dạng bài tập rèn luyện kỹ năng nhận diện câu lệnh và ý nghĩa câu lệnh thao tác với tệp.

          • 2.3.2.2. Dạng bài tập rèn luyện kỹ năng xác định vị trí của các câu lệnh

          • 2.3.2.3. Dạng bài tập rèn luyện kỹ năng phát hiện và sửa lỗi

          • 2.3.3. Một số dạng bài tập vận dụng kỹ năng lập trình với tệp

            • 2.3.3.1. Dạng bài tập ghi tệp

            • 2.3.3.2. Dạng bài tập đọc tệp

            • 2.3.3.3.Dạng bài tập vận dụng kết hợp đọc tệp và ghi tệp

            • 2.4. Hiệu quả của sáng kiến kinh nghiệm

            • 3. Kết luận và kiến nghị

              • 3.1. Kết luận

              • 3.2. Kiến nghị

              • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan