Bài 11. Kiểu mảng
Chia sẻ bởi Trần Thị Hằng |
Ngày 10/05/2019 |
68
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 11
mảng hai chiều
Giáo viên: Trần Thị hằng
Kiểm tra bài cũ
Câu hỏi: Viết cấu trúc khai báo biến mảng một chiều? Cho ví dụ?
Cách tham chiếu tới một phần tử của mảng một chiều? Cho ví dụ?
Tổ chức bảng trên theo kiểu dữ liệu gì?
Mỗi giá trị có kiểu dữ liệu gì?
A
B
Hãy quan sát ví dụ sau:
Với kiến thức đã học về mảng 1 chiều em hãy đưa ra cách sử dụng kiểu mảng đó để lưu trữ bảng B?
Phải khai báo 4 biến mảng 1 chiều
Chương trình phải viết nhiều lệnh để nhập và in giá trị của mảng
M?ng 2 chi?u l b?ng cỏc ph?n t? cựng ki?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 )
1 2 3 4
1
2
3
4
1. Khái niệm:
II. mảng hai chiều
* Với mảng hai chiều xác định:
- Tên mảng hai 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 mảng;
- Cách tham chiếu đến phần tử
Câu hỏi: Các yếu tố liên quan đến mảng một chiều là gì?
B
Trong đó:
? Tên mảng: B;
? 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;
1 2 3 4
1
2
3
1. Khái niệm:
II. mảng hai chiều
2. Khai báo mảng hai chiều:
II. mảng hai chiều
Câu hỏi: Có mấy cách khai báo biến mảng một chiều?
* Cách 1: Khai báo trực tiếp
Var
: array[kiểu chỉ số hàng ,kiểu chỉ số cột] of ;
* Cách 2: Khai báo gián tiếp
TYPE
< tên kiểu mảng> =array[kiểu chỉ số hàng, kiểu chỉ số cột] of;
Var : ;
Câu hỏi: Khai báo mảng hai chiều A gồm 3 hàng, 4 cột. Các phần tử có kiểu nguyên (giá trị của mỗi phần tử không quá 250)
* Cách 1: Khai báo trực tiếp
Var
A : array[1..3 ,1..4] of byte;
* Cách 2: Khai báo gián tiếp
TYPE
M2C =array[1..3,1..4] of Byte;
Var A : M2C;
Khai báo nào sau đây đúng:
A. Var mang:array[-1..4,1..5] of char;
B. Var mang:array[-10..4,1..-5] of char;
C. Var mang:array[-1..4;1..-5] of char;
D. Var mang:array[1..4,1...5] of char
Khai báo gián tiếp nào sau đây đúng?
A. Type mang=array[1…10,1…15] of byte;
Var a:mang;
B. Type mang=array[1..10,1..15] of byte;
Var a:mang;
C. Type mang=array[1..10;1..15] of byte;
Var a:mang;
D. Type mang:array[1..10,1..15] of byte;
Var a:mang;
II. mảng hai chiều
* Tham chiếu đến một phần tử mảng 2 chiều:
[chỉ số dòng, chỉ số cột]
B
1 2 3 4
1
2
3
Ví dụ:
B[2,3]=
B[3,2]=
8
3
A. B[3;4]
B. B[3,4]
C. B[3,4];
D. B[4,3]
Để tham chiếu đến mảng B phần tử dòng 3, cột 4 ta viết ?
3. Các thao tác cơ bản trong mảng hai chiều
Write(‘ Nhap vao so dong, cot:’);
Readln(m, n);
For i:= 1 to m do
For j:=1 to n do
Begin
write(‘ nhap B[’,i,’,’,j,’ ] = ’);
readln(B[i,j]);
end;
b. Nhập giá trị cho từng phần tử trong mảng
II. mảng hai chiều
a. Nhập mảng hai chiều
c. In mảng hai chiều
Writeln(‘ Mang vua nhap : ’);
For i:=1 to m do
Begin
For j:=1 to n do Write(A[i,j],’ ’);
Writeln;
end;
Chú ý: 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.
II. mảng hai chiều
3. Các thao tác cơ bản trong mảng hai chiều
d. Ví dụ.
For i :=1 to 9 do
For j:=1 to 9 do
A[i,j] := i*j;
Ví dụ 1: 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;
Hãy viết chương trình Pascal hoàn thiện
* 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
d. Ví dụ.
Ví dụ 2: Viết chương trình nhập vào từ bàn phím các phần tử của mảng 2 chiều gồm m hàng, n cột, các phần tử có kiểu nguyên (n<=250, m<=250, a[i,j]<= 500). Hiển thị mảng A vừa nhập ra màn hình.Tính và hiển thị tổng các phần tử mảng ra màn hình
Xác định các thao tác phải xử lý trong ví dụ này?
Các thao tác xử lý:
1. Nhập mảng 2 chiều
2. Nhập gía trị cho từng phần tử mảng.
3. Hiển thị mảng ra màn hình
4. Tính và hiển thị tổng ra màn hình
Ghi 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.
mảng hai chiều
Giáo viên: Trần Thị hằng
Kiểm tra bài cũ
Câu hỏi: Viết cấu trúc khai báo biến mảng một chiều? Cho ví dụ?
Cách tham chiếu tới một phần tử của mảng một chiều? Cho ví dụ?
Tổ chức bảng trên theo kiểu dữ liệu gì?
Mỗi giá trị có kiểu dữ liệu gì?
A
B
Hãy quan sát ví dụ sau:
Với kiến thức đã học về mảng 1 chiều em hãy đưa ra cách sử dụng kiểu mảng đó để lưu trữ bảng B?
Phải khai báo 4 biến mảng 1 chiều
Chương trình phải viết nhiều lệnh để nhập và in giá trị của mảng
M?ng 2 chi?u l b?ng cỏc ph?n t? cựng ki?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 )
1 2 3 4
1
2
3
4
1. Khái niệm:
II. mảng hai chiều
* Với mảng hai chiều xác định:
- Tên mảng hai 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 mảng;
- Cách tham chiếu đến phần tử
Câu hỏi: Các yếu tố liên quan đến mảng một chiều là gì?
B
Trong đó:
? Tên mảng: B;
? 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;
1 2 3 4
1
2
3
1. Khái niệm:
II. mảng hai chiều
2. Khai báo mảng hai chiều:
II. mảng hai chiều
Câu hỏi: Có mấy cách khai báo biến mảng một chiều?
* Cách 1: Khai báo trực tiếp
Var
* Cách 2: Khai báo gián tiếp
TYPE
< tên kiểu mảng> =array[kiểu chỉ số hàng, kiểu chỉ số cột] of
Var
Câu hỏi: Khai báo mảng hai chiều A gồm 3 hàng, 4 cột. Các phần tử có kiểu nguyên (giá trị của mỗi phần tử không quá 250)
* Cách 1: Khai báo trực tiếp
Var
A : array[1..3 ,1..4] of byte;
* Cách 2: Khai báo gián tiếp
TYPE
M2C =array[1..3,1..4] of Byte;
Var A : M2C;
Khai báo nào sau đây đúng:
A. Var mang:array[-1..4,1..5] of char;
B. Var mang:array[-10..4,1..-5] of char;
C. Var mang:array[-1..4;1..-5] of char;
D. Var mang:array[1..4,1...5] of char
Khai báo gián tiếp nào sau đây đúng?
A. Type mang=array[1…10,1…15] of byte;
Var a:mang;
B. Type mang=array[1..10,1..15] of byte;
Var a:mang;
C. Type mang=array[1..10;1..15] of byte;
Var a:mang;
D. Type mang:array[1..10,1..15] of byte;
Var a:mang;
II. mảng hai chiều
* Tham chiếu đến một phần tử mảng 2 chiều:
B
1 2 3 4
1
2
3
Ví dụ:
B[2,3]=
B[3,2]=
8
3
A. B[3;4]
B. B[3,4]
C. B[3,4];
D. B[4,3]
Để tham chiếu đến mảng B phần tử dòng 3, cột 4 ta viết ?
3. Các thao tác cơ bản trong mảng hai chiều
Write(‘ Nhap vao so dong, cot:’);
Readln(m, n);
For i:= 1 to m do
For j:=1 to n do
Begin
write(‘ nhap B[’,i,’,’,j,’ ] = ’);
readln(B[i,j]);
end;
b. Nhập giá trị cho từng phần tử trong mảng
II. mảng hai chiều
a. Nhập mảng hai chiều
c. In mảng hai chiều
Writeln(‘ Mang vua nhap : ’);
For i:=1 to m do
Begin
For j:=1 to n do Write(A[i,j],’ ’);
Writeln;
end;
Chú ý: 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.
II. mảng hai chiều
3. Các thao tác cơ bản trong mảng hai chiều
d. Ví dụ.
For i :=1 to 9 do
For j:=1 to 9 do
A[i,j] := i*j;
Ví dụ 1: 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;
Hãy viết chương trình Pascal hoàn thiện
* 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
d. Ví dụ.
Ví dụ 2: Viết chương trình nhập vào từ bàn phím các phần tử của mảng 2 chiều gồm m hàng, n cột, các phần tử có kiểu nguyên (n<=250, m<=250, a[i,j]<= 500). Hiển thị mảng A vừa nhập ra màn hình.Tính và hiển thị tổng các phần tử mảng ra màn hình
Xác định các thao tác phải xử lý trong ví dụ này?
Các thao tác xử lý:
1. Nhập mảng 2 chiều
2. Nhập gía trị cho từng phần tử mảng.
3. Hiển thị mảng ra màn hình
4. Tính và hiển thị tổng ra màn hình
Ghi 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.
* 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ẻ: Trần Thị Hằng
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)