(Sáng kiến kinh nghiệm) giúp học sinh tìm hiểu thêm về cách sử dụng kiểu dữ liệu tệp trong ngôn ngữ lập trình pascal chương trình tin học 11

17 18 0
(Sáng kiến kinh nghiệm) giúp học sinh tìm hiểu thêm về cách sử dụng kiểu dữ liệu tệp trong ngôn ngữ lập trình pascal   chương trình 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

MỤC LỤC I MỞ ĐẦU…………………………………………………………………… 1.1 Lý chọn đề tài………………………………………………………… 2.2 Mục đích nghiên cứu…………………………………………………… 2.3 Dối tượng nghiên cứu………………………………………………………1 2.4 Phương pháp nghiên cứu………………………………………………… II NỘI DUNG SÁNG KIẾN KINH NGHIỆM……………………………… 2.1 Cơ sở lý luận……………………………………………………………… 2.2 Thực trạng………………………………………………………………… 2.3 Các sáng kiến kinh nghiệm…………………………………………………2 2.4 Hiệu sáng kiến kinh nghiệm…………………………………… 14 III KẾT LUẬN, KIẾN NGHỊ…………………………………………………14 3.1 Kết luận………………………………………………………………… 14 3.2 Kiến nghị………………………………………………………………….15 I MỞ ĐẦU 1.1 Lý chọn đề tài Tệp kiểu đọc ghi liệu liệu ngơn ngữ lập trình Pascal, trái ngược nhiều so với cách nhập/xuất liệu truyền thống, tức nhập liệu vào file Pascal đọc xử lí ghi kết tệp khác - cách giúp bạn xem input output chương trình kết thúc Kiểu tệp khơng khó lắm, nhiều học sinh lúng túng gặp kiểu tệp sách giáo khoa chưa nói cho rõ ràng, chi tiết Chính vậy, tơi chọn đề tài “Giúp học sinh tìm hiểu thêm cách sử dụng kiểu liệu tệp ngôn ngữ lập trình Pascal - chương trình tin học 11” 1.2 Mục đích nghiên cứu Tơi chọn nghiên cứu đề tài nhằm mục đích hướng dẫn cách chi tiết giúp học sinh hiểu tệp, xử lý nhanh hiệu kiểu liệu tệp,và bổ trợ thêm kiến thức tệp cho đối tượng học sinh giỏi 1.3 Đối tượng nghiên cứu Trong đề tài đối tượng nghiên cứu chủ yếu hướng dẫn cho học sinh ôn luyên đội tuyển học sinh giỏi kiểu liệu tệp 1.4 Phương pháp nghiên cứu Trong đề tài sử dụng phương pháp nghiên cứu xây dựng sử lý thuyết thực hành máy tính để giúp học sinh hiểu chất kiểu liệu tệp II NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận Căn vào nội dung chương trình sách giáo khoa điều kiện thực tế trình giảng dạy, đặc biệt giảng dạy cho em đội tuyển học sinh giỏi Tôi thấy kiến thức sách giáo khoa kiến bản, đơn giản chưa đủ để đáp ứng cho em học sinh ôn luyện học sinh giỏi Chính tơi mạnh dạn đưa thêm số nội dung tệp để bổ trợ thêm kiến thức cho học sinh tệp 2.2 Thực trạng Tệp kiểu liệu đơn giản, học sinh dễ dàng tiếp thu kiến thức kiểu liệu tệp, nhiều học sinh lúng túng gặp kiểu tệp sách giáo khoa chưa nói cho rõ ràng, chi tiết Đặc biệt học sinh ôn luyện học sinh giỏi kiến thức trình bày sách giáo khoa chưa đủ Do vậy, đề tài thật cần thiết em giúp em hiểu, xử lý nhanh hiệu kiểu liệu 2.3 Các sáng kiến kinh nghiệm A HƯỚNG DẪN CỤ THỂ CHO HỌC SINH CÁCH SỬ DỤNG KIỂU DỮ LIỆU TỆP (Vì số khái niệm thao tác có sách giáo khoa nên tơi khơng trình bày phần nội dung đề tài) Ngun lí hoạt động Khi sử dụng kiểu tệp cần có hai tệp, tệp để nhập liệu vào (input), sau nhập save lại Cịn tệp để Pascal ghi kết (output) Bạn xem input output lúc nào, bạn thể xem Pascal xem cách mở tệp với Notepad.  Tạo tệp Chúng ta cần tạo hai tệp cho tốn tạo trực tiếp Pascal theo bước bên dưới: Khởi động Turbo Pascal Mở cửa sổ mới  Save As Nhập tên đuôi tệp (vd: Input.txt, Output.txt, Songuyento.inp, Songuyento.out ) Ok Như tạo tệp, tiếp tục tạo thêm tệp Có lưu ý với cách tạo tệp tệp lưu thư mục BIN Turbo Pascal, khai báo đường dẫn tệp chương trình bạn việc viết tên tệp (có phần đi) thơi Nếu muốn tạo tệp cất thư mục khác thuộc ổ đĩa khác, thư mục baitappas thuộc ổ D chẳng hạn Thì bạn mở Notepad ra, tạo file, Save as nhớ chọn vị trí lưu tệp D:\baitappas\ Cịn phần tên Tạo chứa đường dẫn tệp Chúng ta nên có hai để lưu vị trí tệp, ví dụ: const fi ='input.dat';          fo='output.dat'; Lí để khai báo chương trình ngắn gọn hơn, ví dụ: assign(f,fi); tương dương với assign(f,'input.dat'); assign(f,fo); tương đương với assign(f,'output.dat'); Trên tệp thư mục Bin nên cần viết tên, cịn ổ đĩa khác, ví dụ ổ D cách hiệu const fi ='D:\baitappas\kieutep\input.dat';          fo='D:\baitappas\kieutep\output.dat'; Khi viết chương trình là: assign(f,fi); tương dương với assign(f,'D:\baitappas\kieutep\input.dat'); assign(f,fo); tương đương với assign(f,'D:\baitappas\kieutep\output.dat'); Đọc liệu Đây phần mấu chốt kiểu tệp, không hiểu rõ cách đọc khơng làm với kiểu liệu tệp: Để đọc dòng bạn dùng read(tên biến tệp,danh sách tên biến); Để đọc nhiều dịng kết hợp read readln: bạn sử dụng read để đọc dòng, sau đọc xong dịng sử dụng readln để đọc dịng tiếp theo, bên ví dụ việc đọc mảng hai chiều: 14257 14566 95373 26794 26892 Chúng ta thấy rằng, mảng hai chiều gồm nhiều hàng nên phải sử dụng read để đọc hàng lại sử dụng readln để xuống hàng Trong khơng cho biết có hàng cột nên ta phải sử dụng hàm eof(tên biến tệp) - cho giá trị true đọc tới cuối file eoln(tên biến tệp) cho giá trị true đọc tới cuối dòng while not eof(f) {điều kiện chưa kết thúc file} begin inc(i); {tăng số dòng} j:=0; {đưa số cột 0} while not eoln(f) {điều kiện chưa kết thúc dòng} begin inc(j); {Tăng số cột} read(f,a[i,j]); {đọc phần tử a[i,j]} end; readln(f); {xuống hàng tiếp theo} end; Thêm ví dụ khác nữa, lần cho số hàng số cột: 55 14257 14566 95373 26794 26892 Bây bạn phải đọc hai số hàng cột sau dùng vịng lặp for - để đọc: readln(f,m,n); {đọc số hàng cột} for i:= to m {đọc theo dòng} begin for j:= to n read(f,a[i,j]); {đọc phần tử dòng} readln(f); {xuống dòng mới} end; Khi đọc số hàng cột ta sử dụng readln đọc xong hai số ta phải xuống dòng để bắt đầu đọc mảng Ghi liệu Ghi liệu giống đọc liệu: Nếu cần ghi dịng bạn dùng write(tên biến tệp, danh sách biến); Nếu cần ghi liệu nhiều dịng cần dùng write để viết dịng sử dụng writeln để xuống dòng tiếp theo, ví dụ ghi mảng hai chiều: for i:= to n begin for j:= to m write(f,a[i,j],' '); {viết phần tử hàng} writeln(f); {xuống hàng mới} end; B MỘT SỐ KIẾN THỨC MỞ RỘNG CHO ĐỐI TƯỢNG HỌC SINH GIỎI Phần xin giới thiệu số kiến thức tệp định kiểu Khai báo Kiểu liệu tệp định kiểu định nghĩa sau: type file-name = file of base-type; Trong đó, base-type cho biết kiểu thành phần tệp, kiểu số nguyên, số thực, Boolean, kiểu liệt kê, kiểu ghi, kiểu mảng kiểu tập hợp ngoại trừ loại tệp khác Các biến kiểu tệp tạo cách sử dụng khai báo var Var f1, f2, : file-name; Dưới số ví dụ định nghĩa số kiểu tệp biến tệp Pascal: type rfile = file of real; ifile = file of integer; bfile = file of boolean; datafile = file of record; arrfile = file of array[1 4] of integer; var marks: arrfile; studendata: datafile; rainfalldata: rfile; tempdata: integer; choices: bfile; Cách tạo ghi tệp Ví dụ viết chương trình tạo tệp liệu cho kiểu ghi student Nó tạo tệp có tên students.dat ghi liệu student vào đó: program DataFiles; type StudentRecord = Record s_name: String; s_addr: String; s_batchcode: String; end; var Student: StudentRecord; f: file of StudentRecord; begin Assign(f,'students.dat'); Rewrite(f); Student.s_name := 'Nguyen van an'; Student.s_addr := 'Viet nam'; Student.s_batchcode := 'Computer science'; write(f,student); close(f); end Khi đoạn mã biên dịch thực thi, chương trình tạo tệp có tên students.dat vào thư mục hoạt động Bạn mở tệp trình soạn thảo văn Notepad Đọc tệp Trong ví dụ bạn vừa tạo ghi vào tệp có tên students.dat. Bước viết chương trình đọc liệu student từ tệp: program Datafiles; type StudentRecord = Record s_name: String; s_addr: String; s_batchcode: String; end; var Student: StudentRecord; f: file of StudentRecord; begin Assign(f,'students.dat'); reset(f); while not eof(f) begin read(f,Student); writeln('Name: ',Student.s_name); writeln('Address: ',Student.s_addr); writeln('Batch Code: ',Student.s_batchcode); end; close(f); readln end Khi đoạn mã biên dịch thực thi, trả kết đây: Name: Nguyen van an Address: Viet nam Batch Code: Computer science Tệp dạng thông số chương trình Pascal cho phép biến tệp sử dụng tham số chương trình chuẩn chương trình người dùng định nghĩa Ví dụ minh họa rõ khái niệm Trong ví dụ chương trình tạo tệp có tên là rainfall.txt và tệp lưu trữ liệu lượng mưa Tiếp theo mở tệp, đọc liệu tính lượng mưa trung bình Lưu ý sử dụng tham số tệp với chương trình con, phải khai báo tham số var Program addFiledata; const max = 4; type raindata = file of real; var rainfile: raindata; filename: string; procedure writedata(var f: raindata); var data: real; i: integer; begin rewrite(f, sizeof(data)); for i:=1 to max begin writeln('Enter rainfall data: '); readln(data); write(f,data); end; close(f); end; procedure Average(var x:raindata); var 10 d, sum: real; avg:real; begin reset(x); sum := 0.0; while not eof(x) begin read(x,d); sum := sum+d; end; avg := sum/max; close(x); writeln('Average Rainfall: ',avg:7:2); end; Begin writeln('Enter the file name: '); readln(filename); assign(rainfile,filename); writedata(rainfile); Average(rainfile); End Khi đoạn mã biên dịch thực thi, trả kết đây: Enter the file name: rainfall.txt Enter the file name: 34 11 Enter the file name: 45 Enter the file name: 56 Enter the file name: 78 Average Rainfall: 53.25 Tệp Text Pascal Tệp Text Pascal chứa dòng ký tự mà dòng kết thúc dấu chấm Cấu trúc khai báo định nghĩa tệp có dạng: type file-name = text; Tệp ký tự thông thường tệp text khác chỗ tệp text chia thành dòng, dòng kết thúc dấu chấm, hệ thống tự động chèn Ví dụ tạo ghi vào tệp text có tên contact.txt: program exText; var filename: string; myfile: text; begin writeln('Enter the file name: '); readln(filename); assign(myfile,filename); rewrite(myfile); writeln(myfile,'Thong tin ve sinh vien:'); writeln(myfile,'Name: Nguyen van an'); writeln(myfile,'Quoc tich: Viet nam'); 12 writeln('completed'); close(myfile); end Khi đoạn mã biên dịch thực thi, trả kết đây: Enter the file name: contact.txt completed Nối tệp Pascal Nối tệp Pascal tức ghi thêm số liệu vào tệp có mà khơng ghi đè lên tệp Dưới ví dụ chương trình có nối tệp: Program Appendfile; var myfile: text; info: string; begin assign(myfile, 'contact.txt'); append(myfile); writeln('Ten khoa: TIN HOC'); writeln('Nganh: khoa hoc may tinh'); close(myfile); assign(myfile,'contact.txt'); reset(myfile); while not eof(myfile) begin 13 readln(myfile,info); writeln(info); end; close(myfile); end Khi đoạn mã biên dịch thực thi, trả kết đây: Ten khoa: TIN HOC Nganh: khoa hoc may tinh Thong tin ve sinh vien: Name: Nguyen van an Quoc tich: Viet nam Các hàm thủ tục với tệp Pascal Free Pascal hỗ trợ hàm, thủ tục thao tác với tệp Pascal: Stt Danh sách hàm thủ tục với tệp Pascal Tên hàm/thủ tục Mô tả Thủ tục Append (biến tệp); Mở tệp chế độ nối tệp Thủ tục Assign(biến tệp,tên Gắn tên tệp cho biến tệp tệp); Thủ tục Read(biến tệp, danh Đọc liệu từ tệp sách biến vào); Thủ tục Readln(biến tệp, Đọc liệu từ tệp chuyển qua dòng danh sách biến vào); Thủ tục Write(biến tệp, danh sách kết quả); Thủ tục Writeln(biến tệp, danh sách kết quả); Hàm EOF(biến tệp); Hàm EOLn(biến tệp); Thủ tục Erase(biến tệp); Ghi liệu tệp Ghi liệu tệp nối dòng Kiểm tra cuối tệp Kiểm tra cuối dịng Xóa tệp từ ổ đĩa 14 10 11 12 Hàm FilePos(biến tệp); Hàm Filesize(biến tệp); Thủ tục Flush(biến tệp); 13 Hàm IOResult: word; 14 15 16 17 18 19 20 Thủ tục Rename(biến tệp); Thủ tục Reset(biến tệp); Thủ tục Rewrite(biến tệp); Thủ tục Seek(biến tệp,i); Hàm SeekEOF(biến tệp); Hàm SeekEOLn(biến tệp); Thủ tục Close(biến tệp); Cho biết vị trí thời trỏ tệp Cho biết số phần tử có tệp Ghi tệp vào đệm ổ đĩa Trả mã lỗi thực thao tác vào ra, IOResult 0, xảy lỗi Đổi tên tệp Mở tệp để đọc Mở tệp để ghi Định vị trỏ vị trí I tệp Đặt vị trí trỏ cuối tệp Đặt vị trí trỏ cuối dịng Đóng tệp 2.4 Hiệu sáng kiến kinh nghiệm Sáng kiến kinh nghiệm kết trình giảng dạy học tập thân tơi em học sinh Tơi nhận thấy thiết thực với công tác giảng dạy thân đồng nghiệp Từ việc nắm kiến thức trình bày đề tài, học sinh chủ động làm tập kiểu liệu tệp hiệu III KẾT LUẬN, KIẾN NGHỊ 3.1 Kết luận Như vậy, thấy giáo viên tập trung đầu tư công sức kiến thức vào dạy, học sinh tiếp thu cách tích cực không thụ động Các em hứng thú học tập Chính đam mê, tích cực học sinh động lực thúc đẩy giáo viên đổi tư duy, phương pháp giảng dạy phù hợp với yêu cầu cầu Mỗi học, đơn vị kiến thức mà em đạt kết cao thể phần tâm huyết người dạy Từ kết tích cực thu được, đề tài giáo viên nhóm chuyên môn áp dụng để giảng dạy cho học sinh nhà trường, đặc biệt em học sinh giỏi 15 Với đề tài này, không dừng số kiến thức giới thiệu phần nội dung Các giáo viên, em học sinh, người quan tâm đến lĩnh vực dùng để tham khảo mở rông đề tài 3.2 Kiến nghị Tơi có đề xuất thêm kiến nghị sau: - Đề nghị ban ngành tổ chức thêm đợt hội thảo trao đổi kinh nghiệm giảng dạy để anh em ngành thảo luận trao đổi kinh nghiệm với - Hàng năm sau duyệt đề tài sáng kiến kinh nghiệm nên phổ biến đến đơn vị tài liệu lưu hành nội để người học tập phát triển - Đầu tư thêm trang thiết bị cần thiết phục vụ cho công tác giảng dạy học tập học sinh trường chưa đáp ứng điều kiện Trên số tìm tịi suy nghĩ kinh nghiệm để xây dựng đề tài Trong trình bày khơng tránh khỏi nhiều thiếu sót, mong đồng chí đồng nghiệp góp ý! Tơi xin chân thành cảm ơn! Thanh Hóa, ngày 24 tháng 05 năm 2019 Người viết Trịnh Thị Thùy TÀI LIỆU THAM KHẢO [1] Hồ Sĩ Đàm (chủ biên): Sách giáo khoa Tin học 11 - Nhà xuất giáo dục 16 SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT THIỆU HĨA [2] Nguyễn Đình Tê (chủ biên): Giáo trình lý thuyết tập Pascal - Nhà xuất giáo dục [3] Quách Tuấn Ngọc (chủ biên): Ngơn ngữ lập trình Pascal - Nhà xuất thống kê SÁNG KIẾN KINH NGHIỆM ttp://thuthuat.taimienphi.vn/cac-thao-tac-co-ban-voi-file-trong-pascal34007n.aspx  TÊN ĐỀ TÀI GIÚP HỌC SINH TÌM HIỂU THÊM VỀ CÁCH SỬ DỤNG KIỂU DỮ LIỆU TỆP TRONG NGƠN NGỮ LẬP TRÌNH PASCAL CHƯƠNG TRÌNH TIN HỌC 11 Người thực hiện: Trịnh Thị Thùy Chức vụ: Giáo viên Đơn vị công tác: Trường THPT Thiệu Hóa SKKN thuộc lĩnh vực (mơn): Tin học THANH HOÁ NĂM 2019 17 ... ttp://thuthuat.taimienphi.vn/cac-thao-tac-co-ban-voi-file -trong- pascal3 4007n.aspx  TÊN ĐỀ TÀI GIÚP HỌC SINH TÌM HIỂU THÊM VỀ CÁCH SỬ DỤNG KIỂU DỮ LIỆU TỆP TRONG NGÔN NGỮ LẬP TRÌNH PASCAL CHƯƠNG TRÌNH TIN HỌC 11 Người thực hiện: Trịnh... cách sử dụng kiểu liệu tệp ngơn ngữ lập trình Pascal - chương trình tin học 11? ?? 1.2 Mục đích nghiên cứu Tơi chọn nghiên cứu đề tài nhằm mục đích hướng dẫn cách chi tiết giúp học sinh hiểu tệp, ... em học sinh ơn luyện học sinh giỏi Chính mạnh dạn đưa thêm số nội dung tệp để bổ trợ thêm kiến thức cho học sinh tệp 2.2 Thực trạng Tệp kiểu liệu đơn giản, học sinh dễ dàng tiếp thu kiến thức kiểu

Ngày đăng: 20/06/2021, 21:28

Mục lục

  • Người thực hiện: Trịnh Thị Thùy

  • Đơn vị công tác: Trường THPT Thiệu Hóa

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

Tài liệu liên quan