اپلیکیشن اندرویدی فلشکارت آموزشی هنر ترکیب توابع (Function Composition)
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره هنر ترکیب توابع (Function Composition)
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی تابعی (Functional Programming)
📋 سرفصلهای دوره
- 1. مبانی برنامهنویسی تابعی
- 2. معرفی پارادایم تابعی
- 3. تفاوت با برنامهنویسی دستوری (Imperative)
- 4. تفاوت با برنامهنویسی شیءگرا (Object-Oriented)
- 5. توابع خالص (Pure Functions)
- 6. تعریف تابع خالص
- 7. ویژگی اول: عدم اثر جانبی (No Side Effects)
- 8. ویژگی دوم: تعیینپذیری (Determinism)
- 9. مزایای توابع خالص
- 10. مثالهای عملی از توابع خالص
- 11. توابع ناخالص (Impure Functions)
- 12. شناسایی توابع ناخالص
- 13. پیامدهای استفاده از توابع ناخالص
- 14. توابع به عنوان شهروند درجه یک (First-Class Citizens)
- 15. قابلیت تخصیص توابع به متغیرها
- 16. قابلیت ارسال توابع به عنوان آرگومان
- 17. قابلیت بازگرداندن توابع از توابع دیگر
- 18. توابع لامبدا (Lambda Functions) / توابع بینام (Anonymous Functions)
- 19. مقدمه بر توابع لامبدا
- 20. سینتکس توابع لامبدا در زبانهای مختلف
- 21. کاربرد توابع لامبدا
- 22. توابع مرتبه بالاتر (Higher-Order Functions)
- 23. تعریف توابع مرتبه بالاتر
- 24. توابع تولید کننده (Generator Functions)
- 25. توابع مصرف کننده (Consumer Functions)
- 26. مثالهای رایج توابع مرتبه بالاتر
- 27. نگاشت (Mapping)
- 28. مفهوم نگاشت
- 29. تابع `map`
- 30. نحوه عملکرد `map`
- 31. کاربرد `map` در لیستها و مجموعهها
- 32. تطبیق دادهها با `map`
- 33. فیلتر کردن (Filtering)
- 34. مفهوم فیلتر کردن
- 35. تابع `filter`
- 36. نحوه عملکرد `filter`
- 37. کاربرد `filter` در لیستها و مجموعهها
- 38. انتخاب دادههای شرطی با `filter`
- 39. کاهش (Reducing) / انباشت (Accumulating)
- 40. مفهوم کاهش
- 41. تابع `reduce`
- 42. نحوه عملکرد `reduce`
- 43. مقدار اولیه در `reduce`
- 44. کاربرد `reduce` در تجمیع دادهها
- 45. مثالهای متنوع از `reduce`
- 46. ترکیب توابع (Function Composition)
- 47. مفهوم ترکیب توابع
- 48. اهمیت ترکیب توابع
- 49. نمادگذاری ترکیب توابع
- 50. تابع ترکیب (Composition Function)
- 51. نحوه پیادهسازی تابع ترکیب
- 52. مثالهای ساده ترکیب توابع
- 53. کاربرد ترکیب توابع در عملیات متوالی
- 54. ترکیب توابع از راست به چپ (Right-to-Left)
- 55. ترکیب توابع از چپ به راست (Left-to-Right)
- 56. پیادهسازی ترکیب با استفاده از توابع لامبدا
- 57. استفاده از ترکیب در توابع مرتبه بالاتر
- 58. ترکیب توابع با پارامترهای متعدد
- 59. توابع کمکی برای ترکیب (Composition Helpers)
- 60. کتابخانههای پشتیبان ترکیب توابع
- 61. مفهوم نقطه آزاد (Point-free Style)
- 62. استفاده از نقطه آزاد در ترکیب
- 63. مزایای سبک نقطه آزاد
- 64. معایب سبک نقطه آزاد
- 65. تمرینهای عملی ترکیب توابع
- 66. ترکیب توابع فیلتر و نگاشت
- 67. ترکیب توابع کاهش با سایر توابع
- 68. ترکیب توابع با حالت (Stateful Functions)
- 69. مدیریت حالت در برنامهنویسی تابعی
- 70. الگوهای مدیریت حالت (State Management Patterns)
- 71. منو (Monads) - مقدماتی
- 72. مفهوم منو
- 73. کاربرد منو در برنامهنویسی تابعی
- 74. منوهای ساده مانند Maybe/Optional
- 75. منوی List/Sequence
- 76. منوی Either
- 77. منوی IO
- 78. استفاده از ترکیب در منوها
- 79. طراحی توابع قابل ترکیب
- 80. اصول طراحی توابع برای قابلیت ترکیب
- 81. تابعتسازی (Currying)
- 82. مفهوم Currying
- 83. تبدیل تابع چند آرگومانه به توابع تک آرگومانه
- 84. مزایای Currying
- 85. کاربرد Currying در ترکیب توابع
- 86. توابع بستهبندی (Partial Application)
- 87. تفاوت Currying و Partial Application
- 88. پیادهسازی Partial Application
- 89. کاربرد Partial Application در ترکیب
- 90. توابع بازگشتی (Recursive Functions)
- 91. مفهوم بازگشت
- 92. تفاوت بازگشت با حلقهها
- 93. پایه بازگشت (Base Case)
- 94. گام بازگشت (Recursive Step)
- 95. مثالهای کلاسیک بازگشت (فاکتوریل، فیبوناچی)
- 96. بهینهسازی بازگشت (Tail Call Optimization)
- 97. بازگشت در ساختارهای داده تابعی
- 98. ترکیب توابع با بازگشت
- 99. توابع مولد (Generator Functions)
- 100. استفاده از توابع مولد در برنامهنویسی تابعی
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.