Bài 11. Kiểu mảng
Chia sẻ bởi Phạm Tấn Bảo Long |
Ngày 10/05/2019 |
49
Chia sẻ tài liệu: Bài 11. Kiểu mảng thuộc Tin học 11
Nội dung tài liệu:
Bài 14
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.
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;
7
9
3
5
3
8
2
9
6
7
4
1
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;
Var : ;
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;
Var A,B: array[1..20,1..30] of real;
Ví dụ: Var Bang: 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
7
9
3
5
3
8
2
9
6
7
4
1
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é ?
* 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.
20 19
25 18
12 16
Var
A:ARRAY[1..10,1..10] OF integer;
A[1,3] = 19
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.
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;
7
9
3
5
3
8
2
9
6
7
4
1
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
Var
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
Var A,B: array[1..20,1..30] of real;
Ví dụ: Var Bang: 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
7
9
3
5
3
8
2
9
6
7
4
1
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é ?
* 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.
20 19
25 18
12 16
Var
A:ARRAY[1..10,1..10] OF integer;
A[1,3] = 19
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Phạm Tấn Bảo Long
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)