SKKN Hướng dẫn học sinh tìm hiểu các kiểu dữ liệu đơn giản và các phép toán trên kiểu dữ liệu thông qua các ví dụ
Sự phát triển như vũ bảo của công nghệ thông tin và truyền thông đóng vai trò không nhỏ trong sự phát triển chung của nhân loại. Đảng và nhà nước đã xác định rõ ý nghĩa và tầm quan trọng của tin học, công nghệ thông tin và truyền thông cũng như yêu cầu đẩy mạnh của ứng dụng công nghệ thông tin, đào tạo thế hệ trẻ năng động, sáng tạo, nắm vững tri thức khoa học công nghệ để làm chủ trong mọi hoàn cảnh công tác và hoạt động xã hội trong thời kỳ công nghiệp hóa và hiện đại hóa đất nước.
Trong thời đại ngày nay, công nghệ thông tin đã thực sự bùng nổ và nó là một ngành khoa học đang phát triển rất mạnh mẽ. Sự bùng nổ thông tin và tốc độ phát triển như vũ bảo của nó khiến cho người thầy không thể dạy hết tất cả các kiến thức cho học sinh.
Do đó người thầy cần phải tìm ra phương pháp dạy học tích cực hơn để tăng hiệu quả dạy và học. Dạy học sinh cách học chủ động, phương pháp học, cách học những điều mà thực tế đòi hỏi thay vì truyền tải một lượng kiến thức quá nhiều mà học sinh không thể nhớ hết để vận dụng.
Là một giáo viên môn tin học tôi luôn trăn trở làm thế nào để học sinh hiểu và yêu thích môn học, tích cực và hứng thú trong từng tiết học. Điều trăn trở đó chỉ được thực hiện khi đổi mới cách thức tổ chức hoạt động học tập của học sinh. Việc tổ chức hoạt động dạy học nhằm phát huy tính tích cực của học sinh là một trong những nhiệm vụ của năm học. Là giáo viên trực tiếp đứng lớp tôi không ngừng phấn đấu trau dồi kiến thức chuyên môn, nghiệp vụ, kiến thức các môn liên quan, thường xuyên học hỏi kinh nghiệm để hoàn thiện hơn trong quá trình giảng dạy.
Vào bậc trung học phổ thông, học sinh mới bắt đầu làm quen với tin học và ở lớp 11 học sinh mới làm quen với viết chương trình (lập trình) nên các em còn rất lúng túng trong việc sử dụng các kiểu dữ liệu để viết câu lệnh. Các bài toán trong thực tế thường có dữ liệu vào và kết quả ra thuộc những kiểu dữ liệu quen thuộc như: số nguyên, số thực, kí tự Khi cần lập trình cho những bài toán như vậy, người lập trình sử dụng các kiểu dữ liệu đó thường gặp một số hạn chế nhất định, phụ thuộc vào các yếu tố như dung lượng bộ nhớ, khả năng xử lý bộ nhớ của CPU, Vì vậy rất khó khăn cho việc dạy và học.
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA TRƯỜNG THPT LÊ HOÀN SÁNG KIẾN KINH NGHIỆM HƯỚNG DẪN HỌC SINH TÌM HIỂU CÁC KIỂU DỮ LIỆU ĐƠN GIẢN VÀ CÁC PHÉP TOÁN TRÊN KIỂU DỮ LIỆU THÔNG QUA CÁC VÍ DỤ Người thực hiện: Lê Thị Hồng Chức vụ: Giáo viên Đơn vị công tác: Trường THPT Lê Hoàn SKKN thuộc lĩnh vực môn: Tin học THANH HÓA NĂM 2016 MỤC LỤC Mở đầu MỤC LỤC Trang A. MỞ ĐẦU Lí do chọn đề tài 2 Mục đích nghiên cứu 4 Đối tượng nghiên cứu 4 Phương pháp nghiên cứu 4 B. NỘI DUNG I. Cơ sở lí luận 5 II. Thực trạng 5 Thuận lợi 5 Khó khăn 5 III. Giải pháp 5 1. Kiểu số nguyên 6 2. Kiểu số thực 10 3. Kiểu ký tự 11 4. Kiểu logic 12 IV. Hiệu quả 13 C. KẾT LUẬN VÀ KIẾN NGHỊ 1. Kết luận 13 2. Kiến nghị 13 Tài liệu tham khảo 14 A. MỞ ĐẦU 1. Lí do chọn đề tài: Sự phát triển như vũ bảo của công nghệ thông tin và truyền thông đóng vai trò không nhỏ trong sự phát triển chung của nhân loại. Đảng và nhà nước đã xác định rõ ý nghĩa và tầm quan trọng của tin học, công nghệ thông tin và truyền thông cũng như yêu cầu đẩy mạnh của ứng dụng công nghệ thông tin, đào tạo thế hệ trẻ năng động, sáng tạo, nắm vững tri thức khoa học công nghệ để làm chủ trong mọi hoàn cảnh công tác và hoạt động xã hội trong thời kỳ công nghiệp hóa và hiện đại hóa đất nước. Trong thời đại ngày nay, công nghệ thông tin đã thực sự bùng nổ và nó là một ngành khoa học đang phát triển rất mạnh mẽ. Sự bùng nổ thông tin và tốc độ phát triển như vũ bảo của nó khiến cho người thầy không thể dạy hết tất cả các kiến thức cho học sinh. Do đó người thầy cần phải tìm ra phương pháp dạy học tích cực hơn để tăng hiệu quả dạy và học. Dạy học sinh cách học chủ động, phương pháp học, cách học những điều mà thực tế đòi hỏi thay vì truyền tải một lượng kiến thức quá nhiều mà học sinh không thể nhớ hết để vận dụng. Là một giáo viên môn tin học tôi luôn trăn trở làm thế nào để học sinh hiểu và yêu thích môn học, tích cực và hứng thú trong từng tiết học. Điều trăn trở đó chỉ được thực hiện khi đổi mới cách thức tổ chức hoạt động học tập của học sinh. Việc tổ chức hoạt động dạy học nhằm phát huy tính tích cực của học sinh là một trong những nhiệm vụ của năm học. Là giáo viên trực tiếp đứng lớp tôi không ngừng phấn đấu trau dồi kiến thức chuyên môn, nghiệp vụ, kiến thức các môn liên quan, thường xuyên học hỏi kinh nghiệm để hoàn thiện hơn trong quá trình giảng dạy. Vào bậc trung học phổ thông, học sinh mới bắt đầu làm quen với tin học và ở lớp 11 học sinh mới làm quen với viết chương trình (lập trình) nên các em còn rất lúng túng trong việc sử dụng các kiểu dữ liệu để viết câu lệnh. Các bài toán trong thực tế thường có dữ liệu vào và kết quả ra thuộc những kiểu dữ liệu quen thuộc như: số nguyên, số thực, kí tự Khi cần lập trình cho những bài toán như vậy, người lập trình sử dụng các kiểu dữ liệu đó thường gặp một số hạn chế nhất định, phụ thuộc vào các yếu tố như dung lượng bộ nhớ, khả năng xử lý bộ nhớ của CPU,Vì vậy rất khó khăn cho việc dạy và học. Vậy để học sinh dễ dàng lĩnh hội được tất cả những kiến thức về những kiểu dữ liệu cơ sở đơn giản và trên từng kiểu dữ liệu đó thì phép toán nào sẽ được sử dụng, tôi đã chọn đề tài: “Hướng dẫn học sinh tìm hiểu về các kiểu dữ liệu đơn giản và các phép toán trên dữ liệu thông qua ví dụ”. 2. Mục đích nghiên cứu: Trong quá trình dạy học và dự giờ thăm lớp qua các môn học, tôi nhận thấy để có thể tạo ra được những giờ học hứng thú, học sinh có thể tập trung và yêu thích môn học, phát huy được tính sáng tạo trong tư duy và suy nghĩ thì người giáo viên đóng vai trò vô cùng quan trọng ở trong mỗi tiết học đó, từ việc dẫn dắt vấn đề cho đến phần giới thiệu vào nội dung đòi hỏi mỗi người giáo viên luôn phải có sự chuẩn bị kỹ càng, ngoài ra còn phải chuẩn bị thêm các thiết bị, đồ dùng dạy học, các phương tiện, sao cho phù hợp với kiến thức nhưng việc chuẩn bị quá nhiều thứ trong một giờ học thì mất rất nhiều thời gian. Vì thế trong nội dung đề tài này tôi đã đưa ra một phương pháp giảng dạy cho học sinh lĩnh hội kiến thức mới thông qua những ví dụ minh họa. 3. Đối tượng nghiên cứu: Nghiên cứu dạy học lập trình trong chương trình Tin học phổ thông, đặc biệt là phần một số kiểu dữ liệu chuẩn và các phép toán trên dữ liệu – SGK lớp 11. Nghiên cứu các tài liệu liên quan đến các kiểu dữ liệu chuẩn và các phép toán trên dữ liệu Nghiên cứu một số tài liệu về đổi mới phương pháp giáo dục. Nghiên cứu hoạt động dạy và học của giáo viên và học sinh khối 11 ở trường THPT. 4. Phương pháp nghiên cứu: - Phương pháp nghiên cứu xây dựng cơ sở lý thuyết; - Phương pháp điều tra, xử lý số liệu. B. NỘI DUNG: I. Cơ sở lý luận: Để bước vào học các kiểu dữ liệu ta cần phải biết hai khái niệm dữ liệu và kiểu dữ liệu. Dữ liệu: Máy tính được dùng để xử lý thông tin. Các thông tin được nhập và lưu trữ trong bộ nhớ dưới nhiều dạng khác nhau: Có thể là số, là chữ, là hình ảnh, âm thanh,mà ta gọi chung là dữ liệu. Dữ liệu rất đa dạng đòi hỏi phải tổ chức và phân phối bộ nhớ hợp lý để lưu trữ và xử lý tốt các dữ liệu. Kiểu dữ liệu: Một kiểu dữ liệu là sự qui định về hình dạng, cấu trúc và các gía trị cuả dữ liệu cũng như cách biểu diễn và xử lí dữ liệu. Đối với ngôn ngữ lập trình pascal, các kiểu dữ liệu chung được chia thành hai loại: + Dữ liệu có cấu trúc. + Dữ liệu không có cấu trúc. Trong mục này chúng ta chỉ tìm hiểu những kiểu dữ liệu đơn giản không có cấu trúc. Kiểu dữ liệu đơn giản không cấu trúc của pascal bao gồm: + Kiểu số nguyên (Integer). + Kiểu số thực (Real). + Kiểu logic (Boolean). + Kiểu kí tự (Char). II. Thực trạng: Thuận lợi: Đều là giáo viên trẻ, đạt chuẩn, luôn có ý thức học hỏi để nâng cao chuyên môn của bản thân. Luôn cố gắng vận dụng tối đa những gì sẵn có nhằm mang lại giờ dạy có chất lượng lôi cuốn học sinh. Khó khăn: Qua thực tế giảng dạy ở trường THPT Lê Hoàn các năm học qua, tôi nhận thấy khi học đến chương trình Tin học lớp 11 đa số học sinh đều nhận xét bộ môn này rất khó, nên nhiều học sinh chưa thực sự yêu thích, luôn coi nhẹ và thờ ơ với việc học môn tin học. Đa số học sinh ở vùng nông thôn nên ít có điều kiện tiếp xúc với máy tính. Trang thiết bị cho phòng học bộ môn Tin học còn nhiều hạn chế: Số máy tính trang bị cho học sinh thực hành đã xuống cấp, cũ kỹ, số lượng máy còn ít trung bình phải từ 3 – 4 em / một máy. Trang thiết bị hỗ trợ cho phòng máy hầu như không có. Với việc học lập trình mang tính trừu tượng làm cho các em bỡ ngỡ, lúng túng và thậm chí thấy khó hiểu dẫn đến không thích học. Tuy nhiên cũng có một số ít học sinh rất yêu thích Tin học và thích tìm hiểu một số bài toán, dạng toán ngoài sách giáo khoa. Đội ngũ giáo viên tin học còn đang rất trẻ về tuổi nghề nên ít kinh nghiệm về giảng dạy, vì vậy bài tập thực hành còn ít, hầu như chỉ bó gọn trong sách giáo khoa. Vận dụng và sử dụng trang thiết bị về công nghệ thông tin còn ít. III. Giải pháp: Nhằm góp phần nâng cao chất lượng dạy và học môn Tin học ở trường THPT Lê Hoàn, tôi đã thử nghiệm và đưa ra giải pháp giúp học sinh hiểu và vận dụng được các kiểu dữ liệu đơn giản để khai báo biến cho đúng phạm vi lưu trữ và với từng kiểu dữ liệu thì phép toán nào sẽ được thực hiện thông qua một số ví dụ trong và ngoài sách giáo khoa để minh họa, giải pháp cụ thể như sau: 1. Kiểu số nguyên: Các kiểu số nguyên: Kiểu số nguyên thông dụng nhất là Integer. Ngoài ra còn có 4 kiểu khác: Longint, Shortint, Word, Byte. Sau đây là bảng liệt kê những kiểu số nguyên: Tên kiểu Phạm vi giới hạn Số byte Shortint -128127 1 Byte 0255 1 Integer -3276832768 2 Word 065535 2 Longint -21474836482147483647 4 Khi các biến nguyên nhận các giá trị là các số nguyên nằm ngoài phạm vi giới hạn thì máy sẽ báo lỗi “const out of range”. Ví dụ 1: Khai báo một biến A có kiểu là Integr như sau: Var A: Integer; Trong thân chương trình chính ta có phép gán như sau: A:= -7200; Câu lệnh này đúng vì số -7200 nằm trong phạm vi giới hạn của kiểu Integer ( - 32768 < 7200< 32768). Nếu ta có lệnh gán A: = 32769; thì chương trình sẽ báo lỗi vì biến A nhận số 32769 và số 32769 vượt quá giới hạn kiểu Integer (-32768< 32768 < 32769). Ví dụ 2: PROGRAM VD2; VAR C, D : Byte; E, F : Shortint; G, H: Word; BEGIN C: = -1; (1) D: = 200; (2) E : = -30; (3) F : = -130; (4) G : = 56235; (5) H := -1; (6) Writeln(‘C=’, C, ‘D=’, D, ‘E =’, E); Writeln(‘F=’, F, ‘G=’, G, ‘H =’, H); Writeln (‘ Nhấp Enter để kết thúc’); Readln; END. ? Câu hỏi 1: 6 biến C, D, E, F, G, H thuộc những phạm vi nào? ? Câu hỏi 2: 6 phép gán trên, phép gán nào đúng, phép gán nào sai? Trả lời câu hỏi 1: Hai biến C, D có kiểu dữ liệu là Byte nên nó thuộc phạm vi từ 0 đến 255. E và F có kiểu dữ liệu là Shortint nên nó thuộc phạm vi từ - 128 đến 127. G và H có kiểu là Word thuộc phạm vi từ 0 đến 65535. Trả lời câu hỏi 2: Phép gán (1) sai vì C thuộc phạm vi từ 0 đến 255 và ở đây ta gán số âm nên ngôn ngữ không chấp nhận. Phép gán (2) đúng vì 200 thuộc phạm vi của biến D. Tương tự các phép gán (3) đúng, (4) sai, (5) đúng, (6) sai. b. Các phép toán được phép sử dụng trên kiểu số nguyên: + Các phép toán số học: Kí hiệu Ý nghĩa Ví dụ DIV Phép chia lấy phần thương (nguyên) không lấy phần dư 7 div 3 cho kết quả là 2 MOD Phép chia lấy phần dư (nguyên) không lấy phần thương 7 mod 3 cho kết quả là 1 + Phép cộng - Phép trừ * Phép nhân / Phép chia kết quả là số thực Độ ưu tiên của phép toán trên: Độ ưu tiên thứ nhất: *, / , DIV, MOD. Các phép toán này cùng độ ưu tiên. Độ ưu tiên thứ 2: +, -. Các phép toán này cùng độ ưu tiên. Nếu các phép toán cùng độ ưu tiên và có trong một biểu thức thì nó được thực hiện lần lượt theo thứ tự từ trái sang phải. Ví dụ 1: Ta có biểu thức A: = 17 DIV 3 MOD 7; Kết quả A= 5. Vì hai phép toán cùng độ ưu tiên nên thao thứ tự thực hiện từ trái qua phải lấy 17 DIV 3=5 ( 17 chia 3 có thương là 5 và dư 2 nhưng DIV chỉ lấy số thương nên kết quả lá 5), sau đó lấy 5 MOD 7 = 5 ( 5 chia cho 7 có thương là 0 và dư 5 nên kết quả là 5 chỉ lấy số dư). Kết quả cuối cùng là 5. Ví dụ 2: Ta có biểu thức B: = 12/5 + 3*2 – 4; Kết quả B = 4.4 (B là kiểu số thực (Real)). Vì hai phép toán nhân và chia cùng độ ưu tiên và độ ưu tiên cao hơn phép cộng, phép trừ nên được thực hiện trước và từ trái qua phải 12 / 5 = 2.4 (kết quả là số thực vì chia như bình thường ở ngoài), tiếp theo đến phép nhân 3*2 = 6 thực hiện hai phép nhân và chia xong, tiếp tục thực hiện phép cộng 2.4 +6 = 8.4, đến phép trừ 8.4 – 4 = 4.4). Kết quả cuối cùng của B là 4.4. Lưu ý cần nhớ: Công dụng từng phép toán; Độ ưu tiên của từng phép toán; Nếu các phép toán cùng cấp đợu tiên tồn tại trong một biểu thức thì thực hiện từ trái qua phải. c. Các phép toán so sánh dùng trong kiểu số nguyên Với các ví dụ trong bảng a và b là số nguyên; Kí hiệu Ý nghĩa Ví dụ = Bằng nhau a = b < Nhỏ hơn a<b <= Nhỏ hơn hoặc bằng a<=b Khác nhau ab > Lớn hơn a>b >= Lớn hơn hoặc bằng a>=b Đối với các phép toán này thì sau khi so sánh ta thu được kết quả là một giá trị logic đúng (TRUE) hoặc sai (FALSE). Ví dụ : Ta có một số biểu thức so sánh như sau: 3=4; Biểu thức này trả về kết quả là FALSE (sai); 5=5; Biểu thức này trả về kết quả là TRUE (đúng); 4<=7; Biểu thức này trả về kết quả là TRUE (đúng); 4>=3; Biểu thức này trả về kết quả là TRUE (đúng); 79; Biểu thức này trả về kết quả là TRUE (đúng); 33; Biểu thức này trả về kết quả là FALSE (sai); 3>3; Biểu thức này trả về kết quả là FALSE (sai); 3>=3; Biểu thức này trả về kết quả là TRUE (đúng); d. Các hàm và thủ tục có đối số nguyên thông dụng - Hàm PRED(n): Hàm này trả về số nguyên đứng ngay trước n. Ví dụ: A = PRED(3); Kết quả A = 2 vì số nguyên đứng trước số 3 là số 2; B = PRED(-3); Kết quả B = - 4. Vì số nguyên đứng trước số - 3 là số - 4 - Hàm SUCC(n): Hàm này trả về số nguyên đứng ngay sau n. Ví dụ: Ngược với hàm trên thì hàm này trả về số nguyên đứng sau số đã cho. A = SUCC(3); Kết quả A = 4. Vì số nguyên đứng sau số 3 là 4; B = SUCC(-3); Kết quả B = - 2. Vì số nguyên đứng sau số - 3 là - 2; - Hàm ODD(n): Hàm trả về giá trị logic là TRUE nếu n lẻ, là FALSE nếu n là chẵn. Ví dụ: ODD(1) = TRUE; Hàm này trả về (đúng) TRUE vì số 1 là lẻ. ODD(2) = FALSE; Hàm này trả về (sai) FALSE vì số 2 là số chẵn. - Thủ tục INC(n): Tăng giá trị của n lên 1 đơn vị. Ví dụ: Với biến A là kiểu nguyên và được gán hay nhập vào trước khi gọi hàm (hàm này có sẵn nên không cần định nghĩa). PROGRAM VD; VAR A: integer; BEGIN Writeln(‘ Xin chao!’); Write(‘ Chuong trinh vi du ham INC’); A:= 4; INC(A); Write(‘ Ket qua bien A sau khi dung ham INC la:’,A); Write(‘ Nhan Enter de ket thuc’); Readln; END. Kết quả của chương trình trên A = 5; - Thủ tục DEC(n): Giảm giá trị của n đi 1 đơn vị. 2. Kiểu số thực: Các kiểu số thực: - Tương tự như kiểu số nguyên, kiểu số thực là một tập hợp các số thực có thể biểu diễn trên máy tính được định nghĩa với từ khóa REAL. - Ngoài kiểu số thực REAL còn có kiểu EXTENDED. Phạm vi giá trị và số byte dùng để lưu trữ trong bộ nhớ của hai kiểu số thực này được biểu diễn như sau: Tên kiểu Phạm vi giá trị Số byte Real 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 2,9 x 10-39 đến 1,7 x 1038 6 Extended 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-4932 đến 104932 10 * Có thể biểu diễn số thực bằng hai cách: - Cách thông thường, dấu phẩy thập phân được thay bằng dấu chấm thập phân. Ví dụ: 12.0 -123.67 - Viết số dưới dạng khoa học có phần mũ và phần định trị. Ví dụ: 9.213E+02 ( có giá trị = 921.3) 9213E-01 ( có giá trị = 921.3) b. Các phép toán đối với số thực: Đối với các phép toán số học và logic trong kiểu số nguyên đều dùng được cho kiểu số thực, ngoại trừ hai phép toán DIV và MOD thì không dùng cho kiểu số thực. c. Những hàm số học chuẩn dùng cho kiểu số thực và số nguyên. Hàm ABS(x): Cho ta giá trị tuyệt đối của x tức là |x|; Hàm EXP(x): Tính ex; Hàm FRAC(x): Cho số thực bằng phần lẻ của x; Hàm INT(x): Cho số thực bằng phần nguyên của x; Hàm LN(x): Tính ln(x), x>0; Hàm ODD(n): Trả lại giá trị TRUE nếu n lẻ, giá trị FALSE nếu n chẳn Hàm PRED(n): Giảm giá trị n xuống 1; Hàm ROUND(x): Làm tròn x Hàm SQR(x): Tính giá trị bình phương của x; Hàm SQRT(x): Tính căn bậc hai của x, x>0; Các hàm SIN(x), COS(x) và ARCTAN(x): Tính sinx, cosx, arctgx; Hàm SUCC(n): Tăng giá trị của n lên 1; Hàm TRUNC(x): Lấy phần nguyên của x; 3. Kiểu ký tự: a. Định nghĩa: Trong máy tính, ngoài khả năng xử lý các kiểu dữ liệu bằng số thực và số nguyên chúng ta còn có thể xử lý các dữ liệu là các chữ viết. Các ký tự chữ viết mà ta thường dùng là các chữ cái a, b, c và các chữ số 0, 1, 2, 3 8, 9, các dấu phân cách. Kiểu dữ liệu này được định nghĩa với từ khóa CHAR. Để trao đổi thông tin được dễ dàng chúng ta cần phải sắp xếp, đánh số thứ tự các ký tự. Cách sắp xếp như vậy tạo thành một bảng mã ASCII. b. Các hàm chuẩn dùng cho kiểu kí tự. * Hàm CHR(n): Với n là một số nguyên thì hàm này trả về ký tự tương ứng với số nguyên đó. Số n nằm trong khoảng từ 0 đến 255. Ví dụ: PROGRAM VD; VAR a: integer; b: char; BEGIN Writeln(‘Xin chao! Chuc ban thanh cong’); Writeln(‘ Hien thi bang ma ASCII’); Writeln(‘ ’); For a: = 1 to 255 do Begin b:= CHR(a); Write(‘ ’, a); Write(‘ ’, b); End; Writeln(‘ ’); Writeln (‘ Nhan mot phim bat ky de ket thuc ’); Readln; END. Chương trình trên là hiển thị bảng mã ASCII cùng với mã của chúng. Hàm ORD(ch): Cho biết mã của ký tự ch; Hàm PRED(ch): Cho ký tự đứng ngay trước ký tự ch trong bảng mã. Hàm SUCC(ch): Cho ký tự đứng ngay sau kí tự ch trong bảng mã. Hàm UpCase(ch): Đổi ký tự ch thành chữ hoa. 4. Kiểu logic (Boolean) a. Khái niệm: Kiểu dữ liệu Boolean là một đại lượng chỉ có hai giá trị là TRUE và FALSE, không phân biệt chữ hoa hay chữ thường. Mỗi giá trị boolean chiếm một byte nhớ. Ví dụ: VAR K: Boolean; Ta có thể gán: K : = True; Hoặc K := False; b. Các phép toán trên kiểu Boolean: Đối với kiểu dữ liệu này ta có 4 phép toán logic sau: NOT, AND, OR, XOR. Thứ tự ưu tiên các phép toán như sau: NOT ưu tiên thứ nhất, độ ưu tiên thứ hai là AND, độ ưu tiên thứ ba là OR và cuối cùng có độ ưu tiên thứ tư là XOR. Phép toán NOT. A NOT A True False False True Phép toán AND, OR và XOR. A B A and B A or B A xor B True True True True False True False False True True False True False True True False False False False False Ví dụ: FALSE AND TRUE = FALSE NOT FALSE = TRUE Chúng ta có thể tóm tắt qui tắc thực hiện phép AND và OR như sau: Phép AND chỉ cho kết quả là TRUE khi và chỉ khi hai toán hạng đều là TRUE; Phép OR chỉ cho kết quả là FALSE khi và chỉ khi hai toán hạng đều là FALSE; Phép XOR luôn luôn cho kết quả là TRUE khi hai toán hạng khác nhau. Còn nếu hai toán hạng giống nhau, XOR sẽ cho kết quả là FALSE; IV. Hiệu quả: Tôi áp dụng phương pháp trên ở 2 nhóm học sinh có học lực môn Tin học tương đương nhau thông qua việc kiểm tra bài cũ, kiểm tra 15 phút, kết quả thu được như sau: - Nhóm không sử dụng phương pháp trên (nhóm đối chứng): Lớp Sĩ số Đạt yêu cầu Không đạt yêu cầu Số lượng % Số lượng % 11A2 48 27 61 21 39 11A4 47 25 53 22 47 - Nhóm thực nghiệm (có sử dụng phương pháp mới): Lớp Sĩ số Đạt yêu cầu Không đạt yêu cầu Số lượng % Số lượng % 11A1 48 40 83 8 17 11A3 46 36 78 10 22 C. KẾT LUẬN I. Kết luận: Sau khi nghiên cứu và thử nghiệm tôi nhận thấy cần có thời gian nhiều hơn để thử nghiệm vì vẫn còn một số em chưa đạt yêu cầu. Tin học là một môn học còn khá mới mẻ với học sinh THPT. Các em mới làm quen với lập trình (viết chương trình) nên vẫn còn lúng túng khi sử dụng các kiểu dữ liệu cho việc khai báo biến và các phép toán sử dụng trên từng kiểu dữ liệu. Vì vậy chúng ta cần phải tìm tòi sáng tạo cách dạy, tạo cho học sinh hứng thú khi tiếp thu bài. Đồng thời kết hợp nhiều phương pháp trong quá trình giảng dạy. Đội ngũ giáo viên tin học còn đang rất trẻ về tuổi nghề nên ít kinh nghiệm về giảng dạy, vì vậy bài tập thực hành còn ít, hầu như chỉ bó gọn trong sách giáo khoa. Vận dụng và sử dụng trang thiết bị về công nghệ thông tin còn ít. II. Kiến nghị: Trong quá trình lên lớp và thực hiện đề tài tôi có một số kiến nghị như sau: - Nhà trường cần bổ sung thêm cơ sở vật chất của trường học, đặc biệt là máy tính thực hành cho học sinh và lắp thêm máy chiếu ở phòng thực hành cho giáo viên. Không thể nói rằng học sinh sẽ hứng thú học tập nếu cơ sở vật chất không đủ để đáp ứng. - Nhà trường cũng như các cơ quan ban ngành có liên quan tạo điều kiện về vật chất, tinh thần, thời gian để có thể tổ chức các buổi học tập kinh nghiệm cho giáo viên. Rất mong Nhà trường, Sở giáo dục, ngành có kế hoạch đầu tư về cơ sở vật chất cũng như tạo điều kiện quan tâm đối với đội ngũ giáo viên Tin học trẻ. Tài liệu tham khảo: 1. Tin học 11 (SGK) – NXB Giáo dục – Hồ Sĩ Đàm – Chủ biên Tin học 11 (SGV) – NXB Giáo dục – Hồ Sĩ Đàm – Chủ biên Ngôn ngữ lập trình Pascal của Quách Tuấn Ngọc Học nhanh pascal bằng ví dụ trong 15 giờ của tác giả Cao Bá Thành Một số SKKN và ý kiến của đồng nghiệp. Trên đây là sáng kiến kinh nghiệm mà tôi đã hoàn thành. Rất mong được sự đóng góp ý kiến của đồng nghiệp và Hội đồng khoa học để sáng kiến của tôi hoàn thiện hơn. Tôi xin chân thành cảm ơn! XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Thanh Hóa, ngày 5 tháng 6 năm 2016 Tôi xin cam đoan đây là SKKN của mình viết không sao chép của người khác. ( Kí và rõ họ tên) Lê Thị Hồng
Tài liệu đính kèm:
- skkn_huong_dan_hoc_sinh_tim_hieu_cac_kieu_du_lieu_don_gian_v.doc