Tham chiÕu phÇn tö m¶ng: Tªn biÕn m¶ng[cs dßng,cs cét] Thao tác xử lí thườngdùng cấu trúc hai c©u lÖnh FOR … DO lång nhau.[r]
Trang 1Bµi 14
Gi¸o ¸n ®iÖn tö tin häc líp 11
GIÁO VIÊN: NGUYỄN TRUNG KIÊN
Trang 2Là mảng một chiều mà mỗi phần tử của nó lại là mảng một
chiều.
A
Trong đó:
Khi tham chiếu đến phần tử ở dòng i cột j ta viết: A[i,j]
Ví dụ: A[2,3]= 8
Tên mảng: A ;
Mảng gồm: 3 dòng 4 cột ;
Ví dụ:
7 9
3 5
3 8
2 9
6 7
4 1
1 2 3 4 1
2 3
1 Khái niệm
Lop11.com
Trang 32 Khai b¸o m¶ng hai chiÒu
* C¸ch 1: Khai b¸o gi¸n tiÕp
TYPE < tªn kiÓu m¶ng> = array[kiÓuchØ sè dßng,kiÓu chØ sè cét] of <kiÓuphÇn tö>;
Var <ds biÕn m¶ng> : <tªn kiÓu m¶ng >;
VÝ dô: TYPE Bang = array[1 9,1 9] of integer;
Var A: Bang;
* C¸ch 2: Khai b¸o trùc tiÕp
Var < Ds biÕnm¶ng> : array[KiÓu chØ sè dßng,kiÓu chØ sè cét] of <kiÓuphÇn tö>;
Var A,B: array[1 20,1 30] of real;
VÝ dô: Var Bang: array[1 9,1 9] of integer;
Trang 43 C¸c thao t¸c xö lÝ trong m¶ng hai chiÒu
1 NhËp sè dßng (n) vµ sè cét (m). Write(‘ Nhap vao so dong, cot:’);
Readln(n,m);
2 NhËp vµo gi¸ trÞ cña c¸c phÇn tö
trong m¶ng ( A [i,j])
For i:= 1 to n do For j:=1 to m do Begin
write(‘A[’,i,j,’ ] = ’ );
readln(A[i,j]);
end;
a NhËp m¶ng hai chiÒu A
1 2 3 4 1
2
3 8
2 9
6 7
4 1
Lop11.com
Trang 5b In mảng hai chiều
Writeln(‘ Mang vua nhap : ’);
For i:=1 to n do Begin
For j:=1 to m do Write(A[i,j],’ ’); Writeln;
end;
Mang vua nhap :
1 4 7 6
9 2 8 3
5 3 9 7
1 Thông báo
2 In giá trị của các phần tử
Kết quả in ra màn hình:
Các thao tác xử lí mảng hai chiều thường dùng hai câu lệnh FOR do lồng nhau
Trang 6For i :=1 to 9 do
For j:=1 to 9 do
A[i,j] := i*j;
c Các thao tác xử lí khác
Ví dụ: Tính và in ra màn hình bảng cửu chương.
For i :=1 to 9 do
Begin
For j:=1 to 9 do write(A[i,j]:5);
writeln; writeln;
End;
Bây giờ các em hãy viết chương trình hoàn chỉnh cho bài toán ví dụ
nhé ?
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 12 24 32 40 48 56 68 72
9 18 27 36 45 54 63 72 81
* Tính
* IN ra màn hình
Quan sát bảng cửu chương ta thấy:
A[2,5]=2 x 5 = 10
Lop11.com
Trang 7Hãy nhớ!
Mảng hai chiều là mảng một chiều mà mỗi phần tử của nó lại là mảng một chiều
Khai báo: tên mảng, kiểu chỉ số dòng , kiểu chỉ số cột , kiểu phần tử
Tham chiếu phần tử mảng:
Tên biến mảng[cs dòng,cs cột]
Thao tác xử lí thường dùng cấu trúc hai câu lệnh FOR … DO lồng nhau.
15 20 19
16 25 18
17 12 16
Var
A :ARRAY[ 1 10,1 10 ] OF integer ;
A[1,3] = 19