تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

شبه کد Pseudocode

شبه کد یا Pseudocode چیست؟

شبه کد یا سودوکد (Pseudocode) توصیفی سطح بالا از عملکرد یک برنامه یا الگوریتم رایانه ای می‌باشد. این توصیفات اغلب با هدف خوانده شدن توسط انسان‌ها شکل می‌گیرند و همانطور که از نام آن‌ها برمی‌آید برخلاف کدهای نوشته شده به یک زبان برنامه نویسی لزوما از یک نحوه نگارش کاملا قانونمند پیروی نمی‌کنند.

فهم عملکرد شبه کدها در مقایسه با کدهایی که به یک زبان برنامه نویسی خاص نوشته شده‌اند آسانتر است و از همینرو به عنوان راهکاری رایج و مستقل از زبان برای توصیف ایده و اصول کلی الگوریتم مورد استفاده قرار می‌گیرند.

نحوه نگارش شبه کد

در نگارش شبه کد از ترکیب برخی قراردادها و ویژگی‌های ساختاری زبان‌های برنامه‌نویسی در کنار زبان طبیعی (معمولا زبان انگلیسی) استفاده می‌شود و تلاش می‌شود تمام آنچه برای عملیاتی نمودن کد، مورد نیاز است به شکلی خلاصه و قابل فهم بیان شود. در عین حال در سودوکد از ذکر جزئیاتی نظیر تعریف متغیرها، نحوه انجام اعمال بدیهی و شیوه محاسبه یک فرمول ریاضی خودداری می‌شود.

استاندارد خاصی برای نحوه نوشتن سودوکدها وجود ندارد اما معمولا در آن‌ها از برخی سینتکس های اصلی زبان های برنامه نویسی نظیر حلقه‌ها، دستورات شرطی، نحوه تعریف توابع و … پیروی می‌شود. این بخش ها بنا به سلیقه یا ترجیح متخصص معمولا مبتنی بر زبان‌های برنامه نویسی رایجی نظیر بیسیک، C، پاسکال، C++ و جاوا نوشته می‌شوند.

به عنوان نمونه شبه کد زیر به فرم زبان C++ تابعی را نشان می‌دهد که اعداد 1 تا 100 را مرور کرده و برای اعداد زوج عبارت “Even” و برای اعداد فرد عبارت “Odd” را در خروجی چاپ می‌کند. همان‌طور که مشاهده می‌کنید در این مثال نحوه نگارش توابع، حلقه‌ها و … مشابه با زبان C++ است.

void evenodd()
{
    For (i=1;i<=100;i++)
        if i is divisible by 2
            print "Even";
        else
            print "Odd";
}

به عنوان مثالی دیگر در سودوکد ساده زیر، شیوه بررسی نمره دانشجویان و تعیین وضعیت قبولی یا عدم قبولی آن‌ها نمایش داده شده است.

شبه کد - سودوکد Pseudocode
نمونه ای از یک شبه کد برای تعیین وضعیت نمره دانشجویان

کاربردها و روش های جایگزین

معمولا در کتاب‌های آموزشی رایانه و سایر حوزه ها از شبه کدها برای توصیف الگوریتم های مختلف استفاده می‌شود. علاوه بر این در مقالات و مستندات علمی نیز از همین روش برای بیان مراحل انجام یک الگوریتم یا ایده علمی کمک گرفته می‌شود. گفتنی است برخی از برنامه نویسان و مدیران پروژه های برنامه نویسی از سودوکدها برای ایجاد طرح اولیه پیش از نوشتن کد اصلی بهره می‌برند.

فلوچارت و نمودار UML از روش‌های گرافیکی رایجی هستند که می‌توانند جایگزین مناسبی برای روش متنی و تخصصی سودوکد باشند. با این وجود، از آنجایی که روش‌های گرافیکی به فضای بیشتری نیاز دارند و معمولا فهم آن‌ها نیازمند دقت و درگیری بیشتر خواننده است استفاده از شبه کدها همچنان از محبوبیت بالاتری به خصوص در مقالات علمی و آموزشی برخوردار است.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

6 thoughts on “شبه کد Pseudocode

  • مهرگان

    سلام
    وقتتون بخیر
    میشه لطفا بهم بگید الگوریتم های بهینه سازی مسیریابی چند هدفه منابعی رو دارند جهت ایجاد شبه کد؟
    متشکرم ازتون

    پاسخ دادن
    • امیرحسین شهسواری

      سلام وقت شما هم بخیر
      براساس روش بهینه سازی و مقاله های اصلی ش می تونید شبه کد رو خودتون ایجاد کنید. البته معمولا داخل مقاله های علمی، شبه کد یا فلوچارت الگوریتم نوشته شده.

      پاسخ دادن
  • H. golzar

    با سلام
    در چه برنامه ای می توانم شبه کد Pseudocode بنویسم و کمپایلش کنم
    متشکرم

    پاسخ دادن
    • امیرحسین شهسواری

      سلام؛ طبیعتا هدف از ایجاد شبه کد، یک برنامه کامل کامپایل شده نیست. چرا که شبه کد همونطور که از اسمش پیداست دقیقا یک کد نوشته شده به یک زبان کامپیوتری نیست. با این حال می تونید با جستجویی ساده در اینترنت (برای مثال Pseudocode compiler) نمونه هایی از چیزی که مدنظرتون هست رو پیدا کنید.

      پاسخ دادن
  • زهرا سادات حسینی

    سلام
    من باید بازی سودوکو رو طراحی کنم. اما هیچ جا الگوریتم یا شبه کد اون رو پیدا نمیکنم. ممکنه راهنماییم کنید؟
    متشکرم.

    پاسخ دادن
    • امیرحسین شهسواری

      سلام.
      معمولا نمیشه انتظار داشت پروژه های کامل و مفصلی مثل بازی سودوکو رو بتونید به شکل الگوریتم یا شبه کد پیدا کنید. شما باید قطعه به قطعه بازی رو با توجه به نحوه عملکردش و همین طور قوانین و … طراحی کنید. البته که احتمالا می تونید نسخه های منبع باز (Open source) و معتبر این بازی رو هم پیدا کنید که برای یادگیری قطعا می تونه مطالعه کدهای حرفه ای اون ها بهتون کمک کنه.

      پاسخ دادن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *