I. Mục tiêu:
* Kiến thức: HS hiểu được một số khái niệm thuật ngữ đơn giản về chương trình máy tính
* Kĩ năng:
- HS biết dùng một lệnh trong cuộc sống hàng ngày để thực hiện một vài ví dụ
- HS Biết áp dụng các lệnh quen thuộc vào bài toán cụ thể.
- Biết viết chương trình đơn giản ra lệnh cho MT làm việc.
* Thái độ: HS nghiêm túc trong học tập và nghiên cứu bài học.
II. Chuẩn bị:
* GV: SGK, Máy chiếu
* HS: Chuẩn bị trước bài ở nhà.
III. Phương pháp: vấn đáp, thuyết trình, luyện tập.
IV. Tiến trình bài giảng
A. ổn định lớp
B. Kiểm tra bài cũ:: Không kiểm tra
C. Bài mới
Ngày soạn: 20/8/2008 Ngày giảng: 25/08/2008 Tiết 1 Bài 1. Máy tính và chương trình máy tính I. Mục tiêu: * Kiến thức: HS hiểu được một số khái niệm thuật ngữ đơn giản về chương trình máy tính * Kĩ năng: HS biết dùng một lệnh trong cuộc sống hàng ngày để thực hiện một vài ví dụ HS Biết áp dụng các lện quen thuộc vào bài toán cụ thể. * Thái độ: HS nghiêm túc trong học tập và nghiên cứu bài học. II. Chuẩn bị: *GV: SGK, Máy chiếu * HS: Chuẩn bị trước bài ở nhà. III. Phương pháp: vấn đáp, thuyết trình, trực quan IV. Tiến trình bài giảng A. ổn định lớp B. Kiểm tra bài cũ: : Không kiểm tra C. Bài mới HĐ của thầy HĐ của trò Ghi bảng HĐ 1. Tìm hiểu về việc con người ra lệnh cho MT như thế nào. - GV: Để máy tính có thể thực hiện một công việc theo mong muốn của mình, con người phải đưa ra những chỉ dẫn thích hợp cho máy tính. VD: Nháy đúp chuột lên biểu tượng à ra lệnh cho MT khởi động phần mềm. ? Khi thực hiện sao chép 1 đoạn Vb, ta đã ra mấy lệnh cho MT thực hiện HĐ2. Tìm hiểu hoạt động của RoBot quét nhà. ( GV chiếu trên màn chiếu) Giả sử có một đống rác và một rô-bốt ở các vị trí như hình 1 dưới đây. Từ vị trí hiện thời của rô-bốt, ta cần ra các lệnh để chỉ dẫn rô-bốt nhặt rác và bỏ rác vào thùng rác để ở nơi quy định. ? Nhìn vào hình, em hãy mô tả các bước để Robot có thể thực hiện nhặt rác bỏ vào thùng Giả sử các lệnh trên được viết và lưu trong một tệp với tên "Hãy nhặt rác ". Khi đó ta chỉ cần ra lệnh "Hãy nhặt rác", các lệnh trong tệp đó sẽ điều khiển rô-bốt tự động thực hiện lần lượt các lệnh nói trên. - Nghe và ghi chép - HS lấy VD - HS : 2 lệnh: HS quan sát trên mà chiếu. - Quan sát trên màn chiếu và trả lời. 1.Con người ra lệnh cho máy tính như thế nào? - Để chỉ dẫn máy tính thực hiện một công việc nào đó, con người đưa cho máy tính một hoặc nhiều lệnh, máy tính sẽ lần lượt thực hiện các lệnh này theo đúng thứ tự nhận được. VD1. : Gõ 1 chữ A lên màn hình à Ra lệnh cho MT ghi chữ lên màn hình. VD 2. Sao chép 1 đoạn vb là yêu cầu MT thực hiện 2 lệnh: sao chép ghi vào bộ nhớ và sao chép từ bộ nhớ ra vị trí mới. 2. Ví dụ: rô-bốt quét nhà Nếu thực hiện theo các lệnh sau đây, rô-bốt sẽ hoàn thành tốt công việc: 1. Rẽ phải 3 bước. 2. Tiến 1 bước 3. Nhặt rác 4. Rẽ phải 3 bước. 5. Tiến 3 bước 6. Bỏ rác vào thùng D. Củng cố - Ghi nhớ 1. - làm bài tập 1. SGK E. Hướng dẫn về nhà:. - Học bài theo SGK - Học ghi nhớ 1 và làm lại BT 1; BT1 SGK Ngày soạn: 25/08/2008 Tiết 2 Ngày giảng: 28/08/2008 Bài 1. Máy tính và chương trình máy tính(tiếp theo) I. Mục tiêu: * Kiến thức: HS hiểu được một số khái niệm thuật ngữ đơn giản về chương trình máy tính * Kĩ năng: - HS biết dùng một lệnh trong cuộc sống hàng ngày để thực hiện một vài ví dụ - HS Biết áp dụng các lệnh quen thuộc vào bài toán cụ thể. - Biết viết chương trình đơn giản ra lệnh cho MT làm việc. * Thái độ: HS nghiêm túc trong học tập và nghiên cứu bài học. II. Chuẩn bị: * GV: SGK, Máy chiếu * HS: Chuẩn bị trước bài ở nhà. III. Phương pháp: vấn đáp, thuyết trình, luyện tập. IV. Tiến trình bài giảng A. ổn định lớp B. Kiểm tra bài cũ:: Không kiểm tra C. Bài mới HĐ của thầy HĐ của trò Ghi bảng HĐ 1. Cách Viết chương trình ra lệnh cho MT làm việc - Việc viết các lệnh để điều khiển rô-bốt về thực chất cũng có nghĩa là viết chương trình. - 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ự HĐ2. Tìm hiểu lý phải viết chương trình ? Để thực hiện được công việc, máy tính phải hiểu các lệnh được viết trong chương trình. Vậy làm thế nào để máy tính hiểu được các lệnh của con người? Ta có thể ra lệnh cho máy tính bằng cách nói hoặc gõ các phím bất kì được không? 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 GV: Mô tả trên máy chiếu việc ra lệnh cho máy tính làm việc Nghe và ghi chép. - Quan sát trên màn chiếu. - Suy nghĩ trả lời - Nghe và ghi ché 3. Viết chương trình: ra lệnh cho máy tính làm việc Trở lại ví dụ về rô-bốt nhặt rác, chương trình có thể có các lệnh như sau 4. Tại sao cần viết chương trình? - Máy tính “nói” và “ Hiểu” bằng một ngôn ngữ riêng là ngôn ngữ máy tính. - Viết chương trình là sử dụng các từ có nghĩa (thường là tiếng Anh) - 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. ố Như vậy, thông tin đưa vào máy phải được chuyển đổi thành dạng dãy bit (dãy các tín hiệu được kí hiệu bằng 0 hoặc 1). D. Củng cố - Ghi nhớ 1. - Ghi nhớ 2 - Trả lời BT 2,3 SGK E. Hướng dẫn về nhà:. - Học bài theo SGK - Học ghi nhớ 1, 2 và làm lại BT 2,3 SGK Ngày soạn: 25/08/2008 Tiết 3 Ngày giảng: 29/08/2008 Bài 2. Từ bài toán đến chương trình ( Tiết 1) I. Mục tiêu: *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. * Thái độ: HS nghiêm túc trong học tập và nghiên cứu bài học. II. Chuẩn bị: GV: SGK, Máy chiếu HS: Chuẩn bị trước bài ở nhà. III. Phương pháp: vấn đáp, thuyết trình, luyện tập. IV. Tiến trình bài giảng A. ổn định lớp B. Bài cũ: Nêu 1 vài ví dụ mà em hiểu đó là “lệnh” đưa ra để máy tính hiểu thực hiện? C. Bài mới HĐ của thầy HĐ của HS Ghi bảng ? Em hiểu thế nào là bài toán? - Để máy tính có thể giúp giải quyết các bài toán nói chung, chúng ta cũng phải viết chương trình, tức chỉ dẫn cho máy tính thực hiện các phần công việc cụ thể thông qua các lệnh và cho kết quả mong muốn. Các bài toán rất phong phú và đa dạng. Ví dụ: Tính diện tích hình tam giác, tìm đường đi tránh các điểm nút nghẽn giao thông trong giờ cao điểm, nấu một món ăn từ những thực phẩm hiện có,... Vậy, Đối với bài toán nấu một món ăn: ?Điều kiện cho trước? ?Kết quả cần thu được?: Muốn giải được thì việc xác định bài toán là rất quan trọng. ? Một bào toán trên máy tính sẽ được giải như thế nào? Máy tính không thể tự mình tìm ra lời giải của các bài toán. Lời giải của một bài toán cụ thể phải là tư duy sáng tạo của con người và kết quả của tư duy đó là thuật toán. Một khi đã có thuật toán, dựa vào thuật toán chúng ta sẽ chạy chương trình và cho ta lời giải của bài toán . - HS trả lời - Nghe và ghi chép. -Thực phẩm hiện có (trứng, mỡ, mắm, muối, rau,...); - Một món ăn. - Suy nghĩ, có thể trả lời: - Giải bài toán trên máy tính có nghĩa là giao cho máy tính cách thực hiện các hoạt động cụ thể qua từng bước để từ điều kiện cho trước ta nhận được kết quả cần thiết. - Ghi chép. 1. Bài toán và chương trình - Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết. Chẳng hạn, với bài toán ghi ra màn hình tổng của hai số a và b được gõ vào từ bàn phím, chương trình có thể gồm các lệnh như hình sau đây: 2. Bài toán và cách xác định bài toán Để phát biểu một bài toán cụ thể, người ta cần xác định rõ các điều kiện cho trước và kết quả cần thu được. Ví dụ Để tính diện tích hình tam giác: Điều kiện cho trước: Một cạnh và chiều cao tương ứng với cạnh đó; Kết quả cần thu được: Diện tích hình tam giác. 3. Quá trình giải bài toán trên máy tính - Máy tính giải bài toán qua các bước sau: + Xác định bài toán + Thiết lập phương án giải quyết ( Xây dựng thuật toán ) + Viết chương trình ( lập trình ) Chú ý: khi mô tả thuật toán, người ta thường chỉ ra cả INPUT và OUTPUT kèm theo để biết được thuật toán đó dùng để giải bài toán nào. D. Củng cố: Cho một bài toán (xác định bài toán) là việc xác định các điều kiện ban đầu (thông tin vào - INPUT) và các kết quả cần thu được (thông tin ra – OUTPUT). Giải bài toán trên máy tính có nghĩa là giao cho máy tính cách thức (thuật toán) tìm ra lời giải cụ thể của bài toán. Quá trình giải một bài toán trên máy tính có các bước: xác định bài toán; xây dựng thuật toán; lập chương trình. E. Hướng dẫn về nhà: - Học bài theo SGK - Học thuộc ghi nhớ - Làm các bài tập. Ngày soạn 29/08/2008 Tiết 4 Ngày dạy 08/09/2008 Bài 2. Từ bài toán đến chương trình ( tiếp ) I. Mục tiêu: *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. *Thái độ: HS nghiêm tóc trong học tập và nghiên cứu bài học. II. Chuẩn bị: * GV: SGK, Máy chiếu * HS: Chuẩn bị trước bài ở nhà. III. Phương pháp: vấn đáp, thuyết trình, luyện tập. IV. Tiến trình bài giảng: A. ổn định lớp B. bài cũ:: Trình bày ghi nhớ 1,2,3 sgk. C. Bài mới HĐ của thầy HĐ của HS Ghi bảng . – Đưa ra ví dụ: Việc pha trà mời khách có thể được nêu thành các bước như sau: Bước 1: Tráng ấm chén bằng nước sôi. Bước 2: Cho trà vào ấm. Bước 3: Rót nước sôi vào ấm và đợi khoảng 3-4 phút. Bước 4: Rót trà ra chén để mời khách. Cách liệt kê các bước như trên là một phương pháp thường dùng để mô tả thuật toán. ? Vậy Thuật toán là gì? - Đưa ra ví dụ 1trên màn chiếu. - Đưa ra các ví dụ 2,3,4,5,6 Sgk lên màn chiếu cho HS quan sát - Nghe và ghi chép. - Trả lời... - quan sát và ghi chép. - quan sát và ghi chép. 4. Thuật toán và mô tả thuật toán VD: Bài toán giải phương trình bậc nhất dạng tổng quát bx + c = 0: Bước 1. Nếu b = 0 chuyển tới bước 3. Bước 2. Tính nghiệm của phương trình x = – rồi chuyển tới bước 4. Bước 3. Nếu c ạ 0, thông báo phương trình đã cho vô nghiệm. Ngược lại (c = 0), thông báo phương trình có vô số nghiệm. Bước 4. Kết thúc thuật toán. Thuật toán là dãy các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần tìm từ những điều kiện cho trước. 5. Một số ví dụ về thuật toán. Ví dụ 1. Một hình A được ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài b và một hình bán nguyệt bán kính a như hình SGK: Thuật toán đơn giản để tính diện tích hình A có thể gồm các bước sau: INPUT: a là 1/2 chiều rộng và b là chiều dài của hình chữ nhật, a là bán kính của hình bán nguyệt. OUTPUT: Diện tích của A. Bước 1. Tính S1 = 2a ´ b {Tính diện tích hình chữ nhật} Bước 2. Tính S2 = π a2/2 {Tính diện tích hình bán nguyệt} Bước 3. Tính kết quả S = S1 + S2. * Trong biểu diễn thuật toán, người ta thường sử dụng kí hiệu a ơ A để chỉ phép gán giá trị của số hoặc biểu t ... bài 5 (vớ dụ 6). Vỡ vậy, ta khụng đề cập đến việc giải quyết nhiệm vụ này ntn. - HS đọc vớ dụ 1 Mục tiờu là Gv dẫn đến nhu cầu cần cú biến mảng thụng qua vớ dụ 1: Viết chương trỡnh nhập điểm kiểm tra của cỏc HS trong một lớp và sau đú in ra màn hỡnh. - HS lắng nghe, theo dừi, ghi vở. + Vỡ mỗi biến chỉ cú thể lưu một giỏ trị duy nhất, để cú thể nhập điểm và so sỏnh chỳng, ta cần sử dụng nhiều biến, mỗi biến cho một HS. Trong Pascal ta cần nhiều cõu lệnh khai bỏo và nhập dữ liệu như: Mỗi cõu lệnh tương ứng với điểm của một HS. HS trả lời + Nếu số HS trong lớp càng nhiều thỡ đoạn khai bỏo và đọc dữ liệu trong chương trỡnh càng dài rất khú trỏnh khỏi những nhầm lẫn, sai sút. - Vậy, ta cú thể sử dụng quy luật tăng hay giảm của “số thứ tự” và một vài cõu lệnh lặp để xử lớ dữ liệu một cỏch đơn giản ntn ? ố Để giải quyết cỏc vấn đề trờn, hầu hết cỏc ngụn ngữ lập trỡnh đều cú một kiểu dữ liệu được gọi là kiểu mảng. + Dữ liệu kiểu mảng là gỡ ? * Nhấn mạnh: Trong bài này, ta chỉ xột cỏc mảng cú cỏc phần tử kiểu số nguyờn hoặc số thực. 1. Dóy số và biến mảng: Vớ dụ 1: (SGK)/ Tr 75 - Khai bỏo và nhập dữ liệu mỗi cõu lệnh tương ứng với điểm của một HS: Var Diem_1, Diem_2, Diem_3, : real; Read (Diem_1) ; Read (Diem_2) ; Read (Diem_3) ; - Ta cú thể sử dụng quy luật tăng hay giảm của “số thứ tự” và một vài cõu lệnh lặp để xử lớ dữ liệu một cỏch đơn giản: + Với i = 1 đến 100: Hóy nhập Diem_i; + Với i = 1 đến 100: Hóy so sỏnh Max với Diem_i; * Dữ liệu kiểu mảng:Là một tập hợp hữu hạn cỏc phần tử cú thứ tự + Mọi phần tử đều cú cựng một kiểu dữ liệu gọi là kiểu của phần tử. Việc sắp xếp thứ tự thực hiện bằng cỏch gỏn cho mỗi phần tử một chỉ số: + Biến mảng: Là khi khai bỏo một biến cú kiểu dữ liệu là kiểu mảng. + Giỏ trị của biến mảng là một mảng. (tức là một dóy số: nguyờn - thực cú thứ tự) - Cỏch khai bỏo biến mảng trong cỏc ngụn ngữ lập trỡnh cú thể khỏc nhau, nhưng luụn cần chỉ rừ những gỡ ? - Cho HS đọc vớ dụ, rồi hướng dẫn cỏch khai bỏo trong ngụn ngữ Pascal: Var Chieucao : array [1..50] of real; Var Tuoi : array [21..80] of integer; => Cỏch khai bỏo mảng trong Pascal ntn ? - Từ vớ dụ 1, GV dẫn dắt HS cỏch khai bỏo biến mảng: Var Diem : array [1..50] of real; + Biến mảng cú 50 phần tử được đỏnh từ 1 đến 50. Cỏc phần tử được “đặt tờn” ntn ? => Cỏch khai bỏo và sử dụng biến mảng như trờn cú lợi gỡ ? - Để thay rất nhiều cõu lệnh nhập và in dữ liệu ra màn hỡnh, ta dựng một cõu lệnh nào ? ( For do ) - Để viết giỏ trị của cỏc phần tử ra màn hỡnh người ta kết hợp giữa For do với lệnh nào ? - Để giỳp tiết kiệm rất nhiều thời gian và cụng sức viết chương trỡnh, thay vỡ phải viết 50 cõu lệnh khai bỏo và 50 cõu lệnh nhập, ta chỉ cần viết 2 cõu lệnh là đủ và kết quả đạt được như nhau. Đưa ra 1 cỏch khai bỏo cho HS rừ. => HS tự khai bỏo nhiều biến mảng cho cỏc mụn học ntn ? - Sau khi một mảng đó được khai bỏo, chỳng ta cú thể làm việc với cỏc phần tử của nú như làm việc với một biến thụng thường. Vậy làm việc với một biến thụng thường ntn ? * Lưu ý HS: Sử dụng cấu trỳc For do phự hợp, dễ hiểu hơn cấu trỳc Whiledo vỡ biết trước số lần lặp. * 2. Vớ dụ về biến mảng: - Cỏch khai bỏo biến mảng trong cỏc ngụn ngữ lập trỡnh cú thể khỏc nhau, nhưng luụn cần chỉ rừ: tờn biến mảng, số lượng phần tử, kiểu dữ liệu chung của cỏc phần tử. Vớ dụ: (SGK)/ Tr 76 * Cỏch khai bỏo mảng trong Pascal: Tờn mảng : array [..] of ; Trong đú: + Chỉ số đầu và chỉ số cuối: là 2 số nguyờn hoặc biểu thức nguyờn (Chỉ số đầu Ê chỉ số cuối ); + Kiểu dữ liệu: integer hoặc real * Vớ dụ 2: (SGK)/ Tr 76. - Khai bỏo biến mảng Diem như sau: Var Diem : array [1..50] of real; - Dựng một cõu lệnh lặp, cú thể thay rất nhiều cõu lệnh nhập và in dữ liệu ra màn hỡnh, như: For i:= 1 to 50 do readln ( Diem [ i ] ); - Để so sỏnh điểm của mỗi HS với một giỏ trị nào đú, ta cũng chỉ cần một cõu lệnh lặp, như: For i:= 1 to 50 do If Diem [ i ] > 8.0 then writeln ( ‘ Gioi ‘ ); - Để xử lớ đồng thời cỏc laọi điểm của từng mụn học, ta cú thể khai bỏo nhiều mảng: Var DiemToan : array [1..50] of real; Var DiemVan : array [1..50] of real; Var DiemLi : array [1..50] of real; hoặc: Var DiemToan, DiemVan, DiemLi : array [1..50] of real; - Khi một mảng đó được khai bỏo, chỳng ta cú thể làm việc với cỏc phần tử của nú như: gỏn giỏ trị, đọc giỏ trị và thực hiện cỏc tớnh toỏn với cỏc giỏ trị đú. Vớ dụ như: A[ 1 ]:= 5; A[ 2 ]:= 8; hoặc nhập dữ liệu từ bàn phớm bằng cõu lệnh: For i:= 1 to 5 do readln ( A [ i ] ); 4-Củng cố: Giỏo viờn hệ thống lại bài học. 5. Dặn dũ: - Về nhà học bài; - Làm cỏc Cõu hỏi và BTcũn lại: sgk/ Tr 79; - Chuẩn bị tiết sau: Bài thực hành 7. ---------------------------------- Ngày soạn :12/03/2009 Tiết 57 - tuần 28 Ngày dạy : 21/03/2009 LÀM VIỆC VỚI DÃY SỐ(tiết 2) I. Mục tiờu: - Học sinh biết được khỏi niệm mảng một chiều; - Biết cỏch khai bỏo mảng, nhập, in, truy cập cỏc phần tử của mảng; - Hiểu thuật toỏn tỡm số lớn nhất, nhỏ nhất của một dóy số. II. Phương phỏp: - Đặt vấn đề để học sinh trao đổi và đưa nhận xột. Tận dụng vốn hiểu biết “ một cỏch tự nhiờn của học sinh - Học sinh đọc SGK, quan sỏt và tổng kết III. Chuẩn bị: - Giỏo viờn: Phấn màu, sỏch, chuẩn bị thờm cỏc bài tập minh hoạ (nếu cú) - Học sinh: sỏch, tập, viết. IV. TIẾN TRèNH DẠY HỌC 1- Kiểm tra bài cũ: 2- Dạy bài mới: 3. Bai mới: Hoạt động 1: Tỡm giỏ trị lớn nhất và nhỏ nhất của dóy số: Hoạt động của Thầy và trũ Nội dung ghi bảng - GV hướng dẫn HS tỡm hiểu lại thuật toỏn tỡm giỏ trị lớn nhất, nhỏ nhất của dóy số nguyờn ( đó học ở Bài 5 ). + GV giải thớch về thuật toỏn tỡm giỏ trị lớn nhất của dóy số nguyờn Sau đú cho HS nhắc lại. + Cho HS thảo luận, chỉnh sửa thuật toỏn trờn để tỡm ra số nhỏ nhất. - GV cho HS đọc vớ dụ 3: + Để nhập cỏc số nguyờn sẽ được nhập vào, trước hết ta phải làm gỡ ? + Sau khi khai bỏo N, biến lưu cỏc số được nhập vào như là cỏc phần tử của một biến mảng A. Ngoài ra, cần khai bỏo thờm cỏc biến nào nữa ? - GV: Trỡnh bày phần khai bỏo chương trỡnh - GV cho HS đọc phần ghi nhớ. 3. Tỡm giỏ trị lớn nhất và nhỏ nhất của dóy số: * Thuật toỏn tỡm giỏ trị lớn nhất ( Max ) của dóy số nguyờn nhập từ bàn phớm: Bước 1: Nhập N và dóy A1, , An; Bước 2: Max ơ A1; Bước 3: Với i từ 2 đến N thực hiện: Nếu Max < A1 thỡ Max ơ Ai; Bước 4: Đưa ra màn hỡnh giỏ trị Max rồi kết thỳc Vớ dụ 3: (SGK)/ Tr 78. * Phần khai bỏo chương trỡnh cú thể như sau: Program MaxMin; Uses crt; Var i, n, Max, Min : integer; A : array [1..100] of integer; {Phần thõn chương trỡnh sẽ tương tự dưới đõy:} Begin Clrscr; Write ( ‘ Hay nhap do dai cua day so, N = ‘); readln (n); Writeln ( Nhap cac phan tu cua day so: m’); For i:= 1 to n do Begin Write ( ‘ a[ , i , ] = ‘); readln (a[ i ] ); End; Max:= a[1]; Min:= a[1]; For i:= 2 to n do Begin if Max < a[ i ] then Max:= a[ i ]; if Min < a[ i ] then Min:= a[ i ]; End; Write ( ‘ So lon nhat la Max = ‘ Max); Write ( ‘ So nho nhat la Min = ‘ Min); readln (n); End. ** GHI NHỚ: (SGK)/ Tr 79. 4. Củng cố:Làm BT 1, 2/ SGK/ Tr 79 5. Dặn dũ: Học Bài và làmBTVN: 3, 4/SGK/ Tr 79. Ngày soạn :21/03/2009 Tiết 59 + 60 - tuần 30 Ngày dạy : 06/04/2009 THỰC HÀNH I. Mục tiờu: - Học sinh biết được khỏi niệm mảng một chiều; - Biết cỏch khai bỏo mảng, nhập, in, truy cập cỏc phần tử của mảng; - Hiểu thuật toỏn tỡm số lớn nhất, nhỏ nhất của một dóy số. - HiỂU thờm về khai bỏo cỏc biến trong mảng. - Rốn luyện kỹnnăng hoạt động độc lập II. Chuẩn bị: - Giỏo viờn: Mỏy chiếu, mạng,cỏc bài tập minh hoạ (nếu cú) - Học sinh: sỏch, tập, viết. III. TIẾN TRèNH DẠY HỌC 1-Ổn định: (1’). 2- Kiểm tra bài cũ: (khụng) 3- Dạy bài mới: Hoạt động 1: Cho học sinh trr lời cỏc cõu hỏi sau. Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ dưới một tên duy nhất.” Phát biểu đó đúng hay sai? Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình. Các khai báo biến mảng sau đây trong Pascal đúng hay sai: var X: Array[10,13] Of Integer; var X: Array[5..10.5] Of Real; var X: Array[3.4..4.8] Of Integer; var X: Array[10..1] Of Integer; var X: Array[4..10] Of Real; Câu lệnh khai báo mảng sau đây có được máy tính thực hiện không? var N: integer; A: array[1..N] of real; Viết chương trình Pascal sử dụng mảng để nhập từ bàn phím các phần tử của một dãy số. Độ dài của dãy cũng được nhập từ bàn phím. Đoạn chương trình sau dùng để sắp xếp lại dãy số được ghi trong mảng A[i], i = 1,2,..., N, theo thứ tự tăng dần: For i:=1 to N do For j:=i to N do If A[i] > A[j] then Begin Tg:=A[i]; A[i]:=A[j]; A[j]:=Tg; End; Hãy kiểm tra tính đúng đắn của đoạn chương trình trên. Hoạt động 2: tiến hành gỏ bài tập đó làm cho mỏy thực hiện. Cõu 1: đó làm ở tiết bài tập. Cõu 2: Tiếp tục cho học sinh làm cỏc bài tập sau: Cõu 1: Hãy viết chương trình nhập 5 số ngyên từ bàn phím và ghi ra màn hình số lớn nhất trong 5 số đó theo hai cách: không sử dụng biến mảng và sử dụng biến mảng. Cõu 2: Viết chương trình sử dụng biến mảng để tính giá trị trung bình của tổng N số nguyên được nhập vào từ bàn phím Giải: a) Nếu không sử dụng biến mảng, chương trình có thể dài như sau: uses crt; var So_1, So_2, So_3, So_4, So_5, Max: integer; begin clrscr; write('Nhap so thu nhat: '); readln(So_1); write('Nhap so thu hai: '); readln(So_2); write('Nhap so thu ba: '); readln(So_3); write('Nhap so thu tu: '); readln(So_4); write('Nhap so thu nam: '); readln(So_5); Max:=So_1; If Max<So_2 then Max:=So_2; If Max<So_3 then Max:=So_3; If Max<So_4 then Max:=So_4; If Max<So_5 then Max:=So_5; writeln('So lon nhat: ',Max); end. b) Nếu sử dụng biến mảng, chương trình chỉ ngắn gọn như sau: uses crt; var i, Max: integer; A: array[1..5] of integer; begin clrscr; for i:=1 to 5 do begin write('Nhap so thu ',i,':'); readln(A[i]) end; Max:=a[1]; for i:=2 to 5 do If Max<a[i] then Max:=a[i]; writeln('So lon nhat: ',Max); end. Lưu ý. Xem cách viết chương trình ngắn gọn hơn và không sử dụng biến mảng trong Bài tập 9, Bài 7. Tuy nhiên, cách viết đó sẽ không cho kết quả mong muốn nếu sau khi nhập giá trị của các biến còn cần thực hiện các thao tác dữ liệu khác. Viết chương trình sử dụng biến mảng để tính giá trị trung bình của tổng N số nguyên được nhập vào từ bàn phím. uses crt; var N, i: integer; TB: real; A: array[1..100] of real; begin clrscr; write(’Nhap so phan tu cua mang, n= ’); read(n); for i:=1 to n do begin write(’Nhap gia tri ’,i,’cua mang, a[’,i,’]= ’); readln(a[i]) end; TB:=0; for i:=1 to n do TB:=TB+a[i]; TB:=TB/n; write(’Trung binh bang ’,TB); end. 4. Củng cố: Ghi điểm học sinh làm bài tốt 5. Dặn dũ: Về nhà xem bài mới.
Tài liệu đính kèm: