Bài 18 Thực hành dữ liệu mảng một chiều và hai chiều

Lớp 11Tin Học13 câu hỏiBài tập

Phần 1

Câu 1

(Câu 18.1 trang 64 SBT Tin học 11) Khi thiết lập các giá trị trong mảng thông qua kiểu dữ liệu list của Python, dùng kí tự nào để phân cách các phần tử?
ADấu phẩy “,”.
BDấu chấm “.”.
CDấu hai chấm “:”.
DDấu cách “ ”.

Câu 2

(Câu 18.2 trang 64 SBT Tin học 11) Hàm nào sau đây dùng để đếm số phần tử của mảng một chiều trong Python?
Alen().
Bcount().
Clength().
Dsize().

Câu 3

(Câu 18.3 trang 64 SBT Tin học 11) Khi sử dụng lệnh append để bổ sung một phần tử vào list thì phần tử đó được chèn vào vị trí nào?
ACuối cùng.
BĐầu tiên.
CVị trí được chỉ định.
DVị trí ứng với chỉ số 1.

Câu 4

(Câu 18.4 trang 64 SBT Tin học 11) Cho chương trình Python: danh_sach = [0, 1, 2, 3, 4, 5, 6]; print(danh_sach[-1]); print(danh_sach[-5:-1]). Nội dung được in ra là gì?
A6 và [2, 3, 4, 5].
B0 và [1, 2, 3, 4].
C6 và [2, 3, 4, 5, 6].
D5 và [2, 3, 4].

Phần 2

Câu 1

(Câu 18.5 trang 64 SBT Tin học 11) Viết chương trình hỏi số điện thoại người dùng, lưu các chữ số vào một mảng. Sau đó thống kê các chữ số không xuất hiện trong số điện thoại đó.
a)Có thể nhập số điện thoại bằng lệnh line = input("Hãy nhập một số điện thoại:").
b)Có thể tạo mảng các chữ số trong số điện thoại bằng lệnh digits = [int(x) for x in line].
c)Có thể tạo danh sách missing ban đầu là danh sách rỗng để lưu các chữ số không xuất hiện.
d)Vì số điện thoại chỉ gồm các chữ số nên không cần kiểm tra chữ số từ 0 đến 9 có xuất hiện trong mảng hay không.

Câu 2

(Câu 18.5 trang 64 SBT Tin học 11) Tìm hiểu thuật toán thống kê các chữ số không xuất hiện trong số điện thoại.
a)Có thể duyệt lần lượt các chữ số từ 0 đến 9 để kiểm tra chữ số nào không có trong số điện thoại.
b)Nếu một chữ số không xuất hiện trong mảng digits thì có thể thêm chữ số đó vào danh sách missing.
c)Nếu danh sách missing rỗng thì có thể thông báo “Số điện thoại này gồm tất cả các chữ số từ 0 đến 9”.
d)Nếu danh sách missing rỗng thì điều đó có nghĩa là số điện thoại không chứa chữ số nào.

Câu 3

(Câu 18.6 trang 64 SBT Tin học 11) Em hãy lưu điểm tổng kết ba môn học Toán, Ngữ văn, Tiếng Anh của các học sinh vào một mảng hai chiều, mỗi dòng là điểm của một học sinh theo thứ tự Toán, Ngữ văn, Tiếng Anh.
a)Có thể dùng một mảng hai chiều để lưu điểm của nhiều học sinh.
b)Mỗi dòng của mảng hai chiều có thể lưu ba điểm theo thứ tự Toán, Ngữ văn, Tiếng Anh của một học sinh.
c)Có thể tính điểm trung bình của mỗi học sinh bằng tổng ba điểm chia cho 3.
d)Muốn lưu điểm ba môn của nhiều học sinh thì bắt buộc phải dùng ba mảng một chiều riêng biệt, không thể dùng mảng hai chiều.

Câu 4

(Câu 18.6 trang 64 SBT Tin học 11) Sau khi lưu điểm tổng kết ba môn học vào mảng hai chiều, cần tìm số thứ tự của học sinh có điểm cao nhất ở mỗi môn.
a)Có thể duyệt theo từng cột của mảng hai chiều để tìm điểm cao nhất của từng môn.
b)Với mỗi môn học, nếu nhiều học sinh cùng đạt điểm cao nhất thì chỉ cần in ra số thứ tự của học sinh đầu tiên.
c)Điểm Toán, Ngữ văn, Tiếng Anh tương ứng với ba cột trong mảng hai chiều.
d)Để tìm học sinh có điểm cao nhất mỗi môn, chỉ cần tính điểm trung bình của cả lớp mà không cần xét từng môn.

Câu 5

(Câu 18.7 trang 65 SBT Tin học 11) Viết chương trình yêu cầu người dùng nhập vào toạ độ ba đỉnh của một tam giác, lưu các toạ độ đó trong một mảng hai chiều rồi tính chu vi tam giác.
a)Có thể lưu toạ độ ba đỉnh của tam giác trong một mảng hai chiều gồm 3 dòng, mỗi dòng chứa hoành độ và tung độ của một đỉnh.
b)Muốn tính chu vi tam giác cần tính độ dài ba cạnh của tam giác.
c)Độ dài cạnh giữa hai điểm có thể tính từ toạ độ hai điểm bằng công thức khoảng cách.
d)Chu vi tam giác bằng tích độ dài ba cạnh của tam giác.

Câu 6

(Câu 18.7 trang 65 SBT Tin học 11) Tìm hiểu cách xử lí dữ liệu toạ độ ba đỉnh tam giác trong Python.
a)Có thể nhập mỗi đỉnh bằng hai số thực biểu diễn hoành độ và tung độ.
b)Có thể chuyển dữ liệu nhập vào thành kiểu float để tính toán độ dài cạnh.
c)Có thể viết hàm tính khoảng cách giữa hai điểm để dùng lại khi tính ba cạnh của tam giác.
d)Khi tính chu vi tam giác, chỉ cần cộng hoành độ của ba đỉnh là đủ.

Câu 7

(Câu 18.8 trang 65 SBT Tin học 11) Viết chương trình khai báo một mảng hai chiều 8x8 biểu diễn trạng thái của một bàn cờ vua.
a)Có thể dùng mảng hai chiều 8x8 để biểu diễn bàn cờ vua.
b)Giá trị 0 biểu diễn ô không có quân cờ.
c)Bên quân trắng sử dụng các giá trị 1 đến 6 lần lượt cho các quân vua, hậu, xe, mã, tượng, tốt.
d)Bên quân đen cũng sử dụng các giá trị 1 đến 6 giống hệt bên quân trắng nên không phân biệt được màu quân.

Câu 8

(Câu 18.8 trang 65 SBT Tin học 11) Giả sử quân trắng chuẩn bị đi, cần in ra vị trí các quân xe trắng cùng các ô nó có thể đi ở nước tiếp theo.
a)Cần tìm các ô có giá trị là 3 vì số 3 ứng với quân xe trắng.
b)Có thể dùng hai vòng lặp để duyệt tất cả các hàng và cột của mảng hai chiều.
c)Vì quân xe đi ngang và dọc nên cần xét bốn hướng: trên, dưới, trái, phải từ vị trí quân xe.
d)Khi tìm nước đi của quân xe, không cần quan tâm đến biên bàn cờ hoặc các quân cờ khác trên đường đi.

Câu 9

(Câu 18.8 trang 65 SBT Tin học 11) Tìm hiểu cách xác định các ô mà quân xe trắng có thể đi trên bàn cờ.
a)Khi duyệt theo một hướng từ vị trí quân xe, nếu gặp biên bàn cờ thì phải dừng.
b)Khi duyệt theo một hướng từ vị trí quân xe, nếu gặp một quân cờ khác thì phải dừng.
c)Các ô trống liên tiếp theo hàng ngang hoặc cột dọc từ vị trí quân xe có thể là các ô quân xe đi được.
d)Quân xe trắng có thể đi chéo giống quân tượng nên cần xét thêm bốn hướng chéo.