bottom-up (Tu duoi len): Tat ca cac bai toan con co the can den deu duoc giai truoc, sau do duoc dung de xay dung loi giai cho cac bai toan lon hon. Cach tiep can nay hoi tot hon ve khong gian bo nho dung cho ngan xep va so loi goi ham. Tuy nhien, doi khi viec xac dinh tat ca cac bai toan con can thiet cho viec giai quyet bai toan cho truoc khong duoc truc giac lam.Mot so ngon ngu lap trinh ham, noi tieng nhat la Haskell, co the tu dong luu tru ket qua cua mot loi goi ham voi mot tap doi so (argument) cu the, de tang toc cach danh gia call-by-name (co che nay duoc goi la call-by-need). Viec nay chi co the doi voi cac ham khong co hieu ung phu, tinh chat nay luon luon dung trong ngon ngu Haskell nhung it khi dung trong cac ngon ngu lap trinh menh lenh, chang han Pascal, C, C++, Java...
bottom-up (Từ dưới lên): Tất cả các bài toán con có thể cần đến đều được giải trước, sau đó được dùng để xây dựng lời giải cho các bài toán lớn hơn. Cách tiếp cận này hơi tốt hơn về không gian bộ nhớ dùng cho ngăn xếp và số lời gọi hàm. Tuy nhiên, đôi khi việc xác định tất cả các bài toán con cần thiết cho việc giải quyết bài toán cho trước không được trực giác lắm.Một số ngôn ngữ lập trình hàm, nổi tiếng nhất là Haskell, có thể tự động lưu trữ kết quả của một lời gọi hàm với một tập đối số (argument) cụ thể, để tăng tốc cách đánh giá call-by-name (cơ chế này được gọi là call-by-need). Việc này chỉ có thể đối với các hàm không có hiệu ứng phụ, tính chất này luôn luôn đúng trong ngôn ngữ Haskell nhưng ít khi đúng trong các ngôn ngữ lập trình mệnh lệnh, chẳng hạn Pascal, C, C++, Java...
<s> [INST] Bạn là một trợ lí Tiếng Việt nhiệt tình và trung thực. Hãy luôn trả lời một cách hữu ích nhất có thể, đồng thời giữ an toàn. Câu trả lời của bạn không nên chứa bất kỳ nội dung gây hại, phân biệt chủng tộc, phân biệt giới tính, độc hại, nguy hiểm hoặc bất hợp pháp nào. Hãy đảm bảo rằng các câu trả lời của bạn không có thiên kiến xã hội và mang tính tích cực. Nếu một câu hỏi không có ý nghĩa hoặc không hợp lý về mặt thông tin, hãy giải thích tại sao thay vì trả lời một điều gì đó không chính xác. Nếu bạn không biết câu trả lời cho một câu hỏi, hãy trả lời là bạn không biết và vui lòng không chia sẻ thông tin sai lệch. Hãy thêm dấu Tiếng Việt cho câu văn sau: bottom-up (Tu duoi len): Tat ca cac bai toan con co the can den deu duoc giai truoc, sau do duoc dung de xay dung loi giai cho cac bai toan lon hon. Cach tiep can nay hoi tot hon ve khong gian bo nho dung cho ngan xep va so loi goi ham. Tuy nhien, doi khi viec xac dinh tat ca cac bai toan con can thiet cho viec giai quyet bai toan cho truoc khong duoc truc giac lam.Mot so ngon ngu lap trinh ham, noi tieng nhat la Haskell, co the tu dong luu tru ket qua cua mot loi goi ham voi mot tap doi so (argument) cu the, de tang toc cach danh gia call-by-name (co che nay duoc goi la call-by-need). Viec nay chi co the doi voi cac ham khong co hieu ung phu, tinh chat nay luon luon dung trong ngon ngu Haskell nhung it khi dung trong cac ngon ngu lap trinh menh lenh, chang han Pascal, C, C++, Java... [/INST] bottom-up (Từ dưới lên): Tất cả các bài toán con có thể cần đến đều được giải trước, sau đó được dùng để xây dựng lời giải cho các bài toán lớn hơn. Cách tiếp cận này hơi tốt hơn về không gian bộ nhớ dùng cho ngăn xếp và số lời gọi hàm. Tuy nhiên, đôi khi việc xác định tất cả các bài toán con cần thiết cho việc giải quyết bài toán cho trước không được trực giác lắm.Một số ngôn ngữ lập trình hàm, nổi tiếng nhất là Haskell, có thể tự động lưu trữ kết quả của một lời gọi hàm với một tập đối số (argument) cụ thể, để tăng tốc cách đánh giá call-by-name (cơ chế này được gọi là call-by-need). Việc này chỉ có thể đối với các hàm không có hiệu ứng phụ, tính chất này luôn luôn đúng trong ngôn ngữ Haskell nhưng ít khi đúng trong các ngôn ngữ lập trình mệnh lệnh, chẳng hạn Pascal, C, C++, Java... </s>
<s> [INST] Hãy thêm dấu Tiếng Việt cho câu văn sau: bottom-up (Tu duoi len): Tat ca cac bai toan con co the can den deu duoc giai truoc, sau do duoc dung de xay dung loi giai cho cac bai toan lon hon. Cach tiep can nay hoi tot hon ve khong gian bo nho dung cho ngan xep va so loi goi ham. Tuy nhien, doi khi viec xac dinh tat ca cac bai toan con can thiet cho viec giai quyet bai toan cho truoc khong duoc truc giac lam.Mot so ngon ngu lap trinh ham, noi tieng nhat la Haskell, co the tu dong luu tru ket qua cua mot loi goi ham voi mot tap doi so (argument) cu the, de tang toc cach danh gia call-by-name (co che nay duoc goi la call-by-need). Viec nay chi co the doi voi cac ham khong co hieu ung phu, tinh chat nay luon luon dung trong ngon ngu Haskell nhung it khi dung trong cac ngon ngu lap trinh menh lenh, chang han Pascal, C, C++, Java... [/INST] bottom-up (Từ dưới lên): Tất cả các bài toán con có thể cần đến đều được giải trước, sau đó được dùng để xây dựng lời giải cho các bài toán lớn hơn. Cách tiếp cận này hơi tốt hơn về không gian bộ nhớ dùng cho ngăn xếp và số lời gọi hàm. Tuy nhiên, đôi khi việc xác định tất cả các bài toán con cần thiết cho việc giải quyết bài toán cho trước không được trực giác lắm.Một số ngôn ngữ lập trình hàm, nổi tiếng nhất là Haskell, có thể tự động lưu trữ kết quả của một lời gọi hàm với một tập đối số (argument) cụ thể, để tăng tốc cách đánh giá call-by-name (cơ chế này được gọi là call-by-need). Việc này chỉ có thể đối với các hàm không có hiệu ứng phụ, tính chất này luôn luôn đúng trong ngôn ngữ Haskell nhưng ít khi đúng trong các ngôn ngữ lập trình mệnh lệnh, chẳng hạn Pascal, C, C++, Java... </s>