Giải SBT Tin học 10 trang 64 Kết nối tri thức
Haylamdo sưu tầm và biên soạn Giải SBT Tin học 10 trang 64 trong Bài 31: Thực hành viết chương trình đơn giản Sách bài tập Tin 10 Kết nối tri thức hay nhất, ngắn gọn sẽ giúp học sinh dễ dàng trả lời các câu hỏi & làm bài tập Tin học 10 trang 64.
Giải SBT Tin học 10 trang 64 Kết nối tri thức
Câu 31.4 trang 64 SBT Tin học 10: Cho trước dãy số bất kì A. Em hãy viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy A mà 3 số hạng liên tiếp có giá trị là 1, 2, 3 (có thể tổng quát 3 số bất kì p, q, s). Nếu tìm thấy thì thông báo vị trí tìm thấy, nếu không thì thông báo "không tìm thấy mẫu".
Lời giải:
Để kiểm tra tại một chỉ số i, 3 phần tử liên tiếp nhau bằng 1, 2, 3 có nhiều cách kiểm tra khác nhau, ví dụ:
Cách 1. Sử dụng biểu thức lôgic.
A[i] == 1 and A[i] == 2 and A[i] == 3
Cách 2. Sử dụng so sánh có chứa vùng chỉ số.
A[i:i+3] == [1,2,3]
Chương trình có thể viết như sau:
A = [0,4,0,1,2,3,8,9,0,1,2,3,17,-16,0,1,2]
p = [1,2,3]
pkq = -1
i = 0
while i < len(A) - 3 and pkq == -1:
if A[i: i+3] == p:
pkq = i
else:
i = i + 1
if pkq >= 0 :
print("Tìm thấy mẫu",p,"tại vị trí", pkq)
else:
print("Không tìm thấy mẫu",p)
Lời giải sách bài tập Tin 10 Bài 31: Thực hành viết chương trình đơn giản Kết nối tri thức hay khác: