Em hãy trang 16 Chuyên đề Tin học 12

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

Thực hành trang 16 Chuyên đề Tin học 12: 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.

Em hãy trang 16 Chuyên đề Tin học 12

Quảng cáo

Lời giải:

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.

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:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.


Giải bài tập lớp 12 sách mới các môn học