1. Trang chủ
  2. » Giáo án - Bài giảng

SKKN HÓA

13 105 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 59 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Trong quá trình giảng dạy, giáo viên không nhấn mạnh việc có 2 cách diễn tả thuật toán, do đó học sinh tiếp thu kiến thức một cách hời hợt và thụ động.. - Vì hạn chế trong nội dung bài

Trang 1

Kinh nghiệm giảng dạy bài:

“Bài toán và thuật toán”

Tin học 10

========

I/ Nhận thức cũ – Tình trạng cũ

Bài toán và thuật toán

“ ” là một bài lý thuyết nh ng lại liên quan đén bài tập trong ch ơng trình Tin học 10 Mục đích yêu cầu của bài học này là học sinh nắm rõ và phân biệt đ ợc 2 khái niệm: Bài toán và Thuật toán Đây là hai khái niệm then chốt để hiểu đ ợc các khái niệm khác nh: Chơng trình và ngôn ngữ lập trình Qua đó học sinh hình dung rõ hơn một bớc nữa về cách thức hoạt động của máy tính

Tuy đây là một môn học cha đợc áp dụng đại trà ở các trờng PTTH nhng với 1 năm công tác và giảng dạy tại tr ờng DL PTTH Ngô Trí Hòa, với đối tợng học sinh có chất lợng đầu vào thấp Cũng là từ việc thăm lớp dự giờ của đồng nghiệp cộng với tình hình kết quả thực

tế nhận thức của học sinh ở đây, tôi nhận thấy đặc điểm của môn học

là 1 môn học mới, kiến thức lại trừu t ợng, hơn nữa giáo viên cha cập nhật đợc phơng pháp dạy học theo SGK mới nên tiết dạy còn lúng túng, học sinh nhận biết kiến thức không rõ ràng Do đó bài học còn

có những hạn chế sau:

- Giáo viên không kiểm tra sách, vở học tập của học sinh và không quán triệt tình trạng học sinh phải có đầy đủ sách, vở 100%

- Giáo viên không lý giải rõ vì sao trong tin học, ta quan niệm bài toán và Thuật toán nh trong SGK đã trình bày

- Trong quá trình giảng dạy, giáo viên không nhấn mạnh việc

có 2 cách diễn tả thuật toán, do đó học sinh tiếp thu kiến thức một cách hời hợt và thụ động

- Vì hạn chế trong nội dung bài học là nhằm giúp học sinh nắm vững và phân biệt đợc 2 khái niệm Bài toán và thuật toán nên giáo viên không tự giác liên hệ mở rộng kiến thức để học sinh làm quen dần với các khái niệm ngôn ngữ và ch ơng trình Do đó nếu học sinh

có hiểu đợc khái niệm bài toán, thuật toán và phân biệt giữa chúng thì cũng cha thể hình dung đợc cách thức làm việc của máy tính Do

Trang 2

đó vẫn đặt ra cho học sinh một câu hỏi: Vậy với 1 bài toán nh thế, chỉ cần đa ra 1 thuật toán cho nó thì bằng cách nào mà máy tính có thể cho ta kết quả một cách nhanh chóng và hiệu quả? Đó sẽ mãi là một câu hỏi lớn trong suốt quá trình học của học sinh nếu giáo viên chỉ hạn chế ở phạm vi trình bày 2 khái niệm Bài toán và thuật toán

- Giáo viên nêu ra các cách diễn tả thuật toán và đ a ra một số ví

dụ phiến diện, đơn giản nh SGK và giải thích một cách chung chung thì dẫn đến học sinh cũng khó hình dung đ ợc ý mà giáo viên muốn truyền đạt, dẫn đến các em tiếp thu kiến thức một cách hời hợt và thiếu khoa học

- Bài giảng của giáo viên không có tính liên hệ với thực tế, với nội dung môn Toán học, vì thế khó gây đ ợc nhịp bắt nhanh kiến thức của học sinh

- Việc sử dụng t liệu, đồ dùng dạy học của giáo viên ch a đáp ứng nhu cầu của bài học Cụ thể với bài này, giáo viên cần có 1 máy

vi tính để thực hành một số ví dụ về viết ch ơng trình hoàn chỉnh nhằm giúp học sinh thấy ngay kết quả thực hành và cũng hình dung

đợc cách giải 1 bài toán trên máy vi tính là nh thế nào Từ đó các em

sẽ thấy đợc nội dung bài học hôm nay là rất quan trọng đối với việc giải 1 bài toán trên máy vi tính

- Các kiến thức của bài đợc truyền tải đến học sinh một cách cứng nhắc, rập khuôn theo SGK, sách thiết kế bài giảng, ch a hiểu hết

ý nghĩa của ngời viết sách nên khi dạy kiến thức còn hời hợt

- Khâu kiểm tra, đánh giá học sinh ch a mang tính tổng quát mà phiến diện dẫn đến không nắm bắt đ ợc kết quả nhận thức của học sinh

- Học sinh tiếp thu bài học một cách thụ động, không có hứng thú học tập nên kết quả ch a cao

- Giáo viên không chịu khó s u tầm những ví dụ, không liên hệ thực tế nên bài học thiếu sự linh động, không gây hứng thú học tập cho học sinh

- Giáo viên không nhắc nhở học sinh tìm hiểu tr ớc nội dung bài học và các kiến thức có liên quan đến bài học đó

Nh vậy tình trạng chung của bài học là: Giáo viên không chịu khó đầu t, suy nghĩ, không nghiên cứu tổng quát về hệ thống kiến thức cơ bản, mối quan hệ giữa các kiến thức của bài nà với bài khác,

Trang 3

giữa các môn Tin học với Toán học, với thực tế, không đặt tình huống cho các em tìm hiểu, thảo luận Do đó học sinh không nắm rõ

đợc các khái niệm bài toán và thuật toán trong tin học, không phân biệt đợc giữa chúng hoặc có nắm bắt đ ợc cũng chỉ là một cách chung chung, phiến diện, tiếp thu bài học một cách hời hợt và thụ động

Bài Bài toán và thuật toán“ ” là bài học lý thuyết nh ng lại liên quan đến kỹ năng viết thuật toán bằng ngôn ngữ sau này Để viết đ ợc một thuật toán trên một loại ngôn ngữ nào đó thì tr ớc hết yêu cầu học sinh phải nắm đợc thuật toán của bài toán đó Vì thế giáo viên cần tích cực tìm tòi, sáng tạo trong bài dạy nhằm tăng thêm phần sinh

động, gây đợc hứng thú cho học sin thì bài học mới đem lại kết quả cao

Từ kinh nghiệm của bản thân, qua trao đổi với đồng nghiệp và

tổ, nhóm chuyên môn, tôi xin đ a ra một số ý kiến nhỏ khi dạy bài:

“Bài toán và thuật toán”

II/ Nhận thức mới – Giải pháp mới

1 Đặc điểm của bài này có liên quan đến thuật toán nên việc

liên hệ với bộ môn toán học sẽ giúp học sinh dễ hình dung hơn Vì thế giáo viên cần nhắc nhở học sinh cần luyện vững kiến thức toán học, nhất là các bài toán có nhiều b ớc giải theo trình tự nhất định nh : bài toán tìm ớc số chung lớn nhất của 2 số nguyên d ơng m,n; bài toán tìm ớc số chung nhỏ nhất của 2 số nguyên, d ơng m,n; bài toán giải phơng trình bậc nhất; bài toán giải phơng tình bậc hai

2 Mục đích của bài học này là

Nhằm giúp học sinh hiểu rõ các khái niệm bài toán và thuật toán, phân biệt giữa chúng; cách diễn tả thuật toán và các khái niệm ngôn ngữ, chơng trình

Cần rèn luyện cho học sinh kỹ năng liên hệ thực tế, liên hệ với

bộ môn toán học và vận dụng kiến thức đó để rút ra kết luận bài học

Cũng qua bài học này, giáo viên củng cố thêm kiến thức toán học áp dụng vào tin học để giải các bài toán một cách đơn giản, nhanh chóng và hiệu quả

3 Trọng tâm kiến thức cơ bản:

- Trọng tâm: Bài gồm 3 mục, trọng tâm rơi vào mục 1 và mục 2

- Kiến thức cơ bản:

Trang 4

+ Nắm rõ khái niệm bài toán trong tin học là gì? các yếu tố Input và Output là gì và tại sao khi dùng máy tính giải các bài toán ta phải quan tâm đến 2 yếu tố đó?

+ Khái niệm thuật toán là gì? Với 1 bài toán đã cho thì cần phải mô tả đợc Input , Output và vấn đề là làm thế nào để tìm ra Output?

+ 2 cách diễn tả thuật toán: Liệt kê từng b ớc và dùng sơ đồ khối Phần lớn khi trình bày tiết dạy, giáo viên th ờng nêu thẳng định nghĩa trong SGK và cho học sinh chép rồi học thuộc theo cách hiểu của từng học sinh Vì vậy, khi giảng đến mục này giáo viên cần lý giải rõ vì sao trong tin học, ta quan niệm bài toán và thuật toán nh trong SGK đã trình bày Máy tính là 1 thiết bị giúp con ng ời xử lý thôn gtin Do đó khi dùng máy tính làm một việc nào đó, ta chỉ cần quan tâm đến hai yếu tố: đ a vào máy thông tin gì (thông tin vào) và cần lấy ra thông tin gì (thông tin ra) Muốn máy tính làm đ ợc công việc này, ta cần hớng dẫn cho máy các thao tác mà máy có thể thực hiện đợc Từ đó dẫn đến khái niệm thuật toán chính là cách giải bài toán mà nguyên tắc ta có thể trao cho máy tính thực hiện đ ợc

Khi giới thiệu thuật toán trong SGK, nên cho học sinh dùng thuật toán đó giải một bài toán cụ thể Ví dụ dùng thuật toán tìm ớc chung lớn nhất của 12 và 27

Ngoài ra nên cho học sinh tìm các ví dụ khác về bài toán, qua

đó phân tích rõ Input là gì, Output là gì Sau đó cho học sinh trình bày cách giải bài toán đã phát biểu, phân tích lời giải để chuyển sang dạng trình bày theo định nghĩa thuật toán Có thể minh họa trên máy một chơng tình đơn giản viết bằng ch ơng trình Pascal giải một bài toán

Hơn nữa giáo viên cần liên hệ đến yếu tố các bài toán ở bộ môn toán học ở bộ môn toán học thì 1 bài toán yêu cầu con ng ời phải thực hiện Nhng trong tin học thì đối tợng trực tiếp thực hiện và cho

ra kết quả thì lại là máy tính chứ không phải con ng ời mặc dù yếu tố gián tiếp thực hiện lại chính là con ng ời

Mặt khác, khi dạy đến khái niệm Thuật toán, để học sinh hiểu

đợc thuật toán thì giáo viên cần nhấn mạnh song hành giữa Toán học

và Tin học để học sinh dễ hình dung rằng:

Trang 5

Trong toán học có xu h ớng nghiên cứu định tính các bài toán Ngời ta chỉ cần chứng minh sự tồn tại của lời giải và có thể không cần chỉ ra một cách tờng minh lời giải đó

Còn trong Tin học việc giải bài toán có nghĩa là h ớng dẫn cho máy thực hiện các thao tác để máy tìm ra lời giải t ờng minh Ta gọi một dãy thao tác nh vậy là một thuật toán (còn gọi là giải thuật)

Và kết luận khái niệm Thuật toán là một dãy hữu hạn các thao tác đợc sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán ta tìm đ ợc Output tơng ứng.

Sau đó giáo viên nên đ a ra một số ví dụ cụ thể để học sinh dễ hình dung

(Cần lu ý học sinh dãy thao tác đó phải là hữu hạn).

Khi trình bày có 2 cách diễn tả thuật toán, giáo viên cần nhấn mạnh việc có 2 cách diễn tả thuật toán: cách diễn tả giữa ng ời với ngời và cách diễn tả giữa ngời với máy tính Khi đã hiểu rõ một thuật toán giải bài toán nào đó, với mỗi Input cho tr ớc, ngời ta có thể dùng thuật toán đó tìm ra output tơng ứng Tuy nhiên, con ngời muốn tận dụng các tính năng u việt của máy tính để làm việc này Chính vì vậy, cần diễn tả thuật toán đó bằng một ngôn ngữ mà máy tính có thể hiểu và thực hiện đợc Cách diễn tả một thuật toán nh vậy đợc gọi là một chơng trình Các khái niệm ch ơng trình và ngôn ngữ nhắc đến ở

đây sẽ còn đợc nói rõ thêm trong một số bài sau, việc nhắc tới ở đây

để tạo cảm nhận ban đầu cho học sinh về khái niệm này

Để nhận thức sâu sắc những nội dung cơ bản trên, yêu cầu cần phát huy cao độ t duy của học sinh nhằm rút ra những kết luận nh mục tiêu của bài học đã xác định

4/ Nội dung và phơng pháp dạy học

Trớc khi vào bài mới, giáo viên dành 5 phút kiểm tra bài cũ

Câu hỏi: Cho hình chữ nhật ABCD với chiều rộng AB = CD =

6cm Chiều rộng BC = AD = 4cm.Hãy tính diện tích của hình chữ nhật đó

Hãy chỉ rõ bài toán cho biết gì và yêu cầu chúng ta phải làm gì?

Trang 6

Nhìn qua thì câu hỏi này không có một chút gì là “Tin học” cả Thế nhng yêu cầu mà nó đặt ra lại liên quan mật thiết đến toàn nội dung của bài học này Đúng vậy, đó chỉ là kiến thức toán học mà học sinh đã đợc làm quen nhng giáo viên đa vào mục hỏi bài cũ và dành một góc bảng nhỏ ghi lại kết quả trả lời của học sinh để phục vụ cho bài mới

Y/c trả lời:

Cho biết: Chiều dài: AB = CD = 6 cm.

Chiều rộng: BC = AD = 4 cm

Cần tính: Diện tích HCN ABCD

Và S = AB x BC = 6 x 4 = 24 cm2

Phần lớn giáo viên không chú trọng khâu này và không kiểm tra bài cũ, hoặc kiểm tra nhng trong quá trình dạy bài mới không thể hiện mối liên hệ giữa kiến thức đó với nội dung bài mới

Giáo viên đi vào hoạt động 1 bằng tình huống của đầu bài

Các hoạt động dạy học

* Hoạt động 1: Khái niệm bài toán trong Tin học

Giáo viên dẫn dắt vấn đề: chúng ta đang học môn Tin học và

đang tìm hiểu về khái niệm Bài toán trong tin học (GV vừa nói vừa ghi lên bảng dòng: bài toán trong tin học và gạch chân 3 từ trong tin học để gây chú ý đối với học sinh) bởi khái niệm bài toán trong tin học khác bài toán thông thờng

Giáo viên gợi ý: khi cô giáo ra 1 đề toán và yêu cầu chúng ta

giải, vậy lúc này đối tợng giải bài toán này là ai? Học sinh sẽ trả lời

là chính các em, hay nói khác chính là con ng ời

Giáo viên kết luận: vậy thì lúc này ta sẽ định nghĩa bài toán là

việc nào đó mà yêu cầu chúng ta phải thực hiện

Giáo viên liên hệ từ Con ngời Máy tính

Bây giờ với một bài toán trong lĩnh vực tin học, tức nó yêu cầu máy tính phải trực tiếp giải ra kết quả Thì lúc này ta lại có khái niệm bài toán trong tin học là những việc mà ta muốn máy tính thực hiện Từ đó giáo viên chép lên bảng để học sinh tiện theo dõi

Giáo viên phân tích thêm: Nh vậy có thể nói bài toán trong tin học và bài toán trong toán học thực chất sẽ là một nếu ta không chú ý

đến đối tợng trực tiếp thực hiện nó

Trang 7

Giáo viên cho 1 học sinh nhắc lại khái niệm và cho 1 vài ví dụ

về bài toán trong tin học

Giáo viên chép các ví dụ sau lên bảng: Viết 1 dòng chữ ra màn hình, giải phơng trình bậc hai, quản lý cán bộ trong 1 cơ quan

Đến đây giáo viên nhấn mạnh rằng: khi cần máy tính giải bài toán ta cần quan tâm đến 3 yếu tố:

Đa vào máy tính thông tin gì (Input)

và cần lấy ra thông tin gì (Output)

Để phát biểu 1 bài toán ta cần phải trình bày rõ Input và Output của bào toán đó

Ví dụ 1: bài toán tìm ớc số chung lớn nhất của 2 số nguyên, d

-ơng m, n

Input: 2 số nguyên, dơng m, n

Output: ƯCLN(m,n)

Nh vậy thông tin vào (Input) chính là những thông tin mà bài toán đã cho biết trớc Còn thông tin ra (output) chính là những thông tin mà bài toán yêu cầu máy tính phải tìm

Vậy quay lại với bài toán tính diện tích hình chữ nhật trên thì 1

em hãy cho biết:

- TT vào là gì? (Bài toán cho biết gì?)

- TT ra là gì? (Bài toán yêu cầu phải tìm gì?)

Từ đó học sinh dễ dàng nhận ra Input: Chiều dài = 6 cm;Chiều

rộng = 4 cm

Output: Tính diện tích HCN ABCD.

Nh vậy với bài tóan này khi ta xác định đ ợc Input và output thì trớc hết ta sẽ phải đa thông tin chiều dài = 6 cm và chiều rộng = 4

cm vào máy tính và yêu cầu máy tính cho kết quả về diện tích hình chữ nhật ABCD

Ví dụ 2: Bài toán tìm nghiệm PT bậc 2: ax2 + bx + c = 0 (a#0) Cho học sinh nhận biết Input? và Output?

Học sinh sẽ phải nhận đợc Input: các số thực a, b, c (a#0)

Output: nghiệm x thuộc R sao cho

ax2 + bx + c=0

Trang 8

(Giải thích: Output có thể là 1, 2 hoặc không có số thực nào thỏa mãn tơng ứng với các trờng hợp phơng trình có 1, 2 hay vô nghiệm).

Hoạt động 2: Khái niệm thuật toán (Algorithm)

Khi dạy đến mục này, giáo viên cần giải thích để học sinh hiểu rằng: việc giải bài toán có nghĩa là h ớng dẫn cho máy thực hiện các thao tác để máy tìm ra lời giải t ờng minh Và ngời ta gọi dãy thao tác

nh vậy đợc gọi là một thuật toán.Sau đó giáo viên kết luận khái niệm trên nh sau:Thuật toán là một dãy hữu hạn các thao tác đ ợc sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó,

từ Input của bài toán ta tìm đợc Output tơng ứng

Ví dụ 1: Ước chung lớn nhất của 2 số nguyên, d ơng m,n có thể

đợc tìm theo thuật toán sau:

Bớc 1: Nhập m, n

Bớc 2: Nếu m = n thì lấy giá trị chung này làm ƯCLN rồi chuyển đến bớc 5

Bớc 3: Nếu m>n thì thay m bằng m-n rồi quay lại b ớc 2

Bớc 4: Thay n bằng n-m rồi quay lại b ớc 2

Bớc 5: Đa ra kết quả ƯCLN; Kết thúc

Và giáo viên giải thích thêm: thuật toán dựa trên một tính chất hiển nhiên là: nếu a=b thì chính b là ƯCLN của a và b; Ng ợc lại

ƯCLN(a,b) =ƯCLN(b-a,a) nếu a<b, hoặc ƯCLN(a,b)=ƯCLN(b,a-b) nếu a>b

Chú ý: Dãy thao tác trên là hữu hạn.

Ví dụ 2: Tính tổng S = 1+2+3+ +n (n>=0)

Bớc 1: Nhập n

Bớc 2: Đặt S = 0; i=1 (i là 1 biến chạy)

Bớc 3: Nếu i<=n thì sang Bớc 4 Ngợc lại sang Bớc 5

Bớc 4: S = S+i; i = i+1 và quay lại b ớc 3

Bớc 5: Thông báo tổng S và kết thúc

Thử nghiệm kết quả:

Ví dụ áp dụng dãy số trên với n = 4 thì

Trang 9

Bớc 1 ta nhập n=4

Bớc 2: cho giá trị ban đầu của tổng là 0, biến chạy i =1

Ta so sánh biến chạy i với n Lúc này i=1<n=4 nên ta thực hiện phép tính tăng S lên i đơn vị tức lúc này S=s+i = 0+1 = 1; i = i+1 = i+1=2

Ta tiếp tục so sánh i mới (=2) với n ta thấy i=2<n=4 nên ta thực hiện S=S+i =1+2=3; i=i+1=2+1=3

I mới =3 vẫn nhỏ hơn n=4 nên ta tiếp tục tăng S lên i đơn vị Ta có: S=S+i = 3+3=6; i=i+1 =3+1=4

Lúc này i=n=4 vẫn thỏa mãn i<=n nên ta tăng S lên i đơn vị

Ta có: S=S+i = 6+4=10; i=i+1=4+1=5

Lúc này i=5>n=4 nên thuật toán dừng lại Và ta thu đ ợc tổng là S=10 tại i=5

KL: Vậy với n=4 thì Tổng S=10.

Hoạt động 3: Các cách diễn tả thuật toán

Khai dạy đến mục này giáo viên cần giới thiệu cho học sinh 2 cách diễn tả thuật toán thông thờng đó là cách liệt kê từng bớc và cách dùng sơ đồ khối Và cách mà chúng ta trình bày vừa xong trên chính là cách liệt kê từng bớc Tức là ta chia bài toán thành từng b ớc nhỏ và lần lợt thực hiện các phép tính theo từng b ơc đó Và giữa các bớc có mói quan hệ khăng khít với nhau

- Riêng đối với cách diễn tả thuật toán bằng sơ đồ khối thì có

sử dụng các hình khối nh:

+ Hình thoi:diễn tả điều kiện (phép so sánh)

+ Hình chữ nhật: Thực hiện các phép toán

+ Mũi tên ( ): chỉ chiều đi của thuật toán

(+): chiều đúng; (-) Chiều sai + Hình elip: Nhập, xuất dữ liệu

Ví dụ: Với thuật toán của bài toán tính tổng n số nguyên, d ơng

liên tiếp ta có thể diễn tả bằng thuật toán nh sau:

Nhập

Trang 10

Với cách diễn tả nh trên, máy cũng cha có khả năng trực tiếp thực hiện thuật toán đợc Ta cần diễn tả thuật toán đó bằng một ngôn ngữ sao cho máy tính có thể thực hiện đ ợc Kết quả diễn tả thuật toán

nh vậy đợc gọi là một chơng trình Ngôn ngữ để viết ch ơng tình đợc gọi là ngôn ngữ lập trình.

Vậy:

* Chơng trình: là cách diễn tả thuât toán bằng một ngôn ngữ

nào đó để máy tính hiểu và thực hiện đ ợc

* Ngôn ngữ lập trình: là ngôn ngữ dùng để viết một ch ơng

trình

Sau khi đã đi xong cả 3 hoạt động ta đặt ra cho học sinh một vài bài tập để học sinh tự củng cố lại bài học:

Ví dụ: Em hãy viết thuật toán để giải phơng tình bậc nhất

ax + b = 0 (a # 0)

Giáo viên hớng dẫn để học sinh thông thạo các bớc làm bài từ bớc

đầu tiên là xác đinh các đại lợng Input, output cho đến bớc cuối cùng

là diễn tả thuật toán bàng hai cách đã học sau đó giáo viên trực tiếp kiểm tra cài làm của học sinh để nắm đ ợc mức độ tiếp thu của các em

S:=0; i:=1

S:=S+i I:=i+1

Ngày đăng: 11/06/2015, 02:00

Xem thêm

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w