Kiểm tra bài cũ - Viết cấu trúc khai báo biến mảng trong chương trình?. - Viết lại thuật toán tìm giá trị lớn nhất và giá trị nhỏ nhất..[r]
(1)Trường THCS LÊ QUÝ ĐÔN Giáo án tin - Tuần : 28 Tiết : 53+54 Ngày soạn: 14/03/2011 Ngày dạy : 15/03/2011 BÀI TẬP I Mục tiêu Kiến thức - Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước while…do Pascal Kỹ Năng - Viết chương trình có sử dụng vòng lặp while…do - Rèn luyện đọc hiểu chương trình có sử dụng vòng lặp while…do Thái độ - Có ý thức, kỹ luật, nghiêm túc, trình bày vấn đề chặt chẽ, rõ ràng II Chuẩn bị - GV: Soạn giáo án , SGK, máy chiếu, phòng máy… - HS: Vở ghi, SGK, đọc trước nội dung bài học thực hành, tìm hiểu số bài toán và thuật toán III Phương pháp - Vấn đáp, thuyết trình, trực quan - Đặt vấn đề, giải vấn đề IV Hoạt động dạy và học Ổn định lớp tổ chức lớp - kiểm tra sĩ số lớp, Ổn định trật tự Kiểm tra bài cũ - Viết cấu trúc khai báo biến mảng chương trình? - Viết lại thuật toán tìm giá trị lớn và giá trị nhỏ Trả lời: var <tên biến mảng>: array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>; Thuật toán tìm giá trị nhỏ nhất: B1: Nhập N và dãy A1 An; B2: Min A1; B3: Với I từ đến n thực hiện: Nếu Ai <min thì Min Ai B4: Đưa màn hình giá trị nhỏ kết thúc Thuật toán tìm giá trị lớn nhất: B1: Nhập N và dãy A1 An; B2: Max A1; B3: Với I từ đến n thực hiện: Nếu Ai >max thì Max Ai B4: Đưa màn hình giá trị lón kết thúc TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net (2) Trường THCS LÊ QUÝ ĐÔN Giáo án tin - Bài Hoạt động GV Hoạt động HS Hoạt động1: Tìm hiểu số bài tập - Cho dạng bài tập - Đọc đề bài - Mời hs nhắc lại cấu var <tên biến trúc khai báo biến mảng mảng>: array - Nhận xét Trình bày lại [<chỉ số đầu> cấu trúc khai báo (nhấn <chỉ số mạnh lại điểm cần cuối>] of lưu ý cấu trúc trên) <kiểu - Cho thảo luận nhóm: Yêu liệu>; cầu các nhóm suy nghĩ và - Chú ý theo cho biết câu trả lời trên dõi bảng phụ - Lấy kết nhanh và - Suy nghĩ Và chính xác và diễn giải trình bày cho hs hiểu: a) Viết cấu trúc khai báo - Không Vì n biến, yêu cầu hs nhìn vào không phải là đó để tìm lỗi sai sót số cụ thể b) ? Các số viết có đúng không? - Nhận xét Nếu n là số đã khai báo thì câu lệnh này - Lắng nghe, chấp nhận theo dõi - Tương tự nhận xét các câu còn lại - Đưa đề bài, yêu cầu hs - Theo dõi và đọc kỹ đề, tìm ý tưởng thực cùng trên giấy GV - Đề bài yêu cầu ta làm gì - cho dãy đây? số thực n và - Nhận xét Đưa ý tưởng số thực x bất kì, đếm bài toán - Từ ý tưởng này hướng xem dãy dẫn học sinh viết chương số thực đó có trình bao nhiêu số ? Vậy bài này ta cần khai nhỏ x báo biến gì, có tất bao - Ghi bài vào nhiêu biến Nội dung 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 [1…100] 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 dấu hai chấm b Sai, các số phải là giá trị cụ thể Tuy nhiên n là số đã khai báo thì câu lệnh này hợp lệ c Sai, cần thay dấu hai chấm dấu hai chấm d Đúng e Sai, số đầu không lớn số cuối; f Sai, vì phải viết các số ngoặc vuông Bài 2: Cho dãy gồm n số thực và số thực x Viết chương trình nhập n số thực đó và đếm xem có bao nhiêu số dãy không lớ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); TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net (3) Trường THCS LÊ QUÝ ĐÔN Giáo án tin - - Kiểu các biến nào? - Hướng dẫn viết chương trình - Biến n, x, soluong, I và khai báo biến mảng - kiểu số thực Hoạt động: cố - Hệ thống toàn nội - Lắng nghe dung - Chú ý: Nêu số nội dung cần ghi nhớ cần bổ sung Writeln(‘hay nhap’, n); For i:=1 to n readln (a[i]); soluong:=0; for i:=1 to n if a[i]<=x then soluong: = soluong+1; writeln(‘trong day co’, soluong, ‘phan tu<’, x); readln; end Ghi nhớ: Việc sử dụng mảng bao gồm: nhập giá trị cho các thành phần mảng; duyệt các phần tử mảng để kiểm tra, tính toán, ta nói công việc này là “xử lí dãy số” TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net (4)