ÔN TẬP HỌC KỲ 2
Bài 9 LÀM VIỆC VỚI DÃY SỐ (tiếp)
I.Mục đích 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 độ
HS có thái độ ham hiểu biết, học hỏi.
3. Định hướng phát triển năng lực: năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
PHƯƠNG PHÁP:
Giảng giải, vấn đáp, trực quan.
II. CHUẨN BỊ BÀI HỌC:
1. Giáo viên :
- SGK, SGV, tài liệu, Giáo án - Đồ dùng dạy học
2. Học sinh :
- Đọc trước ô Làm việc với dóy số ằ III. TIẾN TRÌNH BÀI HỌC:
1.Ổn định tổ chức lớp
222
2.Kiểm tra bài cũ
?Viết cú pháp khai báo biến mảng ? Khi nào ta dùng biến mảng ? 3.2. Hoạt động 2: Hình thành kiến thức (30 phút)
HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG, YÊU CẦU CẦN ĐẠT
Hoạt đông 1: Ví dụ GV: Đưa ví dụ 2
GV: Hướng dẫn học sinh cách sử dụng biến mảng
GV: Cách khai báo biến có ích lợi gì?
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;
HS: Tiết kiệm thời gian và công sức viết chương trình.
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.
223
GIÁO ÁN PTNL 5 HOẠT ĐỘNG MÔN TIN 8
GV: Nhập giá trị cho mảng từ bàn phím như thế nào
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]);
Hoạt động 2: Tìm giá trị lớn nhất và nhỏ nhất của dãy số GV: Em hãy nêu cách tìm bạn cao nhất
lớp?
G: yêu cầu hs xác định bài toán
G: Gợi ý và gọi 1 em lên khai báo biến cho chương trình.
GV: Gọi 1 em lên viết câu lệnh nhập n từ bàn phím
GV: Gọi 1 em lên viết câu lệnh nhập dãy số từ bàn phím.
GV: Nhắc lại thuật toán tìm giá trị lớn nhất, gợi ý cho học sinh và gọi 1 em lên viết đoạn tìm giá trị lớn nhất.
GV: sau khi tìm gt lớn nhất gọi 1 em lên viết đoạn chương trình tìm giá trị nhỏ
HS: Cho bạn đầu tiên cao nhất sau đó so sánh tiếp với các bạn khác.
Input: n, dãy số nhập từ bàn phím.
Output: tìm giá trị lớn nhất, nhỏ nhất.
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];
for i:=2 to n do
begin if Max<a[i] then Max:=a[i];
end;
write('So lon nhat la Max = ',Max);
readln End.
224