Kiểm tra bài cũ Dữ liệu mảng và biến của mảng gọi là gỡ?. - Dữ liệu kiểu mảng: là một tập hợp các phần tử có thứ tự, và mọi phần tử đều có cùng một kiểu dữ liệu - Biến mảng : khi khai bỏ
Trang 1TRƯỜNG THCS CHÍ TÂN
GV: Lê Thị Hồng Anh
Trang 2Kiểm tra bài cũ
Dữ liệu mảng và biến của mảng gọi là gỡ ?
- Dữ liệu kiểu mảng: là một tập hợp các phần tử có thứ tự, và mọi phần tử đều có cùng một kiểu dữ liệu
- Biến mảng : khi khai bỏo một biến cú kiểu dữ
liệu là kiểu mảng, biến đú được gọi là biến
mảng.
Trang 3BÀI 9: LÀM VIỆC VỚI DÃY SỐ
(T2)
2 VÍ DỤ VỀ BIẾN MẢNG
a Khai báo biến mảng
b L àm việc với các phần
tử của mảng
3 Tìm giá trị lớn nhất và giá trị
nhỏ nhất của dãy số
Trang 4BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
- Khai báo mảng cần chỉ 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ử.
Trang 5BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
- Array, of là từ khĩa của chương trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu cĩ thể là Integer hoặc Real
Ví dụ:
a Khai báo biến mảng V ar Chieucao: array[1 50] of real;
Var Tuoi: array[20 50] of integer;
Cú pháp khai báo biến mảng trong Pascal có dạng như thế nào ?
Var <tên biến mảng>: array[<chỉ
số đầu> <chỉ số cuối>] of <kiểu
dữ liệu>;
Var <tên biến mảng>: array[<chỉ
số đầu> <chỉ số cuối>] of <kiểu
dữ liệu>;
C ách khai báo biến mảng cĩ dạng
Trong đĩ:
Trang 6BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
3 KHAI BÁO MẢNG:
Var < tên biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
Ví dụ 1:
Khai báo biến mảng Diem gồm 40 phần tử
- Array, of là từ khóa của chương
trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
a Khai báo biến mảng
Ví dụ 2:
Var Diem: array [1 40] of real;
Var a: array [1 100] of Integer;
Khai báo biến mảng a gồm 100 phần tử
Trang 7BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
Var <tên biến mảng>:
array[<chỉ số đầu> <chỉ
số cuối>] of <kiểu dữ
liệu>;
- Array, of là từ khóa của chương
trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
a Khai báo biến mảng
b L àm việc với các phần
tử của mảng
Var Diem1, Diem2, Diem3, …, Diem50: Real;
…
Readln(Diem1); Readln(Diem2); … ; Readln(Diem50);
Ví dụ 2: Tiếp tục với ví dụ 1 giả sử chúng ta cần nhập điểm kiểm tra môn tin học của 1 lớp gồm 50 học sinh!
Var Diem: array[1 50] of Real;
… For i:= 1 to 50 do Readln(Diem[i]) ;
Khi sử dụng biến mảng thì nhập dữ liệu cho biến như thế
nào?
b L àm việc với các phần
tử của mảng
Trang 8BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
Var < tên biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
- Array, of là từ khóa của chương
trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
a Khai báo biến mảng
b L àm việc với các phần
tử của mảng
IF Diem1 >= 8 then writeln(‘ gioi ’) ;
IF Diem2 >= 8 then writeln(‘ gioi ’) ;
…….
IF Diem50 >= 8 then writeln(‘ gioi ’) ;
Nếu điểm kiểm tra từ 8 trở lên thì in ra màn hình là “giỏi” bằng cách khai báo biến thông thường
For i: =1 to 50 do If Diem[i] >=8 then Writeln(‘ gioi ‘) ;
Khi sử dụng biến mảng thì các câu lệnh này được sử dụng như thế
nào?
Trang 9BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
Var < tên biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
- Array, of là từ khóa của chương
trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
a Khai báo biến mảng
b L àm việc với các phần
tử của mảng
Em hãy cho biết lợi ích của việc sử dụng biến mảng.
- 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.
- Có thể sử dụng biến mảng một cách rất hiệu quả trong xử lí dữ liệu.
Trang 10BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
Var < tờn biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
- Array, of là từ khúa của chương
trỡnh.
- Tờn biến mảng do người dựng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu cú thể là số nguyờn
hoặc số thực.
a Khai bỏo biến mảng
b L àm việc với cỏc phần
tử của mảng
Em có nhận xét gì khi chúng ta sử dụng biến mảng thay cho việc sử
dụng biến đơn.
Cỏc em hóy quan sỏt hai đoạn lệnh sau:
Việc sử dụng biến mảng trong chương trình giúp:
- Chương trình gọn hơn (sử dụng vòng lặp)
- Tiết kiệm thời gian và công sức
- Tránh nhầm lẫn, sai sót.
IF Diem1 >= 8 then writeln(‘ gioi ’) ;
IF Diem2 >= 8 then writeln(‘ gioi ’) ;
…….
IF Diem50 >= 8 then writeln(‘ gioi ’) ;
For i: =1 to 50 do If Diem[i] >=8 then Writeln(‘ gioi ‘) ;
Trang 11Ví dụ 3: Viết chương trình nhập điểm kiểm tra của 3 môn toán, lý, văn sau đó tính điểm trung bình của 3 môn
Var DiemToan, DiemVan, DiemLi, DiemTB: array[1 50] of real;
…
For i:= 1 to 50 do
DiemTB[i]:=(DiemToan[i]+DiemVan[i]+DiemLi[i])/3;
Ta có thể đọc giá trị, tính toán giá trị và gán giá trị cho biến mảng giống như biến thông thường
50
…
…
… 4
3 2
1
…
…
…
… 7
8 7
9
…
…
…
… 9
6 8
7
…
…
…
… 6
7 6
8
DiemToan
DiemVan
Diemtoan
chỉ số
Trang 12BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
2 VÍ DỤ VỀ BIẾN MẢNG
Var < tên biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
Ví dụ:
Sử dụng khai báo mảng để khai báo chiều cao, và tuổi của các bạn học sinh trong lớp em.
Bài làm:
Var Chieucao: array [1 50] of real;
Var Tuoi: array [1 50] of integer;
Số lượng học sinh trong
lớp là bao nhiêu?
Chiều cao và tuổi thuộc những kiểu dữ
liệu nào?
- Array, of là từ khóa của chương
trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
b L àm việc với các phần
tử của mảng
a Khai báo biến mảng
Trang 13BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
Ví dụ 3:
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.
2 VÍ DỤ VỀ BIẾN MẢNG
Var < tên biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
3 Tìm giá trị lớn nhất và giá trị
nhỏ nhất của dãy số
- Array, of là từ khóa của chương
trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
b L àm việc với các phần
tử của mảng
a Khai báo biến mảng
Em hãy nêu thuật toán để tìm
số nhỏ nhất và
số lớn nhất trong
dãy số?
THUẬT TOÁN
• B1: max:=a; min:=a; i:=1;
• B2: i:= i+1;
• B3: Nếu i > n, chuyển đến
bước 5.
• B4: Nếu ai > max thì max:=ai;
ai < min thì min :=ai.Quay lai bước 2.
• B5: Kết thúc thuật toán.
Trang 14Program vd1;
Uses crt;
Var
i, n, Max, Min: integer ; A: Array[1 100] of Integer ;
BEGIN
Clrscr;
write(‘ Nhap so phan tu cua day so: n= ’) ; readln(n) ;
For i := 1 to n do
Begin
write(‘ Nhap so thu ‘,i,’ : ‘) ; readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(‘ So lon nhat la max = ', Max) ; Min:=A[1];
For i := 2 to n do
If A[i]<Min Then Min := A[i];
Writeln(‘ So nho nhat la Min = ', Min) ; Readln ;
END.
Khai b ¸o biÕn m¶ng
NhËp vµo biÕn m¶ng
T×m sè lín nhÊt vµ sè nhá nhÊt
Trang 15Nhap so phan tu cua day so: n= 7
Nhap so thu 1 : 7
Nhap so thu 2 : 9
Nhap so thu 3 : 4
Nhap so thu 4 : 6
Nhap so thu 5 : 9
Nhap so thu 6 : 8
Nhap so thu 7 : 5
So lon nhat la Max = 9
So nho nhat la Min = 4
Chương trình chạy và cho kết quả như sau:
Trang 16Var x: array[2 10] of real;
Var x: array[2 10] of real;
var x: array[5 10.5] of real;
var x: array[5 10.5] of real;
Var x:array[10 1] of real;
Var x:array[10 1] of real;
Var x: array[1 , 100] of real;
Var x: array[1 , 100] of real;
A
B
C
D
Caâu 1: Em hãy chọn biến mảng đúng
trong các câu sau
30 23 21 24 22 98 10
CÂU HỎI TRẮC NGHIỆM
Trang 17a) a: arry[3…100] of integer;
c) a: array (1 100) of byte ;
ầu
n hơn
Sai: phải đặt trong
dấu ngoặc vuông
30
29 28 27 26 25 24 23 22 21 19 98 10
Trang 18Ghi nhớ!
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được xắp xếp theo dãy và mọi phần tử đều có cùng một kiểu dữ liệu.
Việc 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 được thực hiện thông qua chỉ số tư
ơng ứng của phần tử đó.
Sử dụng các biến kiểu mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơn.
Trang 19BÀI 9: LÀM VIỆC VỚI DÃY SỐ (T2)
1 Xem lại cách khai báo mảng, sử dụng khai báo trong những trường hợp nào
2 Làm các bài tập: 1; 3 trang 79 SGK,9.1->9.4 SBT
3 Xem nội dung còn lại trong SGK
2 VÍ DỤ VỀ BIẾN MẢNG
Var < tên biến mảng >:
array[< chỉ số đầu > < chỉ
số cuối >] of < kiểu dữ
liệu >;
- Array, of là từ khóa của c.trình.
- Tên biến mảng do người dùng đặt.
- Chỉ số đầu phải <= chỉ số cuối.
- Kiểu dữ liệu có thể là số nguyên
hoặc số thực.
3 Tìm giá trị lớn nhất và giá trị
nhỏ nhất của dãy số
b L àm việc với các phần
tử của mảng
a Khai báo biến mảng