پیشنهاد شده است که این مقاله با کد رایانهادغام شود. (بحث) پیشنهاد شده از سپتامبر ۲۰۲۱.
برنامهٔ رایانهای (به انگلیسی: Computer Program) مجموعهای از الگوریتم یا دستورالعملها است که رایانه برای انجام یک کار مشخّص آن را اجرا میکند. رایانه برای انجام کارهایش به برنامهها نیاز دارد و معمولاً هر برنامه را در یک واحد پردازش مرکزی اجرا میکند.
معمولاً برنامههای رایانهای توسط یک برنامهنویس و تحت یک زبان برنامهنویسی نوشته میشوند. به مجموعهای از برنامهها [[کتابخانه
(را
یانه)|کتابخانهها]] (ماژول) و دادههای مرتبط با آنها نرمافزار میگویند.[۱]
مجموعهٔ کارهایی که برنامه انجام میدهد، الگوریتم نامیده میشود.
کلّیترین دستهبندی زبانهای برنامهنویسی، آنها را به دو دستهٔ سطح بالا و سطح پایین تقسیم میکند. زبانهای سطح بالا مستقل از پلتفرم هستند و در آنها میتوان از کلیدواژههای انگلیسی برای نوشتن برنامه استفاده کرد. به عبارت دیگر این زبانها به توصیف مسائل به زبان انسان متمرکز هستند. در نقطهٔ مقابل زبانهای سطح پایین مستقیماً به دستورهای پردازنده دسترسی دارند.
زبانهای سطح بالا به دو دستهٔ دستوری و اعلانی تقسیم میشوند.[۲]
در زبانهای دستوری، برای اجرای یک الگوریتم از تعریفها، عبارتها و جملهها استفاده میشود.
یک تعریف، نوع دادهٔ یک متغیّر را مشخّص میکند؛ مثلاً ;int x
یک عبارت یک مقدار را مشخّص میکند؛ مثلاً y + 2
یک جمله مقدار یک عبارت را به یک متغیّر نسبت میدهد یا از یک متغیّر برای تغییر جریان کنترل برنامه استفاده میکند؛ مثلاً ;z = pow(2,5)
زبانهای اعلانی، بیشتر از نحوهٔ انجام کار بر کاری که باید انجام شود تمرکز دارند. این رویکرد باعث میشود امکان تغییردادن نواحی بیرونی به یک تابع یا عبارت دادهنشود و در نتیجه از بروز اثرات جانبی جلوگیری شود. این زبانها به سه دستهٔ اصلی تابعی، منطقی و پرسمانی تقسیم میشوند.
نحوهٔ اجرای برنامه
قسمتی از برنامه که برای انسان قابل درک است کد منبع و قسمتی که برای رایانه مستقیماً قابل اجرا است، کد ماشین نامیده میشود. وظیفهٔ تبدیل کد منبع به کد ماشین به عهدهٔ کامپایلر، مفسّر یا اسمبلر است.
تقسیمبندی عملکردی
میتوان برنامهها را با توجّه به عملکرد به دو دستهٔ اصلی تقسیم کرد:
نرمافزارهای سیستمی برای سرویسدادن به سایر نرمافزارها طرّاحی میشوند. این برنامهها عمدتاً با سختافزار در تعامل هستند و با کاربر بهطور مستقیم ارتباطی ندارند. مانند سیستم عامل، درایور، نرمافزارهای جاسازیشده، موتورهای گرافیکی و غیره. بخشهایی از سیستمعامل که دارای رابط کاربری هستند بهعنوان نرمافزار کاربردی انگاشته میشوند.