Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
117 KB
Nội dung
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc TÊN ĐỀ TÀI GIỚI THIỆU MỘT SỐ BÀI TẬP KHI HỌC KIỂU TỆP Họ tên: Từ Thị Thanh Hòa Chức vụ: Giáo viên Đơn vị cơng tác: Trường THPT H.H.Thám Quảng Bình, tháng năm 2019 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc TÊN ĐỀ TÀI GIỚI THIỆU MỘT SỐ BÀI TẬP KHI HỌC KIỂU TỆP Quảng Bình, tháng năm 2019 1 PHẦN MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI Mơn Tin học lớp 11 chương trình khó đại đa số học sinh Ở lớp học sinh thiên học tự nhiên có lẽ có đỡ phần nào, cịn lớp học sinh thiên học mơn xã hội cố gắng, thân trước lên lớp cố gắng tìm tịi ví dụ liên quan đến giảng, ví dụ thấy dễ hiểu tìm tòi cách khiến học sinh hiểu Tuy nhiên, việc để học sinh nắm bắt học vấn đề Từ bắt đầu học vào phần kiểu liệu có cấu trúc, học sinh bắt đầu gặp khó khăn Kiểu liệu mảng ban đầu cịn khiến học sinh bỡ ngỡ chuyển sang kiểu liệu xâu học sinh làm quen dần, chuyển sang tiếp kiểu liệu tệp nhiều học sinh khơng theo kịp giảng, đặc biệt tập kiểu tệp kết hợp với kiểu liệu khác Điều có nhiều nguyên nhân: từ khách quan thân giáo viên chủ quan thân học sinh Giáo viên băn khoăn với nhiều năm giảng dạy tin học 11, học đến kiểu liệu tệp học sinh khó mà nắm bắt kiến thức Đặc biệt là kiểu liệu khó lại ứng dụng nhiều trình lập trình 1.2 ĐIỂM MỚI CỦA ĐỀ TÀI Với cách tiếp cận kiến thức phần kiểu liệu tệp sách giáo khoa tin học 11 đặc biệt sách giáo khoa đưa ví dụ hay tập cho học sinh học sinh khó tiếp thu kiến thức phần Và học sinh khá, giỏi khơng nắm bắt khó, hay kiểu liệu tệp Ngoài kiến thức liên quan đến phần kiến thức học sinh học tơi đưa thêm số tập kiểu tệp liên kết với kiểu ghi mà học sinh không học chương trình tin học 11 Với mục đích trên, giáo viên tìm hiểu sưu tầm toán kiểu liệu tệp từ dễ đến khó nhằm giúp đối tượng học sinh tiếp cận dễ dàng với kiểu liệu tệp, có biên tập để dạy cho học sinh giỏi - Đề tài làm cho học sinh nhận thức rõ ràng, đầy đủ việc lĩnh hội kiến thức kiểu liệu tệp qua tập - Ngoài kiến thức liên quan đến phần kiến thức học sinh học đề tài đưa thêm số tập kiểu tệp liên kết với kiểu ghi mà học sinh không học chương trình tin học 11 - Đề tài đưa toán kiểu liệu tệp từ dễ đến khó nhằm giúp đối tượng học sinh tiếp cận dễ dàng với kiểu liệu tệp, có biên tập để dạy cho học sinh giỏi Điều phù hợp với đối tượng học sinh (đặc biệt trường THPT Hoàng Hoa Thám), giúp học sinh không cảm thấy ‘ngợp’ tiếp cận tập phần kiểu tệp - Tùy vào đối tượng học sinh, giáo viên vận dụng cách dạy theo hướng phát triển lực học sinh nhằm giúp học sinh tự tìm tịi phương pháp giải tập sau giáo viên giúp học sinh tổng hợp lại kiến thức PHẦN NỘI DUNG 2.1 THỰC TRẠNG VẤN ĐỀ *Về kiểu liệu tệp: Cách tổ chức tệp nội dung thao tác vào/ra tệp ngôn ngữ lập trình khác Tìm hiểu sâu sắc vấn đề không thuộc phạm vi tin học phổ thông Với mục tiêu đặt trên, cần đặt phạm vi ngơn ngữ lập trình Pascal đủ, bao gồm: - Vai trò kiểu tệp: Dữ liệu kiểu tệp bao gồm nhiều điểm khác biệt so với kiểu liệu học chương trước Dữ liệu kiểu tệp lưu lâu dài nhớ Đặc điểm mở khả rộng lớn cho việc lưu trữ thông tin (chỉ tuỳ thuộc vào dung lượng đĩa) - Phân loại tệp: Sách giáo khoa giới thiệu hai kiểu phân loại tệp, theo cách tổ chức liệu tệp nhớ theo cách thức truy cập tệp *Phần liệu kiểu tệp sách giáo khoa tin học 11 sau: a Khái niệm: Tệp kiểu liệu có cấu trúc Kiểu liệu có ưu điểm so với kiểu liệu khác là: + Không thông tin tắt máy + Dung lượng liệu lưu trữ lớn + Có hai loại kiểu tệp: tệp có cấu trúc tệp văn b Khai báo: - Cấu trúc chung khai báo biến tệp: Var : Text ; - Các thao tác xử lý tệp như: gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp + Assign(, ); + Rewrite(); + Reset(); + Read/Readln(,); + Write/writeln(,); + Close(); - Các hàm sử dụng để đọc/ghi tệp văn bản: +Hàm eof(biến tệp) eoln(biến tệp) Với phần kiến thức kiểu tệp, sách giáo khoa đưa ví dụ tập cho phần kiến thức (ở 16 – Ví dụ làm việc với tệp) Điều chắn làm học sinh khó tiếp thu kiểu liệu tệp Và học sinh khá, giỏi khơng nắm bắt khó, hay kiểu liệu tệp 2.2 BIỆN PHÁP GIẢI QUYẾT Ngoài nêu 16 – SGK, để làm cho học sinh thấy số dạng toán quan trọng kiểu liệu tệp Sau ta xét tập sau: 2.2.1 BÀI TẬP FILE VỚI KIỂU DỮ LIỆU ĐƠN GIẢN BÀI TẬP Viết chương trình ghi vào đĩa 100 số tự nhiên (Từ đến 100) PROGRAM GhiFile; VAR f : text; I : Integer; BEGIN Writeln(‘ CHUONG TRINH GHI TAP TIN VAO DIA:’); Assign(f, ‘Snguyen.DAT’); Rewrite(f); FOR i:=1 TO 100 DO Write(f, i); Close(f); Readln; END BÀI TẬP Viết chương trình đọc 100 số tự nhiên (ở bt1) từ đĩa vào nhớ PROGRAM DocFile; VAR f1 : text; I : Integer; Sophantu: Integer; Tenfile: String[11]; BEGIN Writeln(‘Cho biet ten tap tin:’); Readln(Tenfile); Assign(f1, Tenfile); Reset(f1); Sophantu := 0; WHILE not EOF(f1) DO BEGIN Read(f1, i); {Đọc phần tử vào biến 1} Writeln( i); {Xuất hình} Sophantu := Sophantu +1; END; Close(f1); {Thơng báo hình} Write (‘ So phan tu cua tap tin:’ , Tenfile , ‘la’); Writeln(Sophantu); Readln; END BÀI TẬP Viết chương trình nhập xâu từ bàn phím Ghi xâu vào tệp XAU.TXT PROGRAM Ghixau; VAR f1 : text; s : String; Tenfile: String[11]; BEGIN Writeln(‘Nhap xau tu ban phim:’); Readln(s); Writeln(‘Cho biet ten tap tin:’); Readln(Tenfile); Assign(f1, Tenfile); Rewrite(f1); Write(f1,s) Close(f1); END BÀI TẬP Viết chương trình đọc xâu từ tệp XAU.INP, chuẩn hóa xâu ghi tệp XAU.OUT PROGRAM DocFile; CONST fi=’XAU.INP’; fo=’XAU.OUT’; VAR f1,f2 : text; s : String; BEGIN Assign(f1, fi); Reset(f1); Assign(f2, fo); Reset(f2); Read(f1,s); {Chuẩn hóa xâu} While s[1]=’ ’ Delete (s,1,1); While s[length(s)]=’ ’ Delete (s,length(s),1); While pos(‘ ‘,s)0 Delete (s,pos(‘ ’,s),1); Write(f2,s); Close(f1); close(f2); END BÀI TẬP 5: Viết chương trình kiểm tra xem tập tin (file) ghi vào đĩa hay chưa? PROGRAM PhatHienFile; VAR f : file; Tenfile : String[20]; BEGIN Write(‘ Hay cho biet ten tap tin:’); Readln(Tenfile); Reset(f); IF IOResult=0 THEN BEGIN Write(‘ Co tap tin tren dia’); Close(f); END ELSE Writeln(‘ Khong co tap tin tren dia’); Readln; END 2.2.2 BÀI TẬP FILE VỚI KIỂU DỮ LIỆU CÓ CẤU TRÚC BÀI TẬP Viết chương trình nhập điểm mơn học Tốn, Lý, Hóa học sinh vào đĩa PROGRAM NhapDiem; TYPE Ten = String[20] HocBa = RECORD HoTen : Ten; Toan,Ly,Hoa:Integer; END; fileHB = FILE OF HocBa; VAR HV : HocBa; f : fileHB; q : Boolean; BEGIN Assign (f, ‘LOPHOC.DaT’); Rewrite(f); Q : = True; WHILE q Do WITH HV DO BEGIN Write(‘* Ho va ten hoc sinh :’); Readln(HoTen); IF HoTen = ‘’ THEN q : = False ELSE BEGIN Write(‘-Diem Toan =’); Readln(Toan); Write(‘-DiemLy =’); Readln(Ly); Write(‘-Diem Hoa =’); Readln(Hoa); Write(f,HV) END END; Close(f) END BÀI TẬP Viết Chương trình nhập liệu ghi vào dĩa thành phần HO,TEN,TUOI,CHUC VU,BAC LUONG Khi khơng muốn nhập bấm phím Esc PRORAM NhapDuLieu; USES CTR; TYPE BanGhi = RECORD; Holot : String[20]; Ten : String[8]; Tuoi: 18 60; Chucvu: string[15] Bacluong: 200 500; END; VAR f: FILE OF BanGhi; NV: BanGhi; Ans: Char; BEGIN ClrScr; assign( f, LUONG.DTA’); Rewrite(f); REPEAT WITH NV DO BEGIN Write(‘* Ho dem =’); Readln (Holot); Write(‘* Ten =’); Readln( Ten); Write(‘* Tuoi =’); {$R+} Readln( Tuoi); Write( Chuc vu =’); Readln( Chucvu); Write(‘* Bac luong =’); Readln(Bacluong); Write(f, NV) END BÀI TẬP Khi đĩa có file LUONG.DTA Hãy viết chương trình để bổ sung thêm liệu PROGRAM BosungDulieu; USES CR TYPE Bangghi = RECORD Holot: String[20]; Ten: String[8]; Tuoi: 18 60; Chucvu: String[15]; Bacluong: 200 500; END; VAR f: FILE OF Banghi; NV: Banghi; ans: Char; BEGIN ClrScr; Assign (f, ‘LUONG.DTA’); Reset (f); Seek( f, filesize (f)); { Dinh vi o cuoi } REPEAT WITH NV DO BEGIN Write(‘* HO dem =’); Readln(Holot); Write(‘* Ten =’) Readln( Ten); Write(‘* Tuoi =’); {$R+} Readln( Tuoi); Write(‘* Chuc vu =’); Readln( Chucvu); Write (‘* Bac luong =’); Readln ( Bacluong); Write(f, NV) END 2.2.3 BÀI TẬP FILE VỚI CÁC THUỘC TÍNH TRONG THƯ VIỆN DOS BÀI TẬP 10 Sử dụng thủ tục SetFAttr Unit DOS, viết chương trình lập tính đọc (Reds Only) lưu trữ (Archive) cho file AUTOEXEC.BAT PROGRAM Datthuoctinh; USES DOS; VAR f: file; BEGIN Assign (f,’AUTOEXEC.BAT’); SetFAttr(f, Read only); {Dat thuoc tinh chi dọc} Readln; SetFAttr(f, archive) {dat thuoc tinh luu tru} END BÀI TẬP 11 Viết thủ tục ghi mảng hai chiều lên đĩa với khai báo: CONST MatrixSize = 3; TYPE MatrixTYPE = ARRAY [1 MatrixSize,1 MatrixSize] OF Real; PROCEDURE CatMang(VAR A: MatrixType); USES Crt; VAR F: FILE OF Real; i : Integer; BEGIN TextColor(yellow); TextBackGround(Red); CrtScr; GotoXY(10,10); Write(‘Chotenfile…’); Readln(tenfile); Assign(f,tenfile); ReWrite(f); FOR i: =1 TO MatrixSize DO FOR j: =1 TO MatrixSize DO Write (f,A[i,j]); Close(f); Writeln(‘Da ghi xong’); Readln; END BÀI TẬP 12 Viết thủ tục đọc liệu từ tập tin vào mảng hai chiều PROCEDURE DocVaoMang(VAR A: MatrixType); USES Crt; VAR F: FILE OF Real; Tenfile: String[11] ; I,j : Integer; BEGIN CrtScr; TextColor(White); TextBackGround(LinghtBlue); GotoXY(10,10); Write(‘Chotenfile…’) Readln(tenfile); Assign(f,fenfile); Reset(f); FOR i: =1 TO MatrixSize DO FOR i: =1 TO MatrixSize DO Read(f,A[i,j]); Writeln(‘Da Nap Xong’); Readln; Close(f) END 2.3 KHẢ NĂNG ÁP DỤNG Bằng thực nghiệm thân, nhận thấy sáng kiến kinh nghiệm đem lại hiệu cao dạy học tin học 11 trường THPT Hoàng Hoa Thám Đề tài áp dụng lớp học thấy rõ hiệu áp dụng tập trước hay đan xen với Bài 16 giới thiệu SGK Tin học 11 Hơn nữa, dễ dàng sử dụng điều kiện nhà trường Vì vậy, áp dụng rộng rãi cho toàn lớp khối 11 Một số tập mở rộng, nâng cao sử dụng để dạy bồi dưỡng học sinh giỏi khối 11, 12 Tuy nhiên tùy thuộc vào đối tượng học sinh mà giáo viên lựa chọn sử dụng tập hợp lí hiệu cao 2.4 KẾT QUẢ ĐẠT ĐƯỢC Giới thiệu tập từ dễ đến khó, trước hay đan xen với 16 – SGK Tin học 11 mang lại hứng thú cho học sinh, giúp cho học sinh cảm thấy dễ dàng học Tin học lớp 11 nói chung kiểu liệu tệp nói riêng, làm cho học sinh u thích mơn học Với kết thực nghiệm giảng dạy có sử dụng tập kiểu tệp sau: Điểm tăng 8,1% lên 9,3%; điểm 6,5-8 tăng từ 40,5% lên 43,4% ; 5- 6,5 điểm giảm từ 41,4% 40,3%; điểm giảm 10% 7% TT Lớp 11B 11C 11F TB Giỏi 12% 7% 9% 9,3% Khá 55% 35% 40% 43,4% TB 30% 48% 43% 40,3% Yếu 3% 10% 8% 7% KẾT LUẬN Trên sở kinh nghiệm thu nhận trình giảng dạy tin học 11 trường THPT Hoàng Hoa Thám, cố gắng cho học sinh 11 thấy khơng q bỡ ngỡ học mơn tin học nói chung phần kiến thức kiểu liệu tệp nói chung Tạo điều kiện cho em thấy mơn tin học 11 có điểm gần gũi với thực tế Đề tài làm công phu, cẩn thận nhiều tâm huyết người làm nhiên với số năm kinh nghiệm giảng dạy tin học 11 nhiều, với đặc thù môn tin học môn học trường phổ thông, kiến thức phần kiểu liệu tệp rộng (đặc biệt kết hợp với kiểu liệu khác) chắn khơng tránh khỏi nhiều sai sót Kính mong quan tâm, giúp đỡ, đóng góp ý kiến để viết chúng tơi hồn thiện Chúng tơi xem hướng để phát triển đề tài Chúng tơi xin chân thành cảm ơn 10 MỤC LỤC PHẦN MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI .1 1.2 ĐIỂM MỚI CỦA ĐỀ TÀI PHẦN NỘI DUNG 2.1 THỰC TRẠNG VẤN ĐỀ 2.2 BIỆN PHÁP GIẢI QUYẾT .2 2.2.1 BÀI TẬP FILE VỚI KIỂU DỮ LIỆU ĐƠN GIẢN .2 2.2.2 BÀI TẬP FILE VỚI KIỂU DỮ LIỆU CÓ CẤU TRÚC 2.2.3 BÀI TẬP FILE VỚI CÁC THUỘC TÍNH TRONG THƯ VIỆN DOS .7 2.3 KHẢ NĂNG ÁP DỤNG 2.4 KẾT QUẢ ĐẠT ĐƯỢC .9 KẾT LUẬN 10 11 TÀI LIỆU THAM KHẢO Ngơn ngữ lập trình Pascal – Qch Tuấn Ngọc Tin học đại cương – Nguyễn Mậu Hân Tin học đại cương – Võ Văn Tiến Dũng – Nguyễn Gia Định Cấu trúc liệu giải thuật – Lê Minh Hoàng http://www.cs.princeton.edu/courses/archive/fall05/cos318/docs/pc-arch.html http://developer.intel.com/design/archives/processors/pro/#datasheets http://www.hardwarecentral.com/hardwarecentral/tutorials/25/1/ 12 ... TÀI GIỚI THIỆU MỘT SỐ BÀI TẬP KHI HỌC KIỂU TỆP Quảng Bình, tháng năm 2019 1 PHẦN MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI Môn Tin học lớp 11 chương trình khó đại đa số học sinh Ở lớp học sinh thiên học tự... phần kiến thức học sinh học tơi cịn đưa thêm số tập kiểu tệp liên kết với kiểu ghi mà học sinh khơng học chương trình tin học 11 Với mục đích trên, giáo viên tìm hiểu sưu tầm tốn kiểu liệu tệp. .. liên quan đến phần kiến thức học sinh học đề tài cịn đưa thêm số tập kiểu tệp liên kết với kiểu ghi mà học sinh không học chương trình tin học 11 - Đề tài đưa toán kiểu liệu tệp từ dễ đến khó