Tiết 57. Bài 9. Làm việc với dãy số (T2)
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, nhỏ nhất của một dãy số.
3. Thái độ: Nghiêm túc
II. CHUẨN BỊ
1. Giáo viên: giáo án, máy chiếu
2. Học sinh: Kiến thức cũ, sách, vở.
Ngày soạn: 21/03/2010 ngày dạy: 24/03/2010 Tiết 57. Bài 9. Làm việc với dãy số (T2) 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, nhỏ nhất của một dãy số. 3. Thái độ: Nghiêm túc II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP 1 - ỔN ĐỊNH (1’) B2- KIỂM TRA BÀI CŨ 3’ ? Em hãy nêu cách khai báo biến mảng trong Pascal . 3 - BÀI MỚI (37’) Hoạt động của GV Hoạt động của HS Ghi bảng Đưa ví dụ 2 Hướng dẫn học sinh cách sử dụng biến mảng Cách khai báo biến có ích lợi gì? Đưa ví dụ 3 Hướng dẫn học sinh cách sử dụng biến mảng Y/c HS gõ chương trình chạy thử và sữa lỗi (nếu có) Đọc hiểu ví dụ Nghe và ghi chép Tiết kiệm thời gian và công sức viết chương trình. Đọc hiểu ví dụ - Ghi vở và thực hiện chương trình. Gõ chương trình và chậy thử Ví dụ 2. Tiếp tục với ví dụ 1, thay vì khai báo các biến Diem_1, Diem_2, Diem_3,... để lưu điểm số của các học sinh, ta khai báo biến mảng Diem như sau: var Diem: array[1..50] of real; Cách khai báo và sử dụng biến mảng như trên có lợi gì? Trước hết, có thể thay rất nhiều câu lệnh nhập và in dữ liệu ra màn hình bằng một câu lệnh lặp. Chẳng hạn, ta có thể viết For i:=1 to 50 do readln(Diem[i]); để nhập điểm của các học sinh. Để so sánh điểm của mỗi học sinh với một giá trị nào đó, ta cũng chỉ cần một câu lệnh lặp, chẳng hạn For i:=1 to 50 do if Diem[i]>8.0 then writeln('Gioi'); Điều này giúp tiết kiệm rất nhiều thời gian và công sức viết chương trình. Hơn nữa, mỗi học sinh có thể có nhiều điểm theo từng môn học: điểm Toán, điểm Văn, điểm Lí,... Để xử lí đồng thời các loại điểm này, ta có thể khai báo nhiều biến mảng: var DiemToan: array[1..50] of real; var DiemVan: array[1..50] of real; var DiemLi: array[1..50] of real; hay var DiemToan, DiemVan, DiemLi: array[1..50] of real; Khi đó, ta cũng có thể xử lí điểm thi của một học sinh cụ thể Ví dụ 2 cũng cho thấy rằng, chúng ta gán giá trị, đọc giá trị và tính toán với các giá trị của một phần tử trong biến mảng thông qua chỉ số tương ứng của phần tử đó. Chẳng hạn, trong câu lệnh trên Diem[i] là phần tử thứ i của biến mảng Diem. Ta có thể gán giá trị cho các phần tử của mảng bằng câu lệnh gán: A[1]:=5; A[2]:=8; hoặc nhập dữ liệu từ bàn phím bằng câu lệnh lặp: for i := 1 to 5 do readln(a[i]); 3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số Ví dụ 3. (SGK) Phần khai báo của 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:'); 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 End. D - CỦNG CỐ (3’) - Khái niệm mảng một chiều - Cách khai báo mảng, nhập, in, truy cập các phần tử của mảng
Tài liệu đính kèm: