CHƯƠNG II: TỔ CHỨC DẠY HỌC CÁC BÀI THỰC HÀNH CHO HỌC
2.2. Quy trình rèn luyện kỹ năng
Các kỹ năng thực hành Tin học được hình thành qua 4 bước:
2.2.1. Tìm hiểu nội dung bài toán
Tìm hiểu nội dung bài toán hay nói chính xác hơn là ta đi xác định bài toán.
M i bài toán được đặc tả bởi hai thành phần: Input và Output. Việc xác định bài toán chính là xác định rõ hai thành phần này và mối quan hệ giữa chúng. Các thông tin đó cần được nghiên cứu c n thận để có thể lựa chọn thuật toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán và ngôn ngữ lập trình thích hợp.
Ví dụ 1
Đối với bài toán: Tạo mảng A gồm N (N<=1 ) số nguyên, m i số có trị tuyệt
Nguyễn Anh Quốc - [Xây dựng phương pháp rèn luyện kỹ năng cho học sinh lớp 11 trên cơ sở các bài tập Tin học]
đối không vượt quá 3 . Tính tổng các phần tử của mảng là bội số của một số nguyên k cho trước.
Đối với bài toán này, giáo viên cần hướng dẫn học sinh xác định được Input, Output của bài toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán như sau:
Input: Mảng A gồm N phần tử.
Output: Tổng các phần tử của mảng chia hết cho k.
Thể hiện các đại lượng đã cho:
N là số phần tử của mảng và N<=1 nên ta khai báo kiểu dữ liệu của N là Byte.
M i phần tử của mảng là kiểu số nguyên và có giá trị tuyệt đối nhỏ hơn 3 vì vậy ta khai báo kiểu dữ liệu của mảng là Integer.
Các đại lượng phát sinh: để tham chiếu đến từng phần tử của mảng ta cần khai báo thêm biến i. Để tính tổng các phần tử của mảng là bội số của một số nguyên k cho trước ta khai báo biến Tong kiểu Integer và phải gán giá trị ban đầu (gán b ng ) trước khi sử dụng.
2.2.2. Xây dựng thuật giải
Dựa vào các thông tin đã xác định được về bài toán để lựa chọn hoặc thiết kế thuật toán. Đây là bước quan trọng nhất để giải một bài toán. bước này ta có thể hướng dẫn hoặc yêu cầu học sinh viết thuật giải b ng lưu đồ khối hoặc ngôn ngữ phỏng trình. Tức là xây dựng dãy các tác động để cho máy tính có thể thực hiện trong một khoảng thời gian nhất định nh m đạt được một kết quả xác định. Cũng có thể cho học sinh biết được nhiều thuật giải giải quyết c ng một bài toán, sau đó yêu cầu học sinh chọn xem trong số các thuật giải đó thuật giải nào tốt nhất.
Ví dụ 2
Bài toán: Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh' b ng cụm kí tự 'em'.
Đối với bài toán này học sinh có thể xây dựng thuật giải b ng ngôn ngữ phỏng trình như sau:
Nguyễn Anh Quốc - [Xây dựng phương pháp rèn luyện kỹ năng cho học sinh lớp 11 trên cơ sở các bài tập Tin học]
Program XULIXAU;
Var s: String; vt: Byte;
Begin
{Nhập xâu S};
While vt xâu con 'anh' trong xâu S <>0 do begin
- Tìm vị trí b t đầu của xâu 'anh' - Xóa xâu 'anh' vừa tìm thấy
- Chèn xâu 'em' vào xâu S tại vị trí trước đây xuất hiện xâu 'anh'
end;
{In xâu S};
End.
2.2.3. Thực hiện xây dựng chương trình
Xây dựng chương trình hay còn được gọi là lập trình. Lập trình là d ng một ngôn ngữ máy tính cụ thể để diễn tả thuật toán, cấu trúc dữ liệu thành các câu lệnh để máy tính có thể thực hiện được và giải quyết đúng bài toán mà người lập trình mong muốn.
bước này giáo viên có thể yêu cầu học sinh xây dựng chương trình b ng cách tinh chế từng bước. Đây là phương pháp có hệ thống giúp học sinh phân tích các thuật toán và cơ sở dữ liệu để từ đó viết thành chương trình.
Ban đầu chương trình được viết b ng những câu lời tự nhiên thể hiện sự phân tích tổng thể. từng bước sau các câu lời được phân tích chi tiết hơn thành những câu lời khác tương ứng với sự phân tích công việc thành những công việc nhỏ hơn.
M i câu lời đó là sự đặc tả công việc. Sự tinh chế được hướng về phía ngôn ngữ lập trình mà ta s d ng, ngh a là càng ở những bước sau các câu lời tự nhiên càng được thay b ng các câu lời của ngôn ngữ lập trình.
Ví dụ 3 Từ thuật toán xây dựng được ở mục 2.2.2 giáo viên hướng đẫn và yêu cầu học sinh chi tiết hóa b ng các câu lệnh để có được chương trình hoàn ch nh
Nguyễn Anh Quốc - [Xây dựng phương pháp rèn luyện kỹ năng cho học sinh lớp 11 trên cơ sở các bài tập Tin học]
như sau:
Program XULIXAU;
Var s: String; vt: Byte;
Begin
Write('Moi nhap mot xau: '); Readln(s);
While Pos('anh', s)<>0 do begin
vt:= Pos('anh', s);
Delete(s, vt, 3);
Insert('em', s, vt);
end;
Write(s);
Readln;
End.
2.2.4. Thực hiện chương trình (chạy chương trình)
Để tạo điều kiện vận dụng tri thức khoa học Tin học vào thực tế cần tránh tình trạng học sinh ch dừng lại ở phương hướng xây dựng thuật giải mà không trực tiếp sử dụng các ngôn ngữ lập trình để mã hóa và thực hành kiểm thử lại chương trình trên máy. Tình trạng này s có tác hại không nhỏ đối với học sinh trong học tập hiện tại cũng như trong cuộc sống sau này.
Một chương trình viết xong chưa ch c đã chạy được trên máy; kỹ năng tìm l i, sửa l i, điều ch nh viết lại chương trình cũng là một kỹ năng quan trọng trong lập trình.
Khi chương trình không chạy được hoặc chạy cho kết quả sai là có l i về thuật toán hoặc l i trình tự hoặc l i cú pháp. Học sinh cần phát hiện được và sửa được các l i để có chương trình chạy đúng. Trong bước này giáo viên nên yêu cầu học sinh xây dựng các bộ test nh m kiểm tra tính đúng đ n của chương trình; theo dõi và đánh giá chương trình của học sinh