Giáo án Tin học 8 - Tiết 1-24 - Năm học 2009-2010 - Quảng Hùng Cường

Giáo án Tin học 8 - Tiết 1-24 - Năm học 2009-2010 - Quảng Hùng Cường

1. Mục tiêu:

a. Kiến thức:

- 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

- 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. Kĩ năng:

- 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.

c. Thái độ:

- Học sinh yêu thích môn tin học.

 

doc 90 trang Người đăng tranhiep1403 Lượt xem 1240Lượt tải 0 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 8 - Tiết 1-24 - Năm học 2009-2010 - Quảng Hùng Cường", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn: 22/08/2009
Ngày giảng:
8A: 29/08/2009
8B: 27/08/2009
8C: 25/08/2009
8D: 26/08/2009
8E: 25/08/2009
Tiết 1:
MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
1. Mục tiêu:
a. Về kiến thức:
- Biết con người chỉ dẫn cho máy tính thực hiện công việc thông qua lệnh.
- Biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động.
- Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể.
.- Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn ngữ lập trình. 
Biết vai trò của chương trình dịch.
b. Về kĩ năng:
- Học sinh bước đầu có kĩ năng mô tả các lệnh đơn giản để yêu cầu máy tính thực hiện một công việc cụ thể nào đó.
c. Về thái độ:
- Học sinh có thái độ học tập nghiêm túc, yêu thích môn học.
2. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của giáo viên: 
- Sách giáo khoa, giáo án, tài liệu tin học có liên quan.
b. Chuẩn bị của học sinh: 
- Đọc tài liệu ở nhà trước khi đến lớp.
3. Tiến trình lên lớp:
a. Kiểm tra bài cũ: Không KT
b. Dạy nội dung bài mới:
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
Cho học sinh đọc tài liệu.
Hãy lấy 1 số ví dụ mà em đã thực hiên trên máy tính đã học.
Em hiểu thế nào là lệnh?
Con người ra lệnh cho máy tính như thế nào?
1. Con người ra lệnh cho máy tính như thế nào? (20’)
 Ví dụ, khi thực hiện thao tác nháy vào nút lệnh Cut trên thanh công cụ của Word là đã ra lệnh cho máy tính thực hiện công việc cắt văn bản.
 Thực ra khái niệm về “lệnh” đối với máy tính khá phức tạp, có thể hiểu và mô tả lệnh với các mức độ chi tiết khác nhau. Xét đến cùng thì mỗi kiến trúc máy tính đều có một tập hợp (không nhiều) các lệnh cơ bản hay vi lệnh hoặc chỉ lệnh (micro-instruction), các lệnh dùng để chỉ dẫn máy tính đều là một dãy các lệnh cơ bản này (với một thứ tự nhất định). Từ đó thường nảy sinh câu hỏi đây đã phải là lệnh chưa hay là một tập hợp các lệnh. Tuy nhiên người ta thường hiểu lệnh máy tính là một chỉ dẫn của con người để máy tính thực hiện một công việc cụ thể nào đó.
 Con người ra lệnh cho máy tính bằng các lệnh được lập trình từ trước.
Cho học sinh đọc tài liệu.
Khi chuyển lệnh 2 thành tiến 2 bước thì rô-bốt chuyển sang bỏ rác ở vị trí nào?
2. Ví dụ: Rô - bốt nhặt rác (10’)
- Các lệnh đó chính là chương trình
Cho học sinh đọc tài liệu.
Em hiểu thế nào là chương trình?
3. Viết chương trình – ra lệnh cho máy tính làm việc: (8’)
 Chương trình máy tính là một dãy các lệnh mà máy tính có thể hiểu và thực hiện được. Khi thực hiện chương trình, máy tính sẽ thực hiện các lệnh có trong chương trình một cách tuần tự, nghĩa là thực hiện xong một lệnh sẽ thực hiện lệnh tiếp theo, từ lệnh đầu tiên đến lệnh cuối cùng.
Ví dụ: Chương trình rô-bốt nhặt rác. 
c. Củng cố, luyện tập:5’
- GV yêu cầu 1 HS nhắc lại các kiến thức đã học trong bài.
- HS đứng tại chỗ nêu.
- GV hướng dẫn học sinh cách trả lời các câu hỏi.
d. Hướng dẫn học sinh tự học ở nhà:2’
- Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
- Làm các bài tập còn lại,
- Đọc bài mới để giờ sau học.
-----------------o0o-----------------
Ngày soạn: 22/08/2009
Ngày giảng:
8A: 29/08/2009
8B: 27/08/2009
8C: 25/08/2009
8D: 26/08/2009
8E: 25/08/2009
Tiết 2:
MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
1. Mục tiêu:
a. Về kiến thức:
- Biết con người chỉ dẫn cho máy tính thực hiện công việc thông qua lệnh.
- Biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động.
- Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể.
.- Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn ngữ lập trình. 
Biết vai trò của chương trình dịch.
b. Về kĩ năng:
- Học sinh bước đầu có kĩ năng mô tả các lệnh đơn giản để yêu cầu máy tính thực hiện một công việc cụ thể nào đó.
c. Về thái độ:
- Học sinh có thái độ học tập nghiêm túc, yêu thích môn học.
2. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của giáo viên: 
- Sách giáo khoa, giáo án, tài liệu tin học có liên quan.
b. Chuẩn bị của học sinh: 
- Học bài cũ, đọc trước bài mới. 
3. Tiến trình lên lớp:
a. Kiểm tra bài cũ: 6’
* Câu hỏi:
- Con người ra lệnh cho máy tính như thế nào?
- Em hiểu thế nào là chương trình máy tính?
* Đáp án:
 - Con người ra lệnh cho máy tính bằng các lệnh được lập trình từ trước.
 - Chương trình máy tính là một dãy các lệnh mà máy tính có thể hiểu và thực hiện được.
b. Dạy nội dung bài mới:
Hoạt động của giáo viên
Hoạt động của học sinh
 Giới thiệu chương trình viết ở trên ngôn ngữ máy: Để trả lời tại sao phải viết chương trình và viết ở đâu, vioết như thế nào?
 Là ngôn ngữ máy lại rất khó sử dụng, khó nhớ đối với con người. Vì vậy, rất khó cho con người nếu sử dụng ngôn ngữ này để viết chương trình. 
 Do đó cần phải tìm ra một ngôn ngữ trung gian giữa con người và ngôn ngữ máy để con người dễ dàng sử dụng khi viết chương trình và sau đó chuyển đổi sang dạng ngôn ngữ máy sao cho máy tính có thể hiểu được. Ngôn ngữ lập trình bậc cao là giải pháp như vậy. Có thể liệt kê ra một số ngôn ngữ lập trình bậc cao như Pascal, Free Pascal, C, Java... Để tránh quá tải cho học sinh về mặt thuật ngữ, trong SGK các tác giả chỉ sử dụng thuật ngữ ngôn ngữ lập trình nói chung với hàm ý ngôn ngữ lập trình bậc cao.
 Tuy nhiên, như đã nêu ở trên, chương trình viết bằng ngôn ngữ lập trình phải được chuyển sang thành chương trình ở ngôn ngữ nhị phân. Điều này cũng giống như việc phiên dịch khi trao đổi với người nước ngoài vậy. Chương trình đóng vai trò dịch từ ngôn ngữ lập trình bậc cao sang ngôn ngữ máy gọi là "chương trình dịch". 
 Như vậy, để có được một chương trình mà máy tính có thể thực hiện được cần qua hai bước:
 (1) Viết chương trình theo ngôn ngữ lập trình;
 (2) Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được.
4. Chương trình và ngôn ngữ lập trình (20’)
Viết chương trình bằng ngôn ngữ máy rất khó khăn và mất nhiều thời gian, công sức. Vì thế các ngôn ngữ lập trình đã ra đời để giảm nhẹ khó khăn trong việc viết chương trình. Với ngôn ngữ lập trình, thay vì phải viết các dãy bit, người viết chương trình có thể sử dụng các từ có nghĩa (thường là tiếng Anh). Nhờ vậy, người lập trình có thể hiểu và nhớ ý nghĩa của các câu lệnh một cách dễ dàng hơn. 
Khi đó, các chương trình dịch đóng vai trò "người phiên dịch" và dịch những chương trình được viết bằng ngôn ngữ lập trình sang ngôn ngữ máy để máy tính có thể hiểu được. 
 GHI NHỚ
1. Con người chỉ dẫn cho máy tính thực hiện công việc thông qua các lệnh. 
2. Viết chương trình là hướng dẫn máy tính thực hiện các công vệc hay giải một bài toán cụ thể.
 Giáo viên cho học sinh làm các bài tập ở SGK. HD làm.
* Bài tập: 14’
1. Em hãy cho biết trong soạn thảo văn bản khi yêu cầu máy tính tìm kiếm và thay thế (Replace), thực chất ta đã yêu cầu máy thực hiện những lệnh gì? Ta có thể thay đổi thứ tự của chúng được không? 
2. Sau khi thực hiện lệnh “Hãy quét nhà” ở trên, vị trí mới của rô-bốt là gì? Em hãy đưa ra các lệnh để rô-bốt trở lại vị trí xuất phát của nó (góc dưới bên trái màn hình). 
3. Tại sao người ta tạo ra các ngôn ngữ khác để lập trình trong khi các máy tính đều đã có ngôn ngữ máy của mình? 
c. Củng cố, luyện tập: 4’
- Gv yêu cầu 1 HS đứng tại chỗ nhắc lại các kiến thức đã học trong bài
- HS đứng tại chỗ trả lời.
- GV chốt lại kiến thức của bài.
d. Hướng dẫn học sinh tự học ở nhà:1’
Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
Làm các bài tập còn lại,
Đọc bài mới để giờ sau học.
-----------------o0o-----------------
Ngày soạn: 26/08/2009
Ngày giảng:
8A: 07/09/2009
8B: 03/09/2009
8C: 01/09/2009
8D: 04/09/2009
8E: 01/09/2009
TiÕt 3:
lµm quen víi ch­¬ng tr×nh
vµ ng«n ng÷ lËp tr×nh.
1. Mục tiêu:
a. Về kiến thức:
BiÕt ng«n ng÷ lËp tr×nh gåm c¸c thµnh phÇn c¬ b¶n lµ b¶ng ch÷ c¸i vµ c¸c quy t¾c ®Ó viÕt ch­¬ng tr×nh, c©u lÖnh.
BiÕt ng«n ng÷ lËp tr×nh cã tËp hîp c¸c tõ khãa dµnh riªng cho môc ®Ých sö dông nhÊt ®Þnh.
BiÕt tªn trong ng«n ng÷ lËp tr×nh lµ do ng­êi lËp tr×nh ®Æt ra, khi ®Æt tªn ph¶i tu©n thñ c¸c quy t¾c cña ng«n ng÷ lËp tr×nh. Tªn kh«ng ®­îc trïng víi c¸c tõ kho¸.
b. Về kĩ năng:
BiÕt cÊu tróc ch­¬ng tr×nh bao gåm phÇn khai b¸o vµ phÇn th©n ch­¬ng tr×nh.
c. Về thái độ:
	Học sinh có thái độ học tập nghiêm túc, yêu thích môn học.
2. Chuẩn bị của GV và HS:
a. Chuẩn bị của giáo viên: 
- S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan.
b. Chhuẩn bị của học sinh:
	- Học bài cũ, đọc trước bài mới.
3. Tiến trình lên lớp:
a. Kiểm tra bài cũ:5’
* Câu hỏi
Con ng­êi ra lÖnh cho m¸y tÝnh nh­ thÕ nµo?
Em hiÓu thÕ nµo lµ ch­¬ng tr×nh?
* Đáp án:
- Con người ra lệnh cho máy tính bằng các lệnh được lập trình từ trước.
- Chương trình máy tính là một dãy các lệnh mà máy tính có thể hiểu và thực hiện được. 
b. Dạy nội dung bài mới:
Ho¹t ®éng cña gi¸o viªn
Ho¹y ®éng cña häc sinh
Cho häc sinh ®äc tµi liÖu SGK
ThÕ nµo lµ ch­¬ng tr×nh.
Giíi thiÖu mét ch­¬ng tr×nh ®­îc viÕt trªn ng«n ng÷ Pascal.
1. VÝ dô vÒ ch­¬ng tr×nh: 10’
 Ch­¬ng tr×nh lµ 1 d·y c¸c lÖnh ®­îc viÕt trªn mét ng«n ng÷ lËp tr×nh ®Ó ra lÖnh cho m¸y tÝnh, 
Program CT_Dau_tien;
 Uses Crt;
 Begin
 Writeln(‘Chao cac ban.’);
 End.
Cho häc sinh ®äc tµi liÖu SGK
Ng«n ng÷ lËp tr×nh lµ g×?
2. Ng«n ng÷ lËp tr×nh gåm nh÷ng g×? 8’
 - Ng«n ng÷ lËp tr×nh gåm b¶ng ch÷ c¸i vµ c¸c quy t¾c ®Ó viÕt c¸c c©u lÖnh cã ý nghÜa x¸c ®Þnh, c¸ch bè trÝ c¸c c©u lÖnh,  sao cho cã thÓ t¹o thµnh mét ch­¬ng tr×nh hoµn chØnh vµ thùc hiÖn ®­îc trªn m¸y tÝnh,
Cho häc sinh ®äc tµi liÖu SGK
Em hiÓu thÕ nµo lµ tõ kho¸.
C¸c tõ nh­ program, uses, begin, end ®­îc gäi lµ tõ kho¸ (nhiÒu tµi liÖu chuyªn m«n gäi lµ tõ dµnh riªng), ®ã lµ c¸c tõ mµ ng«n ng÷ lËp tr×nh ®· quy ®Þnh dïng víi ý nghÜa, chøc n¨ng cè ®Þnh. Tõ kho¸ lµ kh¸i niÖm míi víi HS, v× vËy ®Ó HS hiÓu vÒ quy ®Þnh tõ kho¸ trong ng«n ng÷ lËp tr×nh, cã thÓ lÊy vÝ dô vÒ côm tõ Líp tr­ëng. Líp tr­ëng lµ mét côm tõ dµnh riªng ®Ó gäi mét HS trong líp ®¶m nhiÖm chøc vô líp tr­ëng cña líp, kh«ng thÓ cã mét HS nµo kh¸c trong líp còng ®­îc gäi lµ líp tr­ëng (trong cïng thêi ®iÓm
H·y lÊy vÝ dô vÒ tõ kho¸ chøc danh cña líp m×nh
ThÕ nµo lµ tªn?
3. Tõ kho¸ vµ tªn: 16’
 - C¸c tõ nh­ program, uses, begin, end ®­îc gäi lµ tõ kho¸ (nhiÒu tµi liÖu chuyªn m«n gäi lµ tõ dµnh riªng), ®ã lµ c¸c tõ mµ ng«n ng÷ lËp tr×nh ®· quy ®Þnh dïng víi ý nghÜa, chøc n¨ng cè ®Þnh. 
VÝ dô vÒ côm tõ Líp tr­ëng. Líp tr­ëng lµ mét côm tõ dµnh riªng ®Ó gäi mét HS trong líp ®¶m nhiÖm chøc vô líp tr­ëng cña líp, kh«ng thÓ cã mét HS nµo kh¸c trong líp còng ®­îc gäi lµ líp tr­ëng (trong c ... đổ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. Kĩ năng:
- 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.
c. Thái độ:
- Học sinh yêu thích môn tin học.
2. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của giáo viên:
- SGK, SGV, tài liệu, Giáo án
- Đồ dùng dạy học như máy tính, projector,...
b. Chuẩn bị của học sinh:
- Đọc trước bài
- SGK, Đồ dùng học tập, bảng phụ...
3. Tiến trình bài dạy:
a. Kiểm tra bài cũ : Đan xen trong tiết học
b. Dạy nội dung bài mới:
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
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:
Xác định số học sinh trong lớp cùng mang họ Trần.
Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trướ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 học sinh
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ố)
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
Bài 2:
 Học sinh trả lời
Sau ba bước, x có giá trị ban đầu của y và y có giá trị ban đầu của x, tức giá trị của hai biến x và y được hoán đổi cho nhau
Giáo viên nêu bài toán 3 SGK: 
Bài 3: 
 Cho trước ba số dương a, b và c. Hãy mô tả thuật toán giải ghi kết quả ba số đó có thể là ba cạnh của một tam giác hay không.
 * 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 3:
 Học sinh làm theo nhón rồi cử một bạn lên trình bài.
Giải:
Mô tả thuật toán:
INPUT: Ba số dương a > 0, b > 0 và c > 0.
OUTPUT: Thông báo "a, b và c có thể là ba cạnh của một tam giác" hoặc thông báo "a, b và c không thể là ba cạnh của một tam giác".
Bước 1. Tính a + b. Nếu a + b £ c, chuyển tới bước 5.
Bước 2. Tính b + c. Nếu b + c £ c, chuyển tới 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
 * 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 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ụ.
* Học sinh trả lời , có thể lên bảng viết.
Thuật toán 1. Sử dụng biến phụ z.
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. z ¬ x. 
Bước 3. x ¬ y.
Bước 4. y ¬ z.
Bước 5. Kết thúc thuật toán.
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.
c. Củng cố, luyện tập: 5’
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.
d. Hướng dẫn học sinh tự học ở nhà: 1’
Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
Làm các bài tập còn lại,
Đọc bài mới để giờ sau học.
-----------------o0o----------------
Ngày soạn: 25/10/2009
Ngày giảng:
8A: 21/11/2009
8B: 19/11/2009
8C: 17/11/2009
8D: 20/11/2009
8E: 17/11/2009
Tiết 24: 
BÀI TẬP.
1. Mục tiêu:
a. Kiến thức:
- 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
- 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. Kĩ năng:
- 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.
c. Thái độ:
- Học sinh yêu thích môn tin học.
2. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của giáo viên:
- SGK, SGV, tài liệu, Giáo án
- Đồ dùng dạy học như máy tính, projector,...
b. Chuẩn bị của học sinh:
- Đọc trước bài
- SGK, Đồ dùng học tập, bảng phụ...
3. Tiến trình bài dạy:
a. Kiểm tra bài cũ : Đan xen trong tiết học
b. Dạy nội dung bài mới: 39’
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
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 thên câu b) : 
Bài 6: (Là bài 5 ở SGK)
 Hãy mô tả thuật toán giải các bài toán sau:
Tính tổng các phần tử của dãy số A = {a1, a2,..., an} cho trước.
Nhập n số a1, a2, ..., an từ bàn phím và ghi ra màn hình số nhỏ nhất các số đó. Số n cũng được nhập từ bàn phím. 
 * 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 6: (SGK và gv cho thêm phần b)
Học sinh làm theo 2 nhóm rồi cử một bạn lên trả lời ở bảng.
Giải:
a) Tính tổng các phần tử của dãy số A = {a1, a2,..., an} cho trước.
INPUT: n và dãy n số a1, a2,..., an.
OUTPUT: Tổng S = a1 + a2 +... + an.
Bước 1. S ¬ 0; i ¬ 0.
Bước 2. i ¬ i + 1.
Bước 3. Nếu i £ n, S ¬ S + ai và quay lại bước 2. 
Bước 4. Thông báo S và kết thúc thuật toán.
b) Tìm số nhỏ nhất trong dãy n số a1, a2, ..., an cho trước. Thuật toán này tương tự như thuậ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 bước nhập số n và dãy n số a1, a2, ..., an.
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 thên câu b) : 
Bài 7: (Là bài 6 ở SGK)
 Hãy mô tả thuật toán tính tổng các số dương trong dãy số A = {a1, a2,..., an} cho trước
 * 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 7: (Bài 6 SGK)
 Học sinh làm. Học sinh lên bảng làm còn lại giáo viên thu nháp để chấm.
Giải:
Tính tổng các số dương trong dãy số A = {a1, a2,..., an} cho trước.
INPUT: n và dãy n số a1, a2,..., an.
OUTPUT: S = Tổng các số ai > 0 trong dãy a1, a2,..., an.
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: 
Hãy mô tả thuật toán giải các bài toán sau:
 Đếm số các số dương trong dãy số A = {a1, a2,.., an} cho trước. 
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.
* 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 8:
Học sinh làm ra vở. 
Một học sinh lên bảng làm.
Giải:
a) Đếm số các số dương trong dãy số A = {a1, a2,.., an} cho trước.
INPUT: n và dãy n số a1, a2,..., an.
OUTPUT: Soduong = Số các số ai > 0.
Bước 1. Gán Soduong ¬ 0, i ¬ 0.
Bước 2. i ¬ i + 1.
Bước 3. Nếu i > n, chuyển đến bước 5.
Bước 4. Nếu ai > 0, gán Soduong ¬ Soduong +1 rồi quay lại bước 2. Trong trường hợp ngược lại, cũng 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.
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. 
c. Củng cố, luyện tập: 5’
- 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.
d. Hướng dẫn học sinh tự học ở nhà:1’
Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
Làm các bài tập còn lại,
Đọc bài mới để giờ sau học.

Tài liệu đính kèm:

  • docT1 -T13.doc