شبه کد 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"; }
به عنوان مثالی دیگر در سودوکد ساده زیر، شیوه بررسی نمره دانشجویان و تعیین وضعیت قبولی یا عدم قبولی آنها نمایش داده شده است.

کاربردها و روش های جایگزین
معمولا در کتابهای آموزشی رایانه و سایر حوزه ها از شبه کدها برای توصیف الگوریتم های مختلف استفاده میشود. علاوه بر این در مقالات و مستندات علمی نیز از همین روش برای بیان مراحل انجام یک الگوریتم یا ایده علمی کمک گرفته میشود. گفتنی است برخی از برنامه نویسان و مدیران پروژه های برنامه نویسی از سودوکدها برای ایجاد طرح اولیه پیش از نوشتن کد اصلی بهره میبرند.
فلوچارت و نمودار UML از روشهای گرافیکی رایجی هستند که میتوانند جایگزین مناسبی برای روش متنی و تخصصی سودوکد باشند. با این وجود، از آنجایی که روشهای گرافیکی به فضای بیشتری نیاز دارند و معمولا فهم آنها نیازمند دقت و درگیری بیشتر خواننده است استفاده از شبه کدها همچنان از محبوبیت بالاتری به خصوص در مقالات علمی و آموزشی برخوردار است.
پیوندهای پیشنهادی تک دیک
سلام
وقتتون بخیر
میشه لطفا بهم بگید الگوریتم های بهینه سازی مسیریابی چند هدفه منابعی رو دارند جهت ایجاد شبه کد؟
متشکرم ازتون
سلام وقت شما هم بخیر
براساس روش بهینه سازی و مقاله های اصلی ش می تونید شبه کد رو خودتون ایجاد کنید. البته معمولا داخل مقاله های علمی، شبه کد یا فلوچارت الگوریتم نوشته شده.
با سلام
در چه برنامه ای می توانم شبه کد Pseudocode بنویسم و کمپایلش کنم
متشکرم
سلام؛ طبیعتا هدف از ایجاد شبه کد، یک برنامه کامل کامپایل شده نیست. چرا که شبه کد همونطور که از اسمش پیداست دقیقا یک کد نوشته شده به یک زبان کامپیوتری نیست. با این حال می تونید با جستجویی ساده در اینترنت (برای مثال Pseudocode compiler) نمونه هایی از چیزی که مدنظرتون هست رو پیدا کنید.
سلام
من باید بازی سودوکو رو طراحی کنم. اما هیچ جا الگوریتم یا شبه کد اون رو پیدا نمیکنم. ممکنه راهنماییم کنید؟
متشکرم.
سلام.
معمولا نمیشه انتظار داشت پروژه های کامل و مفصلی مثل بازی سودوکو رو بتونید به شکل الگوریتم یا شبه کد پیدا کنید. شما باید قطعه به قطعه بازی رو با توجه به نحوه عملکردش و همین طور قوانین و … طراحی کنید. البته که احتمالا می تونید نسخه های منبع باز (Open source) و معتبر این بازی رو هم پیدا کنید که برای یادگیری قطعا می تونه مطالعه کدهای حرفه ای اون ها بهتون کمک کنه.