SBT Tin học 10 Cánh diều Bài 14, 15: Kiểu dữ liệu danh sách - Xử lí danh sách. Thực hành với dữ liệu kiểu danh sách

500

Toptailieu biên soạn và giới thiệu giải sách bài tập Tin học 10 trang 43,44,45,46 Bài 14, 15: Kiểu dữ liệu danh sách - Xử lí danh sách. Thực hành với dữ liệu kiểu danh sách Sách bài tập Tin học 10 Cánh diều hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm các bài tập từ đó nâng cao kiến thức và biết cách vận dụng phương pháp giải vào các bài tập trong SBT Tin học 10 Bài 14,15.

SBT Tin học 10 Cánh diều Bài 14, 15: Kiểu dữ liệu danh sách - Xử lí danh sách. Thực hành với dữ liệu kiểu danh sách

SBT Tin học 10 trang 43 Kết nối tri thức

Câu F69 trang 43 SBT Tin học 10: Danh sách loài hoa

Đọc chương trình sau đây và cho biết kết quả in ra màn hình với dữ liệu input đã cho. Em hãy soạn thảo chương trình để kiểm tra dự đoán của mình.

 (ảnh 1)

Lời giải:

Kết quả sẽ là:

 (ảnh 2)

SBT Tin học 10 trang 44 Kết nối tri thức

Câu F70 trang 44 SBT Tin học 10: Danh sách và xâu

Python không cho phép thay đổi kí tự trong xâu. Để có thể thực hiện các phép biến đổi thay kí tự trong xâu s, người ta phải biểu diễn s dưới đạng danh sách kí tự ds. Em hãy chỉ ra cách biến đổi s thành ds.

Lời giải:

Sử dụng hàm list (s) để tạo danh sách kí tự từ xâu s.

Ví dụ:

 (ảnh 1)

Kết quả

 (ảnh 2)

Câu F71 trang 44 SBT Tin học 10: Tạo bản sao

Xét a là một danh sách. Phép gán b = a không tạo ra một danh sách mới mà chỉ tạo ra tên khác để truy cập tới a. Em hãy chỉ ra một số cách tạo b là danh sách bản sao của a.

Lời giải:

Có thể tạo danh sách b là bản sao của danh sách a bằng một trong hai cách:

Cách 1. Dùng phép gán: b = a[: ]

Cách 2. Dùng phép gán: b = a. copy ()

Câu F72 trang 44 SBT Tin học 10: Danh sách con

Trong Python, việc xử lí xâu và danh sách có nhiều điểm tương đồng. Cách tạo danh sách con được viết giống như tạo xâu con. Em hãy đọc lại cách tạo xâu con và nêu cách viết câu lệnh đưa ra danh sách con của a như sau:

- Gồm m phần tử đầu tiên của danh sách a.

- Gồm các phần tử từ vị trí p đến trước vị trí q, của danh sách a.

- Gồm các phần tử từ vị trí m đến cuối danh sách a.

Lời giải:

Việc tạo danh sách con giống như tạo xâu con:

a[:m] - câu lệnh đưa ra danh sách m phần tử đầu tiên của a.

a[p:q] - câu lệnh đưa ra danh sách con tử phần tử ở vị trí p đến phần tử ở vị trí q - 1

a[m: ] - câu lệnh đưa ra danh sách các phần tử cuối của a bắt đầu từ vị trí m.

Câu F73 trang 44 SBT Tin học 10: Các số chẵn

Lập trình nhập dãy số nguyên từ thiết bị vào chuẩn, các số trên một dòng, cách nhau một dấu cách và đưa ra thiết bị ra chuẩn trên một dòng các số chẵn, cách nhau một dấu cách.

Ví dụ:

Input

Output

 

 

5 10 6 3 9 2 4

10 6 2 4

Lời giải:

Tham khảo chương trình sau

 (ảnh 3)

Câu F74 trang 44 SBT Tin học 10: Các số dương

Lập trình nhập dãy số nguyên từ thiết bị vào chuẩn, các số trên một dòng, cách nhau một dấu cách và đưa ra thiết bị ra chuẩn trên một dòng các số dương, các số ghi cách nhau, một dấu cách.

Ví dụ:

Input

Output

 

 

-8 6 -7 -2 1 4 -3 10

6 1 4 10

Lời giải:

Tham khảo chương trình sau

 (ảnh 4)

SBT Tin học 10 trang 45 Kết nối tri thức

Câu F75 trang 45 SBT Tin học 10: Số lớn hơn

Lập trình nhập dãy số nguyên từ thiết bị vào chuẩn, các số trên một dòng, cách nhau một dấu cách và đưa ra thiết bị ra chuẩn trên một dòng các số lớn hơn số đứng trước nó, các số ghi cách nhau một dấu cách.

Ví dụ:

Input

Output

 

 

6 -5 3 -9 -8 1 -2 0

3 -8 1 0

Lời giải:

Tham khảo chương trình sau

 (ảnh 1)

Câu F76 trang 45 SBT Tin học 10: Số lớn nhất

Cho một dãy số nguyên. Hãy lập trình đưa ra số có giá trị lớn nhất của dãy và vị trí của số đó trong dãy. Vị trí các số được đánh số bắt đầu từ 1. Nếu trong dãy có nhiều số cùng là lớn nhất, hãy đưa ra thứ tự vị trí nhỏ nhất của số lớn nhất.

Dữ liệu: Gồm một dòng chứa các số của dãy được nhập vào từ bàn phím, các số cách nhau một dấu cách.

Kết quả: Đưa ra thiết bị ra chuẩn giá trị số lớn nhất và vị trí của nó, hai kết quả này cách nhau một dấu cách.

Ví dụ:

Input

Output

4 2 6 3 5 6 2 0 -1 3

6 3

Lời giải:

Tham khảo chương trình sau

 (ảnh 2)

Câu F77 trang 45 SBT Tin học 10: Phân lớp

Cho dãy các số nguyên a1, a2, …, an, Hãy lập trình đưa các số khác 0 lên đầu dãy, giữ nguyên thứ tự xuất hiện, các số 0 đưa về vị trí cuối dãy. Trong chương trình không dùng thêm dãy phụ làm trung gian.

Dữ liệu: Nhập vào từ bàn phím một dòng chứa các số của dãy, mỗi số cách nhau một dấu cách.

Kết quả: Đưa ra màn hình, các số trên một dòng, cách nhau một dấu cách.

Ví dụ:

 

Input

Output

5 0 8 1 0 0 6 0 3

5 8 1 6 3 0 0 0 0

Lời giải:

Tham khảo chương trình sau

 (ảnh 3)

SBT Tin học 10 trang 46 Kết nối tri thức

Câu F78 trang 46 SBT Tin học 10: Kiểm tra sắp xếp

Mảng a1, a2, …, an, đã được sắp xếp không giảm nếu ai  ai+1, i = 1, 2,…, n-1. Lập trình nhập mảng số nguyên, kiểm tra và đưa ra thông báo 'Yes” nếu mảng đó đã được sắp xếp không giảm hoặc “No” trong trường hợp ngược lại.

Dữ liệu: Nhập vào từ thiết bị vào chuẩn, gồm một dòng chứa các phần tử của mảng, các số cách nhau một dấu cách.

Kết quả: Đưa ra thiết bị ra chuẩn thông báo xác định được.

Ví dụ:

 

Input

Output

2 4 6 6 22 8

Yes

Lời giải:

Tham khảo chương trình sau

 (ảnh 1)

Câu F79 trang 46 SBT Tin học 10: Hoàn thiện chương trình

Chương trình ở hình sau thực hiện nhập từ thiết bị vào chuẩn một danh sách số nguyên A = (a1, a2, …, an); Các số ghi trên cùng một dòng, mỗi số cách nhau một dấu cách. Tính và đưa ra thiết bị ra chuẩn các giá trị b1, b2, …, bn, trong đó bi, (với i từ 1 đến n) là ước số chung lớn nhất của các số a1, a2, …, ai. Các số đưa ra trên một dòng, cách nhau một dấu cách. Tuy nhiên chương trình vẫn có lỗi, em hãy tìm lỗi và nêu các phương pháp khắc phục các lỗi đó.

Lời giải:

Câu lệnh sai: b[i] = gcd(b[i-1], a[i]).

Chưa nêu rõ gcd ở thư viện nào. Trường hợp này có hai cách sửa:

Cách 1. Sửa câu lệnh sai thành: b[i] = math.gcd(b[i-1],a[i]).

Cách 2. Chỉ rõ nạp gcd từ thư viện math bằng cách viết lại câu lệnh đầu tiên như sau: from math import gcd.

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

0

0 đánh giá