Em hãy viết chương trình yêu cầu người sử dụng nhập năm số nguyên dương - bất kì từ bàn phím

Giải Chuyên đề Tin 12 Bài 2: Kiểu dữ liệu ngăn xếp - Cánh diều

Vận dụng trang 17 Chuyên đề Tin học 12: Em hãy viết chương trình yêu cầu người sử dụng nhập năm số nguyên dương - bất kì từ bàn phím, sau đó in ra màn hình năm số này theo thứ tự đảo ngược của thứ tự nhập vào. Trong chương trình có sử dụng kiểu dữ liệu ngăn xếp và các thao tác đã học trên ngăn xếp. Ví dụ: Nhập vào năm số: 3, 1, 9, 17, 2. Kết quả in ra: 2, 17,9, 1, 3.

Quảng cáo

Lời giải:

Chương trình yêu cầu người sử dụng nhập năm số nguyên dương - bất kì từ bàn phím, sau đó in ra màn hình năm số này theo thứ tự đảo ngược của thứ tự nhập vào. Trong chương trình có sử dụng kiểu dữ liệu ngăn xếp và các thao tác đã học trên ngăn xếp.

Muốn viết chương trình này ta sẽ sử dụng cấu trúc dữ liệu ngăn xếp (stack) để lưu trữ các số nguyên dương người dùng nhập vào. Ngăn xếp là một cấu trúc dữ liệu hoạt động theo nguyên lý LIFO (Last In, First Out), tức là phần tử được thêm vào cuối cùng sẽ là phần tử được lấy ra đầu tiên.

Sử dụng ngôn ngữ lập trình Python để thực hiện như sau:

class Stack:

   def __init__(self):

        self.items = []

   def push(self, item):

        self.items.append(item)

   def pop(self):

        if not self.is_empty():

            return self.items.pop()

        else:

            return None

   def is_empty(self):

        return len(self.items) == 0

   def size(self):

        return len(self.items)

def main():

   stack = Stack()

   print("Nhập vào năm số nguyên dương:")

   # Yêu cầu người dùng nhập vào 5 số nguyên dương

   for i in range(5):

        while True:

            try:

                num = int(input(f"Nhập số thứ {i+1}: "))

                if num > 0:

                    stack.push(num)

                    break

                else:

                    print("Vui lòng nhập một số nguyên dương.")

            except ValueError:

                print("Đó không phải là một số nguyên. Vui lòng thử lại.")

   # Lấy các số ra khỏi ngăn xếp và in theo thứ tự đảo ngược

   print("Các số theo thứ tự đảo ngược:")

   while not stack.is_empty():

        print(stack.pop(), end=" ")

if __name__ == "__main__":

   main()

Quảng cáo

Lời giải bài tập Chuyên đề Tin 12 Bài 2: Kiểu dữ liệu ngăn xếp hay, chi tiết khác:

Quảng cáo

Xem thêm lời giải bài tập Chuyên đề học tập Tin học 12 Cánh diều hay, chi tiết khác:

Xem thêm các tài liệu học tốt lớp 12 hay khác:

Săn shopee giá ưu đãi :

ĐỀ THI, GIÁO ÁN, GÓI THI ONLINE DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 12

Bộ giáo án, đề thi, bài giảng powerpoint, khóa học dành cho các thầy cô và học sinh lớp 12, đẩy đủ các bộ sách cánh diều, kết nối tri thức, chân trời sáng tạo tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official


Giải bài tập lớp 12 sách mới các môn học
Tài liệu giáo viên