Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 11. Kiểu mảng

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Thị Hằng (trang riêng)
Ngày gửi: 13h:58' 25-01-2010
Dung lượng: 654.0 KB
Số lượt tải: 87
Số lượt thích: 0 người
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.
 
Gửi ý kiến