شبه کد (به انگلیسی: pseudocode)روشی سریع، فشرده و غیررسمی برای توضیح یک الگوریتم کامپیوتری است که از ساختارهای معمول بعضی از زبانهای برنامه نویسی استفاده می کند که برای خوانده شدن توسط انسان و نه ماشین طراحی شده است. شبه کد معمولاً فاقد جزئیاتی است که کامپیوتر بتواند بدون آن ها الگوریتم را بفهمد مثل تعریف متغیرها، کدهای وابسته به سیستم (سیستم عامل های مختلف یا غیره) و زیرروالها. در شبه کدها معمولاً برای راحتی از زبان محاوره معمولی یا علامتهای ریاضی نیز استفاه می کنند. هدف از استفاه از شبه کد این است که فهم آن ساده تر از زبان های برنامه نویسی است.
کتاب های درسی و منتشرات علمی مربوط به کامپیوتر و محاسبات عددی غالباً از شبه کد برای بیان الگوریتم ها استفاده می کنند، تا برنامه نویسان آن ها را بفهمند، حتی اگر آن ها تمام آن زبان برنامه نویسی را بلد نباشند. در کتاب های درسی، معمولاً بخشی برای معرفی قراردادها و توضیح ویژگی کدها و سبک کدنویسی وجود دارد تا خواننده بتواند منظور نویسنده را به سادگی متوجه شود و در طول مطالعه کتاب مشکلی با کدهای نوشته شده در کتاب نداشته باشد. میزان جزئیات این زبان ها ممکن است در برخی موارد به زبان های همه منظوره رسمی نزدیک باشد –برای مثال، کتاب مرجع کنوت " هنر برنامه نویسی کامپیوتر" الگوریتم ها را در زبان اسمبلی کاملاً صریح که برای ریزپردازنده ناموجود است نوشته شده است.برنامه نویسی که می خواهد الگوریتم مشخصی را پیاده کند، مخصوصاً الگوریتمی که با آن آشنایی ندارد، غالباً با توضیح شبه کد آن شروع خواهد کرد، و سپس آن شرح را به سادگی به زبان برنامه نویسی هدف ترجمه خواهد کرد و سپس آن را تغییر خواهد داد تا به درستی با سایر قسمت های برنامه هماهنگی داشته باشد. برنامه نویسان ممکن است همچنین یک پروژه را با بیان کلیات آن به صورت شبه کد و بر روی کاغذ شروع کنند و سپس آن را به زبان واقعی بنویسند، به عنوان یک روش حل ساختاری بالا به پایین.
همانگونه که از اسم آن مشخص است، شبه کد معمولاً از گرامر هیچ زبان مشخصی پیروی نمی کند، و هیچ فرم سیستماتیک استاندارد یا ساخت یافته ای وجود ندارد، هرچند هر نویسنده ای ممکن است به طور کلی سبک و گرامر زبان خاصی را استفاده کند برای مثال ممکن است برای بیان کدهای درون یک بلوک مانند زبان های برنامه نویسی C و جاوا از گیومه استفاده کند یا اینکه صرفاً مانند زبان برنامه نویسی پایتون از فاصله ها استفاده کند. انتخاب روش نوشتن شبه کد قراردادی است که نویسنده دارد و می تواند مستقل از یک زبان برنامه نویسی خاص باشد. اما نویسندگان معمولاً از گرامر و سبک زبان های محبوب و معروفی مثل پاسکال، بیسیک، C،C++، جاوا، لیسپ و ALGOL استفاده می کنند. تعریف متغیرها در یک شبه کد ذکر نمی شود. صدا کردن توابع و بلوک ها برای مثال کدهای درون حلقه غالباً با کد یک خطی طبیعی جایگزین می شوند.در نتیجه وابسته به نویسنده، شبه کد ممکن است در سبک و سیاق گستردگی زیادی داشته باشد، از پیاده سازی تقریباً دقیق یک زبان مشخص در یک سو تا توصیف توضیحی کد به زبان انسانی در سوی دیگر.
<variable> = <expression>if <condition> do stuffelse do other stuffwhile <condition> do stufffor <variable> from <first value> to <last value> by <step> do stuff with variablefunction <function name>(<arguments>) do stuff with arguments return something<function name>(<arguments>) // Function callبرای دیدن مثال های بیشتر می توانی به مقالات با مثال های شبه کد مراجعه کنید.
کتاب های درسی و منتشرات علمی مربوط به کامپیوتر و محاسبات عددی غالباً از شبه کد برای بیان الگوریتم ها استفاده می کنند، تا برنامه نویسان آن ها را بفهمند، حتی اگر آن ها تمام آن زبان برنامه نویسی را بلد نباشند. در کتاب های درسی، معمولاً بخشی برای معرفی قراردادها و توضیح ویژگی کدها و سبک کدنویسی وجود دارد تا خواننده بتواند منظور نویسنده را به سادگی متوجه شود و در طول مطالعه کتاب مشکلی با کدهای نوشته شده در کتاب نداشته باشد. میزان جزئیات این زبان ها ممکن است در برخی موارد به زبان های همه منظوره رسمی نزدیک باشد –برای مثال، کتاب مرجع کنوت " هنر برنامه نویسی کامپیوتر" الگوریتم ها را در زبان اسمبلی کاملاً صریح که برای ریزپردازنده ناموجود است نوشته شده است.برنامه نویسی که می خواهد الگوریتم مشخصی را پیاده کند، مخصوصاً الگوریتمی که با آن آشنایی ندارد، غالباً با توضیح شبه کد آن شروع خواهد کرد، و سپس آن شرح را به سادگی به زبان برنامه نویسی هدف ترجمه خواهد کرد و سپس آن را تغییر خواهد داد تا به درستی با سایر قسمت های برنامه هماهنگی داشته باشد. برنامه نویسان ممکن است همچنین یک پروژه را با بیان کلیات آن به صورت شبه کد و بر روی کاغذ شروع کنند و سپس آن را به زبان واقعی بنویسند، به عنوان یک روش حل ساختاری بالا به پایین.
همانگونه که از اسم آن مشخص است، شبه کد معمولاً از گرامر هیچ زبان مشخصی پیروی نمی کند، و هیچ فرم سیستماتیک استاندارد یا ساخت یافته ای وجود ندارد، هرچند هر نویسنده ای ممکن است به طور کلی سبک و گرامر زبان خاصی را استفاده کند برای مثال ممکن است برای بیان کدهای درون یک بلوک مانند زبان های برنامه نویسی C و جاوا از گیومه استفاده کند یا اینکه صرفاً مانند زبان برنامه نویسی پایتون از فاصله ها استفاده کند. انتخاب روش نوشتن شبه کد قراردادی است که نویسنده دارد و می تواند مستقل از یک زبان برنامه نویسی خاص باشد. اما نویسندگان معمولاً از گرامر و سبک زبان های محبوب و معروفی مثل پاسکال، بیسیک، C،C++، جاوا، لیسپ و ALGOL استفاده می کنند. تعریف متغیرها در یک شبه کد ذکر نمی شود. صدا کردن توابع و بلوک ها برای مثال کدهای درون حلقه غالباً با کد یک خطی طبیعی جایگزین می شوند.در نتیجه وابسته به نویسنده، شبه کد ممکن است در سبک و سیاق گستردگی زیادی داشته باشد، از پیاده سازی تقریباً دقیق یک زبان مشخص در یک سو تا توصیف توضیحی کد به زبان انسانی در سوی دیگر.
<variable> = <expression>if <condition> do stuffelse do other stuffwhile <condition> do stufffor <variable> from <first value> to <last value> by <step> do stuff with variablefunction <function name>(<arguments>) do stuff with arguments return something<function name>(<arguments>) // Function callبرای دیدن مثال های بیشتر می توانی به مقالات با مثال های شبه کد مراجعه کنید.
wiki: شبه کد