Gv: Ví dụ 1: tiếp tục với ví dụ trên, thay vì khai báo các biến thunhap1, thunhap2, thunhap3, để lưu mức thu nhập của các hộ gia đình, ta khai báo biến mảng thunhap như sau:
Var thunhap:array[1.50] of real;
Gv: cách khai báo và sử dụng biến mảng như trên có tác dụng gì?
Hs:.
Gv: 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(thunhap[i]);
để nhập mức thu nhập của từng hộ gia đình. Thay vì phải viết 50 câu lệnh khai báo và 50 câu lệnh nhập, ta chỉ cần viết hai câu lệnh là đủ và kết quả đạt được là như nhau
4 trang |
Chia sẻ: vudan20 | Lượt xem: 570 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Kế hoạch bài dạy môn Tin học 8 - Trường THCS Nguyễn Huệ - Tiết 52 - Bài 9: Làm việc với dãy số, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tiết PPCT
52
Ngày soạn:
5/ 3/ 2018
Tuần dạy
27
Ngày dạy:
8/ 3/ 2018
Lớp dạy:
Khối 8
BÀI 9: LÀM VIỆC VỚI DÃY SỐ (t2)
1. MỤC TIÊU
1.1. Kiến thức:
- Biết được khái niệm mảng một chiều.
1.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ố.
1.3. Thái độ: Nghiêm túc, yêu thích môn học.
2. CHUẨN BỊ
2.1. Giáo viên: Giáo án, bài giảng điện tử.
2.2. Học sinh: Chuẩn bị bài trước khi đến lớp.
3. TỔ CHỨC CÁC HOẠT ĐỘNG DẠY HỌC:
3.1. Ổn định tổ chức:1’
3.2. Kiểm tra bài cũ: không.
3.3. Tiến trình dạy học:
HOẠT ĐỘNG CỦA GV VÀ HS
NỘI DUNG
Hoạt động 1: Ví dụ về biến mảng (tt) (30’)
Gv: Ví dụ 1: tiếp tục với ví dụ trên, thay vì khai báo các biến thunhap1, thunhap2, thunhap3,để lưu mức thu nhập của các hộ gia đình, ta khai báo biến mảng thunhap như sau:
Var thunhap:array[1..50] of real;
Gv: cách khai báo và sử dụng biến mảng như trên có tác dụng gì?
Hs:...
Gv: 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(thunhap[i]);
để nhập mức thu nhập của từng hộ gia đình. Thay vì phải viết 50 câu lệnh khai báo và 50 câu lệnh nhập, ta chỉ cần viết hai câu lệnh là đủ và kết quả đạt được là như nhau.
Gv: thực hiện bài mẫu, hs quan sát-hiểu.
Gv: ta còn có thể dử dụng biến mảng một cách rất hiệu quả trong xử lí dữ liệu. Để so sánh mức thu nhập của các hộ gia đình 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 thunhap[i] > thunhaptb then
Writeln(‘Ho dan ‘,i, ‘thu nhap tren trung bình’);
Gv: điều này có lợi ích như thế nào?
Hs: ...
Gv: đ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.
Ví dụ 2: giả sử chúng ta cần viết chương trình nhập điểm từng môn học cho các học sinh trong một lớp và tính toán trên các điểm đó. Vì 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í,...nên để 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;
Gv: ngoài ra, ta có thể xử lí điểm thi của một học sinh cụ thể (ví dụ như tính điểm trung bình của Lan, tính điểm cao nhất của Châu,...) hoặc tính điểm trung bình của cả lớp,...
Diemli
Diemvan
Diemtoan
8
6
7
6
...
...
...
7
8
6
9
...
...
...
9
7
8
7
...
...
...
Chỉ số
1
2
3
4
...
Gv: sau khi một mảng đã được khai báo, chúng ta có thể làm việc với các phần tử của nó như làm việc với một biến thông thường, như gán giá trị, đọc giá trị và thực hiện các tính toán với các giá trị đó.
Ví dụ về biến mảng (tt)
Ví dụ 1: Thay vì khai báo các biến thunhap1, thunhap2, thunhap3,để lưu mức thu nhập của các hộ gia đình, ta khai báo biến mảng thunhap như sau:
Var thunhap:array[1..50] of real;
For i:=1 to 50 do readln(thunhap[i]);
For i:=1 to 50 do
If thunhap[i] > thunhaptb then
Writeln(‘Ho dan ‘,i, ‘thu nhap tren trung bình’);
Sử dụng vòng lặp và biến mảng giúp tiết kiệm rất nhiều thời gian và công sức viết chương trình.
Việc truy cập đến phần tử bất kì của mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó trong mảng.
Ví dụ: ta có biến mảng A. Khi đó A[i] là phần tử thứ I của mảng đó.
Ta có thể gán giá trị cho các phần tử của mảng A bằng câu lệnh gán trực tiếp:
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. Bài tập củng cố (12’)
Bài 1: các lệnh khai báo biến mảng trong Pascal sau đây đúng hay sai? Hãy giải thích.
A:array[1...100] of integer;
B:array[1..n] of real;
C:array[1:n] of real;
D:array[-7..7] of byte;
X:array[100..1] of real;
d:array[-1..10] of byte;
Bài 2. Hãy cho biết các khai báo mảng sau đây đúng hay sai? Nếu sai hãy giải thích tại sao.
A:array[1, 20] of real;
xau:array[255..1] of longint;
so:array[1.1..1.10] of integer;
kitu:array[1..255] of real;
y:array[1,,100] of integer;
4. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP.
4.1. Tổng kết: (1’)
- Hiểu sự cần thiết của biến mảng;
- Nắm rõ cấu trúc chung của biến mảng.
- Vận dụng biến mảng vào giải quyết một số bài toán đơn giản.
4.2. Hướng dẫn tự học: (1’)
Đối với bài học ở tiết học này:
Ghi nhớ các kiến thức đã học trên lớp.
Làm các bài tập 1-5 SGK.
Đối với bài học ở tiết học tiếp theo: chuẩn bị trước phần 3 của bài học.
.
Các file đính kèm theo tài liệu này:
- 52.doc