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.A Trong đó: Khi tham chiếu đến phần tử ở dòng i cột j ta viết: A[i,j]... In giá trị của các phần tử Kết quả in ra màn hìn
Trang 1Bµi 14
Gi¸o ¸n ®iÖn tö tin häc líp 11
GV Đinh Nguyên Thanh Tú Sưu tầm và giới thiệu tại CENTEA Data
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
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;
pascal
a NhËp m¶ng hai chiÒu A
1 2 3 4 1
2
3 8
2 9
6 7
4 1
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é ?
* 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
A[5,8]=5 x 8 = 40 A[i,j]=i*j
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