Em hãy:
a) Đọc hàm pop(S) ở Hình 8 và cho biết dấu ? cần được thay bằng gì.
b) Đọc chương trình ở Hình 9 và cho biết kết quả thu được khi chạy chương trình.
c) Bổ sung hai câu lệnh temp=pop(stack) giống nhau vào cuối đoạn chương trình ở Hình 9 và cho biết kết quả thu được khi chạy chương trình.
d) Viết hàm isEmptyStack(S) với tham số truyền vào là ngăn xếp S. Hàm trả về giá trị True nếu ngăn xếp S đang rỗng không chứa phần tử nào, ngược lại hàm trả về giá trị False.
e) Sửa lại chương trình thu được khi thực hiện xong câu c) như sau: Thay mỗi câu lệnh temp = pop(stack) thành đoạn chương trình ở Hình 10. Cho biết kết quả thu được khi chạy chương trình.
Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
a) Trong Hình 8, dấu ? trong hàm pop(S) cần được thay bằng lệnh để loại bỏ và trả về phần tử cuối cùng của danh sách S (giả sử S đại diện cho một ngăn xếp). Ví dụ:
def pop(S): return S.pop()
b) Chương trình trong Hình 9 khi chạy sẽ tạo ra một ngăn xếp, đẩy số 2 và 4 vào ngăn xếp, sau đó lấy ra một phần tử và cuối cùng in ra "Phần tử đầu của stack là 4".
c) Nếu bổ xung hai câu lệnh temp=pop(stack) vào cuối chương trình trong Hình 9, chương trình sẽ cố gắng lấy ra hai phần tử nữa từ ngăn xếp. Sau khi lấy ra '4', chỉ còn '2' trong ngăn xếp. Lệnh pop đầu tiên sẽ loại bỏ '2', nhưng sau đó không còn phần tử nào cho lệnh pop thứ hai, có thể dẫn đến lỗi trừ khi có thêm mã xử lý.
d) Hàm isEmptyStack(S) với tham số truyền vào là ngăn xếp S. Hàm trả về giá trị True nếu ngăn xếp S đang rỗng không chứa phần tử nào, ngược lại hàm trả về giá trị False. Hàm isEmptyStack(S) có thể được viết như sau:
def isEmptyStack(S): return len(S) == 0
e) Nếu thay thế mỗi câu lệnh temp = pop(stack) bằng đoạn mã trong Hình 10 sẽ thêm kiểm tra rỗng trước khi thực hiện lấy phần tử từ ngăn xếp. Kết quả khi chạy chương trình sẽ phụ thuộc vào việc ngăn xếp có phần tử hay không. Nếu rỗng, nó sẽ in ra thông báo ngăn xếp rỗng. Nếu không rỗng, nó sẽ in phần tử được lấy ra.
Tham gia Cộng đồng Lazi trên các mạng xã hội | |
Fanpage: | https://www.fb.com/lazi.vn |
Group: | https://www.fb.com/groups/lazi.vn |
Kênh FB: | https://m.me/j/AbY8WMG2VhCvgIcB |
LaziGo: | https://go.lazi.vn/join/lazigo |
Discord: | https://discord.gg/4vkBe6wJuU |
Youtube: | https://www.youtube.com/@lazi-vn |
Tiktok: | https://www.tiktok.com/@lazi.vn |
Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi
Vui | Buồn | Bình thường |