2012-03-11 15 views
7

Tôi đang viết một số tài liệu bài học cho khóa học bắt đầu sau một vài tuần. Tôi đã chọn Clojure làm ngôn ngữ mới để học sinh học. Tôi muốn dành một chương để tái cấu trúc mã bắt buộc thành mã chức năng. Đối với điều này tôi muốn có một tập hợp các vấn đề thực tế mà không phải là xa lấy bằng cách mà tôi có thể hiển thị như thế nào bắt buộc và các giải pháp chức năng so sánh. Tốt hơn là các vấn đề KHÔNG có sự nhấn mạnh về toán học, như dự án Euler, nhưng là những vấn đề mà một lập trình viên trung bình cần phải xử lý một cách thường xuyên. Ai có một số nguồn tốt cho việc này?Các ví dụ điển hình về các giải pháp bắt buộc và chức năng đối với các vấn đề thực tế

Câu trả lời một phần: một nguồn như vậy là http://langref.org/. Muốn nhiều hơn nữa!

Trả lời

5

Trong khi không thực sự thực tế (vì các vấn đề thực tế đủ ngắn để trình bày trong lớp học có vẻ hơi nhàm chán), lập trình Game of Life là một trong những cách yêu thích của tôi để học một ngôn ngữ mới. Như một phần thưởng, cách tiếp cận chức năng là khá khác nhau (và thanh lịch hơn) so với các giải pháp bắt buộc. Ngoài ra, bất kỳ loại vấn đề nào mà bạn đang thao tác chuỗi dữ liệu (ví dụ, phân tích chuỗi các tweets cho tần suất từ ​​hoặc thứ gì đó) tạo ra các ví dụ thú vị.

3

Đó là một hạt dẻ cũ, nhưng chỉ cần thực hiện một chức năng giai thừa theo nhiều cách khác nhau là khá chiếu sáng. Một ví dụ phổ biến khác là trình tạo số nguyên tố, có thể lớn hơn một chút.

Tôi nhận ra cả hai đều là các ví dụ về toán học, nhưng chúng chỉ yêu cầu kiến ​​thức cơ bản.

Các vấn đề liên quan