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Ị:
GV: So¹n bµi, ®äc tµi liÖu tham kh¶o, dông cô d¹y häc.
HS: Xem l¹i kiÕn thøc ë tiÐt tríc, dông cô häc tËp.
D¹y líp: 8A; 8B; 8E. Ngµy so¹n: 27/03/2010. TiÕt PPCT: 56. Ngµy d¹y: 29/03/2010. 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Ị: GV: So¹n bµi, ®äc tµi liÖu tham kh¶o, dông cô d¹y häc. HS: Xem l¹i kiÕn thøc ë tiÐt tríc, dông cô häc tËp. III. TIẾN TRÌNH LÊN LỚP: KIỂM TRA BÀI CŨ ? Em hãy nêu cách khai báo biến mảng trong Pascal . HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: GV: Đưa ví dụ 2 HS: Đọc hiểu ví dụ GV: Hướng dẫn học sinh cách sử dụng biến mảng HS: Chú ý GV: Cách khai báo biến có ích lợi gì? HS: Tiết kiệm thời gian và công sức viết chương trình. Hoạt động 2: GV: Đưa ví dụ 3 HS: Đọc hiểu ví dụ GV: Hướng dẫn học sinh cách sử dụng biến mảng HS: Chú ý - Ghi vở và thực hiện chương trình. IV. CỦNG CỐ HƯỚNG DẪN VỀ NHÀ: - Về nhà xem lại bài học tiết sau chúng thực hành 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.
Tài liệu đính kèm: