Bài 11. Kiểu mảng

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: SGK
Người gửi: Đào Văn Chương (trang riêng)
Ngày gửi: 23h:22' 31-03-2008
Dung lượng: 998.0 KB
Số lượt tải: 125
Nguồn: SGK
Người gửi: Đào Văn Chương (trang riêng)
Ngày gửi: 23h:22' 31-03-2008
Dung lượng: 998.0 KB
Số lượt tải: 125
Số lượt thích:
0 người
Bà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
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
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
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
 







Các ý kiến mới nhất