ngữ lập trình có thể khác nhau, nhưng luôn - HS: Nghiªn cøu SGK tr¶ lêi cần chỉ rõ: tên biến mảng, số lượng phần tử, - GV: Cho HS đọc ví dụ, rồi hướng dẫn cách kiểu dữ liệu chung của các[r]
Trang 1Ngày soạn: 03/05/09
Ngày giảng: Lớp 8A: 06/01/09
8B: 07/01/09
8C: 08/01/09
Tiết 39 – 40: Bài 9
Làm việc với dãy số
I Mục tiêu bài học:
1 Kiến thức :
Biết khái niệm mảng một chiều, biết cấu trúc chung của câu lệnh khai báo mảng một chiều
2 Kĩ năng:
- Viết được cấu trúc mảng một chiều và lấy được ví dụ minh họa
- Đọc và tìm hiểu được ý nghĩa một số chương trình đơn giản
3 Thái đô:
Tích cực trong các hoạt động, tuân thủ các quy tắc chung của câu lệnh
II Chuẩn bị:
1 Giáo viên: Phấn màu, SGK, bài tập minh hoạ.
2 Học sinh: Vở viết, SGK, đọc trước bài ở nhà
III Tiến trình lên lớp
1 ổn đinh tổ chức
2 Kiểm tra: Không kiểm tra
3 Nội dung bài mới:
Hoạt động 1:Dóy số và biến mảng
- G:
quan hai dung quan ! Nhu cầu
của biến mảng trong ngụn ngữ lập trỡnh và
thuật toỏn tỡm số lớn nhất của một dóy số.
lớn nhất của một dóy số” $*% tỡm , -
bài 5 (vớ
:1% tiờu là Gv ; nhu %< %< cú
thụng qua vớ 1 1: Viết chương
trỡnh nhập điểm kiểm tra của cỏc HS trong
một lớp và sau đú in ra màn hỡnh.
- HS: Nghe giảng và đọc ví dụ 1
- G: Vỡ ? % @ cú , $ giỏ A
duy B6 , cú , 59 , và so sỏnh
chỳng, ta
1 Dóy số và biến mảng:
Vớ dụ 1: (SGK)/ Tr 75
Trang 2cho
- HS: Nghe
- G:
trỡnh càng dài … B khú trỏnh 7 T N
< ;6 sai sút
- G: 456 ta cú , E 1 quy 5 U
hay %Q ( P V) và vài cõu
ntn ?
cỏc ngụn
+ Dữ liệu kiểu mảng là gỡ ?
- HS:
cỏc
cựng
* Nhấn mạnh: Trong bài này, ta % @ xột cỏc
cú cỏc 9 < E 7, nguyờn CW%
V%"
- GV:
và giỏ A %Q "
- HS: Ghi bài
- Khai bỏo và
$O P , %Q HS:
Var Diem_1, Diem_2, Diem_3, … : real;
Read (Diem_1) ; Read (Diem_2) ; Read (Diem_3) ; …
- Ta cú , E 1 quy 5 U hay
+ 4 i = 1 100: Hóy 59 Diem_i;
+ 4 i = 1 100: Hóy so sỏnh Max
Diem_i;
* 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ử đều cú cựng một kiểu dữ liệu gọi là kiểu của phần tử.
gỏn cho ? 9 < E % @
+ h Là khi khai bỏo cú
+ Giỏ A %Q là " /P% là
dóy nguyờn - V% cú P V3
Hoạt động 2: Ví dụ về biến mảng
- GV: Cỏch khai bỏo trong cỏc
ngụn N 59 trỡnh cú , khỏc nhau, $
luụn %< % @ rừ N gỡ ?
- HS: Nghiên cứu SGK trả lời
- GV: Cho HS !% vớ 16 l $ ; cỏch
khai bỏo trong ngụn N Pascal:
Var Chieucao : array [1 50] of real;
2 Vớ dụ về biến mảng:
- Cỏch khai bỏo trong cỏc ngụn
N 59 trỡnh cú , khỏc nhau, $ luụn
%< % @ rừ: 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ớ 1 (SGK)/ Tr 76
* Cỏch khai bỏo mảng trong Pascal:
Trang 3Var Tuoi : array [21 80] of integer;
=> Cỏch khai bỏo trong Pascal ntn ?
- HS: Thực hiện theo hướng dẫn của GV
- Is vớ 1 1, GV ; f HS cỏch khai bỏo
biến mảng:
Var Diem : array [1 50] of real;
+ h cú 50 9 < E $*% & s 1
50 Cỏc 9 < E $*% (W tờn” ntn ?
=> Cỏch khai bỏo và E 1
$ trờn cú * gỡ ?
- GV:
nào ?
( For …do )
- GV: Z, giỏ A %Q cỏc 9 < E ra màn
hỡnh $[ ta 7 *9 N For …do
- GV:
và cụng P% % $O trỡnh, thay vỡ 9
R $*% $ nhau Z$ ra 1 cỏch khai
bỏo cho HS rừ
=> HS
mụn !% ntn ?
- HS : làm theo hướng dẫn của GV
- GV: Sau khi $*% khai bỏo,
chỳng ta cú
$[ ntn ?
- HS: $ gỏn giỏ A6 !% giỏ A và V%
Tờn mảng : array [<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu >;
Trong đú:
+ Chỉ số đầu và chỉ số cuối: là 2 nguyờn
CW% , P% nguyờn (Chỉ số đầu chỉ số cuối );
+ Kiểu dữ liệu: integer CW% real
* Vớ dụ 2: (SGK)/ Tr 76.
- Khai bỏo Diem $ sau:
Var Diem : array [1 50] of real;
- Dựng cõu lệnh lặp, cú , thay B
hỡnh, $
For i:= 1 to 50 do readln ( Diem [ i ] );
- Z, so sỏnh , %Q ? HS giỏ
$
For i:= 1 to 50 do
If Diem [ i ] > 8.0 then writeln ( ‘ Gioi ‘ );
- Z, XE lớ l [ cỏc ! , %Q s mụn
Var DiemToan : array [1 50] of real;
Var DiemVan : array [1 50] of real;
Var DiemLi : array [1 50] of real;
hoặc:
Var DiemToan, DiemVan, DiemLi : array [1 50] of real;
- Khi $*% khai bỏo, chỳng ta
cú
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ớ 1 $
A[ 1 ]:= 5;
Trang 4* Lưu ý HS: FE 1 %B trúc For … do
phù *96 x , O %B trúc While…do vì
$% < W9"
* Củng cố:Làm BT 1, 2/ SGK/ Tr 79
A[ 2 ]:= 8;
Hoạt động 3: Tìm giá trị lớn nhất và nhỏ nhất của dãy số
- GV: $ ; HS tìm , R 5 toán
tìm giá A B6 T B %Q dãy
nguyên ( !% - Bài 5 )
+ GV :
B %Q dãy nguyên … Sau = cho
HS f% R"
- HS nghe và f% R" Tham gia % @ E
5 toán trên , tìm ra T B"
+GV: Cho HS C 56 % @ E 5
toán trên , tìm ra T B"
- GV cho HS !% ví 1 3:
- HS !% ví 1 3
? Z, 59 các nguyên y $*% 59 vào,
$% ta 9 làm gì ?
+ HS: S $% ta khai báo N
? Sau khi khai báo N, $ các $*%
59 vào $ là các 9 < E %Q
A Ngoài ra, %< khai báo thêm các
nào N ?
+ HS: j< khai báo thêm i làm
$ B6 T B"
- GV: Trình bày 9 < khai báo % $O trình
…
- HS theo dõi
3 Tìm giá trị lớn nhất và nhỏ nhất của dãy số:
* I 5 toán tìm giá A B ( Max ) %Q dãy nguyên 59 s bàn phím:
Bước 1: Nhập N và dãy A1 , … , A n ;
Bước 2: Max A1 ;
Bước 3: Với i từ 2 đến N thực hiện: Nếu
Max < A 1 thì Max A i ;
Bước 4: Đưa ra màn hình giá trị Max rồi
kết thúc
Ví dụ 3: (SGK)/ Tr 78.
* L < khai báo % $O trình có , $ sau:
Program MaxMin;
Uses crt;
Var i, n, Max, Min : integer;
A : array [1 100] of integer;
zL < thân % $O trình y $O V $
M{
Begin
Clrscr;
Write ( ‘ Hay nhap do dai cua day so, N
= ‘); readln (n);
Writeln ( Nhap cac phan tu cua day so: m’);
For i:= 1 to n do
Begin
Trang 5- GV cho HS !% 9 < ghi "
- HS: Z!% ghi
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 (n);
End
** GHI NHỚ: (SGK)/ Tr 79.
4-
- Làm các Câu T và BTcòn R sgk/ Tr 79;
- j A sau: Bài thực hành 7.
... ]:= 8;Hoạt động 3: Tìm giá trị lớn nhỏ dãy số< /b>
- GV: $ ; HS tìm , R 5 tốn
tìm giá A B6 T B %Q dãy
nguyên ( !% - Bài )... [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu >;
Trong đú:
+ Chỉ số đầu số cuối: nguyờn
CW% , P% nguyờn (Chỉ số đầu số cuối... thêm i làm
$ B6 T B"
- GV: Trình bày 9 < khai báo % $O trình
…
- HS theo dõi
3 Tìm giá trị lớn nhỏ dãy số: