Tải bản đầy đủ (.pdf) (10 trang)

Dạy học các cấu trúc rẽ nhánh và lặp theo định hướng phát triển năng lực giải quyết vấn đề cho học sinh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (115.1 KB, 10 trang )

JOURNAL OF SCIENCE OF HNUE
Educational Sci., 2015, Vol. 60, No. 7A, pp. 215-224
This paper is available online at

DOI: 10.18173/2354-1075.2015-0069

DẠY HỌC CÁC CẤU TRÚC RẼ NHÁNH VÀ LẶP THEO ĐỊNH HƯỚNG
PHÁT TRIỂN NĂNG LỰC GIẢI QUYẾT VẤN ĐỀ CHO HỌC SINH
1
1 Khoa

Nguyễn Chí Trung và 2 Trương Thị Thắm

Cơng nghệ Thông tin, Trường Đại học Sư phạm Hà Nội
2 Trường Trung cấp Kỹ thuật Tin học Hà Nội

Tóm tắt. Dạy học theo định hướng phát triển năng lực giải quyết vấn đề cho học sinh đang
là một trong những mục tiêu trọng yếu của chương trình giáo dục phổ thơng sau năm 2015.
Trong bài báo này, chúng tôi đề xuất một cách thức vận dụng hiệu quả một số phương pháp
và kĩ thuật dạy học đặc biệt là “Phát hiện và giải quyết vấn đề” trong dạy học cấu trúc rẽ
nhánh và lặp của ngơn ngữ lập trình Pascal – Tin học lớp 11 theo định hướng phát triển
năng lực giải quyết vấn đề cho học sinh. Dạy học cấu trúc rẽ nhánh và lặp theo phương
pháp này, học sinh sẽ có khả năng giải quyết các vấn đề ở các tình huống trong nội bộ mơn
học và có thể liên hệ tới thực tiễn. Bài học “Cấu trúc lặp for-do” được chúng tôi sử dụng
để minh họa cho đề xuất của mình.
Từ khóa: Giải quyết vấn đề, năng lực, năng lực giải quyết vấn đề, năng lực lập trình, dạy
học lập trình.

1.

Mở đầu



Thực hiện nghị quyết số 29 - NQ/TW Hội nghị lần thứ 8 của Ban Chấp hành Trung ương
khóa XI nhằm đổi mới căn bản tồn diện giáo dục và đào tạo (GD&ĐT) sau năm 2015, giáo dục
phổ thông (GDPT) nước ta đang thực hiện bước chuyển từ chương trình giáo dục tiếp cận nội dung
sang chương trình giáo dục định hướng đầu ra. Nghĩa là từ chỗ quan tâm học sinh (HS) học được
cái gì đến chỗ quan tâm HS biết làm gì từ những kiến thức, kĩ năng đã học.
Trong đổi mới GDPT theo định hướng phát triển năng lực, nhiều nước trên thế giới rất quan
tâm đến phát triển năng lực giải quyết vấn đề (NL GQVĐ) cho HS thông qua các môn học [1, 2].
Ở Việt Nam, Bộ GD&ĐT đã đưa ra tám năng lực chung cơ bản cần đạt được ở GDPT, trong đó có
NL GQVĐ [12]. Đặc biệt, trong định hướng dạy học tích hợp và liên mơn, NL GQVĐ được chú
trọng phát triển. Hơn nữa, NL GQVĐ liên quan đến phát triển tư duy cho HS – một trong những
mục tiêu quan trọng của giáo dục Tin học nói riêng và các mơn học khác nói chung ở trường trung
học phổ thơng (THPT). Để chuẩn bị cho HS có được một hệ thống năng lực và giá trị, đặc biệt là
khả năng thích ứng và hành động, mà hạt nhân là biết tiếp cận phát hiện và giải quyết vấn đề (PH
& GQVĐ) một cách sáng tạo, mỗi giáo viên (GV) cần đổi mới về phương pháp dạy học (PPDH)
theo định hướng phát triển NL GQVĐ cho HS.
Ngày nhận bài: 25/7/2015 Ngày nhận đăng: 01/11/2015
Liên hệ: Nguyễn Chí Trung, e-mail: /

215


Nguyễn Chí Trung và Trương Thị Thắm

Với những lí do trên đây, chúng tôi đề xuất một PPDH “Cấu trúc rẽ nhánh và lặp” (Tin học
– lớp 11) theo định hướng phát triển NL GQVĐ cho HS. Cụ thể, bài viết này sẽ trình bày cách
thức vận dụng một số phương pháp và kĩ thuật dạy học đặc biệt là “PH & GQVĐ” mà theo đó NL
GQVĐ của HS được góp phần phát triển.

2.

2.1.

Nội dung nghiên cứu
Quan niệm về năng lực giải quyết vấn đề

Nghiên cứu những quan điểm về NL GQVĐ của PISA [9, 10] tác giả nhận thấy điểm chung
cốt lõi của các cách hiểu về khái niệm “NL GQVĐ” chính là HS vận dụng hiệu quả kiến thức, kĩ
năng và thái độ có được của bản thân để giải quyết những tình huống có vấn đề trong nội bộ mơn
học hay trong thực tiễn mà ở đó khơng có sẵn quy trình, thủ tục hay giải pháp thơng thường”.

2.2.

Năng lực giải quyết vấn đề được góp phần phát triển từ việc dạy học lập
trình

Có thể nói các chun gia lập trình là những người có năng lực thực hành giải quyết vấn đề
(GQVĐ) tốt nhất dựa trên máy tính. Mỗi vấn đề mà họ phải giải quyết thường là một chương trình
phần mềm máy tính phục vụ con người trong một lĩnh vực chuyên biệt nhất định. Việc dạy học
lập trình ở trường THPT khó có thể đào tạo HS ngay lập tức trở thành các lập trình viên như vậy
nhưng lại có thể bồi dưỡng và phát triển cho các em năng lực lập trình để GQVĐ dựa vào máy tính
(thơng qua lập trình). Một cách chính xác, “Năng lực lập trình là khả năng GQVĐ dựa trên máy
tính bằng hoạt động (HĐ) lập trình; Nó thể hiện sự kết hợp khả năng thuật toán với khả năng mã
hóa (khả năng hiểu và vận dụng ngơn ngữ lập trình, mơi trường lập trình) để thể hiện thuật tốn
trên máy tính giải quyết những bài tốn trong khoa học và trong thực tiễn”.
Ở trường THPT, các vấn đề (bài tốn) cần giải quyết có sẵn thuật tốn và chương trình.
Giúp HS hiểu được thuật tốn và chương trình vẫn chưa đủ, GV cần giúp HS phát triển năng lực
lập trình (năng lực GQVĐ dựa trên máy tính thơng qua lập trình). Chúng tơi cho rằng năng lực lập
trình của HS bao gồm các biểu hiện sau đây:
(1) HS có khả năng tổ chức tốt dữ liệu. Tổ chức tốt dữ liệu nghĩa là khai báo biến với các
kiểu dữ liệu phù hợp để biểu thị đầy đủ các thông tin Input, Output và các dữ liệu trung gian sao

cho việc cài đặt thuật toán được thuận lợi.
(2) HS có khả năng cài đặt thuật tốn. “Cài đặt thuật toán toán” nghĩa là chuyển từ thuật
toán sang chương trình. Nói chính xác, đó là chuyển thuật tốn từ dạng phi ngơn ngữ lập trình sang
thuật tốn ở dạng ngơn ngữ lập trình cụ thể để có thể thực hiện được trên máy tính.
(3) HS có khả năng tổ chức tốt chương trình con. Tổ chức tốt chương trình con là phân tích
chương trình thành các chương trình con phù hợp để tồn bộ chương trình giải quyết bài toán trở
nên rõ ràng và ngắn gọn. Hơn nữa việc tổ chức tốt chương trình con cịn có thể giúp dễ dàng sửa
đổi và phát triển chương trình.
(4) HS có khả năng đánh giá và cải tiến thuật toán (nếu được). Đánh giá thuật toán ở đây
là đánh giá hiệu quả của thuật toán và được tiến hành khi xây dựng thuật toán giải bài toán. Tuy
nhiên, khi chạy chương trình, một số hạn chế của thuật tốn được bộc lộ. Khi đó HS có thể phát
hiện những hạn chế này và cải tiến để thuật tốn tốt hơn.
Có thể xem mỗi biểu hiện trên đây là một năng lực thành phần của NL GQVĐ dựa vào lập
216


Dạy học các cấu trúc rẽ nhánh và lặp theo định hướng phát triển năng lực giải quyết vấn đề...

trình. NL GQVĐ được góp phần phát triển từ việc dạy học các cấu trúc điều khiển bao gồm các
năng lực trên đây, đặc biệt là năng lực (1) và (2).
Để đánh giá NL GQVĐ từ việc học các cấu trúc điều khiển, có thể căn cứ vào ba thang đo
vận dụng mức độ thấp, vận dụng mức độ trung bình và vận dụng mức độ cao:
- Vận dụng mức độ thấp: HS hiểu và giải thích được việc vận dụng các cấu trúc điều khiển
trong lập trình ở những chương trình cho trước được viết bằng một ngơn ngữ lập trình cụ thể giúp
giải quyết các bài tốn.
- Vận dụng mức độ trung bình: HS vận dụng được các cấu trúc điều khiển trong lập trình
để giải quyết được các bài toán tương tự với những bài toán đã biết cách viết chương trình để giải
quyết.
- Vận dụng mức độ cao: HS vận dụng được các cấu trúc điều khiển trong lập trình để giải
quyết được các bài tốn mới mà nó có thể giải được nhờ liên hệ đến một hoặc một số bài toán đã

biết cách viết chương trình để giải quyết.

2.3.

Dạy học các cấu trúc điều khiển để phát triển năng lực giải quyết vấn đề

Câu hỏi nghiên cứu được đặt ra là “PPDH nào cần được vận dụng và vận dụng như thế nào
thì có thể phát triển được NL GQVĐ cho HS thông qua dạy học các cấu trúc điều khiển trong lập
trình?”. Tác giả lựa chọn một số phương pháp và kĩ thuật dạy học bao gồm: Vấn đáp, thuyết trình,
thảo luận, thực hành, kĩ thuật đặt câu hỏi và đặc biệt là “PH & GQVĐ” để trình bày quy trình dạy
học các cấu trúc điều khiển gồm hai giai đoạn như ở dưới đây nhằm phát triển NL GQVĐ cho
HS. Quy trình này dựa trên các bước dạy học PH & GQVĐ của Nguyễn Bá Kim [5], Vũ Dương
Thụy [6] và G.Polia [7].
Giai đoạn 1: Xác định giải pháp GQVĐ
Bước 1: Tìm hiểu và phát hiện vấn đề
GV thuyết trình và vấn đáp để giúp HS:
- Xác định được Input, Output của bài tốn.
- Hiểu được từ dữ liệu Input có thể tìm được dữ liệu Output (tồn tại thuật toán để giải và do
đó có thể lập trình được).
- Phát hiện vấn đề: Phát hiện ra những kiến thức đã biết về ngơn ngữ lập trình chưa đủ để
biểu thị thuật tốn. Theo thuyết kiến tạo của J.Piaget [3], đây là thời điểm chuyển giao từ q trình
“đồng hóa” (so sánh đối tượng nhận thức với sơ đồ nhận thức đã có) đến quá trình “điều ứng”
(nhận ra cần phải biến đổi sơ đồ đã có để phù hợp với tình huống, hồn cảnh mới).
Bước 2: Tìm tịi và hình thành giải pháp
- GV giới thiệu cú pháp và HĐ của cấu trúc điều khiển thích hợp với bài tốn đã cho.
- GV cho HS biết có nhiều cách diễn đạt khác nhau của HĐ cấu trúc điều khiển vừa học.
- GV cung cấp cú pháp và HĐ của cấu trúc điều khiển này trên một ngơn ngữ lập trình
cụ thể.
- HS đề xuất hướng GQVĐ. Cụ thể, HS vận dụng cấu trúc điều khiển nói trên để viết đoạn
chương trình giải quyết trực tiếp u cầu chính của bài tốn.

Bước 3: Kiểm tra giải pháp
- HS được yêu cầu kiểm thử việc thực hiện đoạn chương trình “bằng tay” đối với các dữ liệu
217


Nguyễn Chí Trung và Trương Thị Thắm

đầu vào khác nhau.
- Nếu có những bộ dữ liệu làm cho đoạn chương trình cho kết quả sai, HS thực hiện lại bước
2 (điều chỉnh hướng GQVĐ). Ngược lại, nếu đoạn chương trình ln đúng đối với mọi bộ dữ liệu
kiểm thử thì HS thực hiện tiếp bước 4 dưới đây.
Bước 4: Trình bày giải pháp
- HS được hướng dẫn viết toàn bộ chương trình hoặc lập trình trực tiếp trên máy tính để giải
quyết bài toán đã đặt ra.
- HS được yêu cầu trình bày lại ý nghĩa, tác dụng của từng phần chương trình và của tồn
bộ chương trình.
- HS được yêu cầu chỉ ra những chỗ vận dụng cấu trúc điều khiển vừa học và phát biểu về
tác dụng của nó.
Giai đoạn 2: Nghiên cứu sâu giải pháp
GV gợi mở cho HS xem xét khả năng ứng dụng của giải pháp, hoặc mở rộng vấn đề thông
qua việc nêu vấn đề tương tự hay vấn đề tổng quát hơn. Cụ thể ở đây, GV hướng dẫn HS khai thác
những vấn đề sau đây:
a) Với cấu trúc điều khiển rẽ nhánh, những nội dung sau đây có thể khai thác:
- Tìm cách biểu diễn điều kiện theo cách tốt nhất.
- Tăng nhiệm vụ cần thực hiện đối với điều khiển rẽ nhánh bằng cách sử dụng thêm câu
lệnh ghép begin – end và gia tăng nhóm lệnh trong câu lệnh ghép này.
- Tăng tính phức tạp của rẽ nhánh bằng cách sử dụng cấu trúc rẽ nhánh lồng nhau.
b) Với cấu trúc điều kiện lặp, những nội dung sau đây có thể khai thác:
- Lựa chọn hợp lí giá trị khởi tạo cho dữ liệu trước quá trình lặp.
- Lựa chọn hợp lí các giá trị cận trên và cận dưới đối với câu lặp biết trước số lần lặp.

- Tăng tính phức tạp của điều khiển lặp bằng cấu trúc lặp lồng nhau.
c) Đánh giá và cải tiến thuật toán (nếu được) và lập trình lại để nhận được chương trình
mới hiệu quả hơn.
Nhận xét: Khi thực hiện theo quy trình trên, mỗi giai đoạn và mỗi bước đều định hướng
phát triển NL GQVĐ của HS. Cụ thể, giai đoạn 1 sẽ phát triển các năng lực (1) và (2); Giai đoạn
2 sẽ phát triển năng lực (4). Trong hoạt động tổ chức lại chương trình thành các chương trình con,
việc xây dựng các chương trình con địi hỏi các cấu trúc rẽ nhánh và lặp. Do đó năng lực (3) cũng
đạt được một cách gián tiếp.

2.4.

Dạy học cấu trúc lặp for-do để phát triển năng lực giải quyết vấn đề cho HS

Việc dạy học các cấu trúc điều khiển cần bắt đầu bằng một tình huống có vấn đề gắn với
các bài tốn cụ thể, có ý nghĩa thực tiễn, để gợi cho HS sự hứng thú và nhu cầu nhận thức. Để phát
triển NL GQVĐ cho HS thông qua dạy học cấu trúc lặp for-do, GV có thể bắt đầu bằng việc đưa
ra bài toán dưới đây.
Bài toán: Trong đợt mưa lũ tại Quảng Ninh vào tháng 7/ 2015 đã gây ra thiệt hại nặng nề
cho người dân. Trường em phát động tổ chức quyên góp ủng hộ vùng lũ lụt vào tiết chào cờ sáng
thứ 2 tuần qua. Trường em có N bạn, mỗi bạn đều ủng hộ một khoản tiền tùy tâm và cho vào 1
phong bì rồi bỏ vào hịm từ thiện. Em hãy viết chương trình tính tổng số tiền mà trường em đã ủng
218


Dạy học các cấu trúc rẽ nhánh và lặp theo định hướng phát triển năng lực giải quyết vấn đề...

hộ và đếm xem có bao nhiêu bạn có tiền ủng hộ cao hơn hoặc bằng số tiền là T đồng được nhập
vào từ bàn phím bằng cách: Bóc từng phong bì rồi nhập tiền của từng người theo thứ tự từ 1 tới N,
nhập tiền của ai xong thì cộng ngay tiền đó vào tổng và so sánh số tiền vừa nhập với số tiền T, nếu
T < x thì tăng số người cần tìm lên 1. Đưa ra màn hình tổng số tiền của trường đã ủng hộ và tổng

số người có tiền ủng hộ cao hơn hoặc bằng số tiền T.
Giai đoạn 1: Xác định giải pháp GQVĐ
Bước 1: Tìm hiểu và phát hiện vấn đề
- GV gọi một HS phát biểu bài toán. Câu trả lời mong đợi:
Input: N số X (biểu thị tiền ủng hộ của N HS), T (biểu thị số tiền cần so sánh với số tiền
ủng hộ của N HS).
Output: S (biểu thị tổng số tiền ủng hộ của cả trường), Dem (biểu thị tổng số bạn có tiền
ủng hộ cao hơn hoặc bằng số tiền là T đồng).
- GV giới thiệu thuật tốn giải bài tốn trên bằng ngơn ngữ tự nhiên. u cầu HS cho biết
thuật tốn này có giải quyết được bài tốn đặt ra khơng? Nếu có hãy cho biết từ bước nào tới bước
nào công việc nhập tiền, cộng tiền vào tổng và đếm số người có tiền ủng hộ cao hơn hoặc bằng số
tiền T được lặp lại N lần? Các bước cịn lại thực hiện cơng việc gì?
Thuật tốn
Bước 1: Nhập số HS N, nhập số tiền T, khởi gán tổng S ← 0, Dem ← 0;
Bước 2: Gán cho i ← 1;

Bước 3: Nhập số tiền X;
Bước 4: Cộng S với X và gán kết quả cho tổng S;
Bước 5: Nếu T ⇐ X thì tăng giá trị của dem lên 1 đơn vị;
Bước 6: Tăng giá trị của i lên 1 đơn vị;

Bước 7: Nếu i ⇐ N thì quay lại bước 3;

Bước 8: Đưa ra tổng tiền ủng hộ là S; tổng số người có tiền ủng hộ cao hơn hoặc bằng số
tiền T là Dem.
Bước 9: Kết thúc.
Câu trả lời mong đợi:
Thuật tốn trên có giải quyết được bài tốn đặt ra:
+) Từ bước 3 đến bước 7 công việc nhập tiền, tính tiền vào tổng S và đếm số người có tiền
ủng hộ cao hơn hoặc bằng số tiền T được lặp lại N lần.

+) Bước 1: Nhập số HS và gán tổng tiền S, tổng số người cần tìm Dem ban đầu bằng 0.
+) Bước 8: Đưa ra tổng S; tổng Dem cần tìm.
- GV yêu cầu HS viết chương trình thể hiện thuật tốn trên cho máy tính thực hiện.
Nhận xét: HS được phát triển khả năng chuyển đổi từng nhiệm vụ sau đây trong thuật tốn
sang ngơn ngữ lập trình: Nhập N; Nhập tiền X; Tích lũy giá trị của X vào cho tổng S; So sánh số
tiền X với số tiền T để tích lũy giá trị tổng Dem. Thông báo giá trị của tổng tiền S, tổng số người
cần tìm Dem. Tuy nhiên HS sẽ có thể lúng túng khi chuyển đổi sự điều khiển lặp lại N lần (từ
bước 3 đến bước 7) trong thuật tốn sang đoạn chương trình tương ứng. Điều này dẫn đến bước 2
tiếp theo.
219


Nguyễn Chí Trung và Trương Thị Thắm

Bước 2: Tìm tịi và hình thành giải pháp
- GV giới thiệu cú pháp và HĐ của cấu trúc lặp for-do cho HS.
Cấu trúc lặp for-do
Cú pháp
Dạng lặp tiến: for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Dạng lặp lùi: for <biến đếm> := <giá trị cuối> downto <giá trị đầu> do <câu lệnh>;
Trong đó: Biến đếm phải có kiểu đếm được và không được là kiểu số thực. Giá trị đầu phải
nhỏ hơn giá trị cuối.
Hoạt động
Dạng lặp tiến: Với mỗi giá trị của biến đếm tăng dần từng đơn vị từ giá trị đầu tới giá trị
cuối, câu lệnh sau do được thực hiện.
Dạng lặp lùi: Với mỗi giá trị của biến đếm giảm dần từng đơn vị từ giá trị cuối tới giá trị
đầu, câu lệnh sau do được thực hiện.
- GV dành thời gian yêu cầu HS đọc SGK cuối trang 43 và đầu trang 44 về cấu trúc lặp
for-do để HS nhận ra cách diễn đạt trong SGK khác với cách diễn đạt trên bảng nhưng vẫn thể hiện
đúng HĐ của cấu trúc điều khiển này.

- GV lấy ví dụ về cú pháp và HĐ của câu lệnh lặp for-do trên ngôn ngữ lập trình Pascal.
Câu lệnh lặp tiến: Cú pháp: for i: = 1 to n do S := S+i;
HĐ: Với mỗi giá trị của biến i tăng từ 1 tới N thì thực hiện câu lệnh tích lũy giá trị của i
cho S.
Câu lệnh lặp lùi: Cú pháp: for i: = n downto 1 do S:= S+ i;
HĐ: Với mỗi giá trị của biến i giảm từ N tới 1 thì thực hiện câu lệnh tích lũy giá trị của i
cho S.
- GV cho HS vận dụng cấu trúc lặp for-do viết đoạn chương trình giải quyết việc nhập tiền,
cộng tiền vào tổng và đếm số người có tiền ủng hộ cao hơn hoặc bằng số tiền T được thực hiện
N lần.
Câu trả lời mong đợi:
for i: = 1 to n do
begin
writeln(‘nhap so tien cua nguoi thu’,i); Readln(x);
S:= S+ x;
If T⇐x then dem:= dem +1;
end;
Bước 3: Kiểm tra giải pháp
GV yêu cầu HS kiểm thử đoạn chương trình trên bằng tay với N = 5, T = 10000
Câu trả lời mong đợi:
N = 5; S=0; dem = 0; T = 10000
• i=1: Nhập số tiền của người thứ 1: X= 10000; S = S + x = 0 + 10000 = 10000
T = X, Dem = dem + 1 = 0 + 1 = 1;

220


Dạy học các cấu trúc rẽ nhánh và lặp theo định hướng phát triển năng lực giải quyết vấn đề...

• i=2: Nhập số tiền của người thứ 2: X = 5000; S = S + x = 10000 + 5000 = 15000


T > X, Dem = 1;

• i=3: Nhập số tiền của người thứ 3: X = 20000;S = S + x = 15000 + 20000 = 35000
T < X, Dem = dem + 1 = 1+ 1 = 2;

• i=4: Nhập số tiền của người thứ 4: X = 4000; S = S + x = 35000 + 4000 = 39000

T > X, Dem = 2;

• i=5: Nhập số tiền của người thứ 5: X=50000; S = S + x = 39000 + 50000 = 89000
T < X, Dem = dem + 1 = 2 + 1 = 3;
Bước 4: Trình bày giải pháp
- GV yêu cầu HS khác lên bảng viết tiếp các câu lệnh còn lại để hồn thiện chương trình
cần giải quyết bài tốn đã đặt ra. Chương trình mong đợi:
program tongtien_ungho;
uses crt ;
var n,i, x,s,dem, T :longint;
branch
clrscr ;
write(‘ nhap so nguoi ung ho: ‘); readln ( n ) ;
write(‘ nhap so tien can so sanh: ‘); readln ( T ) ;
s:=0; dem:= 0;
for i: = 1 to n do begin
write(‘ nhap tien ung ho của nguoi thu: ‘,i,’:’);
readln(x);
s:= s+ x;
If T ⇐ x then dem:= dem +1;
end;


writeln(‘ tong tien ung ho la: ‘,s, ‘dong’);
writeln(‘ tong so nguoi co tien ung ho lon hon hoac bang ‘, T, ‘ dong la: ‘,dem);
readln;
end.
- GV yêu cầu HS trình bày ý nghĩa, tác dụng của từng phần sau trong chương trình:
(1) program tongtien_ungho;
uses crt ;
var n,i, x,s, dem, T:longint;
(2) clrscr ;
write(‘ nhap so nguoi ung ho: ‘); readln ( n ) ;
write(‘ nhap so tien can so sanh: ‘); readln ( T ) ;
s:=0; dem:=0;
221


Nguyễn Chí Trung và Trương Thị Thắm

(3) writeln(‘ tong tien ung ho la: ‘,s,’ dong’);
writeln(‘ tong so nguoi co tien ung ho lon hon hoac bang ‘, T, ‘dong la: ‘,dem); readln;
Câu trả lời mong đợi:
(1) Khai báo tên chương trình, tên thư viện và tên biến cùng với kiểu dữ liệu thích hợp
của biến.
(2) Thực hiện câu lệnh xóa màn hình; câu lệnh thơng báo nhập dữ liệu, câu lệnh nhập N là
số HS, câu lệnh nhập số tiền cần so sánh là T đồng và câu lệnh gán tổng số tiền ủng hộ ban đầu S
bằng 0, tổng số người cần tìm Dem ban đầu bằng 0.
(3) Đưa ra màn hình thơng báo “tổng số tiền ủng hộ”, “tổng số người có số tiền ủng hộ cao
hơn bằng bằng số tiền T ”, giá trị của S, Dem và tạm dừng màn hình.
- GV yêu cầu HS trình bày ý nghĩa của tồn bộ chương trình.
Câu trả lời mong đợi: Chương trình giúp giải quyết bài tốn đặt ra: Tính tổng số tiền ủng
hộ của trường có N HS và đếm số người có tiền ủng hộ cao hơn hoặc bằng số tiền là T đồng.

- GV yêu cầu HS cho biết chỗ nào vận dụng cấu trúc điều khiển vừa học và tác dụng của nó
là gì?
Câu trả lời mong đợi: Đoạn chương trình vận dụng cấu trúc điều khiển vừa học là:
for i: = 1 to n do begin
write(‘ nhap tien ung ho của nguoi thu: ‘,i,’:’);
readln(x);
s:= s+ x;
If T ⇐ x then dem:= dem +1;
end;

Đoạn chương trình này thực hiện 3 cơng việc: Nhập tiền của mỗi người trong trường, cộng
ngay tiền đó vào tổng tiền ủng hộ và đếm số người có tiền ủng hộ cao hơn hoặc bằng số tiền là T
đồng.
Giai đoạn 2: Nghiên cứu sâu giải pháp
- GV trình bày khả năng ứng dụng của giải pháp: Trong thực tế có rất nhiều công việc cần
thực hiện lặp đi lặp lại nhiều lần, chẳng hạn như tính tiền gửi tiết kiệm trong n tháng, với lãi suất
hàng tháng là k%.
- GV yêu cầu HS vận dụng lệnh lặp lùi để giải quyết bài toán đặt ra.
- GV yêu cầu HS cho biết số tiền ủng hộ thấp nhất hoặc lớn nhất.

3.

Kết luận
Một số gợi ý dạy học

Về các ví dụ: Để minh họa việc vận dụng cấu trúc điều khiển, GV cần chọn các bài tốn có
tính thực tiễn và gần gũi với HS. Đối với các bài toán trong SGK, GV nên liên hệ hoặc chuyển nó
về dạng bài tốn có ý nghĩa thực tiễn.
Về phương tiện dạy học: GV cần chuẩn bị tốt điều kiện cơ sở vật chất để đảm bảo đủ phương
tiện dạy học, bao gồm máy tính, máy chiếu, giá giấy khổ lớn để nêu đề bài và sơ đồ HĐ (nếu có).

222


Dạy học các cấu trúc rẽ nhánh và lặp theo định hướng phát triển năng lực giải quyết vấn đề...

Về tổ chức dạy học: Không yêu cầu HS vẽ sơ đồ HĐ của các cấu trúc điều khiển ở trên lớp
mà yêu cầu HS về nhà vẽ và ghi HĐ của chúng. GV dành cho HS những khoảng thời gian phù hợp
để thực hiện các HĐ tích cực trong giờ học như: Lên bảng giải thích các cấu trúc và câu lệnh điều
khiển trong thuật tốn và trong chương trình.
Đánh giá năng lực giải quyết vấn đề
NL GQVĐ của HS được đánh giá thông qua kết quả kiểm tra và căn cứ vào ba mức vận
dụng như đã nêu:
Vận dụng ở mức thấp: HS giải thích được ý nghĩa của việc vận dụng cấu trúc điều khiển để
giải quyết bài tốn ở đoạn chương trình cho trước.
Vận dụng ở mức trung bình: HS lập trình giải quyết được các bài toán tương tự với bài toán
đã được GV hướng dẫn thuật tốn và chương trình.
Vận dụng ở mức cao: HS lập trình giải quyết được một số bài tốn khó hơn ở những mức độ
phù hợp, ví dụ như bài tốn địi hỏi phải thay đổi một chi tiết nào đó trong thuật tốn, hoặc cần sử
dụng các câu lệnh rẽ nhánh hay câu lệnh lặp lồng nhau, vv.
Dạy học theo định hướng phát triển năng lực cho HS hiện nay rất được quan tâm, chú trọng
ở cả trong nước và trên thế giới. NL GQVĐ là năng lực cốt lõi, góp phần hình thành và phát triển
nhiều năng lực khác. Thơng qua dạy học lập trình, NL GVQĐ dựa trên máy tính sẽ góp phần phát
triển. Nghiên cứu này đã đưa ra các thành phần của năng lực lập trình (NL GQVĐ dựa vào lập
trình) và trình bày “Quy trình 2 giai đoạn” vận dụng một số phương pháp và kĩ thuật dạy học đặc
biệt là “PH & GQVĐ” để dạy học các cấu trúc điều khiển trong chương trình, nhằm phát triển NL
GQVĐ cho HS. Cấu trúc lặp for-do được sử dụng như ví dụ minh họa cách thực hiện quy trình đã
nêu ra.
Những đề xuất được trình bày trong bài báo mới dừng lại ở nghiên cứu lí luận. Cần phải cụ
thể hóa hơn nữa về cách kiểm tra, đánh giá theo định hướng NL GQVĐ và triển khai thực nghiệm
sư phạm, để khẳng định tính tính khả thi của biện pháp đã đưa ra. Đây chính là hướng nghiên cứu

tiếp theo của tác giả.
TÀI LIỆU THAM KHẢO

[1] Meyer, Eric, 1992. The key competencies report. Australian Education Council and
Miniters of Vocational Education, Employment and Training, available at website:
/>[2] Raja Roy Singh, 1994. Nền giáo dục cho thế kỉ XXI - Những triển vọng của Châu Á – Thái
Bình Dương. Nxb Giáo dục, Hà Nội.
[3] J. Piaget, 1997. Tuyển tập tâm lí học và giáo dục học. Nxb Giáo dục.
[4] Hồ Sĩ Đàm (chủ biên), Hồ Cẩm Hà, Trần Đỗ Hùng, Nguyễn Đức Nghĩa, Nguyễn Thanh Tùng,
Ngô Ánh Tuyết, 2007. Tin học 11, Sách GV Tin học 11. Nxb Giáo dục, Hà Nội.
[5] Nguyễn Bá Kim, Vũ Dương Thụy, 2008. Phương pháp dạy học mơn tốn. Nxb Giáo dục.
[6] Nguyễn Bá Kim, Lê Khắc Thành, 2009. Phương pháp dạy học đại cương môn Tin học. Nxb
Đại học Sư phạm.
[7] G. Polya (Hồ Thuần - Bùi Tường dịch), 2009. Giải một bài toán như thế nào. Nxb Giáo dục.
[8] Hồ Cẩm Hà, Lê Khắc Thành, Nguyễn Chí Trung, 2010. Dạy học theo chuẩn kiến thức, kĩ năng
môn Tin học 11. Nxb Đại học Sư phạm.
223


Nguyễn Chí Trung và Trương Thị Thắm

[9] OECD, 2010. PISA 2012 Field Trial Problem Solving Framework (Draft Subject to Possible
Revisionafter the Field Trial).
[10] OECD, 2013. PISA 2015 - Draft Collaborative Problem Solving Framework.
[11] Chính phủ, 2014. Nghị quyết 44/NQ – CP, ngày 09/06/2014 ban hành Chương trình hành
động của Chính phủ thực hiện Nghị quyết số 29 – NQ/TW.
[12] Bộ GD&ĐT, 2015. Dự thảo chương trình GDPT tổng thể, Chương trình GDPT mới.
[13] Trương Thị Thắm, 2015. Dạy học cấu trúc rẽ nhánh và lặp theo định hướng phát triển năng
lực giải quyết vấn đề cho học sinh. Luận văn Thạc sĩ, Trường Đại học Sư phạm Hà Nội.
ABSTRACT

Teaching if-then and loops statements oriented
development problem solving capacity for students
Teaching oriented development the capacity of problem solving is key objectives of
the general high school education program from 2018 afterward. In this paper, we propose a
framework to apply effective methods and techniques of teaching, in particular to “problem
posing and problem solving” in teaching if-then and loops statements of the Pascal programming
language. This framework is used for teaching of programming in 11 grade in high school which
is oriented development capacity of problem solving. As result, students can solve problems in
Informatics and in social life. The lesson about the loop of “for-do statement” has been used as our
proposal illustration.
Keywords: Problem solving, problem solving capacity, programming capacity,
programming teaching.

224



×