Kho tàng tài liệu học tập phong phú.

Tin học 10 Cánh diều Bài 15: Thực hành với kiểu dữ liệu danh sách

1.1. Cập nhật danh sách

* Yêu cầu:

Viết chương trình nhập vào từ bàn phím một danh sách các số nguyên, sau đó thực hiện:

– Thay thế các phần tử âm bằng -1, phần tử dương bằng 1, giữ nguyên các phần tử giá trị 0

– Đưa ra màn hình danh sách nhận được

– Ví dụ:

Input

Output

-5 0 6 8 -3 -4 -2 0 4 6

-1 0 1 1 -1 -1 0 1 1

* Hướng dẫn thực hiện:

– Tạo danh sách a từ dữ liệu nhập vào

– Duyệt các phần tử ai (với i = 0, 1, 2, …, len(a) – 1); thay ai = 1 nếu ai > 0 và ai = -1 nếu ai < 0

Lưu ý: Lệnh print() chứa tham số end = ‘ ‘ để thêm dấu cách giữa các phần tử của danh sách.

– Tham khảo chương trình ở Hình 1.

Hình 1. Một chương trình cho bài toán cập nhật danh sách

– Kết quả:

1.2. Các số đặc biệt của dãy số

* Yêu cầu:

Viết chương trình nhập vào từ bàn phím danh sách số nguyên a; đếm và đưa ra màn hình số lượng các phần tử lớn hơn phần tử đứng trước và phần tử đứng sau đó.

– Ví dụ:

Input

Output

5 -3 0 4 -1 2 -6 -4 -5 9 -12 15

4

*Hướng dẫn thực hiện:

– Tạo danh sách a từ dữ liệu nhập vào

– Duyệt các phần tử ai (với i = 1, 2, …, len(a) – 2); đếm các phần tử ai thỏa mãn điều kiện ai-1 < ai > ai+1

– Tham khảo chương trình ở Hình 2

Hình 2. Một chương trình cho bài toán các số đặc biệt của dãy số

– Kết quả:

Trong dãy số 4 6 -4 2 7 1 9 -2 3 -7 5 1 sau khi thực hiện chương trình ta thấy có 5 số lớn hơn phần tử đứng trước và phần tử đứng sau đó.

1.3. Trò chơi với các chiếc giày

* Yêu cầu:

 

Có n đôi giày cùng loại chỉ khác nhau về kích cỡ được xếp thành một hàng theo thứ tự ngẫu nhiên. Chủ trò bí mật rút một chiếc giày được giấu đi, sau đó yêu cầu người chơi cho biết chiếc giày được giấu là chiếc giày trái hay phải và có số là bao nhiêu.

  Hà My muốn viết một đoạn chương trình nhập vào một dãy, mỗi số trong dãy mô tả một chiếc giày, số có giá trị âm cho biết đó là giày trái, số có giá trị dương cho biết đó là giày phải, giá trị tuyệt đối của số là kích cỡ của giày. Chương trình sẽ cho biết chiếc giày nào còn thiếu trong dãy.

Cách làm thông thường để tìm chiếc giày còn thiếu là đi ghép các đôi giày, tuy nhiên cách làm này sẽ mất nhiều thời gian. Một cách làm đơn giản là dựa trên nhận xét: Nếu dãy không thiếu chiếc giày nào thì tổng sẽ bằng 0, nên có thể xác định chiếc giày còn thiếu khi biết tổng các số trong dãy. Hình 4 là chương trình mà Hà My viết theo cách làm trên, tuy nhiên chương trình vẫn còn có lỗi. Em hãy giúp Hà My sửa các lỗi để nhận được chương trình chạy được và cho kết quả đúng.

*Hướng dẫn giải:

– Lỗi sai trong chương trình:

– Kết quả: