Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (794.23 KB, 16 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1></div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
<b>Kiểm tra bài cũ:</b>
<b>Câu hỏi: Em hãy trình bày hai cách dùng để khai báo biến </b>
<b>mảng một chiều ? </b>
<b>tử>;</b>
<b>Click to add Title</b>
<b>Xét bài tốn tính và đưa ra bảng nhân như sau:</b>
<b>1</b> <b>2</b> <b>3</b> <b>4</b> <b>5</b>
<b>2</b> <b>4</b> <b>6</b> <b>8</b> <b>10</b>
<b>3</b> <b>6</b> <b>9</b> <b>12</b> <b>15</b>
<b>4</b> <b>8</b> <b>12</b> <b>16</b> <b>20</b>
<b>5</b> <b>10</b> <b>15</b> <b>20</b> <b>25</b>
<b>Em có nhận xét gì về dữ liệu </b>
<b>trong các ô của bảng nhân?</b>
<b>Ta thấy bảng nhân chứa các </b>
<b>giá trị có cùng kiểu dữ liệu.</b>
<b>Click to add Title</b>
<b>Mảng 2 chiều là bảng các phần tử có cùng kiểu</b>
<b>1</b> <b>2</b> <b>3</b> <b>4</b> <b>5</b>
<b>2</b> <b>4</b> <b>6</b> <b>8</b> <b>10</b>
<b>3</b> <b>6</b> <b>9</b> <b>12</b> <b>15</b>
<b>4</b> <b>8</b> <b>12</b> <b>16</b> <b>20</b>
<b>5</b> <b>10</b> <b>15</b> <b>20</b> <b>25</b>
<b>Em có nhận xét gì các hàng của </b>
<b>bảng nhân ?</b>
<b>Ta thấy mỗi hàng của bảng nhân là </b>
<b>một mảng một chiều.</b>
<b>Click to add Title</b>
<b> Với cách lưu trữ như vậy ta </b>
<b>phải khai báo bao nhiêu biến mảng </b>
<b>một chiều ?</b>
<b>1</b> <b>2</b> <b>3</b> <b>4</b> <b>5</b>
<b>2</b> <b>4</b> <b>6</b> <b>8</b> <b>10</b>
<b>3</b> <b>6</b> <b>9</b> <b>12</b> <b>15</b>
<b>4</b> <b>8</b> <b>12</b> <b>16</b> <b>20</b>
<b>5</b> <b>10</b> <b>15</b> <b>20</b> <b>25</b>
<b>Ta phải khai báo 5 biến mảng một </b>
<b>chiều.</b>
<b>Nếu xem mỗi hàng của mảng hai </b>
<b>chiều là một phần tử thì ta có thể nói </b>
<b>mảng hai chiều là mảng một chiều </b>
<b>mà mỗi phần tử là mảng một chiều.</b>
<b>Click to add Title</b>
<b>1</b> <b>2</b> <b>3</b> <b>4</b> <b>5</b>
<b>2</b> <b>4</b> <b>6</b> <b>8</b> <b>10</b>
<b>3</b> <b>6</b> <b>9</b> <b>12</b> <b>15</b>
<b>4</b> <b>8</b> <b>12</b> <b>16</b> <b>20</b>
<b>5</b> <b>10</b> <b>15</b> <b>20</b> <b>25</b>
<b>Phần tử 1</b>
<b>Phần tử 2</b>
<b>Phần tử 3</b>
<b>Phần tử 4</b>
<b>Phần tử 5</b>
<b>Vậy để mô tả kiểu mảng hai chiều ta </b>
<b>cần xác định các yếu tố chính nào?</b>
<b>Click to add Title</b>
<b>Click to add Title</b>
<b>a. Khai báo mảng hai chiều trong ngơn ngữ lập trình Pascal:</b>
<b>Var <tên biến mảng> : array[kiểu chỉ số hàng, kiểu chỉ số cột] of</b>
<b><kiểu phần tử>;</b>
<b>Type <tên kiểu mảng> = array[kiểu chỉ số hàng, kiểu chỉ số cột] of</b>
<b><kiểu phần tử>;</b>
<b>Click to add Title</b>
<b>Ví dụ 1: Var a : array[1..5, 1..6] of byte;</b>
<b>Hai ví dụ trên cùng khai báo mảng hai chiều có tên a </b>
<b>gồm 5 dịng và 6 cột, các phần tử có kiểu dữ liệu là byte.</b>
<b>Ví dụ 2: Type m2c = array[1..5, 1..6] of byte;</b>
<b>Click to add Title</b>
<b>1</b> <b>2</b> <b>3</b> <b>4</b> <b>5</b>
<b>2</b> <b>4</b> <b>6</b> <b>8</b> <b>10</b>
<b>3</b> <b>6</b> <b>9</b> <b>12 15</b>
<b>4</b> <b>8</b> <b>12 16 20</b>
<b>5</b> <b>10 15 20 25</b>
<b>Mảng hai chiều a</b>
<b>a[3,4]=12</b>
<b>Tham chiếu tới phần tử của mảng 2 chiều </b>
<b>được xác định bởi?</b>
<b>Ví dụ: Tham chiếu đến phần tử ở dòng số 3, </b>
<b>cột số 4 của mảng a.</b>
<b>Để tham chiếu đến phần tử ở dòng i, cột j của </b>
<b>mảng hai chiều a ta viết a[i,j]</b>
<b>Click to add Title</b>
<b>- Nhập dữ liệu: Để nhập dữ liệu cho mảng hai chiều ta sử </b>
<b>dụng cấu trúc sau:</b>
<b>for i := 1 to n do</b>
<b> begin</b>
<b> for j := 1 to m do</b>
<b> readln(a[i,j]);</b>
<b> writeln;</b>
<b> end;</b>
<b>for i := 1 to n do</b>
<b> begin</b>
<b> for j := 1 to m do</b>
<b> readln(a[i,j]);</b>
<b> writeln;</b>
<b> end;</b>
<b>Trong cấu trúc bên:</b>
<b>i: là số dòng;</b>
<b>j: là số cột;</b>
<b>n: là số phần tử trên </b>
<b>một dòng;</b>
<b>Click to add Title</b>
<b>- Xuất dữ liệu: Để xuất dữ liệu của mảng hai chiều ta sử dụng </b>
<b>for i := 1 to n do</b>
<b> begin</b>
<b> for j := 1 to m do</b>
<b> write(a[i, j]:4);</b>
<b> writeln;</b>
<b> end;</b>
<b>for i := 1 to n do</b>
<b> begin</b>
<b> for j := 1 to m do</b>
<b> write(a[i, j]:4);</b>
<b> writeln;</b>
<b> end;</b>
<b>b. Ví dụ: chương trình sau đây sẽ tính và đưa ra màn hình </b>
<b>bảng nhân trong ví dụ ban đầu:</b>
<b>1</b> <b>2</b> <b>3</b> <b>4</b> <b>5</b>
<b>2</b> <b>4</b> <b>6</b> <b>8</b> <b>10</b>
<b>3</b> <b>6</b> <b>9</b> <b>12 15</b>
<b>4</b> <b>8</b> <b>12 16 20</b>
<b>5</b> <b>10 15 20 25</b>
<b> Program Bang_nhan;</b>
<b> Uses crt;</b>
<b> Var </b> <b>a: array[1..5,1..5] of byte; </b>
<b>i, j: byte;</b>
<b> Begin</b>
<b>Clrscr;</b>
<b> for i := 1 to 5 do</b>
<b> for j := 1 to 5 do</b>
<b>a[i,j] := i*j;</b>
<b> for i := 1 to 5 do</b>
<b> begin </b>
<b> for j := 1 to 5 do</b>
<b> write(a[i,j]:4);</b>
<b> writeln;</b>
<b> end;</b>
<b> readln;</b>
<b> End.</b>
<b> Program Bang_nhan;</b>
<b> Uses crt;</b>
<b>Var </b> <b>a: array[1..5,1..5] of byte; </b>
<b>i, j: byte;</b>
<b>Begin</b>
<b>Clrscr;</b>
<b> for i := 1 to 5 do</b>
<b> </b> <b>for</b> <b>j := 1 to 5 do</b>
<b>a[i,j] := i*j;</b>
<b> for i := 1 to 5 do</b>
<b> begin </b>
<b> for j := 1 to 5 do</b>
<b> write(a[i,j]:4);</b>
<b> writeln;</b>
<b>Var <tên biến mảng> : <tên kiểu mảng>;</b>