Giáo án Tin học 8 - Tuần 30 - Năm học 2009-2010

Giáo án Tin học 8 - Tuần 30 - Năm học 2009-2010

A. MUÏC TIEÂU:

- Biết được khái niệ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.

- Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số.

B. CHUAÅN BÒ:

- GV:giáo án, sgk.

- HS: sgk.

C. TIEÁN TRÌNH LEÂN LÔÙP:

1. OÅn ñònh: lôùp 8/1 lôùp 8/2 .

2. Kiểm tra bài cũ:

- Không có.

3. Dạy bài mới:

 

doc 3 trang Người đăng tranhiep1403 Lượt xem 981Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tuần 30 - Năm học 2009-2010", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TUAÀN 30
Từ ngày 22/3/2010 đến ngày 28/3/2010
Ngày dạy: 
Tieát 59, 60:
 	LÀM VIỆC VỚI DÃY SỐ
A. MUÏC TIEÂU:
- Biết được khái niệ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.
- Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số.
B. CHUAÅN BÒ:
- GV:giáo án, sgk.
- HS: sgk.
C. TIEÁN TRÌNH LEÂN LÔÙP:
1. OÅn ñònh: lôùp 8/1	lôùp 8/2..
2. Kiểm tra bài cũ:
- Không có.
3. Dạy bài mới:
Giáo viên
Học sinh
Tieát 59:
1. Dãy số và biến mảng:
Ví dụ 1: Giả sử chúng ta cần viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất.Ta sử dụng nhiều biến mỗi biến cho một hoc sinh, mỗi câu lệnh tương ứng với điểm của một học sinh:
Var Diem_1, Diem_2, Diem_3,..; real;
.
Read(Diem_1), Read(Diem_2), Read(Diem_3);
- Nều số học sinh trong lớp càng nhiều thì đoạn khai báo và đọc dữ liệu trong chương trình càng dài. Việc so sánh các điểm đã nhập còn khó khăn hơn.
- Giả sử chúng ta cần lưu nhiều dữ liệu có liên quan với nhau (như Diem_1, Diem_2, Diem_3,.. ở trên) bằng một biến duy nhất và đánh “số thứ tự” cho các giá trị đó, ta có thể sử dụng quy luật tăng hay giảm của “số thứ tự” và một vài câu lệnh để xử lí dữ liệu một cách đơn giản:
+ Với i = 1 đến 50: hãy nhập Diem_i;
+ Với i = 1 đến 50: hãy so sánh Max với Diem_i;
- Để giúp giải quyết các vấn đề trên ngôn ngữ lập trình có một kiểu dữ liệu là kiểu mảng.
- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử có cùng kiểu dữ liệu, việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số, ta chỉ xét các mảng có phần tử kiểu số nguyên hoặc số thực ở bài này.
- Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó gọi là biến mảng.
- Giá trị của biến mảng là một mảng.
2. Ví dụ về biến mảng:
- Cách khai báo biếm mảng trong Pascal: tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử,
Ví dụ: cách khai báo đơn giản
Var chieucao: array[1..50] of real;
- Cú pháp:
Tên mảng:array [..] of
+ Chỉ số đầu và cuối là số nguyên.
+ Kiểu dữ liệu là integer hoặc real.
Ví dụ 2: tiếp ví dụ 2, ta khai báo biến mảng như sau:
Var Diem:array [1..50] of real;
- Ta còn có thể sử dụng biến mảng một cách hiệu quả trong xử lí dữ liệu, để so sánh điểm của mỗi học sinh với một giá trị nào đó, ta chỉ cần một câu lệnh lặp:
For i:=1 to 50 do
If Diem[i]>8.0 then writeln(‘gioi’);
- Mỗi học sinh có thể có nhiều điểm theo từng môn học: điểm toán, điển văn, điểm lí,ta có thể khai báo:
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;
- 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ị đó.
- Ta có thể gán giá trị cho các phần tử của mảng bằng cậu lệnh:
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: Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất( Xem thuật toán trong ví dụ 6, bài 5)
- Phần khai báo của chương trình:
Program Maxmin;
Uses crt;
Var i, n, max, min: integer;
 A: array[1..100] of integer;
- Phần thân chương trình:
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;
 writeln(‘ So lon nhat la max=’, max);
 writeln(‘ So nho nhat la min=’, min);
 readln
end.
- Hs xem ví dụ.
- Hs lắng nghe và tiếp thu.
- Hs ghi vở.
- Hs tìm hiểu.
4. Củng cố:
5. Dặn dò:
- Xem bài mới.
6.Ruùt kinh nghieäm:
Tieát 59:
-	
Tieát 60:
-	

Tài liệu đính kèm:

  • doctuan 30 lop 8.doc