Vận dụng câu lệnh rẽ nhánh

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 144 - 147)

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

III. Vận dụng câu lệnh rẽ nhánh

Tìm X để đẳng thức aX + b = 0 đúng với mọi a, b là 2 số thực bất kì được nhập vào từ bàn phím.

Ý tưởng sư phạm

Giúp HS phân biệt đẳng thức với phương trình. Là phương trình bậc nhất thì bao giờ hệ số của X cũng phải khác số 0.

HS phân chia 3 khả năng đối với đẳng thức: Đúng với 1 giá trị của X, luôn sai, luôn đúng.

- Sử dụng rẽ 2 nhánh dạng đủ lồng nhau.

- Sử dụng biểu thức logic cho việc dùng ba lệnh rẽ 2 nhánh dạng thiếu riêng biệt.

Câu lệnh ghép Đồ dùng dạy học

Ở nhà GV viết 2 chương trình lên 2 tờ giấy khổ to.

Một tờ cho chương trình sắp xếp 2 số.

Một tờ cho chương trình sắp xếp 3 số.

Hoạt động 15. Thâm nhập tình huống thực tiễn dẫn đến lệnh ghép

GV đặt vấn đề. Trong thực tiễn, nhiều công việc đòi hỏi dữ liệu cần được sắp xếp theo một thứ tự nào đó. Ví dụ xếp hàng thấp đứng trước, cao đứng sau. Điểm số môn Tin được sắp xếp từ cao xuống thấp. Danh sách vào phòng thi được sắp xếp theo thứ tự từ điển.

GV nhắc HS không ghi bài toán, thuật toán và chương trình vào vở

Bài toán. Viết chương trình cho máy tinh: Nhận vào giá trị của 2 số nguyên a, b sau đó sắp xếp theo thứ tự tăng dần và in ra màn hình giá trị của chúng sau khi đã sắp xếp.

Thuật toán

GV trao đổi với HS rồi tự GV viết thuật toán như sau

Bước 1. Nhận vào a, b;

Bước 2. Nếu a > b thì tráo đổi giá trị của chúng cho nhau;

Bước 3 viết giá trị a, b lên màn hình Bước 4 Kết thúc.

GV cho HS đọc SGK ví dụ 4 trang 42 để nhìn lại thuật toán tráo đổi giá trị của hai biến.

GV cho HS đọc SGK chương trình bài 2 trang 36 để biết muốn tráo đổi giá trị của hai biến phải dùng 3 lệnh gán.

GV trình bày: Như vậy trong thực tiễn, có những tình huống tương ứng với một khả năng của điều kiện chúng ta phải viết nhiều hơn một lệnh.

Trong Pascal sau từ khóa Then, Else, Do chỉ được viết một lệnh. Pascal chấp nhận cho gộp các lệnh đó vào với nhau để tạo thành một lệnh ghép.

Hoạt động 16. Trình bày câu lệnh ghép GV ghi bảng, HS ghi vào vở

Lệnh ghép Cú pháp Begin

< Các lệnh cần gộp lại với nhau > ; End

Hoạt động

Pascl coi đoạn trình Begin

< Các lệnh cần gộp lại với nhau > ; End

là một lệnh.

Hoạt động 17. Sắp xếp 2 số Chương trình

GV treo chương trình dưới đây đã có ở tờ giấy khổ to lên bảng cho HS xem.

Program Sapxep2so ; Uses Crt ;

Var a, b, tg : Integer ; Begin

ClrScr ; Write (‘Nhap 2 so nguyen ‘); Readln (a, b);

If a > b Then Begin tg := a ; a := b ; b := tg End ; Writeln ( a:7, b:7 );

Readln End.

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

(i) SGK không giới thiệu lệnh ghép liền sau lệnh rẽ nhánh là chưa hợp lý. Sau khi học lệnh lặp For sách giới thiệu một chương trình của ví dụ 4 trang 58 ở đó có dùng lệnh ghép sau từ khóa DO. Đầu trang 59 SGK giới thiệu lệnh ghép. SGK không nói tại sao và sau những từ khóa nào thì phải dùng lệnh ghép là chưa thỏa đáng. Lệnh ghép có vai trò như lệnh gán, lệmh rẽ nhánh, lệnh lặp, vì thế mà cần cho nó một danh phận chính thống,

công khai, đường hoàng như các lệnh khác.

SGK có chương trình tráo đổi 2 biến ở trang 36, sau đó lại có thuật toán tráo đổi giá trị 2 biến ở trang 42. Vấn đề là ở chỗ khi nào thì phải tráo đổi, tráo đổi để làm gì? Thì SGK không đưa ra nghĩa của tình huống trong thực tế và ngữ cảnh ở đó cần đến tráo đổi giá trị của 2 biến. Chúng ta biết bài toán sắp xếp trong tin học là rất phổ biến. Như vậy họat động 15, 16 và 17 là chúng ta đã cho HS thấy vai trò và ý nghĩa của tình huống tráo đổi giá trị hai biến. Ở đây chúng ta chưa bàn đến SGK không đề cập đến sắp xếp.

(ii) Sau khi GV đưa ra tình huống cần phải viết nhiều hơn một lệnh ứng với một khả năng của điều kiện, GV thông báo sau Then, Else, Do máy chỉ cho phép viết một lệnh là gây ra tình huông gợi vấn đề. Tạo cơ hội cho cấu trúc nhận thức của HS được hình thành theo cơ chế điều ứng, tạo ra kiến thức mới cho HS.

Hoạt động 18. Sắp xếp 3 số GV nhắc HS ghi bài toán

Bài toán. Viết chương trình cho máy tính: Nhận vào giá trị của 3 biến nguyên a, b, c sau đó sắp xếp theo thứ tự tăng dần và in ra màn hình giá trị của chúng sau khi đã sắp xếp.

GV nhắc HS không ghi chương trình

GV treo chương trình dưới đây đã có ở tờ giấy khổ to lên bảng cho HS xem.

Ghi chú. Lúc này trên bảng có 2 chương trình sắp xếp 2 số và sắp xếp 3 số. Chúng ta gọi chương trình sắp xếp 2 số là chương trình 1 và chương trình sắp xếp 3 số chương trình 2.

Program Sapxep3so ; Uses Crt ;

Var a, b, c, tg : Integer ; Begin

ClrScr ; Write (‘Nhap 3 so nguyen ‘); Readln (a, b, c);

If a > b Then Begin tg := a ; a := b ; b := tg End ; If b > c Then Begin tg := b ; b := c ; c := tg End ; If a > b Then Begin tg := a ; a := b ; b := tg End ; Writeln ( a : 7, b : 7, c : 7 );

Readln End.

GV chi vào dòng

If a > b Then Begin Tg := a ; a := b ; b := Tg End ;

Ở chương trình 1 và trình bày cách thức đã dùng để giải quyết vấn đề là so sánh giá trị của hai biến, nếu biến ở trước lớn hơn biến ở sau thì tráo đổi giá trị của chúng cho nhau. Việc làm trên còn có cách hiểu khác là đưa giá trị lớn hơn trong hai số về số đứng sau.

GV hướng HS về chương trình 2. Có ba biến. Vậy theo cách tiếp cận như trên, phải đưa số lớn nhất về c, số lớn thứ hai về b.

Để đưa số lớn nhất về c:

- Ta so sánh a với b. GV dùng thước chỉ vào dòng lệnh If a > b Then Begin Tg := a ; a := b ; b := Tg End ;

ở chương trình 2. Như vậy sau lệnh này số lớn nhất trong 2 số a, b là b.

- Tiếp theo ta so sánh b với c. GV dùng thước chỉ vào dòng lệnh If b > c Then Begin tg := b ; b := c ; c := tg End ;

ở chương trình 2. Như vậy sau lệnh này số lớn nhất trong 3 số a, b, c là c.

GV Để đưa số lớn thứ 2 về b (số lớn thứ 2 là với ba số a, b, c, còn sau khi đã đưa số lớn nhất trong ba số về c rồi thì bây giờ có thể hiểu là đưa số lớn nhất trong hai số a và b về b.

GV dùng thước chỉ vào dòng lệnh

If a > b Then Begin Tg := a ; a := b ; b := Tg End ;

ở chương trình 2. Như vậy sau lệnh này số lớn nhất trong 2 số a, b là b.

Chú ý. GV không cho HS chép 2 chương trình trên bảng treo tường mà yêu cầu họ về nhà viết chương trình cho bài toán sắp xếp 3 số.

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

Hoạt động 17 chúng ta không cho HS ghi bài toán, thuật toán, chương trình là để không mất thời gian vào việc ghi chép mà dùng toàn bộ thời gian, tâm trí vào việc hiểu thuật toán và chương trình 1.

Hoạt động 18 chúng ta chỉ cho HS ghi bài toán, không ghi chương trình là để không mất thời gian vào việc ghi chép mà dùng toàn bộ thời gian, tâm trí vào việc hiểu chương trình 2. GV yêu cầu HS về nhà viết chương trình sắp xếp 3 số đã hiểu được ở trên lớp.

Một lần nữa làm việc với chương trình. Ở trên lớp quan sát chương trình. ở nhà viết chương trình.

Hoạt động 17 cho HS ôn lại với 3 lệnh gán để tráo đổi giá trị của 2 biến. Vì phải sắp xếp 2 số a, b theo thứ tự tăng nên họ phải cho máy kiểm tra điều kiện nếu a > b thì tráo đổi giá trị của chúng cho nhau. Máy phải thực hiện 3 lệnh sau Then vậy phải dùng lệnh ghép. Chúng ta cho HS quan sát chương trình 1 sắp xếp 2 số là dễ hiểu, dễ nhận biết các lệnh trong chương trình. Hiểu chương trình 1 thì sẽ hiểu chương trình 2 được kiến tạo lên từ chương trình 1. Hiểu mức dễ để hiểu mức khó trong hệ thống phân bậc hoạt động.

Hai bài toán ở hoạt động 17 và hoat động 18 là một sự phân bậc hoạt động dựa vào sự phức tạp của đối tượng. Giải bài toán ở hoạt động 18 được vận dụng tình thần của lý thuyết kiến tạo. Cách giải quyết vấn đề ở bài toán sắp xếp 2 số, gợi ý cho bài toán sắp xếp 3 số. HS nhận ra bài toán sắp xếp 2 số ở hoạt động 17 len lỏi trong bài toán sắp xếp 3 số ở hoạt động 18.

Thông qua chương trình 1 và chương trình 2 chúng ta rèn tư duy tương tự cho HS, cho HS hiểu bản chất lệnh gán, vận dụng lệnh ghép, cụ thể hóa thuật toán sắp xếp tráo đổi.

Rất có thể nhiều HS băn khoăn về sự giống nhau của 2 dòng lệnh If – Then thứ nhất và thứ 3 ở chương trình 2. Lúc này GV nhắc lại hoạt động của lệnh gán làm thay đổi nội dung của biến, còn địa chỉ (tên biến là địa chỉ) thì không thay đổi. GV có thể vẽ hình ảnh bốn biến a, b, c, tg và cho 3 giá trị cụ thể của a, b, c giảm dần đề minh họa cho 3 lệnh If - Then ở chương trình 2.

Bài tậ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 144 - 147)

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

(233 trang)
w