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

0.9 K

Với Giải Câu 31.4 trang 64 SBT Tin học 10 trong Bài 31: Thực hành viết chương trình đơn giản Sách bài tập Tin học 10 Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập trong 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

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)

 (ảnh 1)

Từ khóa :
Giải bài tập
Đánh giá

0

0 đánh giá