09982292579
info@mehraeen.ac.ir
فارسی پرچم
فارسی
یک زبان را انتخاب کنید
فارسی پرچم
فارسی
0
دسته ها
خانه تقویم‌آموزشی مدرس وبلاگ چارت‌‌دروس تماس‌با‌ما درباره‌ما انجمن‌ها
طراحی زبان های برنامه سازی

جلسه دوم

پارادایم‌های برنامه‌نویسی: رویه‌ای، شیءگرا، تابعی و منطقی
زمان مطالعه
20 دقیقه

جلسه ۲: پارادایم‌های برنامه‌نویسی

(رویه‌ای، شیءگرا، تابعی، منطقی)

۱. مقدمه

پارادایم‌های برنامه‌نویسی شیوه‌های متفاوتی برای فکر کردن دربارهٔ ساخت برنامه و حل مسئله هستند. هر پارادایم مجموعه‌ای از مفاهیم، ساختارها و الگوهای ذهنی را ارائه می‌دهد که برنامه‌نویس بر اساس آن‌ها برنامه می‌نویسد. زبان‌ها ممکن است یک‌پارادایمی یا چندپارادایمی باشند.


۲. پارادایم رویه‌ای (Procedural)

مفهوم اصلی


  • برنامه به صورت دنباله‌ای از دستورات نوشته می‌شود.

  • مشکل به چند رویه/تابع تقسیم می‌شود.

  • داده و عملیات جدا از هم هستند.

ویژگی‌ها


  • اجرای خطی و گام‌به‌گام.

  • استفاده از متغیرها، حلقه‌ها، شرط‌ها.

  • تمرکز بر «چگونه انجام دادن کار».

مثال زبان‌ها

C، Pascal، Fortran، بخش پایهٔ Python.

مزایا


  • ساده و قابل فهم برای اکثر مسائل پایه.

  • مناسب برای الگوریتم‌های مرحله‌به‌مرحله.

معایب


  • پیچیدگی کنترل حالت (state) زیاد می‌شود.

  • مدیریت داده‌ها دشوارتر است.


۳. پارادایم شیءگرا (Object-Oriented)

مفهوم اصلی


  • برنامه از اشیا تشکیل شده که داده + رفتار را همراه دارند.

  • اشیا بر پایهٔ کلاس‌ها ساخته می‌شوند.

اصول مهم


  • Encapsulation: پنهان‌سازی داده‌ها

  • Inheritance: ارث‌بری

  • Polymorphism: چندریختی

  • Abstraction: انتزاع

دیدگاه


  • تمرکز بر «مدل‌سازی چیزهای دنیای واقعی».

مثال زبان‌ها

Java، C++، C#, Python (پشتیبانی قوی)، Ruby.

مزایا


  • ساختارمند، مناسب برای پروژه‌های بزرگ.

  • امکان استفاده مجدد از کد.

معایب


  • یادگیری اولیه سخت‌تر.

  • برخی مسائل ساختار شیءگرا نمی‌طلبند.


۴. پارادایم تابعی (Functional)

مفهوم اصلی


  • برنامه مجموعه‌ای از توابع خالص است.

  • پرهیز از تغییر حالت و دادهٔ قابل‌تغییر (immutable data).

  • «چه چیزی می‌خواهیم» مهم‌تر از «چگونه انجام می‌شود».

ویژگی‌ها


  • توابع خالص (خروجی فقط به ورودی بستگی دارد).

  • عدم وجود side effect.

  • پشتیبانی قوی از بازگشت (recursion).

مثال زبان‌ها

Haskell، Lisp، Scheme، OCaml، Scala، Rust (تا حدی)، Python (تا حدی).

مزایا


  • کد قابل پیش‌بینی و تست آسان.

  • مناسب برای پردازش داده، محاسبات موازی و توزیع‌شده.

معایب


  • سختی برای افرادی که به سبک امری عادت دارند.

  • گاهی کارایی پایین‌تر در کارهای نزدیک به سخت‌افزار.


۵. پارادایم منطقی (Logic Programming)

مفهوم اصلی


  • برنامه مجموعه‌ای از قوانین و حقایق منطقی است.

  • کامپیوتر با استفاده از این قوانین، نتیجه را استنتاج می‌کند.

دیدگاه


  • به جای تعیین نحوهٔ حل مسئله، چه چیزی درست است را بیان می‌کنیم.

  • مبتنی بر منطق گزاره‌ای و مرتبه اول.

مثال زبان‌ها

Prolog، Datalog.

ساختار کلی


  • Fact: تعریف حقیقت

  • Rule: بیان رابطه

  • Query: پرسش از سیستم

مزایا


  • مناسب برای مسائل جستجو، اثبات، هوش مصنوعی، برنامه‌ریزی.

  • کد بسیار فشرده و بیان‌گر.

معایب


  • برای مسائل عددی و الگوریتم‌های گام‌به‌گام ایده‌آل نیست.

  • یادگیری سبک تفکر منطقی زمان‌بر است.


۶. مقایسه کوتاه چهار پارادایم




























































  • رویه‌ای: تمرکز بر دستورها و مراحل

  • شیءگرا: تمرکز بر اشیا و تعامل آن‌ها

  • تابعی: تمرکز بر توابع خالص و بدون حالت

  • منطقی: تمرکز بر حقایق و قوانین و استنتاج
درس متنی 2/14
در حال مشاهده
جلسه دوم