1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(SKKN 2022) Dạy học cấu trúc rẽ nhánh trong C++ theo định hướng phát triển năng lực học sinh

23 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 151,5 KB

Nội dung

Thực trạng của vấn đề trước khi áp dụng SKKN Từ thực tiễn giảng dạy phần cấu trúc rẽ nhánh trong chương trình tin họclớp 11 tại trường THPT Tống Duy Tân trước đây khi còn sử dụng ngôn n

Trang 1

MỤC LỤC

Trang

I Mở đầu ……… 2

1.1 Lí do chọn đề tài ……….……… 2

1.2 Mục đích nghiên cứu ……….……… 3

1.3 Đối tượng nghiên cứu ……… 3

1.4 Phương pháp nghiên cứu ……….……… 3

II Nội dung sáng kiến kinh nghiệm ……….…… 3

2.1 Cơ sở lí luận ……… ……….…… 3

2.2 Thực trạng vấn đề trước khi áp dụng SKKN ……… … 4

2.3 Giải quyết vấn đề và tổ chức thực hiện ……… 4

2.4 Hiệu quả bước đầu của SKKN ……… …….… 18

III Kết luận, kiến nghị ……….……… …… 19

3.1 Kết luận ……… ………… 19

3.2 Kiến nghị ……… …… … 20

Trang 2

DẠY HỌC CẤU TRÚC RẼ NHÁNH TRONG C++

THEO ĐỊNH HƯỚNG PHÁT TRIỂN NĂNG LỰC HỌC SINH

I MỞ ĐẦU 1.1 Lí do chọn đề tài.

Qua nghiên cứu thực tế dạy học cho thấy việc rèn luyện phương pháphọc tập cho học sinh không chỉ là một biện pháp nâng cao hiệu quả dạy học màcòn là mục tiêu dạy học Hiện nay một số học sinh học rất chăm chỉ nhưng vẫnhọc chưa tốt, nhất là ở các môn tự nhiên, những em này thường học bài nào biếtbài đấy, học phần sau đã quên phần trước và không biết liên kết các kiến thứcvới nhau, không biết vận dụng kiến thức đã học trước đó vào những phần sau.Phần lớn số học sinh này khi đọc sách hoặc nghe giảng trên lớp không biết cách

tự ghi chép để lưu thông tin, lưu kiến thức trọng tâm vào trí nhớ của mình Dạyhọc theo định hướng phát triển năng lực học sinh sẽ học được phương pháp học,tăng tính độc lập, chủ động, sáng tạo và phát triển tư duy Cách học này còn pháttriển được năng lực riêng của từng học sinh không chỉ về trí tuệ, hệ thống hóakiến thức (huy động những điều đã học trước đó để chọn lọc các ý để ghi) màcòn là sự vận dụng kiến thức được học qua sách vở vào cuộc sống Kể từ nămhọc 2014 - 2015, hình thức dạy học theo định hướng phát triển năng lực đã tậphuấn đến từng giáo viên Phương pháp có ưu điểm là phát huy tối đa tính sángtạo của học sinh, phát triển năng khiếu Tất cả những điều đó làm học sinh giảm

áp lực trong học tập

Phương pháp Dạy học theo định hướng phát triển năng lực trong dạy học Tinhọc sẽ dần dần hình thành cho học sinh tư duy mạch lạc, hiểu biết vấn đề mộtcách sâu sắc, có cách nhìn vấn đề một cách hệ thống, khoa học Bắt đầu từ nămhọc 2020 – 2021 Bộ GD&ĐT cho phép các cơ sở giáo dục lựa chọn ngôn ngữlập trình có tính cập nhật, hiện đại và thông dụng như Python, C, C++…Chính

vì vậy, tôi mạnh dạn viết sáng kiến “DẠY HỌC CẤU TRÚC RẼ NHÁNH

TRONG C++ THEO ĐỊNH HƯỚNG PHÁT TRIỂN NĂNG LỰC HỌC SINH” Hy vọng rằng những kinh nghiệm này của tôi có thể góp phần giúp các

em học sinh hiểu bài hơn và có hứng thú hơn với môn Tin học

Trang 3

1.2 Mục đích nghiên cứu

Mục tiêu nghiên cứu của đề tài là giúp các em học sinh lớp 11 khi học cấutrúc rẽ nhánh thay vì cách tiếp cận theo nội dung sẽ là cách tiếp cận theo địnhhướng phát triển năng lực Thông qua các ví dụ và bài tập học sinh sẽ biêt vậndụng cấu trúc rẽ nhánh để viết chương trình Đồng thời thông qua các bài tậpnày để phát triển năng lực tư duy phát hiện và giải quyết vấn đề, tư duy sáng tạocho học sinh

1.3 Đối tượng nghiên cứu

Đối tượng nghiên cứu của đề tài là cấu trúc rẽ nhánh trong C++ ở chươngtrình tin học 11 Sử dụng hình thức dạy học theo định hướng phát triển năng lực

để học sinh nắm vững và vận dụng thành thạo cấu trúc rẽ nhánh

1.4 Phương pháp nghiên cứu

Nghiên cứu lí luận: Nghiên cứu các tài liệu ngôn ngữ lập trình C++ nói

chung, cấu trúc rẽ nhánh trong C++ nói riêng trong chương trình tin học 11

Nghiên cứu thực tiễn: Khảo sát năng lực học sinh khi xử dụng cấu trúc rẽ

nhánh để viết chương trình

Thực nghiệm sư phạm: Tiến hành thực nghiệm trên những đối tượng học

sinh cụ thể nhằm đánh giá hiệu quả của đề tài

II NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận:

Môn Tin học không phải là môn khoa học lý thuyết thuần túy vì vậy họcsinh không thể nhớ nếu như không hiểu bài Việc giáo viên bắt học sinh ghi nhớthụ động từng nội dung trong sách giáo khoa là một điều rất khó, cho dù họcsinh có cố gắng ghi nhớ thì vẫn bị lẫn lộn Do đó, giáo viên phải không ngừngđổi mới phương pháp dạy học, lấy “chuẩn kiến thức, kỹ năng” làm kim chỉ namtrong quá trình dạy học, đồng thời phải biết chọn nội dung “lồng ghép” phùhợp với kiến thức trong từng bài giảng, nhằm hình thành cho học sinh thói quentích cực, độc lập, sáng tạo và giải quyết tình huống có vấn đề Một trong nhữngphương pháp dạy học mới và hiện đại nhất được đưa vào là phương pháp dạyhọc theo định hướng phát triển năng lực Đây một phương pháp dạy học mớiđang được rất nhiều nước trên thế giới áp dụng Qua việc tìm hiểu và vận dụng

Trang 4

phương pháp dạy học theo định hướng phát triển năng lực, tôi nhận thấyphương pháp dạy học này rất có hiệu quả trong quá trình dạy học của giáo viên

và học tập của học sinh

2.2 Thực trạng của vấn đề trước khi áp dụng SKKN

Từ thực tiễn giảng dạy phần cấu trúc rẽ nhánh trong chương trình tin họclớp 11 tại trường THPT Tống Duy Tân trước đây khi còn sử dụng ngôn ngữ lậptrình Pascal tôi nhận thấy rằng: Sau khi học xong, giáo viên kiểm tra lại khảnăng nhớ bài và khả năng trình bày lại phần nội dung chính trong bài thì họcsinh thể hiện rất máy móc, gò bó Học sinh chỉ nhớ qua loa và học bài theohình thức thuộc lòng, những kỹ năng vận dụng rất hạn chế Do không nhớ đượctrình tự cú pháp các câu lệnh nên học sinh không viết ra được những gì mìnhnhớ, không áp dụng được cấu trúc rẽ nhánh để lập trình giải các bài toánthường Cũng chính vì vậy mà học sinh không hoàn thành được mục tiêu kiếnthức kỷ năng mà giáo viên đã đặt ra

2.3 Giải quyết vấn đề và tổ chức thực hiện

Bước 1: Lựa chọn chủ đề, nội dung dạy học

Chủ đề: Cấu trúc rẽ nhánh.

Bước 2: Xác định yêu cầu kiến thức, kĩ năng, thái độ

Kiến thức:

- Biết cấu trúc rẽ nhánh trong lập trình

- Hiểu câu lênh rẽ nhánh trong C++

- Bước đầu hình thành khái niệm lập trình có cấu trúc

Kỹ năng:

- Viết đúng cú pháp cấu trúc rẽ nhánh

- Biết sử dụng cấu trúc rẽ nhánh để giải các bài toán

- Bước đầu có khả năng phân tích bài toán để sử dụng cấu trúc lậptrình thích hợp

Thái độ:

- Thấy được sự cần thiết của cấu trúc rẽ nhánh trong lập trình.

- Tiếp tục rèn luyện tư duy lập trình có cấu trúc

Trang 5

Bước 3: Lập bảng mô tả yêu cầu cần đạt

Nội dung Loại câu hỏi/bài

rẽ nhánh dạng thiếu và dạng đủ.

HS chỉ ra, lấy được ví dụ các bài toán

và giải thích được cấu trúc

rẽ nhánh dạng thiếu và dạng

đủ trong khi giải các bài toán.

HS biết được cấu trúc if - else

HS hiểu được các thành phần và ý nghĩa trong cấu trúc if

HS hiểu được các thành phần và ý nghĩa cấu trúc

if – else.

HS lấy được ví

dụ câu lệnh sử dụng cấu trúc if.

HS lấy được ví

dụ câu lệnh sử dụng cấu trúc

if, if – else sử dụng đúng và sai cú pháp trong các ví dụ.

Hiểu được ý nghĩa câu lệnh if, if – else Giải thích được ý nghĩa, kết quả của câu lệnh

sử dụng cấu trúc if, if – else.

HS viết được chương trình

có sử dụng cấu trúc if, if – else

để giải các bài toán thường gặp.

HS viết được chương trình

sử dụng cấu trúc if, if - else kết hợp các thao tác khác để giải các bài toán tổng hợp, thực hiện một tình huống mới trong bài toán lập trình.

Trang 6

Bài tập

thực hành HS vận dụngcấu trúc if, if –

else cùng với các câu lệnh khác đã học để viết được chương trình hoàn chỉnh giải quyết vấn đề trong tình huống quen thuộc.

HS vận dụng cấu trúc if, if – else hợp với các thao tác nhập xuất, các câu lệnh khác

đã học để viết được chương trình hoàn chỉnh giải quyết vấn đề trong tình huống mới.

HS hiểu được các thành phần và ý nghĩa trong cấu trúc switch – case.

HS lấy được ví

dụ câu lệnh sử dụng cấu trúc switch - case

sử dụng đúng

và sai cú pháp cấu trúc switch – case trong các ví dụ.

Hiểu được ý nghĩa câu lệnh switch - case Giải thích được ý nghĩa, kết quả của câu lệnh

sử dụng cấu trúc switch – case.

HS viết được chương trình

có sử dụng cấu trúc switch - case để giải các

thường gặp.

HS viết được chương trình

sử dụng cấu trúc switch - case kết hợp các thao tác khác để giải các bài toán tổng hợp, thực hiện một tình huống mới trong bài toán lập trình Bài tập

thực hành HS vận dụngcấu trúc switch

- case cùng với các câu lệnh khác đã học để viết được chương trình hoàn chỉnh giải quyết vấn đề trong tình huống quen thuộc.

HS vận dụng cấu trúc switch – case kết hợp với các thao tác nhập xuất, các câu lệnh khác

đã học để viết được chương trình hoàn chỉnh giải quyết vấn đề trong tình huống mới.

Trang 7

Bước 4: Đề xuất năng lực có thể hướng tới

Qua dạy học chủ đề “cấu trúc rẽ nhánh” có thể hướng tới hình thành và

phát triển năng lực:

- Năng lực sử dụng ngôn ngữ, viết được cấu trúc rẽ nhánh bước đầu làmquen với lập trình có cấu trúc

- Năng lực thực hành áp dụng cấu trúc rẽ nhánh giải các bài toán

- Năng lực thực hành, vận dụng kiến thức tin học vào cuộc sống

Bước 5: Tiến trình dạy học

Chuẩn bị của giáo viên và học sinh:

- Chuẩn bị của học sinh: Sách GK tin 11, vở ghi

- Chuẩn bị của giáo viên:

+ Giáo án, Sách GK Tin 11, Sách GV Tin 11, chuẩn kiến thức kĩ năng Tinhọc 11, máy tính, máy chiếu;

+ Giáo viên chuẩn bị các chương trình có ứng dụng cấu trúc rẽ nhánh ởcác mức độ biết, hiểu, vận dụng (sử dụng để chạy minh họa các chương trìnhtrong C++ và trình chiếu)

Chương trình kiểm tra các giá trị thỏa mãn điều kiện nhất định (chương trinh 1- hoạt động 4)

Chương trình giải phương trình bậc nhất (chương trinh 2- hoạt động 4) Chương trình sử dụng cấu trúc switch - case (chương trình 3- hoạt động 6).

Chương trình bài tập 1- vận dụng thấp cấu trúc rẽ nhánh (chương trình 4

-Hoạt động 1 Lựa chọn tình huống công việc (gợi động cơ).

Gv đặt vấn đề trong thực tế có những công việc thực hiện nếu điều kiệnnào đó sảy ra:

Ví du 1: Nếu Trời mưa thì lớp đi trồng cây (dạng 1)

Trang 8

Nếu trời mưa thì lớp đi trồng cây ngược lại (nếu không thì) lớpdọn vệ sinh phòng học 11A (dạng 2)

Gv nêu vấn đề vậy trong việc giải các bài toán trong tin học trường hợpcác công việc thực hiện khi điều kiện nào đó sảy ra giải quyết như thế nào?

Hoạt động 2: Phát hiện tình huống có vấn đề.

Gv đặt vấn đề em hãy giải và biện luân phương trình bậc nhất

Ví dụ 2: Giải và biện luân phương trình

Nếu a = 0 và b = 0 thì phương trình có vô số nghiệm

Nếu a = 0 và b ≠ 0 thì phương trình vô nghiệm

Nếu a ≠ 0 thì phương trình có nghiệm –b/a

Gv gợi động cơ: Để thực hiện yêu cầu công việc này trong tin học chúng

ta có cấu trúc rẽ nhánh if

Hoạt động 3: Tìm hiểu cấu trúc if trong C++

Gv trình bày để học sinh biết được cấu trúc if dạng thiếu và dạng đủ trongC++

* Cấu trúc if dạng thiếu

Cú pháp:

if (Điều kiện)

< Khối lệnh >;

Trong đó điều kiện là biểu thức logic có giá trị đúng (true) hoặc sai (false).

Gv trình bày ý nghĩa cấu trúc if dạng thiếu nếu điều kiện đúng (biểu thứcđiều kiện có giá trị true) thì khối lệnh được thực hiên

Gv trình bày cấu trúc if dạng đủ (cấu trúc if – else)

Cú pháp:

if (Biểu thức)

<Khối lệnh 1>;

else

Trang 9

<Khối lệnh 2>;

Gv trình bày ý nghĩa cấu trúc if dạng đủ nếu điều kiện đúng (true) thì khốilệnh 1 được thực hiên Ngược lại (điều kiện sai –false) thì khối lệnh 2 được thựchiện

Gv Chú ý cho học sinh nếu khối lệnh có nhiều câu lệnh thì các câu lệnhtrong khối lệnh đặt trong dấu cặp dấu ngoặc {}

Gv đưa ra các ví dụ câu lệnh if dạng thiếu và dạng đủ đơn giản

Ví dụ 3: if (a>0) cout<<”la so duong”;

Hoạt động 4: Áp dụng câu lệnh if giải các bài toán đơn giản

Gv đặt vấn đề yêu cầu hoàn thành ví dụ sau

Vi dụ 5: Cho các giá trị thực a,b,c Em hãy viết câu lệnh kiểm tra a, b, c cóphải tương ứng là độ dài 3 cạnh của tam giac hay không? (a>0; b>0; c>0)

Gv nhận xét, sửa chữa phần trình bày của học sinh

if (a>0&&b>0&&c>0&&(a+b)>c&&(b+c)>a&&(a+c)>b)

cout<<”la 3 canh cua tam giac”;

else

cout<<”khong phai 3 canh tam giac”;

Gv chuẩn bị chương trình: Nhập từ bàn phím các giá trị thực a, b, c Kiểm

tra và cho biết a, b, c có phải tương ứng là 3 cạnh của tam giác (chương trình 1)

Gv chạy chương trình, chiếu trên máy chiếu Lưu ý học sinh quan sát cáccâu lệnh trong chương trình, quan sát kết quả khi chạy chương trình (đây làchương trình đầu tiên mà các em được làm quen có sử dụng cấu trúc if – else)

#include <bits/stdc++.h> //chuong trinh 1

Trang 10

Gv chiếu trương trình đã được chuẩn bị sẵn Chạy chương trình có sửdụng việc nhập dữ liệu cho các giá trị thực a, b, c Lưu ý nhập các test đặc biệt

để học sinh nhận ra được ý nghĩa của câu lệnh if (chương trình 2)

#include <bits/stdc++.h> //Chuong trinh 2

Trang 11

cout<<" phuong trinh vo nghiem";

Gv lưu ý học sinh trong trương trình trên ta sử dụng ba câu lệnh if dạngthiếu Ngoài cách làm như trên ta có thể sử dụng câu lệnh if dạng đủ (if- else),nhấn mạnh có thể sử dụng cấu trúc if – else lồng nhau

Hoạt động 5: Tìm hiểu cú pháp câu lệnh switch - case

Gv gợi động cơ chúng ta đã tìm hiểu cấu trúc câu lệnh if dang thiếu vàdang đủ Ở dang thiếu khi điều kiện đúng (true) thì khối lệnh đươc thực hiên, ởdạng đủ khi điều kiện đúng thì khối lệnh 1 thực hiện ngược lại khi điều kiện sai(false) thì khối lệnh 2 được thực hiện Trong thực tế có những bài toán khôngphải chỉ có 2 trường hợp của biểu thức điều kiện

Gv giới thiệu cấu trúc switch

Trang 12

đây là câu lệnh thoát khỏi cấu trúc switch – case (ghi nhớ câu lệnh break dùng

để kết thúc cấu trúc switch – case).

Hoạt động 6: Sử dụng cấu trúc switch để giải các bài toán đơn giản.

Gv dẫn dắt các em hoàn thành ví du 6

Bài toán: Nhập số nguyên dương N từ bàn phím (0≤ N<10) Cho biết sốvừa nhập là số mấy – bằng chữ (bài toán đọc số)

Gv nhận xét đánh giá phần trình bày của học sinh chiếu chương trình

đã chuẩn bị trước lên màn hình máy chiếu (chương trình 3)

#include <bits/stdc++.h> //chương trinh 3

Trang 13

case 3: cout<<" so ba";

sẽ nắm rõ thêm về ý nghĩa cấu trúc switch – case

Hoạt động 7: Vận dụng cấu trúc rẽ nhánh giải các bài toán thường gặp (vận

dụng thấp)

Gv đặt vấn đề yêu cầu học sinh hoàn thành bài toán sau (bài tập giải quyết tình huống quen thuộc).

Bài toán 1: Lập trình nhập từ bàn phím điểm trung bình của học sinh.

Đưa ra xếp loại học lực của học sinh (giả thiết học lực gồm các lọai Yếu, Trungbình, Khá, Giỏi; các môn thành phần đều đạt yêu cầu không vi phạm quy địnhxếp loại học lực) (0 ≤ dtb ≤ 10)

Gv gợi ý để học sinh có thể sử dụng câu lệnh rẽ nhánh để thực hiện bàilập trình

Gv kiểm tra nhận xét cho điểm bài làm của học sinh (học sinh có thể làmtrực tiếp trên máy tính hoặc làm code trên giấy)

Trang 14

Gv chiếu chương trình hoàn chỉnh đã được chuẩn bị sẵn Có thể cho họcsinh thực hiện chạy chương trình, nhập dữ liệu hiển thị kết quả trên máy chiếu

(chương trình 4).

Gv nhắc các em quan sát chương trình không ghi chép.

include <bits/stdc++.h> // chương trình 4

Bai toán 2: Nhập từ bàn phím sồ nguyên dương T, N tương ứng là tháng

và năm (0 < T ≤ 12; 0 < N ≤ 2022) Cho biết tháng T năm N có bao nhiêu ngày

Gv có thể gợi ý số ngày của các tháng trong năm Lưu ý số ngày trongtháng 2 có sự khác nhau ở năm nhuận và năm không nhuận Khi đó học sinh sẽbiết chọn lựa cấu trúc rẽ nhánh thích hợp để giải quyết bài toán

Gv kiểm tra phần trình lập trình của học sinh trên máy tính (hoặc codechương trình trên giấy) đồng thời sửa chữa nhận xét việc hoàn thành công việccủa học sinh

Ngày đăng: 08/06/2022, 10:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w