Bài 11. Kiểu mảng

Chia sẻ bởi Nguyễn Như Ý | Ngày 10/05/2019 | 57

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:

Kiểm tra bài cũ
Viết khai báo trực tiếp biến mảng 1 chiều.
Cho ví dụ.
Bài 11: KiỂU MẢNG (tiếp theo)
2. Kiểu mảng 2 chiều
Kiến thức cũ
Khai báo mảng 1 chiều

Cách 1: Khai báo trực tiếp biến mảng 1 chiều
var : array [chỉ số đầu..chỉ số cuối] of ;
Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng1 chiều
type = array [chỉ số đầu..chỉ số cuối] of ;
var : ;
a. Khái niệm
Ví dụ
Khái niệm: Mảng 2 chiều là bảng các phần tử cùng kiểu.
Ví dụ
1 2 3 4

1

2

3
B
Trong đó:
Tên mảng:B
Mảng gồm: 3 dòng, 4 cột.
Kiểu dữ liệu của các phần tử: kiểu số nguyên.


Nhận xét:
Mỗi hàng của mảng 2 chiều có cấu trúc như 1 mảng 1 chiều cùng kích thước.
Nếu xem mỗi hàng của mảng hai chiều là một phần tử thì ta có thể nói mảng hai chiều là mảng một chiều, mà mỗi phần tử là mảng một chiều.


Các ngôn ngữ lập trình cũng có các quy tắc, cách thức cho phép xác định:
Tên kiểu mảng 2 chiều;
Số lượng phần tử của mỗi chiều;
Kiểu dữ liệu của phần tử;
Cách khai báo biến;
Cách tham chiếu đến phần tử.
1 2 3 4

1

2

3
B
Hoặc
var B: array [1..3,1..4] of integer;
Khai báo biến B lưu trữ bảng nhân.
var B: array [1..3] of array [1..4] of integer;
Ví dụ
b. Khai báo
Cách 1: Khai báo trực tiếp

Var :Array [kiểu chỉ số dòng,kiểu chỉ số cột]
of < kiểu phần tử> ;
Cách 2 : Khai báo gián tiếp thông qua khai báo kiểu mảng

Type = Array [kiểu chỉ số dòng, kiểu chỉ số cột] of ;

Var : ;
Vd:
type Bang = array [1..3,1..4] of integer;
var B: Bang;
1 2 3 4

1

2

3
B
Khi tham chiếu đến phần tử ở dòng i và cột j ta viết: B[i,j] = i*j;
Tham chiếu đến 1 phần tử của mảng 2 chiều:
Ví dụ: B[3,3] = 9
Tên biến mảng [chỉ số dòng, chỉ số cột]
c. Nhập/ xuất mảng 2 chiều
Nhập
Thể hiện bằng pascal
1. Nhập số dòng (n) , số cột (m) .
2. Nhập các phần tử trong mảng B[i,j] .
Write(‘Nhap vao so dong va cột:’);
Read(n,m) ;
for i := 1 to n do
for j := 1 to m do
Begin
Writeln(‘B[’,i,’,’,j,‘]=’);
readln (B[i,j]) ;
End;
Các bước
1 2 3 4
1
3
2
B
Xuất
Các bước
Thể hiện bằng pascal
1. Thông báo
2. In giá trị các phần tử
Write(‘Mang vua nhap: ’);
for i := 1 to n do
Begin
for j := 1 to m do
Write ( B[i,j] , ‘ ’);
writeln;
End;
Kết quả in ra màn hình
1 2 3 4
2 4 6 8
3 6 9 12
d. Ví dụ
Xét bài toán tính và đưa ra màn hình bảng nhân (bảng cửu chương).
Quan sát bảng cửu chương ta thấy:
B[2,5] = 2 x 5 = 10
B[5,8] = 5 x 8 = 40
B[i,j] = i*j
Tính
for i := 1 to 9 do
for j := 1 to 10 do
B[i,j] = i*j;
In ra màn hình
for i := 1 to 9 do
Begin
for j := 1 to 10 do
Write (B[i,j]: 4, ‘ ’);
writeln;
End;
B
Var B: array [1..9,1..10] of integer;
Program Bang_Cuu_chuong;
Uses crt;
var B: array [1..9,1..10] of integer;
I,j: integer;
Begin
clrscr;
for i := 1 to 9 do
for j := 1 to 10 do
B[i,j] = i*j;
for i := 1 to 9 do
Begin
for j := 1 to 10 do
Write (B[i,j] : 4, ‘ ’);
writeln;
End;
Readln
End.
Hết
* 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ẻ: Nguyễn Như Ý
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)