Bài 11. Kiểu mảng

Chia sẻ bởi Trần Thị Hằng | Ngày 10/05/2019 | 69

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
bài tập 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 hai chiều ? Cho ví dụ?
Cách tham chiếu tới một phần tử của mảng hai chiều? Cho ví dụ?
Các thao tác xử lý có bản trong mảng 2 chiều


Khai báo mảng hai 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 : ;
* Tham chiếu đến một phần tử mảng 2 chiều:
[chỉ số dòng, chỉ số cột]
I. Lý thuyết
Khai báo nào sau đây đúng:
A. Var mang:array[1..4,1..5] of char;
B. Var mang:array[1…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;
A. B[3;4]
B. B[3,4]
C. B[3,4];
D. B[4,3]
Để tham chiếu đến phần tử dòng 3, cột 4 của mảng B hai chiều ta viết ?
c. 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
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.
For i :=1 to 9 do
For j:=1 to 9 do
A[i,j] := i*j;
Bài tập 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
II. B�i t?p
Bài tập 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 A 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 bài tập 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
Bài tập 3 : 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 A 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 và mảng A đã được sắp xếp hàng hoặc cột theo thứ tự tăng dần.

Xác định các thao tác phải xử lý trong bài tập 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. Sắp xếp và hiển thị mảng vừa sắp xếp tăng dần theo hàng ra màn hình
Nêu ý tưởng để làm bài toán này?
1 2 3 4
1
2
3
4
Em có nhận xét gì về hai phần tử liền kề nhau trong mảng B?
Nhận xét:
Hai phần tử liền kề nhau trong mảng B là 2 phần tử cùng hàng hoặc cùng cột
ví dụ: B[1,2] và B[1,3] là hai phần tử cùng nằm trên hàng 1
1 2 3 4
1
2
3
4
Nếu a[i, j] và a[i,k] là 2 phần tử cùng trên một hàng i và hai cột khác nhau j và k. Em hãy cho biết giới hạn của j và k?
- j sẽ nhận giá trị từ 1 tới N -1
K sẽ nhận giá trị từ j+1 tới N
( N là số cột của mảng A)
1 2 3 4
1
2
3
4
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. Sắp xếp và hiển thị mảng vừa sắp xếp tăng dần theo hàng ra màn hình
Hãy viết chương trình Pascal hoàn thiện
Bài tập 3 : 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 A 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ử theo hàng hoặc theo cột.
Bài tập về nhà: 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 A 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à Tìm giá trị lớn nhất theo hàng hoặc theo cột.
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)