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ố..
Trang 1Dạ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
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:
Trang 2Hoạ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
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,']=');
Trang 3IV 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
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.