Giao diện mới của VnDoc Pro: Dễ sử dụng hơn - chỉ tập trung vào lớp bạn quan tâm. Vui lòng chọn lớp mà bạn quan tâm: Lưu và trải nghiệm

Lý thuyết Tin học 11 Kết nối tri thức bài 17

VnDoc xin giới thiệu bài Lý thuyết Tin học 11 bài 17: Dữ liệu mảng một chiều và hai chiều có toàn bộ lý và câu hỏi trắc nghiệm có trong chương trình sách mới. Thông qua đây các em học sinh đối chiếu với lời giải của mình, hoàn thành bài tập hiệu quả.

A. Lý thuyết Tin học 11 bài 17

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.

B. Trắc nghiệm Tin học 11 bài 17

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ử

>>> Bài tiếp theo: Lý thuyết Tin học 11 Kết nối tri thức bài 18

Chia sẻ, đánh giá bài viết
1
3 Bình luận
Sắp xếp theo
  • Kim Ngưu
    Kim Ngưu

    😍😍😍😍😍😍😍

    Thích Phản hồi 2 ngày trước
    • Ma Kết
      Ma Kết

      👌👌👌👌👌👌

      Thích Phản hồi 2 ngày trước
      • Đinh Đinh
        Đinh Đinh

        🤣🤣🤣🤣🤣🤣

        Thích Phản hồi 2 ngày trước
        🖼️

        Gợi ý cho bạn

        Xem thêm
        🖼️

        Tin học 11 Kết nối tri thức

        Xem thêm