Trong quá trình dạy học, tôi nhận thấy việc tiếp cận với lập trình của học sinh còn rất khó khăn, nhất là kỹ năng trong xây dựng thuật toán và mô tả bài toán để tiến tới viết chương trình. Bản chất thuật toán là sáng tạo, tư duy của con người, không phải của máy tính, nếu học sinh không nắm được thuật toán sẽ rất khó để viết được chương trình. Một số chương trình các em viết xong khi chạy chương trình kết quả không như mong muốn vì thuật toán không đúng hoặc không tối ưu. Chính vì vậy để học sinh có thể nắm vững được thuật toán và biết cách mô tả thuật toán đối với một số bài toán trong yêu cầu chuẩn kiến thức, kỹ năng tạo điều kiện để các em có thể thành thạo viết chương trình tốt, tôi đã mạnh dạn ứng dụng Sáng kiến kinh nghiệm “Một số giải pháp giúp học sinh lớp 8, nắm vững các thuật toán và mô tả thuật toán, qua bài “Từ bài toán đến chương trình” .
MỘT SỐ GIẢI PHÁP GIÚP HỌC SINH LỚP NẮM VỮNG CÁC THUẬT TOÁN VÀ MÔ TẢ THUẬT TOÁN QUA BÀI: “TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH” A ĐẶT VẤN ĐỀ Để học tốt lập trình, dù ngôn ngữ xác định toán mô tả thuật toán điều học sinh cần phải nắm vững Việc xác định toán xây dựng thuật toán nội dung quan trọng, không nói quan trọng Nếu học sinh nắm vững kiến thức dễ dàng nhiều việc tiếp thu kiến thức sau, để viết chương trình tốt Tuy ngôn ngữ lập trình Pascal ngôn ngữ có cấu trúc sáng, có tính sư phạm cao, phổ biến, phù hợp với giáo viên học sinh, thường dạy nhà trường dành cho cho người học lập trình Nhưng việc học lập trình mẻ tương đối khó với đa số học sinh lớp Việc nắm thuật toán mô tả thuật toán toán nhiều học sinh không làm tỏ lúng túng Trong trình dạy học, nhận thấy việc tiếp cận với lập trình học sinh khó khăn, kỹ xây dựng thuật toán mô tả toán để tiến tới viết chương trình Bản chất thuật toán sáng tạo, tư người, máy tính, học sinh không nắm thuật toán khó để viết chương trình Một số chương trình em viết xong chạy chương trình kết không mong muốn thuật toán không không tối ưu Chính để học sinh nắm vững thuật toán biết cách mô tả thuật toán số toán yêu cầu chuẩn kiến thức, kỹ tạo điều kiện để em thành thạo viết chương trình tốt, mạnh dạn ứng dụng Sáng kiến kinh nghiệm “Một số giải pháp giúp học sinh lớp 8, nắm vững thuật toán mô tả thuật toán, qua “Từ toán đến chương trình” B GIẢI QUYẾT VẤN ĐỀ I CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ: THUẬT TOÁN (algorithm) để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận Output cần tìm Thuật toán mô tả theo nhiều cách: ngôn ngữ tự nhiên (natural languages), sơ đồ khối (flowcharts) gọi mã giả (pseudocode) loại ngôn ngữ thể thuật toán, không phụ thuộc vào ngôn ngữ lập trình cụ thể Với học sinh, khái niệm thuật toán thuật ngữ mẻ em bắt đầu học lập trình Và với học sinh lớp khả tiếp thu kiến thức lập trình lại khó khăn Đứng trước toán lập trình nhiều em lúng túng không tìm cách giải toán Điều gây hậu học sinh mô tả thuật toán viết chương trình dẫn đến em có tâm lí chán nản không thích học môn học Nắm vững thuật toán biết mô tả thuật toán giúp em có kiến thức lập trình mà cụ thể lập trình Pascal, tạo tiền đề cho sau em học lập trình ngôn ngữ khác II THỰC TRẠNG CỦA VẤN ĐỀ Thực trạng: 1.1 Thực trạng việc dạy nội dung “Từ toán đến chương trình” Nội dung toán thuật toán (bài 5) nội dung quan trọng tương đối khó học sinh Các thuật toán thuật toán học sinh cần tiếp thu Tuy nhiên làm để học sinh hiểu, nắm ghi nhớ thuật toán này, nhiều giáo viên chưa tìm cách để giảng dạy phù hợp với khả tiếp thu học sinh Một số giáo viên lựa chọn toán thuật toán để giới thiệu cho học sinh chưa phù hợp, lúng túng cách truyền đạt dẫn đến học sinh nắm thuật toán máy móc không hiểu chất thuật toán Một số giáo viên khác lại lựa chọn giới thiệu thuật toán mô tả thuật toán hai cách liệt kê bước sơ đồ khối Điều làm phức tạp hóa vấn đề, gây tải cho học sinh dẫn đến việc tiếp thu kiến thức không sâu nhanh quên 1.2 Thực trạng việc học nội dung “Từ toán đến chương trình” Bài toán thuật toán để giải toán nội dung quan trọng lập trình Học sinh nắm vững kiến thức dễ dàng nhiều việc tiếp thu kiến thức sau Tuy nhiên, nhiều học sinh lần học lập trình nên trước toán em tỏ lúng túng khó khăn để tìm thuật toán hay gọi cách giải toán Đa số em bỡ ngỡ cảm thấy xa lạ với môn học lập trình đặc biệt việc tìm thuật toán toán cụ thể Trong chương trình Tin học em bước đầu làm quen với lập trình ngôn ngữ Pascal Nhưng việc nắm kiến thức lập trình đặc biệt thuật toán giới thiệu yếu, nhiều học sinh không nắm thuật toán nắm cách máy móc nên dễ quên Chính dẫn đến nhiều em áp dụng câu lệnh học để viết chương trình cụ thể tập học sau 2 Kết quả: Rất học sinh tìm bước để giải toán, có tìm em không nhớ lâu dẫn đến số lượng học sinh nắm thuật toán mô tả thuật toán thấp, làm cho kết môn học không cao Qua khảo sát khối lớp năm học 2013-2014 chưa áp dụng giải pháp sau học xong 5, với đề kiểm tra 15 phút câu hỏi sau: Câu 1: Hãy INPUT OUTPUT toán sau: a) Xác định số học sinh lớp mang họ Trần b) Tìm số số có giá trị nhỏ n số cho Câu 2: Hãy mô tả thuật toán tìm số lớn ba số a, b, c Kết số học sinh chưa nắm thuật toán nhiều có học sinh nắm thuật toán cách máy móc chưa hiểu chất vấn đề cụ thể: Lớp Số HS Nắm vững thuật toán Chưa nắm vững thuật toán SL % SL % 8A 43 15 34.8 28 65.2 8B 38 12 31.5 26 68.5 Từ thực trạng để học sinh nắm vững thuật toán mô tả thuật toán, mà cụ thể thuật toán “Từ toán đến chương trình” Tin học sử dụng số giải pháp có kết III GIẢI PHÁP VÀ TỔ CHỨC THỰC HIỆN: Để học sinh nắm thuật toán mô tả thuật toán việc giáo viên cần quan tâm học sinh xác định toán Để dẫn dắt đến khái niệm xác định toán, giáo viên dựa vào giả thiết kết luận toán môn Toán để dẫn dắt học sinh xác định Input, Output toán Tin học Trong môn Toán, thường trước bắt đầu giải toán em quen với việc tìm giả thiết kết luận toán Trong Tin học, phần giả thiết điều kiện cho trước (Input), phần kết luận kết cần thu (Output) Có thể sử dụng toán đơn giản, quen thuộc với học sinh để học sinh dễ dàng tìm điều kiện cho trước (giả thiết) kết cần thu (kết luận) toán (không thiết phải lấy ví dụ SGK) Sau giáo viên dẫn dắt học sinh đến khái niệm thuật toán mô tả thuật toán Bước đầu để học sinh nắm thuật toán bước để giải toán Việc mô tả thuật toán cách liệt kê bước mô tả sơ đồ khối Nhưng em bước đầu làm quen với thuật toán mô tả thuật toán, giáo viên không nên giới thiệu cách mô tả sơ đồ khối Mà nên lựa chọn mô tả thuật toán cách liệt kê bước để tránh phức tạp vấn đề phù hợp với trình độ lứa tuổi em Về mô tả thuật toán cách liệt kê gần gũi với cách suy nghĩ học sinh THCS Việc so sánh, đối chiếu thuật toán mô tả cách liệt kê chương trình tương ứng dễ dàng với học sinh Chính lựa chọn toán gần gũi, quen thuộc với học sinh giải pháp mà đưa áp dụng Giải pháp 1: Chọn thuật toán toán công việc, nhiệm vụ gắn liền với sống hàng ngày: Khái niệm toán giải toán trở thành quen thuộc với học sinh môn học khác Toán, Vật lí, Tuy nhiên giáo viên cần giới thiệu toán Tin học không toán lĩnh vực toán học mà nhiệm vụ, công việc cần giải sống thực tiễn (nhiều chẳng liên quan đến toán học) như: tính điểm trung bình môn học học kì, nấu ăn hay điều khiển rô-bốt nhặt rác chẳng hạn Để cho học sinh mở rộng nhận thức khái niệm toán mà em biết môn học khác, giáo viên sử dụng ví dụ toán công việc, nhiệm vụ gắn liền với sống hàng ngày Do quen thuộc nên việc tìm điều kiện cho trước, kết thu toán mô tả thuật toán dễ dàng với học sinh Ví dụ 1: Bài toán “Làm trứng tráng” Với ví dụ giáo viên yêu cầu học sinh tìm Input (điều kiện cho trước), Output (kết cần thu được) toán sau yêu cầu em liệt kê bước để “Làm trứng tráng” INPUT: Trứng, dầu ăn, muối hành OUTPUT: Trứng tráng Mô tả thuật toán: Bước 1: Đập trứng, tách vỏ cho trứng vào bát Bước 2: Cho chút muối hành tươi thái nhỏ vào bát trứng Dùng đũa quấy mạnh Bước 3: Cho thìa dầu ăn vào chảo, đung nóng đổ trứng đun tiếp khoảng phút Bước 4: Lật mặt miếng trứng úp xuống Đun tiếp khoảng phút Bước 5: Lấy trứng đĩa Rõ ràng, hiểu biết chút làm bếp theo trình tự dẫn bước thuật toán nêu tự làm cho trứng tráng Đối với học sinh bước làm quen thuộc, giáo viên hướng dẫn cho học sinh thao thác em thực để “Làm trứng tráng” thuật toán toán mà cần phải mô tả Ví dụ 2: Bài toán “Pha trà mời khách” INPUT: Trà, nước sôi, ấm chén OUTPUT: Chén trà pha mời khách Mô tả thuật toán: Bước 1: Tráng ấm, chén nước sôi Bước 2: Cho trà vào ấm Bước 3: Rót nước sôi vào ấm đợi khoảng đến phút Bước 4: Rót trà chén để mời khách Từ Ví dụ Ví dụ ta thấy toán có thuật toán gần gũi, quen thuộc với học sinh Nên em dễ dàng liệt kê bước cách thường dùng để mô tả thuật toán.Từ giúp em dễ hiểu cách tìm thuật toán mô tả thuật toán cho toán yêu cầu.Qua giáo viên giới thiệu thêm cho học sinh, mô tả khác thuật toán, bước thuật toán thực Mặc dù không nêu rõ khái niệm thuật toán, song thuật toán phải mô tả cụ thể để đối tượng nào, với khả điều kiện nhau, thực thuật toán đạt kết Như học sinh nắm thuật toán dãy hữu hạn thao tác cần thực theo trình tự xác định để thu kết qủa cần thiết từ điều kiện cho trước Từ việc học sinh nắm vững khái niệm toán, thuật toán hình thành cho em kĩ xác định toán (tìm Input, Output) mô tả thuật toán (tìm cách giải toán diễn tả lệnh cần phải thực hiện) đơn giản liệt kê bước toán cụ thể Giải pháp 2: Sử dụng hình ảnh trực quan hướng dẫn học sinh nắm thuật toán mô tả thuật toán: Để học sinh hiểu rõ thuật toán biết cách mô tả trước toán cụ thể giáo viên sử dụng hình ảnh trực quan giúp học sinh tìm thuật toán dễ dàng Ví dụ 3: Một hình A ghép từ hình chữ nhật với chiều rộng 2a chiều dài b hình bán nguyệt bán kính a Tính diện tích hình A b 2a A Rõ ràng với toán cụ thể học sinh lúng túng tìm thuật toán mô tả thuật toán gợi ý giáo viên Trước tiên giáo viên yêu cầu học sinh xác định Input, Output toán sau: INPUT: a bán kính hình bán nguyệt, 2a chiều rộng hình chữ nhật, b chiều dài hình chữ nhật OUTPUT: Diện tích hình A Để em hình dung thuật toán toán này, giáo viên chuẩn bị hình chữ nhật, hình bán nguyệt cắt giấy màu dán lên bảng cho học sinh quan sát: b 2a 2a Học sinh quan sát dễ dàng nhận thấy diện tích hình A diện tích hình chữ nhật cộng với diện tích hình bán nguyệt Như học sinh biết tính diện tích hình chữ nhật, diện tích hình bán nguyệt (diện tích hình tròn chia 2) công thức học Toán học thuật toán toán Cụ thể giáo viên sử dụng kí hiệu phép gán ngôn ngữ lập trình Pascal để hướng dẫn học sinh mô tả thuật toán cụ thể sau đưa dạng tổng quát S1:= 2ab { tính diện tích hình chữ nhật} S2:= ∏a2/2 { tính diện tích bán nguyệt} S:=S1 + S2 { tính diện tích hình A} Mô tả thuật toán: Bước 1: S1 ← 2ab { tính diện tích hình chữ nhật} Bước 2: S2← ∏a2/2 { tính diện tích bán nguyệt} Bước 3: S← S1 + S2 kết thúc Lưu ý: Trong biểu diễn thuật toán người ta thường dùng kí hiệu ← để phép gán giá trị biểu thức cho biến Giáo viên giới thiệu từ ngôn ngữ lập trình cụ thể Pascal khái quát lên thành kiến thức, kĩ lập trình nói chung Cách tiếp cận từ cụ thể đến khái quát phù hợp với phần lớn học sinh THCS Ví dụ : Đổi giá trị hai biến x y Đây toán yêu cầu hoán đổi giá trị hai biến x y Giáo viên sử dụng thuật toán dùng biến phụ z để tráo đổi hai giá trị x y Tuy nhiên học sinh khó tưởng tượng thuật toán Giáo viên lấy ví dụ minh hoạ trực quan việc muốn tráo đổi hai cốc nước Giả sử có hai cốc nước, cốc nước chứa nước màu đỏ, cốc nước chứa nước màu xanh Làm để tráo đổi nước hai cốc nước này? ? Đương nhiên học sinh trả lời phải dùng cốc thứ ba làm trung gian để thực điều Cụ thể: Giáo viên chuẩn bị ba cốc hình dưới, giả sử cốc X chứa nước màu đỏ, cốc Y chứa nước màu xanh cốc Z cốc trung gian, không chứa Các em quan sát nêu cách tráo đổi nước chứa cốc X cốc Y? Với hình ảnh trực quan học sinh biết thao tác để tráo đổi nước hai cốc - Đổ nước đỏ cốc X sang cốc Z; - Đổ nước xanh cốc Y sang cốc X; - Đổ nước đỏ cốc Z sang cốc Y Z X Y X Y Sau thực nước hai cốc tráo sang Như học sinh dễ dàng nhận thấy việc tráo đổi giá trị hai biến tương tự, chương trình phải sử dụng biến z làm biến trung gian để lưu giữ giá trị ban đầu biến x Cụ thể giáo viên sử dụng kí hiệu phép gán ngôn ngữ lập trình Pascal để hướng dẫn học sinh mô tả thuật toán cụ thể sau đưa dạng tổng quát z:=x; {Lưu giá trị biến x vào biến z} x:=y; {Giá trị biến x thay giá trị biến y} y:=z; { Giá trị biến y thay giá trị biến z, giá trị biến z lúc giá trị biết x ban đầu} Đây thuật toán tráo đổi giá trị hai biến x y lúc việc mô tả thuật toán dễ dàng với học sinh thuật toán tráo đổi học sinh nắm rõ: INPUT: Hai biến có giá trị tương ứng a b OUTPUT: Hai biến có giá trị tương ứng b a Mô tả thuật toán: Bước 1: z ← x { Sau bước giá trị z a} Bước 2: x ← y { Sau bước giá trị x b} Bước 3: y ← z { Sau bước giá trị y giá trị z, a, giá trị ban đầu biến x} Ví dụ 5: Tìm số lớn dãy A số a1, a2, …, an cho trước Ý tưởng xây dựng thuật toán ta dùng biến MAX để lưu giá trị phần tử lớn dãy A Việc xác định MAX thực sau: Đầu tiên gán giá trị a1 cho biến MAX Tiếp theo, so sánh số a 2, …, an dãy A với MAX Nếu > MAX, ta gán cho MAX Tuy nhiên học sinh rât khó hình dung thuật toán Với toán cụ thể giáo viên cần chuẩn bị bốn bóng to nhỏ khác (Nếu bóng giáo viên chuẩn bị hộp giấy, hay sử dụng cốc nước…có hình dáng to nhỏ khác để học sinh quan sát được) đánh số từ đến để minh họa - Trước hết, ta giả sử bóng lớn bóng số 1, tức MAX=1 - So sánh MAX (quả bóng số 1) với bóng số Vì bóng số nhỏ bóng số 1, MAX - Tiếp theo, so sánh MAX (quả bóng số 1) với bóng số Vì bóng số lớn bóng số 1, MAX đặt lại (quả bóng số 3) - Cuối so sánh MAX (quả bóng số 3) với bóng số Quả bóng số lớn bóng số 4, MAX (quả bóng thứ 3) Kết quả, bóng lớn bóng thứ Như vậy, việc minh họa thuật toán với trường hợp tìm bóng lớn bốn bóng, cách so sánh bóng từ đến với nhau, giúp học sinh tiếp thu thuật toán nhanh, dễ nhớ Thuật toán mô tả sau: INPUT: Dãy A số a1, a2, …, an (n>=1) OUTPUT: giá trị MAX=max{ a1, a2, …, an} Mô tả thuật toán: Bước 1: MAX ← a1; i ← Bước 2: i ← i+1 Bước 3: Nếu i>n, chuyển đến bước Bước 4: Nếu > MAX, MAX ← Quay lại bước Bước 5: Kết thúc thuật toán Rõ ràng với việc dùng hình ảnh trực quan để minh họa thuật toán, học sinh tiếp thu thuật toán nhanh ghi nhớ thuật toán dễ dàng sâu sắc Giải pháp 3: Mô thuật toán với liệu cụ thể Sau xây dựng thuật toán, người ta thường “thực tay” để thử thuật toán với liệu INPUT khác Sau lần “thực hiện”, kiểm tra kết thu với yêu cầu đề xem có thỏa mãn không Quá trình gọi mô thuật toán Để học sinh hiểu ghi nhớ sâu thuật toán toán, giáo viên chọn thuật toán mà học sinh khó hiểu, khó nhớ để mô lại với liệu cụ thể Ví dụ 6: Tính tổng 100 số tự nhiên Ý tưởng giải toán dùng biến SUM để lưu giá trị tổng Việc tính SUM thực sau: Đầu tiên gán cho SUM giá trị Tiếp theo thêm giá trị 1, 2, 3,…, 100 vào SUM Với thuật toán giáo viên mô liệu N=10 (10 số tự nhiên đầu tiên) cho học sinh quan sát + Mô thuật toán tính tổng N số tự nhiên đầu tiên, với N = 10 (trong SGK, N= 100) Bước I i≤ N 1 Đúng 2 Đúng 3 Đúng 4 Đúng 5 Đúng 6 Đúng 7 Đúng 8 Đúng 9 Đúng 10 10 Đúng SUM (Tổng) 10 15 21 28 36 45 55 11 Sai Kết thúc Như với việc mô số liệu thực tế học sinh củng cố thêm thuật toán vừa học Ví dụ 7: Tìm số lớn dãy số N cho trước: Ý tưởng thuật toán ta dùng biến MAX để lưu giá trị phần tử lớn dãy A Việc xác định MAX thực sau: Đầu tiên gán giá trị a cho biến MAX Tiếp theo, so sánh số a 2, …, an dãy A với MAX Nếu > MAX, ta gán cho MAX Với thuật toán giáo viên “thực tay” để thử liệu dãy số có N=3 ta thực thuật toán với ba số (3, 5, 7) kiểm tra kết MAX nhận bước có phải số lớn ba số không Bước a b c Số lớn 3 3 5 5 7 7 7 Từ giáo viên yêu cầu học sinh thực với liệu khác nhau: Em mô trình thực thuật toán với liệu thử khác (ví dụ: (3, 6, 10); (6, 3, 10); (10, 6, 3);…) cách điền vào bảng đây: Bước a b c Số lớn Sau học sinh nắm vững thuật toán tìm MAX giáo viên luyện thêm cho em cách yêu cầu mô thuật toán tìm số lớn với N lớn (có thể N=9 10) Lưu ý: Giáo viên nên chọn dãy số với N tối đa 10 để học sinh kiểm tra tay cho dễ dàng tránh trường hợp làm phức tạp thêm vấn đề làm học sinh lúng túng 10 + Mô thuật toán tìm số lớn dãy số cho trước: Dãy số i i>n Sai ai> MAX MAX Sai Sai Sai Sai Sai 15 Sai Sai 11 Sai Sai Sai Đúng Sai Sai Đúng Đúng Đúng 5 7 15 15 15 10 Đúng Như với việc mô trực tiếp liệu cụ thể không làm cho học sinh củng cố, hiểu rõ nội dung lí thuyết vừa học mà tạo hứng thú, củng cố niềm tin cho học sinh để em tự tin viết chương trình Tất thuật toán nêu phần câu hỏi tập Bài sử dụng làm ví dụ minh họa để giải câu hỏi tập học sau Do việc rèn luyện kĩ với ví dụ giải số tập tạo điều kiện thuận lợi để học sinh tiếp thu nội dung học IV KIỂM NGHIỆM Qua năm giảng dạy thử nghiệm với giải pháp nêu thấy: Hầu hết em biết cách tìm thuật toán mô tả thuật toán cách liệt kê bước theo chuẩn kiến thức kĩ Những thuật toán toán thuật toán đa số em hiểu rõ chất nắm vững cách giải toán Các em biết vận dụng câu lệnh rẽ nhánh, câu lệnh lặp để viết chương trình hoàn thiện cho kết Năm học 2014-2015 áp dụng giải pháp Sau học sinh học xong khảo sát 15 phút với câu hỏi năm học trước sau: Câu 1: Hãy INPUT OUTPUT toán sau: c) Xác định số học sinh lớp mang họ Trần d) Tìm số số có giá trị nhỏ n số cho Câu 2: Hãy mô tả thuật toán tìm số lớn ba số a, b, c Tỉ lệ học sinh nắm vững thuật toán tăng lên nhiều so với năm trước, số học sinh nắm chưa vững thuật toán giới thiệu giảm rõ rệt Cụ thể sau: Lớp Số HS 8A 8B 34 33 Nắm vững thuật toán SL % 30 88.2 29 87.9 Chưa nắm vững thuật toán SL % 11.8 12.1 11 C KẾT LUẬN VÀ ĐỀ XUẤT Kết luận: Mục tiêu giải pháp rèn luyện kĩ xác định Input, Ouput mô tả thuật toán cách liệt kê bước với việc giới thiệu thuật toán Các thuật toán thuật toán học sinh cần tiếp thu Trong đó, thuật toán tìm số lớn dãy số thuật toán yêu cầu cụ thể chuẩn kiến thức kĩ Hơn nữa, thuật toán đề cập đến thuật toán liên quan đến cấu trúc rẽ nhánh, cấu trúc lặp số toán sau Sau áp dụng giải pháp để giảng dạy nhận thấy: Đa số học sinh hiểu nắm rõ khái niệm toán, thuật toán, biết cách xác định toán mô tả thuật toán phương pháp liệt kê cách thành thạo Học sinh tiếp cận thuật toán với toán cụ thể việc quan sát hình ảnh trực quan em tìm thuật toán dễ dàng mà nhớ lâu thuật toán vừa học ví dụ: nhắc đến thuật toán tráo đổi em hình dung cách tráo đổi hai cốc nước nhờ cốc trung gian thứ ba, hay thuật toán tìm giá trị lớn em nhớ đến xác định bóng lớn nhất… Việc mô thuật toán vừa học với liệu khác kiểm tra kết có với yêu cầu toán hay không, làm cho em lần củng cố, hiểu rõ thuật toán học Điều giúp tạo hứng thú, củng cố niềm tin, gắn kết tốt việc nắm vững thuật toán viết chương trình Do rèn luyện kĩ với thuật toán học giải tập liên quan nên đa số học sinh tiếp thu nội dung sau tốt Đề xuất: 2.1 Đối với Bộ GD&ĐT: Để học sinh học tốt môn lập trình đề nghị cấp có liên quan nên nghiên cứu ví dụ toán sách giáo chỉnh lí phù hợp với trình độ học sinh lớp 2.2 Đối với nhà trường THCS: - Mua bổ sung tài liệu học tập môn lập trình Pascal cho trường để em có điều kiện tham khảo Các giải pháp áp dụng cho hiệu khả quan, nhiên sáng kiến kinh nghiệm tránh khỏi thiếu sót Rất mong góp ý đồng nghiệp để sáng kiến kinh nghiệm hoàn chỉnh XÁC NHẬN CỦA HIỆU TRƯỞNG Nga Sơn, ngày 15 tháng 04 năm 2015 Tôi xin cam đoan SKKN viết, không chép nội dung người khác Người viết Mai Thị Thủy 12 13 [...]... đã hiểu và nắm rõ được khái niệm bài toán, thuật toán, biết cách xác định bài toán và mô tả thuật toán bằng phương pháp liệt kê một cách thành thạo Học sinh được tiếp cận thuật toán với các bài toán cụ thể bằng việc quan sát các hình ảnh trực quan không những các em tìm ra thuật toán dễ dàng mà còn nhớ lâu về các thuật toán vừa được học ví dụ: nhắc đến thuật toán tráo đổi các em hình dung ra cách tráo... với các giải pháp đã nêu tôi thấy: Hầu hết các em đã biết cách tìm ra thuật toán và mô tả thuật toán bằng cách liệt kê các bước theo chuẩn kiến thức và kĩ năng Những thuật toán trong các bài toán ở bài 5 đều là những thuật toán cơ bản đa số các em đã hiểu rõ bản chất và nắm rất vững cách giải các bài toán Các em đã biết vận dụng các câu lệnh rẽ nhánh, câu lệnh lặp để viết một chương trình hoàn thiện và. .. thuật toán này là những thuật toán cơ bản học sinh cần tiếp thu Trong đó, thuật toán tìm số lớn nhất của dãy số là thuật toán được yêu cầu cụ thể trong chuẩn kiến thức kĩ năng Hơn nữa, các thuật toán trên còn đề cập đến những thuật toán liên quan đến các cấu trúc rẽ nhánh, cấu trúc lặp và một số bài toán ở các bài sau Sau khi áp dụng các giải pháp để giảng dạy trong bài 5 tôi nhận thấy: Đa số học sinh. .. trước, số học sinh nắm chưa vững các thuật toán giới thiệu trong bài 5 giảm rõ rệt Cụ thể như sau: Lớp Số HS 8A 8B 34 33 Nắm vững thuật toán SL % 30 88.2 29 87.9 Chưa nắm vững thuật toán SL % 4 11.8 5 12.1 11 C KẾT LUẬN VÀ ĐỀ XUẤT 1 Kết luận: Mục tiêu của các giải pháp trên là rèn luyện kĩ năng xác định Input, Ouput và mô tả thuật toán bằng cách liệt kê các bước cùng với việc giới thiệu thuật toán Các thuật. .. toán và viết chương trình Do được rèn luyện kĩ với các thuật toán trong bài học và giải các bài tập liên quan nên đa số học sinh tiếp thu các nội dung ở các bài sau rất tốt 2 Đề xuất: 2.1 Đối với Bộ GD&ĐT: Để học sinh có thể học tốt hơn môn lập trình đề nghị các cấp có liên quan nên nghiên cứu các ví dụ về bài toán trong sách giáo chỉnh lí phù hợp hơn với trình độ của học sinh lớp 8 2.2 Đối với các. .. tin cho học sinh để các em tự tin viết chương trình Tất cả các thuật toán nêu trên và trong phần câu hỏi và bài tập của Bài 5 đều được sử dụng làm ví dụ minh họa hoặc để giải các câu hỏi và bài tập trong các bài học sau Do vậy việc rèn luyện kĩ với các ví dụ này và giải một số bài tập sẽ tạo điều kiện thuận lợi để học sinh tiếp thu các nội dung trong các bài học tiếp theo IV KIỂM NGHIỆM Qua các năm... Năm học 2014-2015 tôi áp dụng các giải pháp trên Sau khi học sinh học xong bài 5 tôi đã khảo sát 15 phút với câu hỏi của năm học trước như sau: Câu 1: Hãy chỉ ra INPUT và OUTPUT của các bài toán sau: c) Xác định số học sinh trong lớp cùng mang họ Trần d) Tìm số các số có giá trị nhỏ nhất trong n số đã cho Câu 2: Hãy mô tả thuật toán tìm số lớn nhất trong ba số a, b, c Tỉ lệ học sinh nắm vững thuật toán. .. hay thuật toán tìm giá trị lớn nhất các em nhớ ngay đến xác định quả bóng lớn nhất… Việc được mô phỏng thuật toán vừa học với các bộ dữ liệu khác nhau và kiểm tra kết quả có đúng với yêu cầu của bài toán hay không, đã làm cho các em một lần nữa được củng cố, hiểu rõ hơn về các thuật toán được học trong bài 5 Điều này sẽ giúp tạo hứng thú, củng cố niềm tin, gắn kết tốt hơn giữa việc nắm vững thuật toán. .. độ của học sinh lớp 8 2.2 Đối với các nhà trường THCS: - Mua bổ sung tài liệu về học tập môn lập trình Pascal cho các trường để các em có điều kiện tham khảo Các giải pháp trên tôi đã áp dụng và đã cho hiệu quả rất khả quan, tuy nhiên sáng kiến kinh nghiệm này vẫn không thể tránh khỏi những thiếu sót Rất mong sự góp ý của các đồng nghiệp để sáng kiến kinh nghiệm được hoàn chỉnh hơn XÁC NHẬN CỦA HIỆU...+ Mô phỏng thuật toán tìm số lớn nhất trong dãy số cho trước: Dãy số i i>n 5 1 Sai ai> MAX MAX 5 3 2 Sai 4 3 Sai 7 4 Sai 6 5 Sai 3 6 Sai 15 7 Sai 9 8 Sai 11 9 Sai Sai Sai Đúng Sai Sai Đúng Đúng Đúng 5 5 7 7 7 15 15 15 10 Đúng Như vậy với việc mô phỏng trực tiếp bằng bộ dữ liệu cụ thể không chỉ làm cho học sinh được củng cố, hiểu rõ hơn về nội dung lí thuyết vừa học mà còn tạo hứng ... tả thuật toán tìm số lớn ba số a, b, c Kết số học sinh chưa nắm thuật toán nhiều có học sinh nắm thuật toán cách máy móc chưa hiểu chất vấn đề cụ thể: Lớp Số HS Nắm vững thuật toán Chưa nắm vững. .. thấy: Đa số học sinh hiểu nắm rõ khái niệm toán, thuật toán, biết cách xác định toán mô tả thuật toán phương pháp liệt kê cách thành thạo Học sinh tiếp cận thuật toán với toán cụ thể việc quan sát... dụng số giải pháp có kết III GIẢI PHÁP VÀ TỔ CHỨC THỰC HIỆN: Để học sinh nắm thuật toán mô tả thuật toán việc giáo viên cần quan tâm học sinh xác định toán Để dẫn dắt đến khái niệm xác định toán,