Lý thuyết Tin học 11 Bài 17 (Kết nối tri thức): Dữ liệu mảng một chiều và hai chiều

Tóm tắt lý thuyết Tin học lớp 11 Bài 17: Dữ liệu mảng một chiều và hai chiều hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.

1 4,253 20/09/2024


Lý thuyết Tin học 11 Bài 17: Dữ liệu mảng một chiều và hai chiều

A. Lý thuyết Dữ liệu mảng một chiều và hai chiều

1. Cấu trúc dữ liệu mảng một chiều

- Dữ liệu mảng một chiều trong Tin học được gọi là cấu trúc dữ liệu tuyến tính, bao gồm các phần tử dữ liệu truy cập theo chỉ số.

- Trong Python, mảng một chiều được biểu diễn bằng danh sách (list) với các phần tử có cùng kiểu dữ liệu.

- Các mảng một chiều có thể được thiết lập dễ dàng bằng kiểu dữ liệu list trong Python.

A = [1,3, 5, 7, 9, 11]

B = ["Hà","Bình","Ngọc","Anh"]

C = [9.5, 8.0, 10, 7.2]

- Có thể truy cập phần tử của mảng một chiều bằng chỉ số và kiểm tra phần tử có nằm trong mảng hay không bằng toán tử in trong Python.

7 in A
True

- Sử dụng lệnh for để dễ dàng duyệt từng phần tử của mảng một chiều trong Python.

for hs in B:
print(hs, end = "")
Hà Bình Ngọc Anh

- Các lệnh thao tác với danh sách trong Python như append, remove, insert, clear có thể được sử dụng để thao tác với mảng một chiều được biểu diễn bằng kiểu dữ liệu list.

- Chú ý: Mảng trong khoa học máy tính không tương đương với kiểu dữ liệu List trong Python.

2. Cấu trúc dữ liệu mảng hai chiều

- Tạo bộ dữ liệu điểm học sinh trong lớp bằng cách lưu trữ mỗi phần tử là một danh sách gồm hai thông tin: tên học sinh và điểm số.

- Truy cập một phần tử sẽ trả về một danh sách gồm tên và điểm của học sinh tương ứng.

- Để truy cập giá trị điểm của một học sinh cụ thể, ví dụ "Quang", ta sử dụng lệnh: DS_diem[0][1].

- Duyệt các phần tử của danh sách bằng vòng lặp for, mỗi phần tử là một danh sách có hai giá trị, tên và điểm số của học sinh.

- Một ma trận là một cấu trúc dữ liệu hai chiều bao gồm hàng và cột. Trong Python, ma trận có thể được biểu diễn bằng cấu trúc list trong list với mỗi hàng là một list con.

- Phần tử nằm tại hàng i và cột j sẽ kí hiệu là aij. Như vậy aij là phần tử của ma trận tại vị trí hàng i, cột j.

- Duyệt các phần tử của ma trận sẽ được thực hiện bằng cách sử dụng hai lệnh for lồng nhau.

Sơ đồ tư duy Dữ liệu mảng một chiều và hai chiều

Lý thuyết Tin học 11 Bài 17 (Kết nối tri thức): Dữ liệu mảng một chiều và hai chiều (ảnh 1)

B. Bài tập Dữ liệu mảng một chiều và hai chiều

Câu 1: 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 2: Để 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 3: 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 4: 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 5: 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 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 7: 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 8: 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 9: 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;

Câu 10: 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ử

Xem thêm các bài lý thuyết Tin học 11 sách Kết nối tri thức hay, chi tiết tại:

Lý thuyết Bài 19: Bài toán tìm kiếm

Lý thuyết Bài 21: Các thuật toán sắp xếp đơn giản

Lý thuyết Bài 23: Kiểm thử và đánh giá chương trình

Lý thuyết Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Lý thuyết Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình

1 4,253 20/09/2024


Xem thêm các chương trình khác: