1. BT4. Ôn tập - Phương pháp dạy học dùng lời
2. Dạy học dùng l ời có những ưu đi ểm và khuyết đi ểm nào? Ứng với mỗi phương
pháp: Di ễn gi ảng (thuyết trình), di ễn gi ảng – nêu vấn đề, đàm thoại, đàm thoại –
nêu vấn đề, thực hành, làm vi ệc với SGK hãy:
b. Vận dụng để đưa ra 2 kịch bản dạy học cho một chủ đề trong bài dạy được phân
công (ứng với 2 PP di ễn gi ảng,).
Bài 6: Gi ải bài toán trên máy tính, Tin học 10, Chương 1
Chủ đề trình bày: gi ải bài toán trên máy tính
Phương pháp di ễn gi ảng
1. Đặt vấn đề
Ta có đề văn sau: Cảm nghĩ về người mà em yêu thương nhất trong gia đình
Trước khi làm một bài văn thì các em phải làm gì?
2. Gi ải quyết vấn đề
Để làm một bài văn thì chúng ta cần lập dàn ý, cụ thể gồm ba bước: mở bài, thân bài và
kết luận. Như vậy để giải một bài toán trên máy tính cũng phải được tiến hành theo một
trình tự nhất định. Gồm các bước sau:
Bước 1: Xác định bài toán
Bước 2: Lựa chọn hoặc thiết kế thuật toán
Bước 3: Viết chương trình
Bước 4: Hiệu chỉnh
Bước 5: Viết tài liệu
3. Giải quyết vấn đề
Xét ví dụ 1: Tìm và đưa ra nghiệm của phương trình bậc 2 tổng quát:
ax2 + bx + c = 0 (a ≠ 0)
Bước 1: 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.
2. Input chính là dữ liệu đầu vào của bài toán (giả thiết);
Output là dữ liệu đầu ra của bài toán (kết luận).
- 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
Input: hệ số a, b, c (a ≠ 0)
Output: kết luận về nghiệm của phương trình bậc 2
Bước 2: Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán
Có thể nói khi lập trình giải một bài toán trên máy tính thì đây là bước quan
trọng nhất. Mỗi thuật toán chỉ giải một bài toán nào đó, nhưng có thể có nhiều
thuật toán khác nhau cùng giải một bài toán
b. Diễn tả thuật toán
Diễn tả thuật toán cho ví dụ 1:
Input: hệ số a, b, c (a ≠ 0)
Output: kết luận về nghiệm của phương trình bậc 2
Ý tưởng: sử dụng những điều đã biết sau
delta=b2 – 4*a*c
Nếu delta = 0 thì phương trình có nghiệm kép
Nếu delta > 0 thì phương trình có hai nghiệm phân biệt
Nếu delta < 0 thì phương trình vô nghiệm
Thuật toán:
Cách liệt kê
Bước 1: Nhập số a, b, c (a ≠ 0)
Bước 2: delta b2 – 4*a*c
Bước 3: Nếu delta < 0 thì thông báo phương trình vô nghiệm rồi kết thúc
Bước 4: Nếu delta = 0 thì x (-b/2*a) thông báo phương trình có
nghiệm kép x rồi kết thúc
Bước 5: Nếu delta > 0 thì x1 (-b-√delta) /2a, x2 (-b+√delta) /2a
và thông báo phương trình có hai nghiệm phân biệt là x1, x2 rồi kết thúc
Sơ đồ khối
3. Nhập hệ số a, b, c
delta b2 – 4*a*c
delta < 0
delta = 0
delta > 0
PTVN
PT có nghiệm kép
x (-b/2*a)
PTVN có 2 nghiệm phần
biệt
x1 (-b-√delta) /2a
x2 (-b+√delta) /2a
KT
4. Bước 3: Vi ết chương trình
- Muốn máy tính thực hiện được thuật toán Diễn tả thuật toán bằng ngôn ngữ lập
trình
- Khi viết chương trình ta nên chọn một ngôn ngữ lập trình hoặc một phần mềm
chuyên dụng với thuật toán. Viết chương trình trong ngôn ngữ nào thì cần phải
tuân theo đúng qui định ngữ pháp của ngôn ngữ đó.
Bước 4: Hi ệu chỉnh
Chương trình viết xong, máy chạy được nhưng chưa chắc đã đúng. Vì thuật toán ta
viết khi diễn tả theo ngôn ngữ tự nhiên thì không vấn đề gì nhưng khi chuyển sang
ngôn ngữ lập trình yêu cầu phải đúng cú pháp của ngôn ngữ đó….
Kiểm tra tính đúng đắn của thuật toán: chạy thử vài giá trị cơ bản nếu kết quả
có vấn đề ta phải chỉnh sửa lại Hiệu chỉnh
Xét ví dụ 1:
Bộ test
a b c delta
1 2 1 0 PT có nghiệm kép x = -1
1 -5 6 1 PT có 2 nghiệm phân biệt x1= 3, x2 = 2
1 3 5 -11 PT vô nghiệm
Bước 5: Vi ết tài li ệu
Thực tế có những bài toán tương tự nhau sử dụng những thuật toán có lối tư duy
như nhau, có những bài toán là tập hợp những bài toán nhỏ hơn….
Cần lưu trữ các tài liệu của những bài toán này làm cơ sở cho những bài toán
khác, người khác có thể sử dụng, hiểu được Viết tài liệu
4. Kết luận
- Có 5 bước để giải một bài toán trên máy tính.
- Nhấn mạnh bước 1 và 2 là quan trọng
- Giải một bài toán trên máy tính cần phải tuân thủ các bước
5. Phương pháp di ễn gi ảng nêu vấn đề
Học sinh đã biết:
- Khái niệm bài toán và thuật toán
- Một số thuật toán căn bản
Học sinh sẽ học:
- Cách bước giải bài toán trên máy
1. Tạo tình huống gợi vấn đề, đặt vấn đề
Giáo viên xây dựng tình huống có vấn đề
- Ta có một bài toán sau: x2 + 2x + 1 = 0
- Tìm nghiệm của phương trình( tính bằng tay), sau đó nêu trình tự
các bước đã thực hiện
- Sau khi HS trả lời, GV nhận xét và đưa ra kết quả
- Vậy cũng với bài toán này khi giải trên máy tính thì khác gì so với
việc giải thông thường trên giấy không? Vấn đề đặt ra là máy tính sẽ
làm như thế nào? Theo một trình tự ra sao?
2. Phát bi ểu vấn đề
Giáo viên phát bi ểu vấn đề:
Để giải bài toán trên máy tính, ta tiến hành như thế nào?
3. Gi ải quyết vấn đề
Giáo viên hình thành gi ả thi ết
Giáo viên gợi mở từng bước cho nội dung dạy học, thông qua việc đưa ra câu
hỏi, các ví dụ
- Để giải một bài toán cần phải xác định thông tin đã có (input) và thông tin
cần tìm từ input (output) của bài toán đó, giống như cần xác định giả thiết
và kết luận của một bài toán thông thường Xác định bài toán
- Để tìm được output cần phải xây dựng các bước giải cho máy tính đó là
thuật toán. Có thể sử dụng những thuật toán đã có (sao cho phù hợp) hoặc
thiết kế thuật toán theo yêu cầu của bài Lựa chọn hoặc thiết kế thuật
toán
- Muốn máy tính thực hiện được thuật toán ta phải diễn tả thuật toán bằng
ngôn ngữ lập trình. Viết chương trình trong ngôn ngữ nào thì cần phải tuân
theo đúng qui định ngữ pháp của ngôn ngữ đó Viết chương trình
6. - Chương trình viết xong, máy chạy được nhưng chưa chắc đã đúng. Vì thuật
toán ta viết khi diễn tả theo ngôn ngữ tự nhiên thì không vấn đề gì nhưng
khi chuyển sang ngôn ngữ lập trình yêu cầu phải đúng cú pháp của ngôn
ngữ đó… Vì vậy ta phải kiểm tra tính đúng đắn của thuật toán: chạy thử vài
giá trị cơ bản nếu kết quả có vấn đề ta phải chỉnh sửa lại Hiệu chỉnh
- Thực tế có những bài toán tương tự nhau sử dụng những thuật toán có lối tư
duy như nhau, có những bài toán là tập hợp những bài toán nhỏ hơn… nên
cần lưu trữ các tài liệu của những bài toán này làm cơ sở cho những bài
toán khác, người khác có thể sử dụng, hiểu được Viết tài liệu
Kiến thức cần truyền đạt
Việc giải bài toán trên máy tính thường được tiến hành qua các bước:
- Bước 1: Xác định thuật toán;
- Bước2: Lựa chọn hoặc thiết kế thuật toán;
- Bước3: Viết chương trình;
- Bước4: Hiệu chỉnh;
- Bước5: Viết tài liệu.
Giáo viên chứng minh gi ả thi ết
- Xét ví dụ sau: Tìm và đưa ra nghiệm của phương trình bậc 2 tổng quát: ax2
+ bx + c = 0 (a ≠ 0) để minh họa cho các bước, chứng minh khi giải bài
toán theo trình tự các bước trên sẽ giúp giải quyết bài toán một cách tường
minh, dễ dàng chỉnh sửa và phát triển sau này.
- Giáo viên có thể đưa ra một số trường hợp khiếm khuyết một số bước thì
có thể gây trở ngại, bế tắc hoặc khó khăn.
- Giáo viên giải thích cho học sinh hiểu vì sao phải có các bước này
Đánh giá và thể thức hóa
Giáo viên tóm tắt các nội dung đã nghiên cứu và hình thành quy trình thực
hiện giải bài toán trên máy tính: - Có 5 bước để giải một bài toán trên máy
tính. Nhấn mạnh bước 1 và 2 là quan trọng - Giải một bài toán trên máy tính
cần phải tuân thủ các bước trên - Đối với những bài toán nhỏ, đơn giản khi
thực hiện có thể bỏ qua bước 1 mà vào thẳng bước 2 hoặc 3 luôn, bỏ đi bước
4. Vận dụng
Giáo viên ra bài tập và câu hỏi củng cố:
- Trả lời câu hỏi và làm bài tập ở SGK và SBT Tin 10
7. - Bài tập mở rộng: giải bài 4,6,7 ở SGK trang 44 ( bài 4: Bài toán và thuật toán)
theo các bước
Giáo viên tạo tình huống có vấn đề mới
Ta đang xét những “bài toán đơn giản” là các bài toán quen thuộc trong toán học.
Vậy đối với những “bài toán phức tạp” có thể không thuộc lĩnh vực toán học như:
sắp thời khóa biểu, quản lí học sinh,…. thì có làm theo các bước trên không? Tại
sao?
2c. Xây dựng hệ thống câu hỏi và câu trả lời cho một chủ đề trong bài dạy
được phân công dựa trên 6 mức độ nhận thức tư duy của Bloom ( phương
pháp đàm thoại)
Học sinh trả lời câu hỏi chỉ bằng sự tái hi ện và l ập lại (NHỚ/BIẾT)
- Hãy nêu nội dung và mục đích của bước hiệu chỉnh khi giải bài toán trên máy
tính
Trả l ời của học sinh là sự diễn đạt đi ều đã bi ết theo ý mình (HIỂU)
- Hãy trình bày tiêu chuẩn lựa chọn thuật toán
Học sinh biết áp dụng kiến thức vào những tình huống mới khác với bài học
khi trả lời câu hỏi (VẬN DUNG)
- Hãy viết thuật toán giải phương trình ax + b = 0 và đề xuất các Test tiêu biểu
Câu trả lời yêu cầu phân tích nguyên nhân, kết quả hiện tượng, tìm kiếm
bằng chứng cho một luận điểm (PHÂN TÍCH)
- Tại sao nói bước 2: lựa chọn hoặc thiết kế thuật toán là bước quan trọng nhất
để giải một bài toán?
Câu trả lời yêu cầu phối hợp một số ki ến thức đã có để giải đáp vấn đề khái
quát hơn bằng suy nghĩ sáng tạo của bản thân (TỔNG HỢP)
- Khi giải một bài toán ta có thể lược bỏ các bước được không ?. Nếu được thì
bước nào lược bỏ được. Tại sao?
Câu trả lời đòi hỏi có sự nhận định, phán đoán ý nghĩ của kiến thức, giá trị
của một tư tưởng, vai trò của một học thuyết, giá trị của cách giải quyết vấn
đề trong học tập (ĐÁNH GIÁ)
- Bạn có đồng ý với các bước giải bài toán này không? Tại sao? Nếu có thì bạn
hãy đưa ra ý tưởng để cải tiến ?
8. 3. Nghệ thuật gi ải thích
c. Làm thế nào để giải thích một khái niệm hay ý tưởng khó? Áp dụng giải thích
khái niệm “Chương trình con” bài 17-SGK Tin 11.
Để giải thích một khái niệm hay ý tưởng khó ta nên:
- Dựa vào kiến thức đã biết của người nghe để giải thích.
- Xây dựng các ví dụ minh họa hay đưa ra các câu hỏi gợi vấn đề để giải
thích
- Sau đó ta tổng hợp lại và nêu khái niệm cụ thể cho người nghe
Áp dụng giải thích khái niệm “Chương trình con” bài 17-SGK Tin 11.
Ta có một đoạn chương trình sau:
function GT(x: integer): integer;
Var k, s: integer;
Begin
s:=1;
For k:=1 To x Do
s:=s*k;
GT:=s;
End;
- Gọi HS lên chạy tay chương trình để tìm ra đoạn chương trình này làm công
việc gì
Đây là đoạn chương trinh tính lũy thừa
- Sau đó GV đặt vấn đề để tính tổng của 3 lũy thừa S = ax + by + cz thì làm như
thế nào?
- Yêu cầu HS suy nghĩ để trả lời vấn đề mà GV đưa ra
- GV nhận xét và đưa ra câu trả lời
- Để tính tổng 3 lũy thừa thì ta phải lặp lại đoạn chương trình tính lũy thừa 3 lần.
Điều đó sẽ khiến cho chương trình dài, dễ nhầm lẫn, khó phát hiện lỗi và sửa
lỗi
Vậy làm thế nào để ta có thể khắc phục được nhược điểm trên
- Để khắc phục nhược điểm trên ta có thể chia chương trình thành những chương
trình nhỏ hơn, đơn giản hơn, và thực hiện 1 số lệnh nhất định và chương trình
đó gọi là chương trình con.
Chương trình con là 1 dãy lệnh mô tả một số thao tác nhất định và
có thể được thực hiện từ nhiều vị trí trong chương trình.
Vận dụng: áp dụng chương trình con để tính tổng của 3 lũy thừa S = ax + by + cz
9. 4. Nghệ thuật demo (Làm mẫu thao tác/ thực hành)
d. Áp dụng: đưa ra chi ến lược gi ảng dạy cho 2 trong số những kĩ năng sau đây:
- Nhận diện và giải các bài toán lập trình có chứa cấu trúc lặp (bài 10 – SGK Tin 11)
- Kĩ thuật debuging trong Pascal (bài Thực hành 2 – SGK Tin 11)
- Định dạng một văn bản theo mẫu cho trước.
- Hoặc một kĩ năng liên quan đến bài dạy được phân công của bạn.
1. Định dạng một văn bản theo mẫu cho trước.
Chiến lược: áp dụng phương pháp thử sai (The Socratic demostration)
- Mục đích: học sinh hiểu cách định dạng văn bản
- Cho cả lớp quan sát văn bản mẫu
- Gọi một HS phân tích, nêu lên trình tự thực hiện định dạng văn bản
- Sau đó yêu cầu HS lên thực hiên các bước đã nêu
- GV nhận xét và bổ sung
- Nếu trong quá trình HS chưa định đạng đúng với văn bản mẫu thì GV mở bài định
dạng mẫu ra, giải thích và hướng dẫn HS quy trình thực hiện đúng
2. Kĩ thuật debuging trong Pascal (bài Thực hành 2 – SGK Tin 11)
Chiến lược: áp dụng phương pháp minh họa không giải thích (Silent demostration)
Sau khi nhập chương trình xong GV sẽ tiến hành Degug để tìm lỗi
GV sẽ thao tác và yêu cầu HS quan sát cẩn thận, GV sẽ không giải thích cho đến khi làm
xong
Sau đó GV sẽ gọi HS và hỏi lại các thao tác mà GV đã thực hiện và giải thích tại sao
Từ đó tạo động cơ hình thành và ghi nhớ vấn đề cho học sinh.