Bài tập vận dụng lệnh rẽ 2 nhánh và lệnh ghép

Một phần của tài liệu Dạy học và kiểm tra, đánh giá kết quả học tập của học sinh theo địnhhướng năng lực (Trang 147 - 152)

TỔ CHỨC THỰC HIỆN TẠI ĐỊA PHƯƠNG

C. Phản biện bộ câu hỏi của người khác

IV. Bài tập vận dụng lệnh rẽ 2 nhánh và lệnh ghép

1. Viết chương trình cho máy tính tìm giá trị nhỏ nhất và lớn nhất của 3 số nguyên được nhập vào từ bàn phím.

Ý tưởng sư phạm

Bài toán tìm giá trị lớn nhất của 2 số thực được nhập vào từ bàn phím đã được thực hiện ở đề 4 mục hoạt động nhóm. Ở bài này, cách 1 HS có thể dùng chương trình đó cho yêu cầu tìm giá trị lớn nhất của 2 số a, b.

If a > b Then Max := a Else Max := b ;

HS khai báo thêm biến Min rồi tương tự như đoạn trình tìm Max để viết thêm đoạn trình tìm giá trị nhỏ nhất của 2 số a, b.

If a < b Then Min := a Else Min := b ;

Sau khi có Max của a, b và Min của a, b thông thường HS dùng 2 lệnh rẽ nhánh dạng thiếu để so sánh Min và Max với c như sau:

If Min > c Then Min := c ; If Max < c Then Max := c ;

Như vậy HS không dùng lệnh ghép.

Để HS dùng lệnh ghép, GV gợi ý cho HS ở cách 1 các em đã hai lần kiểm tra điều kiện của a so với b để có Max của a, b và có Min của a, b. Các em hãy xử lý hợp lý hơn bằng việc chỉ một lần kiểm tra điều kiện của a so với b mà có ngay Max của a, b và Min của a, b. Chúng ta chờ đợi ở HS viết cách 2 dùng lệnh ghép chỉ một lần kiểm tra điều kiện của a so với b là có ngay Max của a, b và Min của a, b như sau.

If a > b Then Begin Max := a ; Min := b End Else Begin Min := a ; Max := b End ;

Đương nhiên nếu HS làm ngay cách 2 thì GV không phải gợi ý như trên. Điều cần bàn thêm ở đây là như sau:

HS dùng 2 lệnh rẽ nhánh dạng thiếu để so sánh Min và Max với c If Min > c Then Min := c ;

If Max < c Then Max := c ;

Hai lệnh trên bắt máy tuần tự kiểm tra Min > c rồi lại tiếp tục kiểm tra Max < c.

Chúng ta biết Min không lớn hơn Max. Như vậy nếu Min > c đúng có nghĩa là c đã nhỏ hơn Min thì đương nhiên c < Max theo tính chất bắc cầu của tập số tức là biểu thức quan hệ Max < c là sai. Nói cách khác nếu Min > c thì sau khi gán c cho Min là có ngay Min và Max là giá trị nhỏ nhất và giá trị lớn nhất của 3 số a, b, c mà không cần phải kiểm tra Max < c. Sẽ là hợp lý nếu HS viết một lệnh rẽ nhánh dạng đủ như sau

If Min > c Then Min := c Else If Max < c Then Max := c ;

Đương nhiên nếu HS dùng lệnh rẽ nhánh dạng đủ như trên thì GV không có gì phải nói.

Sau Else chúng ta vẫn phải cho máy kiểm tra Max < c vì nếu như Min > c sai có nghia là c không nhỏ hơn Min. Nhưng c không nhỏ hơn Min thì vẫn có khả năng c không lớn hơn Max. Như vậy Min và Max của a và b cũng chính là Min và Max của a, b và c.

Những điều chúng tôi nói ở trên là nhằm rèn kĩ năng tư duy cho HS. HS phải sử dụng tính sắp thứ tự, tính bắc cầu của tập số để suy luận có lý. Việc HS dùng 2 lệnh rẽ nhánh dạng thiếu và GV cho họ thấy máy phải 2 lần kiểm tra điều kiện là chúng ta muốn cho HS thấy cấu trúc tuần tự trong ngôn ngữ lập trình. Khi HS dùng một lệnh rẽ nhánh dạng đủ

If Min > c Then Min := c Else If Max < c Then Max := c ;

nếu Min > c đúng thì máy thực hiện câu lệnh Min := c và không thực hiện (bỏ qua) câu lệnh 2 là If Max < c Then Max := c ; nghĩa là máy không kiểm tra Max < c nữa (HS lại được củng cố hoạt động của lệnh rẽ nhánh dạng đủ).

Đoạn chương trình mong đợi là như sau:

If a > b Then Begin Max := a ; Min := b End Else Begin Min := a ; Max := b End ;

If Min > c Then Min := c Else If Max < c Then Max := c ;

Những điều chúng ta đã nói còn nhằm nhắc nhở HS luôn luôn xem xét kết quả lao động của bản than bằng con mắt phê phán, tìm những bất hợp lý còn tồn tại trong sản phẩm đang có, cải tiến kĩ thuật để có qui trình xử lý khoa học hơn, sản phẩm tốt hơn.

Như vậy chúng ta tích lũy dần những kỹ năng cho HS để tiếp cận hình thành năng lực cho họ.

2. Viết chương cho máy nhận vào 3 số thực a, b, c.

2.1. Xét xem 3 số đó có là ba số đo của ba cạnh một tam giác hay không?

2.2. Nếu ba số đó là ba số đo của ba cạnh một tam giác thì:

2.2.1. Tam giác đó có là tam giác đều không?

2.2.2. Tam giác đó có là tam giác cân không?

Ý tưởng sư phạm

Câu 2.1 là cho HS dùng 1 trong 2 biểu thức logic sau đây (a < b+c) and (b < a+c) and(c < a+b)

(a >= b+c) OR (b >= a+c) OR (c >= a+b)

Chú ý.Không phải kiểm tra một số lớn hơn hiệu của hai số còn lại. Không phải kiểm tra cả 3 số đều dương.

Câu 2.2.1 là dùng quan hệ bắc cầu (a=b) and (b=c).

Câu 2.2.2 là cho HS dùng phép toán OR trong biểu thức (a=b) OR (b=c) OR (a=c)

Lời bàn ý tưởng sư phạm

Chúng tôi viết phần PPDH lệnh rẽ nhánh và lệnh ghép theo tinh thần các thành tố cơ sở của PPDH. Đây không phải là giáo án lên lớp. Các thày cô tham khảo và gia công, thêm, bớt, chỉnh sửa, điều chỉnh lại để có giáo án cho riêng mình, phù hợp với đối tượng HS ở lớp của các thày cô. Chúng tôi ghi các hoạt động liên tiếp từ 1 đến 18 là để tùy GV ngắt đến đâu cho một tiết là quyền của quí thày cô. Một số hoạt động các thày cô có thể bỏ qua hoặc cắt xén cho thích hợp với thời gian lên lớp, phù hợp với đối tượng HS. Ví dụ hoạt động ngôn ngữ diễn đạt hoạt động của lệnh rẽ nhánh có thể gợi ý cho HS về nhà chuẩn bị rồi tiết sau trình bày ở lớp để không bị kéo dài thời gian. Một số bài tập chúng tôi chia ra các mục nhỏ để tiện cho việc cắt xén của các thày cô.

Một số bài toán các thày cô có thể khai thác, phát triển ra ngoài những điều đã viết trong tài liệu này. Chẳng hạn bài toán tráo đổi giá trị của hai biến a, b trong tài liệu đã dùng thêm biến tg. GV có thể cho HS khá của lớp không dùng biến tg, chỉ dùng 2 biến a, b thực hiện tráo đổi giá trị của chúng cho nhau. Tình huống sắp xếp hai số a, b theo thứ tự tăng dần, chúng tôi phát triển lên sắp xếp ba số a, b, c theo thứ tự tăng dần. Các thày cô có thể cho HS khá của lớp sắp xếp bốn số A1, A2, A3, A4 theo thứ tự tăng dần. GV cho HS nhận xét số lần dùng lệnh If - Then đối với từng trường hợp: 2 biến dùng 1 lần, 3 biến dùng 3 lần, 4 biến dùng 6 lần, từ đó khái quát lên cho N biến dùng n(n-1)/2 lần. Việc này giúp HS kĩ năng tư duy tương tự, khái quát, phát triển trí tưởng tượng cho HS. Việc viết

A1, A2, A3, A4 là nhằm định hướng cho HS sau này làm việc với dãy biến A1, A2, A3, A4, … , An thì dùng phần chung A là tên mảng, phần số theo thứ tự từ 1 đến n là chỉ số phần tử của mảng. Chúng tôi biết SGK quyển 3 Tin học dành cho trung học cơ sở không có sắp xếp mảng. Sách có dạy tráo đổi giá trị hai biến, dùng vòng for lồng nhau, dạy mảng 1 chiều. Những kiến thức đó đủ cho đối tượng lớp chọn, đối tượng cần nâng cao học sắp xếp mảng.

Chúng tôi muốn trên lớp HS ghi ít để dành thời gian cho trao đổi, thảo luận. Những gì SGK đã có thì không ghi ở lớp, phần nào cần thì cho HS chép lại ở nhà. Cho HS đọc sách đúng lúc, đúng chỗ. Không ghi chương trình ở lớp mà dùng tiếng Việt ghi những gì có tính chất chỉ dẫn, định hướng để ở nhà HS viết chương trình mà ở lớp họ đã được quan sát, đã hiểu chương trình đó. Đây cũng là tìm việc cho HS làm ở nhà. Trên lớp HS hiểu chương trình, ở nhà có phần đã ghi trong vở chỉ dẫn những chỗ quan trọng, chắc HS sẽ tự viết được chương trình. Đây là chúng ta đã quán triệt lý thuyết hành vi trong tâm lý vào quá trình dạy học.

Phương án lên lớp chúng tôi viết cho GV không sử dụng máy tính, máy chiếu. Nếu GV dùng máy tính, máy chiếu thì không khó khăn gì chuyển đổi những ý tưởng trong tài liệu sang dùng máy tính, máy chiếu.

Các thày cô thấy chúng tôi nhiều lần sử dụng một bài toán cho những mục tiêu khác nhau. Điều đó là có dụng ý sư phạm như sau:

Việc khai thác một bài toán ở những khía cạnh khác nhau để dạy học có những ưu điểm nhất định. GV chỉ dành thời gian cho việc tạo tiền đề xuất phát cho cả lớp cũng như cho các em làm quen với dữ liệu Input, Output ở lần đầu tiên nêu bài toán. Việc xây dựng thuật toán cho bài toán cũng chỉ mất một lần ở lần đầu tiên. Đó là những việc giúp giáo viên tiết kiệm được thời gian trên lớp.

Sau thành công của chương trình đầu tiên, HS đã quen thuộc với dữ liệu của bài toán. Việc đưa dữ liệu vào để kiểm thử không còn quan trọng ở những chương trình tiếp theo. HS không cần phải tính bằng tay xem kết quả mà máy tính đưa ra có tin cậy không.

Điều đó tạo cho các em tâm lí yên tâm với tính đúng đắn của chương trình mới, tập trung vào việc giải quyết vấn đề chưa hợp lí của chương trình hiện tại.

Dữ liệu của bài toán cùng với thuật toán giải bài toán đã có là phương tiện để cho thày và trò thể hiện các thao tác ở những góc nhìn khác nhau, với những yêu cầu hoàn thiện hơn công việc lập trình. HS thao tác trên dữ liệu quen thuộc, các em không mất thời gian làm quen với dữ liệu mới.

Những tồn tại của chương trình vừa hoàn chỉnh, những cách tiếp cận mới để lập trình đặt HS vào tình huống gợi vấn đề một cách tự nhiên, lôi cuốn các em tự giác tham gia giải quyết vấn đề.

Chương trình sau được cấu trúc lại từ các lệnh đã có ở chương trình trước. Được bổ sung câu lệnh mới làm cho tính hợp lí, tính khoa học của lập trình được nâng cao. HS có dịp nhìn lại chương trình cũ, ôn lại kiến thức cũ, so sánh chương trình mới với chương trình cũ để thấy cái hay của chương trình mới, cái hạn chế của chương trình cũ, kiến thức cũ là cơ sở để hiểu kiến thức mới, kiến thức mới soi sáng kiến thức cũ. Kiến thức cũ đóng vai trò đối chứng cho kiến thức mới tồn tại, tôn vinh kiến thức mới. Kiến thức mới có được sự liên hệ với kiến thức cũ đã tồn tại trong đầu HS để cùng tồn tại và phát triển.

Phát triển một bài toán để có những bài toán mới ở những mức cao hơn theo những căn cứ phân bậc hoạt động là quán triệt tinh thần của lí thuyết kiến tạo. Tùy theo trình độ HS mà GV phân bậc mịn hay thô giúp HS ở nhà tự làm được bài tập. HS có thể nhận dạng được bài toán đó trong những biến đổi của nó ẩn trong những bài toán có liên quan, từ đó gợi ý cho HS nẩy sinh hướng giải bài toán, rèn kỹ năng giải quyết vấn đề.

Việc chúng ta sử dụng nhiều lần một bài toán nhằm những mục tiêu khác nhau, phát triển một bài toán lên bài toán ở mức cao, rồi phát triển bài toán ở mức cao lên mức cao hơn nữa và có thể cứ thế tiếp tục lên cao là bồi dưỡng cho các em nhân sinh quan, thế giới quan khoa học, biện chứng, phát triển cái mới có tính kế thừa cái cũ. Nhìn sự vật, hiện tượng dưới những góc độ khác nhau, những quan điểm khác nhau trong mối liên hệ phổ biến, đa dạng và nhiều tầng của chúng.

Phụ lục II

Dạy học soạn thảo văn bản trong hoạt động và bằng hoạt động nhằm phát triển năng lực người học

Một phần của tài liệu Dạy học và kiểm tra, đánh giá kết quả học tập của học sinh theo địnhhướng năng lực (Trang 147 - 152)

Tải bản đầy đủ (DOCX)

(233 trang)
w