logo

Soạn Tin 11 Bài 11 ngắn nhất trang 53, 54,... 61, 62: Kiểu mảng

Hướng dẫn Soạn Tin 11 Bài 11: Kiểu mảng bám sát nội dung SGK Tin học 11 trang 53, 54,… 61, 62 theo chương trình SGK Tin học 11. Tổng hợp lý thuyết Tin học 11 đầy đủ, giúp các bạn nắm vững nội dung bài học.

Bài 11: Kiểu mảng trang 53, 54,… 61, 62 SGK Tin học 11


Tóm tắt lý thuyết Tin 11 Bài 11: Kiểu mảng


1. Kiểu mảng một chiều

- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.

- Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.

- Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó.

- Để người lập trình có thể xây dựng và sử dụng kiểu mảng một chiều, các ngôn ngữ lập trình có quy tắc cách thức cho phép xác định:

+ Tên kiểu mảng một chiều;

+ Số lượng phần tử;

+ 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ử.

a. Khai báo

Tổng quát, khai báo biến mảng một chiều có dạng:

* Cách 1. Khai báo trực tiếp biến mảng một chiều:

var < tên biến mảng >: array [ kiểu chỉ số ] of < kiểu phần tử >;​

* Cách 2. Khai báo gián tiếp biến mảng qua kiểu mảng một chiều:

type < tên kiểu mảng > = array [ kiểu chỉ số ] of < kiểu phần tử >;​

var < tên biến mảng >: < tên kiểu mảng >;​

Trong đó:

- Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1 \(\leq\) n2);

- Kiểu phần tử là kiểu của phần tử mảng.

Ví dụ 1. Các khai báo kiểu mảng một chiều sau đây là hợp lệ:

type

ArrayReal = array[-100..200] of real;

ArrayBoolean = array[-n+1..n+1] of boolean;

ArrayInt = [-100..0] of integer;​

Trong đó, n là hằng nguyên.

b. Tham chiếu tới phần tử của mảng một chiều

- Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [ và ].

- Cú pháp: tên_mảng[chỉ số]

Ví dụ 2: Tham chiếu tới nhiệt độ của ngày thứ 20, trong chương trình trên, được viết là Nhietdo[20].

Soạn Tin 11 Bài 11 ngắn nhất trang 53, 54,... 61, 62: Kiểu mảng

Hình 1. Minh họa mảng một chiều


2. Kiểu mảng hai chiều

- Mảng hai chiều là bảng các phần tử cùng kiểu.

- Nhận xét rằng mỗi hàng của mảng hai chiều có cấu trúc như một mảng một chiều cùng kích thước. Nếu ta coi 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.

- Để người lập trình có thể xây dựng và sử dụng kiểu mảng hai chiều, các ngôn ngữ lập trình có quy tắc cách thức cho phép xác định:

+ Tên kiểu 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;

+ Cách tham chiếu đến phần tử.

a. Khai báo

Tổng quát, khai báo biến mảng hai chiều trong Pascal như sau:

* Cách 1. Khai báo trực tiếp biến mảng hai chiều như sau:

var < tên biến mảng > : 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 biến mảng qua kiểu mảng hai chiều:

type < tên kiểu mảng > = array[ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử >;​

var < tên biến mảng >: < tên kiểu mảng >;

Ví dụ 4. Các khai báo sau đây là hợp lệ:

type

ArrayReal = array[-100..200,100..200] of real;

ArrayBoolean = array[-n+1..n+1,n..2*n] of boolean;

var

ArrayInt: array[1..10,1..15] of integer;

ArrayLong:array[0..3*(n+1),0..n] of longint;​

Trong đó, n là hằng nguyên.

b. Tham chiếu tới phần tử của mảng hai chiều

- Tham chiếu tới phần tử của mảng hai chiều được xác định bởi tên mảng cùng với hai chỉ số được cách nhau bởi dấu phẩy và viết trong cặp ngoặc [ và ].

- Cú pháp: tên_mảng[chỉ số dòng, chỉ số cột]

Ví dụ 4. Tham chiếu tới phần tử ở dòng thứ 5, cột thứ 9 của biến mảng ArrayInt khai báo được viết: ArrayInt [5, 9].

Soạn Tin 11 Bài 11 ngắn nhất trang 53, 54,... 61, 62: Kiểu mảng

Hình 2. Minh hoạ mảng hai chiều

Chú ý:

- Các biến mảng thường gồm số lượng lớn các phần tử nên cần lưu ý phạm vi sử dụng chúng để khai báo kích thước và kiểu dữ liệu để tiết kiệm bộ nhớ.

- Ngoài hai kiểu mảng một chiều và hai chiều, còn có kiểu mảng nhiều chiều.


Câu hỏi trắc nghiệm Tin học 11 Bài 11: Kiểu mảng

Câu 1: Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:

A. Khai báo một hằng số là số phần tử của mảng

B. Khai báo chỉ số bắt đầu và kết thúc của mảng

C. Khai báo chỉ số kết thúc của mảng

D. Không cần khai báo gì, hệ thống sẽ tự xác định

Câu 2: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

A. Dùng để truy cập đến một phần tử bất kì trong mảng

B. Dùng để quản lí kích thước của mảng

C. Dùng trong vòng lặp với mảng

D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng

Câu 3: Phát biểu nào sau đây về mảng là không chính xác?

A. Chỉ số của mảng không nhất thiết bắt đầu từ 1

B. Có thể xây dựng mảng nhiều chiều

C. Xâu kí tự cũng có thể xem như là một loại mảng

D. Độ dài tối đa của mảng là 255

Câu 4: Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:

A. Chèn thêm phần tử

B. Truy cập đến phần tử bất kì

C. Xóa một phần tử

D. Chèn thêm phần tử và xóa phần tử

Câu 5: Cho khai báo mảng như sau: Var a : array[0..10] of integer ;

Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?

A. a[10];

B. a(10);

C. a[9];

D. a(9);

Câu 6: Phương án nào dưới đây là khai báo mảng hợp lệ?

A. Var mang : ARRAY[0..10] OF INTEGER; 

B. Var mang : ARRAY[0..10] : INTEGER;

C. Var mang : INTEGER OF ARRAY[0..10];

D. Var mang : ARRAY(0..10) : INTEGER;

Câu 6: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?

A. Là một tập hợp các số nguyên

B. Độ dài tối đa của mảng là 255

C. Là một dãy hữu hạn các phần tử cùng kiểu

D. Mảng không thể chứa kí tự

Câu 8: Cho khai báo mảng và đoạn chương trình như sau:

Var a : array[0..50] of real ;

k := 0 ;

for i := 1 to 50 do

if a[i] > a[k] then k := i ;

Đoạn chương trình trên thực hiện công việc gì dưới đây?

A. Tìm phần tử nhỏ nhất trong mảng;

B. Tìm phần tử lớn nhất trong mảng;

C. Tìm chỉ số của phần tử lớn nhất trong mảng

D. Tìm chỉ số của phần tử nhỏ nhất trong mảng

Câu 9: Thế nào là khai báo biến mảng gián tiếp?

A. Khai báo mảng của các bản ghi

B. Khai báo mảng xâu kí tự

C. Khai báo mảng hai chiều

D. Khai báo thông qua kiểu mảng đã có

Câu 10: Khai báo mảng hai chiều nào sau đây là sai?

A. var m : array[1..10] of array[0..9] of  integer;

B. var m : array[1..20,1..40] of real;

C. var m : array[1..9;1..9] of  integer;

D. var m : array[0..10,0..10] of char;

>>> Xem toàn bộ: Soạn Tin 11 ngắn nhất

-----------------------------

Trên đây Toploigiai đã cùng các bạn Soạn Tin 11 Bài 11: Kiểu mảng trong bộ SGK Tin học 11. Chúng tôi hi vọng các bạn đã có kiến thức hữu ích khi đọc bài viết này. Chúc các bạn học tốt!

icon-date
Xuất bản : 15/10/2022 - Cập nhật : 15/10/2022