Giáo án Tin học 8 tiết 57: Làm việc với dãy số (T2)

Giáo án Tin học 8 tiết 57: Làm việc với dãy số (T2)

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ở.

 

doc 3 trang Người đăng vultt Lượt xem 1584Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 tiết 57: Làm việc với dãy số (T2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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:

  • doctiet 57.doc