Một số kinh nghiệm đề nâng cao chất lượng học tin học cho học sinh yếu kém lớp 11 khi học chương IV kiểu dữ liệu có cấu trúc

22 207 0
Một số kinh nghiệm đề nâng cao chất lượng học tin học cho học sinh yếu kém lớp 11 khi học chương IV   kiểu dữ liệu có cấu trúc

Đ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 HẬU LỘC I SÁNG KIẾN KINH NGHIỆM MỘT SỐ KINH NGHIỆM ĐỂ NÂNG CAO CHẤT LƯỢNG HỌC TIN HỌC CHO HỌC SINH YẾU KÉM LỚP 11 KHI HỌC CHƯƠNG IV-KIỂU DỮ LIỆU CÓ CẤU TRÚC Người thực hiện: Nguyễn Thị Ninh Giang Chức vụ: Giáo viên Đơn vị công tác: Trường THPT Hậu Lộc I SKKN thuộc lĩnh mực: Tin học THANH HOÁ NĂM 2016 MỤC LỤC Trang PHẦN I: MỞ ĐẦU ……………………………………………………… I LÝ DO CHỌN ĐỀ TÀI …………………………………………… II MỤC ĐÍCH NGHIÊN CỨU ………………………………………… III ĐỐI TƯỢNG NGHIÊN CỨU ……………………………………… IV PHƯƠNG PHÁP NGHIÊN CỨU …………………………………… PHẦN II: NỘI DUNG SÁNG KIẾN KINH NGHIỆM ………………… I CƠ SỞ LÝ LUẬN CỦA SÁNG KIẾN KINH NGHIỆM …………… II THỰC TRẠNG CỦA VẤN ĐỀ ……………………………………… III CÁC GIẢI PHÁP ĐÃ SỬ DỤNG ĐỂ GIẢI QUYẾT VẤN ĐỀ …… GIẢI PHÁP ĐỐI VỚI BÀI 11- KIỂU MẢNG …………………… GIẢI PHÁP ĐỐI VỚI BÀI 12- KIỂU XÂU ……………………… 12 IV HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM VỚI HĐGD ………18 PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ …………………………………21 TÀI LIỆU THAM KHẢO …………………………………………………….22 DANH MỤC CÁC KÝ HIỆU VIẾT TẮT SỬ DỤNG TRONG SÁNG KIẾN KINH NGHIỆM STT Tên viết tắt THPT SGK GV HS HSG SKKN NXB Giải thích Trung học phổ thơng Sách giáo khoa Giáo viên Học sinh Học sinh giỏi Sáng kiến kinh nghiệm Nhà xuất PHẦN I MỞ ĐẦU I LÝ DO CHỌN ĐỀ TÀI Trong chương trình dạy Tin học bậc THPT, nói chương trình Tin Học lớp 11 khó Khó chỗ em học thao tác số phần mềm ứng dụng có sẵn mà em phải học để hiểu ngơn ngữ lập trình bậc cao ( PASCAL) để từ lựa chọn thiết kế thuật tốn viết chương trình hồn chỉnh để thực thuật toán giải lớp tốn cụ thể Đó cơng việc khó đa số học sinh khối 11 đặc biệt khó học sinh yếu Khi em không hiểu dẫn đến thái độ học tập em buồn chán, thờ ơ, thụ động … điều ảnh hưởng lớn đến kết q trình dạy học Bản thân tơi băn khoăn, trăn trở làm để nâng cao chất lượng cho đối tượng học sinh yếu để từ phát triển động học tập gây hứng thú học môn Tin học tất em học lập trình chương trình Tin học 11 Xuất phát từ thực tế qua nhiều năm trực tiếp giảng dạy Tin Học cho khối 11, khuôn khổ sáng kiến kinh nghiệm tơi xin trình bày “Một số kinh nghiệm để nâng cao chất lượng học Tin Học cho học sinh yếu lớp 11 học chương IV- Kiểu liệu có cấu trúc” II MỤC ĐÍCH NGHIÊN CỨU - Tìm giải pháp nâng cao chất lượng học môn Tin học 11 cho học sinh yếu học chương IV III ĐỐI TƯỢNG NGHIÊN CỨU - Học sinh yếu lớp 11 qua năm - Nghiên cứu chương IV- Kiểu liệu có cấu trúc IV PHƯƠNG PHÁP NGHIÊN CỨU - Phương pháp điều tra, quan sát - Phương pháp tổng kết kinh nghiệm - Phương pháp thực nghiệm sư phạm - Phương pháp dùng phương tiện trực quan - Phương pháp rèn luyện tư theo lối mòn - Phương pháp gợi mở vấn đề PHẦN II: NỘI DUNG SÁNG KIẾN KINH NGHIỆM I CƠ SỞ LÝ LUẬN CỦA SÁNG KIẾN KINH NGHIỆM - Kiểu liệu có cấu trúc giúp người lập trình thể ( mơ ) liệu thực tế Từ đó, có khả giải toán đặt thực tế - Mỗi kiểu liệu có cấu trúc xây dựng từ kiểu liệu sở theo số cách thức tạo kiểu ngơn ngữ lập trình quy định - Mỗi kiểu liệu có cấu trúc thường hữu ích việc giải số tốn thường gặp - Trong ngơn ngữ lập trình Pascal, dùng mơ tả kiểu liệu với từ khóa Type tránh lặp lại mơ tả trực tiếp kiểu liệu với từ khóa Var ( cho nhiều biến kiểu này) - Đối với kiểu liệu có cấu trúc, học sinh phải biết cách khai báo, biết thao tác thành phần sở, sử dụng phép toán thành phần sở tùy theo kiểu thành phần sở, điều khác biệt với kiểu liệu đơn giản II THỰC TRẠNG CỦA VẤN ĐỀ Chương IV- Kiểu liệu có cấu trúc chương quan trọng chương trình Tin Học 11 Trong chương sau giảm tải em học sinh khối 11 học hai là: Bài 11- Kiểu Mảng Bài 12 – Kiểu Xâu Để viết chương trình có sử dụng hai kiểu liệu thật khó khăn đối tượng học sinh yếu Phần lớn tập hay thực tế sử dụng kiểu liệu Tuy nhiên, em chưa nắm cách khai báo, cách nhập liệu, cách truy cập đến phần tử thao tác tính tốn kiểu liệu nên việc viết chương trình tỷ lệ thành công chưa cao dẫn đến em dễ chán nản không hứng thú với môn học Từ chỗ em ngồi học khơng tập trung, nói chuyện, làm việc riêng … để giáo viên phải nhắc nhở nhiều dẫn đến ảnh hưởng tập thể Qua điều tra, quan sát, tổng kết kinh nghiệm nhận thấy nguyên nhân sâu xa thực trạng em học sinh yếu chưa tự xác định kiểu liệu thích hợp viết chương trình giải tốn gì, chưa nhớ xác từ khóa, cách khai báo cho kiểu liệu, cú pháp câu lệnh… ( sử dụng ngôn ngữ Tiếng Anh), chưa nắm cách truy cập đến phần tử kiểu liệu, chưa nhớ xác phép tốn, hàm, thủ tục làm việc với kiểu liệu này… Mặt khác, đặc điểm tâm lý học sinh yếu thường tự ti, mặc cảm, khơng tin tưởng vào khả thân Bên cạnh đó, việc dành thời gian quan tâm, hướng dẫn chi li, chi tiết giáo viên chưa nhiều cho đối tượng học sinh III CÁC GIẢI PHÁP ĐÃ SỬ DỤNG ĐỂ GIẢI QUYẾT VẤN ĐỀ Để nâng cao chất lượng học Tin học cho học sinh yếu xin đưa giải pháp cách thực sau: ĐỐI VỚI BÀI HỌC: §11- KIỂU MẢNG Tôi tiến hành qua bước sau: Bước 1: Giới thiệu yêu cầu học sinh phải hiểu khái niệm mảng chiều dãy hữu hạn phần tử kiểu Mảng đặt tên phần tử có số Để mô tả mảng chiều cần xác định kiểu phần tử cách đánh số phần tử mảng cách tham chiếu tới phần tử mảng… Yêu cầu em phải học thuộc từ khóa, tên chuẩn, hàm, thủ tục, câu lệnh học Ngơn ngữ lập trình Pascal Bước 2: Sau giới thiệu cho học sinh đầy đủ khái niệm đề đơn vị học, tơi tiến hành lấy ví dụ nôm na để minh họa cho khái niệm mảng chiều Giúp em khắc sâu có nhìn trực quan, sinh động kiểu liệu Ví dụ: Dãy phịng học tầng gồm phịng học Có thể coi mảng chiều A Nhìn vào dãy phịng minh họa đặt câu hỏi cho HS : - Dãy phịng đặt tên ? - Kiểu phòng ? - Cách đánh số phòng ? - Cách gọi tên phịng ? Lúc đó, đa số em trả lời - Dãy phòng tên A - Kiểu phòng phịng học ( giải thích thêm cho HS hiểu nghĩa cấu trúc) - Cách đánh số phòng từ 1, 2, 3, 4, - Cách gọi tên phòng tên dãy[chỉ số] Ví dụ: A[2] Đến , tơi nhấn mạnh cách tham chiếu tới phần tử mảng Bước 3: Tôi tiến hành cho học sinh nghiên cứu ví dụ tốn nhiệt độ SGK đặt hệ thống câu hỏi cho em suy nghĩ trả lời Chương trình sau: Program Nhietdo_tuan; Var t1, t2, t3, t4, t5, t6, t7, tb: Real; Dem: integer; Begin Write(‘ Nhap vao nhiet cua : ’); Readln(t1,t2,t3,t4,t5,t6,t7); Tb:= (t1+t2+t3+t4+t5+t6+ t7); Dem:= 0; If t1> tb dem := dem +1; If t2> tb dem := dem +1; If t3> tb dem := dem +1; If t4> tb dem := dem +1; If t5> tb dem := dem +1; If t6> tb dem := dem +1; If t7> tb dem := dem +1; Writeln( ‘Nhiet trung binh cua tuan: ’,tb:8:2); Writeln(‘ So nhiet cao hon nhiet trung bình la ; ’,dem); Readln End Hệ thống câu hỏi tơi đưa là: - Em nhận thấy phần khai báo biến? - Nhận xét biến t1, t2, t3, t4, t5, t6, t7 ? - So sánh câu lệnh IF THEN chương trình ? - Nếu toán nhiệt độ năm điều phiền phức xảy ra? Cùng với câu hỏi gợi mở cùa tơi hướng cho học sinh trả lời câu hỏi toán nhiệt độ năm phải khai báo 365 biến nhiệt độ ngày 365 câu lệnh IF THEN để so sánh với nhiệt độ trung bình năm Điều tốn nhiều nhớ cho biến nhiều thời gian để khai báo nhiều biến giống khác số, lặp lặp lại câu lệnh IF… THEN gần giống khác tên biến chứa nhiệt độ ngày Nhấn mạnh thêm , biến t1, t3, …, t7,… biến nhiệt độ ngày khác số ngày ( cụ thể ngày kí hiệu từ 1, 2, …,7, … ) Nói cách khác, cấu trúc biến giống Tại khơng sử dụng mảng chiều? Vì gồm nhiều phần tử kiểu Bước 4: Đến lúc giới thiệu cách khai báo mảng chiều đến học sinh yêu cầu em học thuộc cách khai báo Cách 1: Khai báo trực tiếp biến mảng chiều Var : array[kiểu số] of ; Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng chiều Type = array[kiểu số] of kiểu phần tử; Var : ; Bước 5: Vì đối tượng học sinh yếu nên tiến hành lấy ví dụ bản, tơi trực tiếp thực máy chiếu, giải thích cặn kẽ câu lệnh chạy chương trình cho em xem kết Ví dụ 1: Viết chương trình nhập từ bàn phím mảng chiều khơng q 10 số ngun Đưa hình phần tử mảng vừa nhập Chương trình sau: Program Vd1; Uses crt; Var a: array[1 10] of integer; n, i : byte; Begin Write(‘Nhập số phần tử mảng ’); Readln(n); For i:= to n Begin Writeln(‘ Nhập phần tử thứ ‘,i,’ = ’ ); Readln(a[i]); End; For i:= to n Writeln(a[i]); Readln; End Ví dụ 2: Viết chương trình nhập từ bàn phím dãy số thực khơng q 50 phần tử Đưa hình dãy số vừa nhập Chương trình sau: Program Vd2; Uses crt; Var a: array[1 50] of real; n, i : byte; Begin Write(‘Nhập số phần tử mảng ’); Readln(n); For i:= to n Begin Writeln(‘ Nhập phần tử thứ ‘,i,’ = ’ ); Readln(a[i]); End; For i:= to n Writeln(a[i]: 6:1); Readln; End Ví dụ 3: Sử dụng kiểu mảng chiều để giải toán nhiệt độ ban đầu với N ngày ( N lớn ) - Tôi yêu cầu em nghiên cứu SGK hiểu chương trình Tơi gõ, giải thích câu lệnh thực máy chiếu để em quan sát chạy chương trình - Từ tơi để em phải nhận thấy toán sử dụng kiểu mảng chiều để làm việc tối ưu cách làm cũ Số biến khai báo chứa nhiệt độ cho ngày biến mảng Nhietdo lại câu lệnh IF THEN để so sánh nhiệt độ ngày với nhiệt độ trung bình Vì chương trình trở nên ngắn gọn, dễ đọc, dễ hiểu tiết kiệm thời gian viết chương trình Chương trình sau: Program VD3; Uses crt; Var Nhietdo: array[1 366] of Real; Dem, i, n: integer; Tong, tb: real; Begin Write(‘Nhap so ’); Readln(N); Tong:= 0; For i:= to N Begin Write(‘ Nhap nhiet ’, i ,’ = ’); Readln(Nhietdo[i]); Tong:= tong + Nhietdo[i]; End; Dem:=0; Tb:=tong/n; For i:= to N If Nhietdo[i] > tb then dem:= dem+1; Writeln( ‘ Nhiet trung binh ‘,N, ‘ ngay: ’, tb: 8:2); Writeln( ‘ So nhiet cao hon trung binh: ’, dem ); Readln End Sau ví dụ trên, đưa so sánh đề cách khai báo ví dụ - Ở vd 1, mảng không 10 phần tử kiểu nguyên nên khai báo biến mảng kiểu số [1 10], kiểu phần tử kiểu số nguyên Integer; - Ở vd 2, dãy số không 50 phần tử kiểu thực nên khai báo biến mảng kiểu số [1 50], kiểu phần tử kiểu số thực Real; - Ở vd 3, mảng chứa nhiệt độ ngày năm nên kiểu số [1 366], kiểu phần tử kiểu số thực Real Nhấn mạnh: + Tùy theo đề cho mà em lựa chọn, kiểu liệu, kiểu số cho phù hợp tối ưu + Trong chương trình có sử dụng biến kiểu mảng thường chứa câu lệnh lặp với số lần biết trước FOR DO để duyệt phần tử mảng Với số lần biết trước số phần tử mảng ( thường nhập từ bàn phím) + Qua ba ví dụ tơi làm máy chiếu, nhấn mạnh với em ví dụ ví dụ chương trình để nhập mảng chiều với N phần tử , N nhập từ bàn phím + Tơi bắt buộc em phải học thuộc ví dụ nhập mảng cơng đoạn trước thực thao tác khác làm việc với kiểu mảng chiều + Sau nhập mảng chiều xong, tùy theo yêu cầu toán đề mà ta có câu lệnh thể thao tác Đây cách rèn luyện tư theo lối mịn cho nhóm đối tượng học sinh Bước 6: Tôi số tập cho học sinh áp dụng với mức độ nhẹ nhàng SGK tăng dần độ khó lên để em tự làm Từ em thấy hứng thú, tích cực học tập mơn Hệ thống tập áp dụng đưa cho đối tượng học sinh là: Bài tập 1: Nhập mảng chiều gồm N số nguyên (N, ‘Tin Hoc’ ‘HOA HONG’ < ‘HOA MAI’ + Thủ tục Delete(st,vt,n) thực việc xóa n kí tự biến xâu st vị trí vt VD: Delete(‘Tin hoc’,5,3) cho kết ‘Tin’ +Thủ tục Insert(s1,s2,vt) chèn xâu s1 vào xâu s2, vị trí vt VD: Insert(‘11’,’Tin Hoc ’,8) cho kết ‘Tin Hoc 11’ + Hàm Copy(s, vt, n ) : tạo xâu gồm n kí tự liên tiếp vị trí vt xâu s VD: Copy(‘Tin Hoc’,5,3): cho kết ‘Hoc’ + Hàm length(s) cho giá trị độ dài xâu s VD: length(‘Tin Hoc’) cho kết + Hàm Pos(s1,s2) cho vị trí xuất xâu s1 xâu s2 VD: Pos(‘hoc’,’Tin hoc’) có giá trị + Hàm Upcase(ch) cho chữ in hoa ứng với chữ ch VD: Upcase(‘a’) cho giá trị ‘A’ Bước 4: Vì đối tượng học sinh yếu nên GV phải kiên nhẫn giảng giải ví dụ Đối với này, ví dụ SGK đưa Tôi trực tiếp thực máy chiếu, giải thích cặn kẽ câu lệnh chạy chương trình cho em xem kết Ví dụ 1: Viết chương trình nhập họ tên hai người vào hai biến xâu đưa hình xâu dài hơn, đưa xâu nhập sau Chương trình sau: Program Vd1; Uses crt; Var a, b: string; Begin Write(‘Nhap ho ten thu nhat: ’); Readln(a); Write(‘Nhap ho ten thu hai: ’); Readln(b); If length(a) > length(b) then Write(a) else write(b); Readln; End 13 Ví dụ 2: Viết chương trình nhập hai xâu từ bàn phím kiểm tra kí tự xâu thứ có trùng với kí tự cuối xâu thứ hai khơng Chương trình sau: Program Vd2; Uses crt; Var x: byte; a, b : string; Begin Write(‘Nhap xau thu nhat: ’); Readln(a); Write(‘Nhap xau thu hai: ’); Readln(b); X:= length(b); If a[1] = b[x] then write(‘ Trung ’) Else write( ‘ Khac ’); Readln End Ví dụ 3: Viết chương trình nhập xâu vào từ bàn phím đưa hình xâu viết theo thứ tự ngược lại Chương trình sau: Program VD3; Uses crt; Var i, k: byte; a: string ; Begin Write(‘Nhap xau: ’); Readln(a); K:= length(a); For i:= k downto write(a[i]); Readln; End Ví dụ 4: Viết chương trình nhập xâu vào từ bàn phím đưa hình xâu thu từ sau loại bỏ dấu cách có Chương trình sau: Program VD4; Uses crt; Var i, k: byte; a, b: string ; Begin Write(‘Nhap xau: ’); 14 Readln(a); K:= length(a); b:= ‘’; For i:= to k If a[i] ‘ ’ then b:= b+a[i]; Writeln(‘ Ket qua : ’, b); Readln; End Ví dụ 5: Viết chương trình nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất chữ số có s1 ( giữ nguyên thứ tự xuất chúng ) đưa kết hình Chương trình sau: Program VD4; Uses crt; Var i, k: byte; S1, s2b: string ; Begin Write(‘Nhap xau s1 : ’); Readln(s1); K:= length(s1); S2:= ‘’; For i:= to k If (‘0’

Ngày đăng: 17/10/2017, 09:31

Mục lục

    Người thực hiện: Nguyễn Thị Ninh Giang

    Đơn vị công tác: Trường THPT Hậu Lộc I