Giáo án Tin học 8 - Tuần 30 - Dương Phước Giàu
I. MỤC TIÊU
1. Kiến thức
- 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.
2. Kỹ năng
- Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số.
3. Thái độ
- Nghiêm túc trong học tập, có tinh thần học hỏi, sáng tạo .
II. CHUẨN BỊ
1. Nội dung:
- Khai báo biến mảng.
- Truy cập mảng và nhập giá trị cho biến mảng.
2. Đồ dùng:
- Giáo viên: Sách giáo khoa, giáo án, bài tập.
- Học sinh:Sách giáo khoa, vở, viết, thước kẻ. Xem bài mới trước khi lên lớp.
Tuần: 30 Tiết 59 Ngày soạn: 16/03/2014 Bài 9 : LÀM VIỆC VỚI DÃY SỐ (tt) I. MỤC TIÊU Kiến thức - 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. Kỹ năng - Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số. 3. Thái độ - Nghiêm túc trong học tập, có tinh thần học hỏi, sáng tạo . II. CHUẨN BỊ Nội dung: - Khai báo biến mảng. - Truy cập mảng và nhập giá trị cho biến mảng. Đồ dùng: - Giáo viên: Sách giáo khoa, giáo án, bài tập. - Học sinh:Sách giáo khoa, vở, viết, thước kẻ. Xem bài mới trước khi lên lớp. III. HOẠT ĐỘNG DẠY HỌC Tổ chức lớp (1’) - Ổn định tổ chức. Kiểm tra sĩ số học sinh. Kiểm tra bài cũ 5’ * Câu hỏi: CH: Nêu cấu trúc khai báo biến mảng. Cho ví dụ? * Trả lời: CH: * Khai báo biến mảng: (4đ) Var : array [.. ] of Trong đó: Chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mãn Chỉ số đầu chỉ số cuối. VD: Var diem: array [1.. 50] of real; Bài mới: * Giới thiệu bài: TG Hoạt động giáo viên Hoạt động học sinh Nội dung 10’ Hoạt động 1: Tìm hiểu một số ví dụ 3. Tìm giá trị lớn nhất và nhỏ nhất của một dãy số: * Thuật tốn: B1: Nhập N và dãy A1...An; B2: Max; B3: Với i từ 2 đến N thực hiện: Nếu Max<A1 thì Max; B4: Đưa ra màn hình giá trị max rồi kết thúc; - Hướng dẫn HS tìm hiểu lại thuật tốn đã học trong bài 5. - Mời 1 HS nhắc lại thuật tốn: - Nhận xét. - Giải thích thuật tốn: - Đầu tiên gán giá trị số thứ 1 của một dãy số cho max. - So sánh số lớn nhất tạm thời này với số thứ 2, nếu số thứ 2 lớn hơn số thứ nhất tạm thời – Max thì gán giá trị số thứ 2 cho max. - Cứ tiếp tục như vậy, đem so sánh max với tất cả giá trị cịn lại, gặp số nào lớn hơn thì gán giá trị đĩ cho max. - Sau khi so sánh đến số cuối cùng của dãy số thì max chính là giá trị lớn nhất của một dãy số. - Yêu cầu HS thảo luận về một ví dụ mơ phỏng thuật tốn. - Đề: GV đưa ra một hộp A gồm 10 mảnh giấy chứa 10 số nguyên. Đặt 1 hộp B rổng bên cạnh. - Yêu cầu HS chuyển từ hộp A sang hộp B mà khơng cần phải nhớ nhưng vẫn tìm ra giá trị lớn nhất. - Phát biểu. - Lắng nghe. - Theo dõi. - Thảo luận nhĩm để tìm ra giá trị lớn nhất. 23’ - Hướng dẫn học sinh xác định các biến và viết khai báo biến. -Yêu cầu HS viết chương trình tìm số lớn nhất? - Viết câu lệnh thực hiện các bước nhập n, nhập các phần tử của mảng, tìm max, in giá trị max ra màn hình. - Yêu cầu hs chỉnh sửa chương trình trên để tìm giá trị nhỏ nhất của một dãy số, tính tổng của dãy số. - Theo dõi hs và chỉnh sửa chương trình. - Theo dõi và thực hiện cùng GV. - Theo dõi. Thực hiện theo biết - Lên bảng trình bày. * Chương trình: Program max; Var I,n,max: integer; A: array [1..50] of integer; Begin Write (‘nhap do dai day so’); readln (n); Writeln (‘nhap cac phantu cua day so’); For i:=1 to n do Begin Write (‘a[‘ ,I, ‘]=’); readln (a[i]); Ed; Max : =a[1]; For i:=2 to n do If max <a[i] then max := a[i]; Write (‘so lon nhat la’, max); Readln; End. * Tìm giá trị nhỏ nhất. * Bổ sung kiến thức: - 3. Đúng. - 4: Khơng. Giá trị lớn nhất và nhỏ nhất của chỉ số mảng phải được xác định trong phần khai báo chương trình. .- Hướng dẫn trả lời câu hỏi và bài tập. 4. Củng Cố (5’) - Trong khai báo giá trị mảng, giá trị bắt đầu phải thế nào với giá trị kết thúc (so sánh)? - trong một chương trình có thể có mấy biến mảng ? - Tác dụng quan trọng của việc dùng biến mảng là gì ? 5. Dặn dò: (1’) - Học bài và làm bài tập 1,2,3,4 SGK. - về xem lại cách dùng biến mảng trong một chương trình cụ thể, cách khai báo để tiết sau làm bài tập Tuần: 30 Tiết 60 Ngày soạn: 16/03/2014 BÀI TẬP I. MỤC TIÊU Kiến thức - Ơn luyện cách sử dụng các câu lệnh if ..then, for .. do; - Khai báo và sử dụng biến mảng để viết chương trình hồn thiện. Kỹ năng - Hiểu được phần chuẩn kiến thức ở trên. Thái độ - Nghiêm túc trong học tập, có tinh thần học hỏi, sáng tạo . II. CHUẨN BỊ Nội dung: - Các dạng bài tập liên quan. Đồ dùng: - Giáo viên: Sách giáo khoa, giáo án, bài tập. - Học sinh:Sách giáo khoa, vở, viết, thước kẻ. Xem bài mới trước khi lên lớp. III. HOẠT ĐỘNG DẠY HỌC Tổ chức lớp (1’) - Ổn định tổ chức. - Kiểm tra sĩ số học sinh. Kiểm tra bài cũ (6’) * Câu hỏi: CH1: - Viết cấu trúc khai báo biến mảng trong chương trình? - Viết lại thuật tốn tìm giá trị lớn nhất và giá trị nhỏ nhất. * Trả lời: -> var : array [ .. ] of ; -> Thuật tốn tìm giá trị nhỏ nhất: B1: Nhập N và dãy A1...An; B2: MinA1; B3: Với I từ 2 đến n thực hiện: Nếu <min thì Min B4: Đưa ra màn hình giá trị nhỏ nhất rồi kết thúc. -> Thuật tốn tìm giá trị lớn nhất: B1: Nhập N và dãy A1...An; B2: MaxA1; B3: Với I từ 2 đến n thực hiện: Nếu >max thì Max B4: Đưa ra màn hình giá trị lĩn nhất rồi kết thúc. Bài mới: * Giới thiệu bài: TG Hoạt động giáo viên Hoạt động học sinh Nội dung 17’ Hoạt động1: Tìm hiểu một số bài tập * Bài 1: Các lệnh khai báo biến mảng sau đây đúng hay sai? Giải thích? a. A: array [1100] of real; b. A: array [1..n] of real; c: A: array [1:n] of real; d: A: array [-7..7] of byte; e: A: array [100..1] of real; f: A: array (-1..10) of byte; * Bài giải: a. Sai, cần thay dấu ba chấm bằng dấu hai chấm. b. Sai, các chỉ số phải là giá trị cụ thể. Tuy nhiên nếu n là một hằng số đã được khai báo thì câu lệnh này hợp lệ. c. Sai, cần thay dấu hai chấm bằng dấu hai chấm. d. Đúng. e. Sai, chỉ số đầu khơng lớn hơn chỉ số cuối; f. Sai, vì phải viết các chỉ số trong ngoặc vuơng. - Cho dạng bài tập. - Mời một hs nhắc lại cấu trúc khai báo biến mảng. - Nhận xét. Trình bày lại cấu trúc khai báo (nhấn mạnh lại những điểm cần lưu ý trong cấu trúc trên). - Cho thảo luận nhĩm: Yêu cầu các nhĩm suy nghĩ và cho biết câu trả lời trên bảng phụ. - Lấy kết quả nhanh và chính xác nhất và diễn giải cho hs hiểu: a) + Viết cấu trúc khai báo biến, yêu cầu hs nhìn vào đĩ để tìm ra lỗi sai sĩt. b) -? Các chỉ số viết như thế cĩ đúng khơng? - Nhận xét. Nếu n là một hằng số đã được khai báo thì câu lệnh này sẽ được chấp nhận. - Tương tự nhận xét các câu cịn lại. - Đọc đề bài. - var : array [ .. ] of ; - Chú ý theo dõi. - Suy nghĩ. Và trình bày. - Khơng. Vì n khơng phải là một số cụ thể. - Lắng nghe, theo dõi. 15’ - Đưa ra đề bài, yêu cầu hs đọc kỹ đề, tìm ra ý tưởng trên giấy. - Đề bài yêu cầu ta làm gì đây? - Nhận xét. Đưa ra ý tưởng của bài tốn. - Từ ý tưởng này hướng dẫn học sinh viết chương trình. +? Vậy bài này ta cần khai báo biến gì, cĩ tất cả bao nhiêu biến. - Kiểu của các biến như thế nào? - Hướng dẫn viết chương trình. - Theo dõi và thực hiện cùng GV. - cho một dãy số thực n và một số thực x bất kì, đếm xem trong dãy số thực đĩ cĩ bao nhiêu số nhỏ hơn x. - Ghi bài vào vở. - Biến n, x, soluong, I và khai báo biến mảng. - kiểu số thực. *Bài 2: Cho một dãy gồm n số thực và một số thực x. Viết chương trình nhập n số thực đĩ và đếm xem cĩ bao nhiêu số trong dãy khơng lớn hơn x. * Bài giải: Program demso; Var x:real; N, soluong, i: integer; A: array [1..100] of real; Begin Writeln(‘nhap so phan tu cua day va so x de so sanh’); Readln(n,x); Writeln(‘hay nhap’, n); For i:=1 to n do readln (a[i]); soluong:=0; for i:=1 to n do if a[i]<=x then soluong: = soluong+1; writeln(‘trong day co’, soluong, ‘phan tu<’, x); readln; end. 4. C3ng cố (5’) Các chỉ số viết như thế nào mới đúng ? Số phần tử trong mảng quy định bao nhiêu ? 5. Dặn dò: (1’) Về nhà học bài, xem trước bài thực hành, xem lại câu lệnh điều kiện để vận dụng tốt vào bài thực hành
File đính kèm:
- Tuần 30.doc