Bài 15F. Thực hành với kiểu dữ liệu danh sách

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ụ:

InputOutput
-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ụ:

InputOutput
5 -3 0 4 -1 2 -6 -4 -5 9 -12 154

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.

chương trình trò chơi với chiếc giày bạn Hà My viết

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:

kết quả chương trình quản lí tiền điện

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

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x