Bµi 11 Gi¸o ¸n ®iÖn tö tin häc líp 11 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]. Ví dụ: A[2,3]= 8. Tên mảng: A; Mảng gồm: 3 dòng 4 cột; Ví dụ: Kiểu dữ liệu của các phần tử: Kiểu nguyên; 7935 3829 6741 1 2 3 4 1 2 3 1. Khái niệm 2. 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 B, C: array[1 20,1 30] of real; VÝ dô: Var A: array[1 9,1 9] of integer; 3. 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; Các b ớc: Thể hiện bằng pascal a. Nhập mảng hai chiều A 1 2 3 4 1 2 3 7935 3829 6741 b. 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. For 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é ? 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 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 A[5,8]=5 x 8 = 40 A[i,j]=i*j Hã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 . Bµi 11 Gi¸o ¸n ®iÖn tö tin häc líp 11 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