Thực hành với kiểu dữ liệu danh sách trang 107 SGK Tin Học lớp 10 – Cánh Diều, mời các em tham khảo cùng Bumbii.
Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 15F. Thực hành với kiểu dữ liệu danh sách.
Bài 1. Cập nhật danh sách
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 -1 0 1 1 |
Hướng dẫ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 sau:
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=' ')
Kết quả chương trình:
Bài 2. Các số đặc biệt của dãy số
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 nó.
Ví dụ:
Input | Output |
5 -3 0 4 -1 2 -6 -4 -5 9 -12 15 | 4 |
Hướng dẫ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) – 1), đếm các phần tử ai thoả mãn điều kiện ai – 1 < ai > ai+1.
– Tham khảo chương trình:
print('Nhập 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)
Kết quả chương trình:
Bài 3. Trò chơi với các chiếc giày
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 và 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 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 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à lự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 ra kết quả đúng.
Hướng dẫn:
Tham khảo 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)
Kết quả chương trình:
LUYỆN TẬP
Quản lí tiền điện
Viết chương trình nhập vào 12 số nguyên dương tương ứng là tiền điện của 12 tháng trong năm vừa rồi của nhà em, đưa ra màn hình các thông tin sau:
– Tổng số tiền điện của cả năm và tiền điện trung bình theo tháng.
– Liệt kê các tháng có số tiền điện nhiều hơn tiền điện trung bình theo tháng.
Hướng dẫn:
Tham khảo chương trình sau:
print('Nhập vào tiền điện 12 tháng')
tiền = [int(s) for s in input().split()]
tổng = 0.0
for i in tiền: tổng +=i
print("Tổng số tiền phải trả cả năm: ", tổng, "đồng.")
trung_bình = tổng/12
print("Số tiền điện trung bình hàng tháng: ", round(trung_bình))
print("Các tháng dùng điện nhiều hơn mức trung bình: ",end=' ')
for i in range(12):
if tiền[i] > trung_bình: print(i+1, end=' ')
Kết quả chương trình:
Xem thêm các bài khác tại Giải bài tập sách giáo khoa Tin học Lớp 10 – Cánh Diều
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech
Không bao giờ từ bỏ hy vọng. Cố gắng mỗi ngày.