Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (165.53 KB, 7 trang )
<span class='text_page_counter'>(1)</span>Người soạn: Đoàn Thị ánh Nguyệt. Gi¸o ¸n: Tin häc 8. TuÇn 12 TiÕt 23 : bµi tËp I. Mục đích, yêu cầu: - Học sinh nắn vững thuật toán biến đổi để di được từ bài toán đến chương trình. Biết khái niÖm bµi to¸n, thuËt to¸n. - Bước đầu: Biết các bước giải bài toán trên máy tính; Xác định được Input, Output của một bài toán đơn giản; Biết chương trình là thể hiện của thuật toán trên một ngôn ngữ cụ thể. Biết mô tả thuật toán bằng phương pháp liệt kê các bước. Hiểu thuật toán tính tổng của N số tự nhiên đầu tiên, tìm số lớn nhất của một dãy số. Và viết được chương trình của một bài to¸n. - Yªu thÝch m«n tin häc. II/ ChuÈn bÞ cña häc sinh vµ gi¸o viªn: GV: Một số chương trình mẫu HS: Nghiên cứu trước bài III/ TiÕn tr×nh d¹y häc: 1. Bµi míi: Hoạt động của GV + HS. Néi dung ghi b¶ng. Hoạt động 1: Bài tập Gi¸o viªn nªu bµi to¸n 1 SGK: Bµi 1: Hãy chỉ ra INPUT và OUTPUT của các bài toán sau: a) Xác định số học sinh trong lớp cùng mang họ Trần. b) Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trước. c) Tìm số các số có giá trị nhỏ nhất trong n số đã cho. * Häc sinh tr¶ lêi tõng c©u hái mét vµ viÕt l¹i ë b¶ng * Cho häc sinh nhËn xÐt * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi cho. Bµi 1: Häc sinh tr¶ lêi hoÆc cho häc sinh lªn b¶ng ghi vµ nhËn xÐt. §¸p ¸n: INPUT: Danh s¸ch hä cña c¸c häc sinh trong líp. OUTPUT: Sè häc sinh cã hä TrÇn. INPUT: D·y n sè. OUTPUT: Tæng cña c¸c phÇn tö lín h¬n 0. INPUT: D·y n sè. OUTPUT: Sè c¸c sè cã gi¸ trÞ nhá nhÊt (cã thÓ mét hay nhiÒu sè).. 1. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(2)</span> Gi¸o ¸n: Tin häc 8. Người soạn: Đoàn Thị ánh Nguyệt. häc sinh Gi¸o viªn nªu bµi to¸n 2 SGK: Bµi 2: Giả sử x và y là các biến số. Hãy cho biết kết quả của việc thực hiện thuật toán sau: Bước 1. x x + y Bước 2. y x - y Bước 3. x x - y * Häc sinh tr¶ lêi , cã thÓ lªn b¶ng viÕt. * Cho häc sinh nhËn xÐt * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi cho häc sinh Gi¸o viªn nªu bµi to¸n 3 SGK: Bµi 3: Bµi 3: Häc sinh lµm theo nhãn råi cö mét b¹n Cho trước ba số dương a, b và lªn tr×nh bµi. c. Hãy mô tả thuật toán giải ghi kết Gi¶i: quả ba số đó có thể là ba cạnh của M« t¶ thuËt to¸n: INPUT: Ba số dương a > 0, b > 0 và c > 0. một tam giác hay không. OUTPUT: Th«ng b¸o "a, b vµ c cã thÓ lµ ba * Cho häc sinh lµm theo nhãn råi c¹nh cña mét tam gi¸c" hoÆc th«ng b¸o "a, b vµ gäi häc sinh lªn tr×nh bµi c kh«ng thÓ lµ ba c¹nh cña mét tam gi¸c". * Häc sinh tr¶ lêi , cã thÓ lªn b¶ng viÕt. Bước 1. Tính a + b. Nếu a + b c, chuyển tới * Cho häc sinh nhËn xÐt bước 5. * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi Bước 2. Tính b + c. Nếu b + c c, chuyển tới cho häc sinh bước 5. Bước 3. Tính a + c. Nếu a + c b, chuyển tới bước 5. Bước 4. Thông báo "a, b và c có thể là ba cạnh cña mét tam gi¸c" vµ kÕt thóc thuËt to¸n. Bước 5. Thông báo "a, b và c không thể là ba c¹nh cña mét tam gi¸c" vµ kÕt thóc thuËt to¸n. Gi¸o viªn nªu bµi to¸n 4 SGK: Bµi 4: Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên để x và y có giá trị tăng dần. * Cho häc sinh lµm theo nhãn råi gäi häc sinh lªn tr×nh bµi. Bµi 4: Häc sinh lµm theo nhãn råi cö mét b¹n lªn tr×nh bµi. Cã thÓ gi¶i bµi to¸n nµy b»ng c¸ch sö dông mét biÕn phô hoÆc kh«ng dïng biÕn phô. ThuËt to¸n 1. Sö dông biÕn phô z. INPUT: Hai biÕn x vµ y. 2. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(3)</span> Người soạn: Đoàn Thị ánh Nguyệt. Gi¸o ¸n: Tin häc 8 * Häc sinh tr¶ lêi , cã thÓ lªn b¶ng. OUTPUT: Hai biÕn x vµ y cã gi¸ trÞ t¨ng dÇn. Bước 1. Nếu x y, chuyển tới bước 5. Bước 2. z x. Bước 3. x y. Bước 4. y z. Bước 5. Kết thúc thuật toán.. viÕt. * Cho häc sinh nhËn xÐt * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi cho häc sinh. ThuËt to¸n 2. Kh«ng sö dông biÕn phô (xem bµi tËp 2 ë trªn). INPUT: Hai biÕn x vµ y. OUTPUT: Hai biÕn x vµ y cã gi¸ trÞ t¨ng dÇn. Bước 1. Nếu x y, chuyển tới bước 5. Bước 2. x x + y. Bước 3. y x y. Bước 4. x x y. Bước 5. Kết thúc thuật toán.. 2. Cñng cè: - Cho học sinh nhắc lại các bước giải của 4 bài toán trên. Gi¸o viªn nh¾c l¹i c¸ch lµm cña 4 bµi to¸n trªn lÇn n÷a cho häc sinh n¾m v÷ng h¬n. TiÕt 24 : bµi tËp I. Mục đích, yêu cầu: - Học sinh nắn vững thuật toán biến đổi để di được từ bài toán đến chương trình. Biết khái niÖm bµi to¸n, thuËt to¸n. - Bước đầu: Biết các bước giải bài toán trên máy tính; Xác định được Input, Output của một bài toán đơn giản; Biết chương trình là thể hiện của thuật toán trên một ngôn ngữ cụ thể. Biết mô tả thuật toán bằng phương pháp liệt kê các bước. Hiểu thuật toán tính tổng của N số tự nhiên đầu tiên, tìm số lớn nhất của một dãy số. Và viết được chương trình của một bài to¸n. - Yªu thÝch m«n tin häc. II/ ChuÈn bÞ cña häc sinh vµ gi¸o viªn: 3. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(4)</span> Người soạn: Đoàn Thị ánh Nguyệt. Gi¸o ¸n: Tin häc 8 GV: Một số chương trình mẫu HS: Nghiên cứu trước bài III/ TiÕn tr×nh d¹y häc: 1. Bµi míi: Hoạt động của GV + HS. Néi dung ghi b¶ng. Hoạt động 1: Bài tập Gi¸o viªn nªu bµi to¸n 5 : Bµi 5: Cho ba biến x, y và z. Hãy mô tả thuật toán đổi giá trị của các biến nói trên để x, y và z có giá trị tăng dần. Hãy xem lại Ví dụ 5 để tham khảo * Cho häc sinh lµm theo nhãn råi gäi häc sinh lªn tr×nh bµi * Häc sinh tr¶ lêi , cã thÓ lªn b¶ng viÕt. * Cho häc sinh nhËn xÐt * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi cho häc sinh. Bµi 5: (Kh«ng ë SGK) Häc sinh lµm vµ tr¶ lêi dùa vµo bµi 4 Gi¶i: Trước hết, nếu cần, ta hoán đổi giá trị hai biến x và y để chúng có giá trị tăng dần. Sau đó lần lượt so sánh z với x và z với y, sau đó thực hiện các bước hoán đổi giá trị cần thiết (xem l¹i vÝ dô 5 trong bµi 5, SGK). INPUT: Ba biÕn x, y vµ z. OUTPUT: Ba biÕn x, y vµ z cã gi¸ trÞ t¨ng dÇn. Bước 1. Nếu x y, chuyển tới bước 3. Bước 2. t x, x y, y t. (t là biến trung gian. Sau bước này x và y có giá trị t¨ng dÇn.) Bước 3. Nếu y z, chuyển tới bước 6. Bước 4. Nếu z < x, t x, x z và z t, (víi t lµ biÕn trung gian) vµ chuyÓn đến bước 6. Bước 5. t y, y z và z t. Bước 6. Kết thúc thuật toán.. Gi¸o viªn nªu bµi to¸n 6 SGK (GV cho Bµi 6: (SGK vµ gv cho thªm phÇn b) thªn c©u b) : Häc sinh lµm theo 2 nhãm råi cö mét b¹n lªn Bµi 6: (Lµ bµi 5 ë SGK) tr¶ lêi ë b¶ng. Hãy mô tả thuật toán giải các bài Gi¶i: toán sau: a) TÝnh tæng c¸c phÇn tö cña d·y sè A = {a1, a) Tớnh tổng cỏc phần tử a2,..., an} cho trước. 4. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(5)</span> Gi¸o ¸n: Tin häc 8. Người soạn: Đoàn Thị ánh Nguyệt. của dãy số A = {a1, a2,..., INPUT: n vµ d·y n sè a1, a2,..., an. an} cho trước. OUTPUT: Tæng S = a1 + a2 +... + an. b) Nhập n số a1, a2, ..., an từ Bước 1. S 0; i 0. bàn phím và ghi ra màn hỡnh số nhỏ nhất cỏc số Bước 2. i i + 1. đú. Số n cũng được nhập Bước 3. Nếu i n, S S + ai và quay lại bước từ bàn phím. 2. * Cho học sinh làm theo nhón rồi Bước 4. Thông báo S và kết thúc thuật toán. gäi häc sinh lªn tr×nh bµi b) T×m sè nhá nhÊt trong d·y n sè a1, a2, ..., an * Học sinh trả lời , có thể lên bảng cho trước. Thuật toán này tương tự như thuật viÕt. toán tìm giá trị lớn nhất trong dãy n số đã cho (xem vÝ dô 6, bµi 5). §iÒu kh¸c biÖt lµ thªm c¸c * Cho häc sinh nhËn xÐt bước nhập số n và dãy n số a1, a2, ..., an. * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi cho häc sinh INPUT: n vµ d·y n sè a1, a2,..., an. OUTPUT: Min = Min{ a1, a2, ..., an} Bước 1. Nhập n và dãy n số a1, a2,..., an. Bước 2. Gán Min a1; i 1. Bước 3. i i + 1. Bước 4. Nếu i > n, chuyển đến bước 6. Bước 5. Nếu ai ≥ Min, quay lại bước 3. Trong trường hợp ngược lại, gán Min ai rồi quay lại bước 3. Bước 6. Ghi giá trị Min ra màn hình và kết thúc thuËt to¸n. Gi¸o viªn nªu bµi to¸n 7: SGK (GV cho Bµi 7: (Bµi 6 SGK) thªn c©u b) : Häc sinh lµm. Häc sinh lªn b¶ng lµm Bµi 7: (Lµ bµi 6 ë SGK) còn lại giáo viên thu nháp để chấm. Hãy mô tả thuật toán Gi¶i: tớnh tổng cỏc số dương trong dóy số Tính tổng các số dương trong dãy số A = {a1, A = {a1, a2,..., an} cho trước a2,..., an} cho trước. * Cho häc sinh lµm theo nhãn råi INPUT: n vµ d·y n sè a1, a2,..., an. gäi häc sinh lªn tr×nh bµi OUTPUT: S = Tæng c¸c sè ai > 0 trong d·y a1, * Häc sinh tr¶ lêi , cã thÓ lªn b¶ng a ,..., a . 2 n viÕt. 5. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(6)</span> Gi¸o ¸n: Tin häc 8 * Cho häc sinh nhËn xÐt * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi cho häc sinh. Người soạn: Đoàn Thị ánh Nguyệt Bước 1. S 0; i 0. Bước 2. i i + 1. Bước 3. Nếu ai > 0, S S + ai; ngược lại, giữ nguyªn S. Bước 4. Nếu i n, và quay lại bước 2. Bước 5. Thông báo S và kết thúc thuật toán.. Gi¸i viªn nªu bµi 8:. Bµi 8:. Hãy mô tả thuật toán giải các bài Häc sinh lµm ra vë. toán sau: Mét häc sinh lªn b¶ng lµm. a) Đếm số các số dương Gi¶i: trong dãy số A = {a1, a2,.., a) Đếm số các số dương trong dãy số A = {a1, an} cho trước. a2,.., an} cho trước. Tìm vị trí của số dương đầu tiên INPUT: n vµ d·y n sè a1, a2,..., an. trong dãy số A = {a1, a2,..., an} cho OUTPUT: Soduong = Sè c¸c sè ai > 0. trước, tính từ phải sang trái Bước 1. Gán Soduong 0, i 0. * Cho häc sinh lµm theo nhãn råi gäi häc sinh lªn tr×nh bµi Bước 2. i i + 1. * Häc sinh tr¶ lêi , cã thÓ lªn b¶ng Bước 3. Nếu i > n, chuyển đến bước 5. viÕt. Bước 4. Nếu ai > 0, gán Soduong * Cho häc sinh nhËn xÐt Soduong +1 rồi quay lại bước 2. * Gi¸o viªn nhËn xÐt vµ söa l¹i bµi Trong trường hợp ngược lại, cũng cho häc sinh quay lại bước 2. Bước 5. Thông báo giá trị Soduong và kết thóc thuËt to¸n. b) Tìm vị trí của số dương đầu tiên trong dãy số A = {a1, a2,..., an} cho trước, tính từ ph¶i sang tr¸i. INPUT: n vµ d·y n sè a1, a2,..., an. OUTPUT: Vitri = Vị trí của số dương đầu tiªn trong d·y sè a1, a2,..., an, tÝnh tõ ph¶i sang tr¸i. Bước 1. Gán i n. Bước 2. Nếu ai > 0, chuyển tới bước 5. 6. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(7)</span> Gi¸o ¸n: Tin häc 8. Người soạn: Đoàn Thị ánh Nguyệt Bước 3. Gán i i 1. Bước 4. Nếu i < 1, chuyển tới bước 5; ngược lại, quay lại bước 2. Bước 5. Thông báo giá trị Vitri = i và kết thóc thuËt to¸n.. 2. Cñng cè: Cho học sinh nhắc lại các bước giải của 4 bài toán trên. Gi¸o viªn nh¾c l¹i c¸ch lµm cña 4 bµi to¸n trªn lÇn n÷a cho häc sinh n¾m v÷ng h¬n. Tæ chuyªn m«n ký duyÖt ngµy /. / 2009. TTCM. NguyÔn ThÞ An. 7. Trường THCS Sơn Hoá Lop8.net.
<span class='text_page_counter'>(8)</span>