Lời giải bài tập Tin học lớp 10 Bài 15: Thực hành với kiểu dữ liệu danh sách sách Cánh diều hay, ngắn gọn sẽ giúp học sinh dễ dàng trả lời câu hỏi Tin học 10 Bài 15 từ đó học tốt môn Tin 10.
Giải bài tập Tin học lớp 10 Bài 15: Thực hành với kiểu dữ liệu danh sách
Bài 1. Cập nhật danh sách
- 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.
Trả lời:
- Tạo danh sách a từ dữ liệu nhập vào.
- Duyệt các phần tử trong danh sách ai (với i = 0, 1, 2, …, len(a) – 1); và thay ai = 1 nếu ai > 0 và ai = -1 nếu ai < 0.
- Các em tham khảo chương trình:
print ("Nhập dãy số nguyên")
a = [int(i) for i in input().split()]
n = len(a)
for i in range(n):
if a[i] > 0: a[i]=1
elif a[i] < 0: a[i]= -1
for i in a: print(i, end=' ')
Bài 2. Các số đặc biệt của dãy số
Trả lời:
- Tạo danh sách a từ dữ liệu nhập vào, sau đó duyệt các phần tử trong danh sách thoả mãn điều kiện lớn hơn phần tử đứng trước và phần tử đứng sau nó.
- Chương trình:
print("Nhập một dãy số nguyên")
a = [int(i) for i in input().split()]
count=0
for i in range (1, len(a)-1):
if a[i-1] < a[i] > a[i + 1]: count = count + 1
print(count)
Bài 3. Trò chơi với các chiếc giày
Cách làm thông thường để tìm ra 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ó lỗi. Em hãy giúp Hà My sửa lỗi để nhận được chương trình chạy được và cho ra kết quả đúng.
Trả lời:
- Lỗi sai ngữ pháp
- Sửa: thay ngoặc tròn bằng ngoặc vuông
- Chương trình
print("Nhập vào một dãy số size giày")
shoes = [int(s) for s in input().split()]
sum = 0
for i in range(len(shoes)):
sum = sum + shoes[i]
if sum > 0:
print("Chiếc giày bên trái, kích cỡ", sum)
else:
print("Chiếc giày bên phải, kích cỡ", sum)
Vận dụng (trang 109)
- Tổng số tiền điện của cả năm, trung bình mỗi tháng.
- Liệt kê các tháng dùng nhiều hơn trung bình mỗi tháng
Trả lời:
- Chương trình gợi ý như sau:
ds= [float(i) for i in input("Nhập tiền điện hằng tháng ").split()]
t = 0
for i in range(0, len(ds)):
t = t + ds[i]
tb = t/12
print("Tổng tiền điện là: ", t)
print("Tiền điện trung bình mỗi tháng là: ", tb)
print("Các tháng dùng nhiều hơn trung bình mỗi tháng là: ")
for i in range(0, len(ds)):
if ds[i] > tb:
print(i+1)
- Kết quả chương trình chạy thử:
Xem thêm các bài giải SGK Tin học lớp 10 Cánh diều hay, chi tiết khác:
Bài 14: Kiểu dữ liệu danh sách - Xử lí danh sách
Bài 16: Kiểm thử và gỡ lỗi chương trình
Bài 17: Thực hành lập trình giải bài toán trên máy tính
Bài 18: Lập trình giải quyết bài toán trên máy tính