Quy trình dạy học chiếm lĩnh tri thức lập trình

Một phần của tài liệu Phát triển tư duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc tin học lớp 11 THPT (Trang 38 - 43)

4. Ngôn ngữ lập trình

2.3.1.1Quy trình dạy học chiếm lĩnh tri thức lập trình

Quy trình gồm 5 bớc nh sau:

B

ớc 1: Làm nảy sinh nhu cầu nhận thức tri thức lập trình cụ thể là các

cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc. Trong bớc này, giáo viên có thể tiến hành bằng hai cách: Nêu vấn đề hoặc cho học sinh làm một số ví dụ và phản ví dụ tốt nhất là nên có các “phiếu học tập” đã chuẩn bị sẵn, đặt học sinh vào tình huống “có vấn đề” để học sinh phải suy nghĩ, phải t duy từ đó phát hiện ra vấn đề.

Ví dụ 1: Khi dạy cho học sinh về kiểu mảng một chiều, đây là kiểu dữ liệu có cấu trúc rất cần thiết và hữu ích trong nhiều chơng trình đợc giới thiệu ở bài 11 của chơng IV sách giáo khoa Tin học 11. Do học sinh đã đợc học về cấu trúc lặp ở chơng III nên ta có thể đa ra các câu hỏi và bài tập đặt vấn đề thông qua phiếu học tập để học sinh chuẩn bị trớc ở nhà nh sau:

Phiếu học tập

Câu hỏi 1: Chúng ta sử dụng cấu trúc lặp trong trờng hợp nào? Có những kiểu dữ liệu chuẩn nào mà em đã đợc học?

Câu hỏi 2: Sử dụng các cấu trúc điều khiển và các kiểu dữ liệu đã đợc học lập chơng trình: Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần.

Tính và in ra màn hình nhiệt độ trung bình của tuần và số lợng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần.

Nh vậy, học sinh đã có sự chuẩn bị về bài toán đặt vấn đề, giáo viên thu phiếu trả lời, xem và rút ra nhận xét ngắn gọn rồi chiếu Slide (hoặc treo bảng phụ) chơng trình hoàn chỉnh sử dụng cấu trúc rẽ nhánh nh sau:

Program Nhietdo_tuan;

Var t1,t2,t3,t4,t5,t6,t7,tb: Real; Dem: integer;

Begin

Writeln(‘Nhap vao nhiet do cua 7 ngay:’); Readln(t1,t2,t3,t4,t5,t6,t7);

dem:=0; If t1>tb Then dem:=dem + 1; If t2>tb Then dem:=dem + 1; If t3>tb Then dem:=dem + 1; If t4>tb Then dem:=dem + 1; If t5>tb Then dem:=dem + 1; If t6>tb Then dem:=dem + 1; If t7>tb Then dem:=dem + 1;

Writeln( ‘ Nhiet do trung binh cua tuan la: ’, tb:5:2);

Writeln( ‘ So ngay co nhiet do cao hon trung binh la: ’, dem); Readln;

End.

Sau đó dẫn dắt học sinh tới vấn đề mới bằng một câu hỏi:

Đối với bài toán trong câu hỏi 2, ở đây chỉ yêu cầu nhập vào nhiệt độ của 7 ngày trong tuần (N=7). Vậy khi N lớn hơn giả sử N=365 ngày thì chơng trình trên phải viết lại nh thế nào?

Câu hỏi này đặt học sinh vào tình huống “có vấn đề”, học sinh sẽ phải t duy và nảy sinh những suy nghĩ mới, hớng mới để giải quyết vấn đề đợc đặt ra. Nh vậy sẽ làm nảy sinh nhu cầu nhận thức tri thức mới.

B

ớc 2: Tổ chức hớng dẫn học sinh hành động tác động vào đối tợng

nhằm phát hiện ra dấu hiệu bản chất, cấu trúc logic của kiến thức mới. Trong b- ớc này giáo viên nên đa ra các phơng tiện trực quan (sơ đồ khối, hình minh họa….), ví dụ và bài tập yêu cầu học sinh quan sát, phân tích, tổng hợp, so sánh, trừu tợng hóa và khái quát hóa để tìm ra dấu hiệu bản chất của vấn đề. Từ đó rút ra ý nghĩa, cấu trúc,… của kiến thức mới.

Tiếp tục với ví dụ trình bày ở bớc 1, sau khi đã nêu vấn đề và đặt học sinh vào tình huống “có vấn đề”. Trong bớc 2 này, giáo viên sẽ tổ chức và hớng dẫn học sinh giải quyết vấn đề bằng sự t duy, suy nghĩ của học sinh kết hợp với sự

uốn nắn hớng dẫn của giáo viên để phát hiện ra bản chất của vấn đề có thể bằng

cách đa ra các câu hỏi gợi ý nh sau:

? Khi N lớn hơn 7 chẳng hạn N=365 ngày thì chúng ta sẽ phải khai báo bao nhiêu biến và viết bao nhiêu câu lệnh rẽ nhánh để so sánh.

? Các biến nhiệt độ ở đây có kiểu dữ liệu nh thế nào.

? Chơng trình nếu viết nh vậy thì sẽ có những hạn chế nào.

Cuối cùng, giáo viên có thể dẫn dắt học sinh đến kiến thức mới: Các biến nhiệt độ ở đây có cùng kiểu dữ liệu với nhau và để phân biệt các biến này dễ dàng hơn chúng ta đã đặt chung cho chúng tên là T chỉ khác nhau ở các số 1, 2, 3,…Vậy tại sao chúng ta không ghép tất cả các biến này lại thành một dãy để khi khai báo chúng ta chỉ việc khai báo 1 biến và thao tác với các phần tử của dãy thông qua chỉ số của nó. Ngôn ngữ lập trình Pascal cho phép ngời lập trình xây dựng và sử dụng các biến nh vậy. Biến này đợc gọi là biến mảng một chiều còn kiểu dữ liệu của biến này đợc gọi là dữ liệu kiểu mảng một chiều. (adsbygoogle = window.adsbygoogle || []).push({});

Qua đây học sinh đã có thể hình dung đợc cấu trúc logic về mảng một chiều và có thể khái quát phát biểu đợc khái niệm mảng một chiều. Nh vậy ở b- ớc này ta đã tạo cho học sinh hứng thú, sự tò mò về kiến thức mới.

Ví dụ 2: Khi dạy học cho học sinh về Kiểu bản ghi:

Với bài toán: Cho bảng kết quả thi gồm các thông tin về các thí sinh nh: Họ và tên, ngày sinh, giới tính, điểm các môn thi…mà những thông tin này thuộc các kiểu dữ liệu khác nhau.

Nếu cha đợc học về Kiểu bản ghi, với bài toán này học sinh có thể dùng mảng hai chiều để lu bảng trên mà dữ liệu trong các cột thuộc cùng một kiểu: Type

Hoten = Array [1..30] of String;

Họ và tên Ngày sinh Giớitính ĐiểmTin ĐiểmToán ĐiểmLí ĐiểmHóa ĐiểmVăn ĐiểmSử ĐiểmĐịa

Nguyễn Thị Minh Huệ 12/12/1990 Nữ 9 10 7 8 8 7 8 Dơng Trúc Lâm 2/1/1990 Nam 9 10 8 8 9 6 7 Đào Văn Bình 5/12/1990 Nam 8 8 9 8 7 7 6

Ngaysinh = Array [1..30] of String; Gioitinh = Array [1..30] of Boolean;

Toan, tin, li, hoa, van, su, dia = Array [1..30] of Real; Var

A1: Array [1..30] of hoten; A2: Array [1..30] of Ngaysinh; A3: Array [1..30] of gioitinh; A4: Array [1..30] of Toan; A5: Array [1..30] of Tin; A6: Array [1..30] of Li; A7: Array [1..30] of Hoa; A8: Array [1..30] of Van; A9: Array [1..30] of Su; A10: Array [1..30] of Dia;

Khi dùng mảng hai chiều khai báo cho bài toán trên thì khai báo viết dài và khi truy nhập đến các thông tin của một học sinh gặp rất nhiều khó khăn vì vậy khi làm việc với bài toán này giáo viên hớng dẫn cho học sinh dùng kiểu dữ liệu bản ghi để lu trữ bảng mà dữ liệu trong các cột có thể thuộc các kiểu dữ liệu khác nhau. Với việc dùng kiểu dữ liệu bản ghi, khai báo của bài toán trên đợc viết nh sau: Const Max = 60; Type Hocsinh = Record Hoten : String [30]; Ngaysinh : String [10]; Gioitinh : Boolean;

Tin, Toan, Li, Hoa, Van, Su, Dia : Real; End;

Lop : Array [1..Max] of Hocsinh;

B

ớc 3: Gợi động cơ để học sinh trình bày lại, thể hiện lại cấu trúc cũng

nh sự hoạt động của các cấu trúc điều khiển hay cách khai báo của các kiểu dữ liệu có cấu trúc dới dạng một thuật giải. Trong bớc này, giáo viên phải nêu bật các câu hỏi thích hợp làm nổi bật các thao tác có trong tri thức mới.

B

ớc 4: Tổ chức hớng dẫn học sinh nhận dạng và thể hiện thuật giải vừa

nêu vào các tình huống cụ thể. Trong bớc này, giáo viên yêu cầu học sinh làm các bài tập đòi hỏi phát triển các thao tác t duy thuật giải (T1, T2, T3, T4).

Trở lại với ví dụ ở bớc 1, sau khi đã hớng dẫn cho học sinh về cách khai báo mảng một chiều giáo viên có thể đa ra một số trờng hợp khai báo (có thể chiếu Slide hoặc dùng bảng phụ) để học sinh chỉ ra khai báo nào hợp lệ và khai báo nào không hợp lệ, vì sao?

Ví dụ nh:

A. Type 1chieu=array[1..100] of char; B. Type 1chieu=array[1-100] of char; C. Type mang1c=array(1..100) of char; D. Type mang1c: array[1..100] of char; E. Var a: array [-10…50] of Integer; F. Var a: array [30…10] of Real;

B

ớc 5: Tập luyện các hoạt động t duy thuật giải thông qua các bài toán

không theo thuật giải đã biết. Trong bớc này, giáo viên có thể đa ra một số bài toán giải đợc bằng 2 hoặc nhiều cách. Việc làm này có tác dụng rèn luyện phát hiện thuật giải tối u.

Một phần của tài liệu Phát triển tư duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc tin học lớp 11 THPT (Trang 38 - 43)