SKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặpSKKN Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh và cấu trúc lặp
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập- Tự do- Hạnh phúc THUYẾT MINH MÔ TẢ GIẢI PHÁP VÀ KẾT QUẢ THỰC HIỆN SÁNG KIẾN Tên sáng kiến: Rèn luyện kỹ lập trình Mơn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh cấu trúc lặp Ngày sáng kiến áp dụng lần đầu: 09/2019 Các thông tin cần bảo mật (nếu có): Khơng Mơ tả giải pháp cũ thường làm: Trước áp dụng giải pháp thân chưa xây dựng hệ thống tập phù hợp với nhiều đối tượng học sinh Hạn chế chưa áp dụng giải pháp học sinh tiếp cận với việc lập trình chậm, nhiều thời gian việc làm tập giải tốn cách khó khăn, học sinh không hứng thú học Tin học Khi chưa áp dụng giải pháp học sinh thường lúng túng việc tìm kiếm thuật tốn phù hợp với tốn Sự cần thiết phải áp dụng giải pháp sáng kiến: Sau thời gian áp dụng giải pháp tơi nhận thấy kỹ lập trình em tăng lên đáng kể, có hứng thú học tập Nhiều học sinh biết vận dụng thuật toán toán biết để giải toán mở rộng Học sinh thấy u thích mơn Tin học Mục đích giải pháp sáng kiến: Sáng kiến giúp học sinh có hứng thú học tập mơn Tin học, đặc biệt việc rèn luyện kỹ lập trình để giải tốn Tin học Ngoài rèn luyện kỹ lập trình với tốn bản, học sinh có hứng thú tiếp tục tìm hiểu giải tốn khác khó 2 - Sáng kiến giúp cho giáo viên, học sinh có tư linh hoạt việc lựa chọn, tìm kiếm rèn luyện kỹ lập trình để phát triển lực tư Sáng kiến giúp cho học sinh thấy u thích mơn Tin học - Sáng kiến giúp cho giáo viên, học sinh có thêm hệ thống tập chủ đề cấu trúc rẽ nhánh, cấu trúc lặp - Việc học sinh rèn luyện kỹ lập trình tốn phát triển phẩm chất, lực học sinh, giúp em có tư tốt học tập mơn khác Tốn học, khoa học tự nhiên Và giúp em có kết cao kỳ kiểm tra, kỳ thi Nội dung: 7.1 Thuyết minh giải pháp cải tiến Môn Tin học đưa vào trường THPT phạm vi nước môn học bắt buộc Khi làm quen với môn Tin học, học sinh tỏ hào hứng mơn học bổ ích, đại mang tính thực tế cao Tuy nhiên, học sang Tin học 11 học sinh lại có thái độ thờ việc học vận dụng Tin học vào cc sống ngày làm quen với việc lập trình học sinh thấy khó khăn Xuất phát từ thực tế giảng dạy môn Tin học trường THPT Lạng Giang số đặt câu hỏi mơn học có tính tư cao, mẻ, hấp dẫn mà không thu hút học sinh tiếp thu vận dụng vào sống Tuy nhiên trường với đối tượng học sinh khác giáo viên áp dụng nhiều biện pháp khác để rèn luyện kỹ lập trình để đạt kết tốt Các giáo viên hướng dẫn cho học sinh biết tốn giải với nhiều thuật toán khác thuật toán giải toán lớp toán, thực tế cho thấy đứng trước toán tin học học sinh thường lúng túng xác định thuật toán khơng xác định đươc thuật tốn, việc nhiều nguyên nhân … Tuy nhiên cho tốn tin học có dạng sách giáo khoa, tốn mà em biết em xây dựng vàg hứng thú để xây dựng thuật tốn cho tốn đặt Vì giáo viên chọn tốn để học sinh hứng thú, phát triển để rèn luyện kỹ lập trình cho học sinh Dĩ nhiên cách làm không với giáo viên cách chọn toán để học sinh vận dụng rèn luyện kỹ lập trình lại điều đáng quan tâm Giải pháp “Rèn luyện kỹ lập trình Mơn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh cấu trúc lặp” tơi muốn trình bày kinh nghiệm việc rèn luyện kỹ lập trình cho học sinh học môn Tin học 11 7.2 Giải pháp: - Tên giải pháp: Rèn luyện kỹ lập trình Môn Tin học 11 cho học sinh qua cấu trúc rẽ nhánh cấu trúc lặp - Nội dung: A Các bước tiến hành thực giải pháp Xây dựng hệ thống tập để rèn luyện kỹ lập trình thơng qua buổi học, buổi học nên chọn số toán để học sinh tiếp xúc làm quen với việc lập trình Bước 1: Chọn toán toán quen thuộc với học sinh Bước 2: Xây dựng thuật tốn (Chỉ cần học sinh lập trình mà chưa cần quan tâm đến yếu tố liệu, phạm vi giá trị biến, thời gian chạy chương trình …) Bước 3: Xây dựng thuật tốn mức cao (Quan tâm đến yếu tố như: Dữ liệu, phạm vi giá trị biến, thời gian chạy chương trình …) Tổ chức cho học sinh hình thành kỹ lập trình thơng qua buổi thực hành có hướng dẫn giáo viên phòng máy Tổ chức kiểm tra để thu thập thông tin khả rèn luyện kỹ lập trình học sinh 4 B Nội dung sáng kiến triển khai thông qua buổi học trực tiếp lớp Trong chương trình Tin học lớp 11, sử dụng số hệ thống tập sau để rèn luyện kỹ lập trình cho học sinh: Các toán làm quen với câu lệnh gán Cú pháp câu lệnh gán Pascal: := ; Trong đó: tên biến tên biến đơn, kiểu giá trị biểu thức phải phù hợp với kiểu biến Chức năng: đặt cho biến có tên vế trái dấu “:=” giá trị giá trị biểu thức phải VD: x1:=(-b-sqrt(b*b-4*a*c))/(2*a); Chú ý: biến kiểu thực nhận giá trị kiểu nguyên biến kiểu xâu nhận kiểu kí tự, ngược lại khơng Trước tiên cho học sinh thấy hay phép gán tin học, qua số tập chắn ta phát huy tính kích thích, hăng say học sinh mà chưa học tin lập trình: Bài tốn Viết chương trình tráo đổi giá trị hai biến a b Phương pháp giải: Cách 1: Dùng biến trung gian tg: tg := a; a := b; b := tg; Đoạn chương trình khơng dùng biến trung gian sau sai giá trị ban đầu biến a bị mất, a = b nhận giá trị ban đầu b: a := b; b := a; Cách 2: Không dùng biến trung gian: a := a + b; b := a - b; a := a – b; Bài toán Cho a, viết chương trình tính a10 a3 với u cầu khơng dùng q bốn phép tốn Phương pháp giải: Dùng thêm biến b để nhận giá trị: b := a*a; a := a*b; writeln( ‘a mu 3= ’, a); a := a*b; a := a*a; writeln(‘a mu 10= ’, a) Bài tốn Cho a, viết chương trình tính a5 a13 với u cầu khơng dùng năm phép toán Phương pháp giải: Dùng thêm biến b: b := a; a := a*a; { ta có a2 } a := a*a; { ta có a4 } b := b*a; { ta có a5 } writeln(‘a mu 5= ’, b); a := a*a*b; { ta có a13 } writeln(‘a mu 13= ’, a); Bài toán Cho a, viết chương trình tính a , a12 a28 với yêu cầu không dùng sáu phép toán Phương pháp giải: Dùng thêm biến b: a := a*a; { ta có a2 } a := a*a; writeln( ‘a mu 4= ’, a); b:=a; a := a*a*a; writeln( ‘a mu 12= ’, a); a := a*a; { ta có a2 } a := a*b; writeln(‘a mu 28= ’, a) Các toán với cấu trúc rẽ nhánh cấu trúc lặp * Cú pháp câu lệnh rẽ nhánh: Câu lệnh if – then Dạng thiếu if then ;… Nếu điều kiện thực ; Dạng đủ if then Else ; Nếu điều kiện thực ngược lại thực ; * Cú pháp câu lệnh lặp · Trong lập trình, có thao tác phải lặp lại nhiều lần, ta gọi cấu trúc lặp Lặp thường có loại: - Lặp với số lần biết trước - Lặp với số lần chưa biết trước Cấu trúc lặp với số lần biết trước câu lệnh for-do · Lặp dạng tiến: for := to ; · Lặp dạng lùi: for := downto ; Trong đó: + Biến đếm thường biến kiểu nguyên + Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm Giá trị đầu phải nhỏ hay giá trị cuối + Ở dạng lặp tiến: biến đếm tự tăng dần từ giá trị đầu đến giá trị cuối + Ở dạng lặp lùi: biến đếm tự giảm dần từ giá trị cuối đến giá trị đầu + Tương ứng với giá trị biến đếm, câu lệnh sau thực lần Cấu trúc lặp với số lần chưa biết trước câu lệnh while-do Cú pháp: while ; Trong đó: - Điều kiện biểu thức quan hệ logic - Câu lệnh câu lệnh Pascal - Ý nghĩa: Khi điều kiện cịn cịn thực câu lệnh sau do, sau lại quay lại kiểm tra điều kiện Qua nội dung lý thuyết cấu trúc rẽ nhánh cấu trúc lặp Giới thiệu với học sinh định lí Bohn Jacopini: Mọi q trình tính tốn mô tả thực dựa ba cấu trúc cấu trúc tuần tự, cấu trúc rẽ nhánh cấu trúc lặp Vậy qua học sinh cần nắm việc sử dụng cấu trúc tuần tự, cấu trúc rẽ nhánh cấu trúc lặp để giải toán Tin học Sau học sinh hiểu ý nghĩa vận dụng thành thạo lệnh gán ta hình thành cho học sinh biết cách tư để giải tối ưu toán sử dụng hai cấu trúc là: cấu trúc rẽ nhánh lặp Bài toán Cho hai số a, b Viết chương trình tìm số lớn Phương pháp giải: Cách 1: Sử dụng câu lệnh If Then dạng thiếu If a> b then writeln(‘a la so lon nhat’); If b>a then writeln(‘b la so lon nhat’); Cách 2: Sử dụng câu lệnh If then dạng đủ If a>b then writeln(‘a la so lon nhat’) Else writeln(‘b la so lon nhat’); Khi sử dụng cách học sinh biết cách sử dụng cấu trúc lệnh rẽ nhánh dạng bản: dạng thiếu dạng đủ Bài toán Cho ba số a, b, c Viết chương trình tìm số lớn nhỏ ba số Phương pháp giải: Cách 1: Sẽ sử dụng thông thường mà học sinh hay làm If (a>b)and(a>c) then writeln(‘a la so lon nhat’); If (ac) then writeln(‘b la so lon nhat’); If (ba) then writeln(‘c la so lon nhat’); If (cMax then Max:=c; If b0 then Writeln('Bat phuong trinh co nghiem: x>=',-b/a: 4: 2) Else Writeln('Bat phuong trinh co nghiem: x