
وقتی کودک یا نوجوان برای نخستینبار وارد دنیای کدنویسی میشود، واژههایی مانند «الگوریتم»، «متغیر»، «تابع» و «باگ» ممکن است ناآشنا به نظر برسند. اما بیشتر این اصطلاحات با یک مثال ساده قابل فهماند. در این راهنما، ۵۰ اصطلاح رایج برنامهنویسی را از مفاهیم پایه تا اسکرچ و پایتون، کوتاه و کاربردی توضیح میدهیم.
برای آشنایی با تصویر کلی این مهارت، ابتدا میتوانید مطلب برنامهنویسی چیست را بخوانید. این صفحه نقش یک واژهنامه را دارد و هر زمان هنگام مطالعه یا ساخت پروژه با اصطلاحی روبهرو شدید، میتوانید به آن برگردید.
پاسخ سریع: اصطلاحات برنامهنویسی نامهایی هستند که برای توضیح اجزای کد، روش حل مسئله، ابزارهای توسعه و خطاهای برنامه استفاده میشوند. لازم نیست همه آنها را حفظ کنید؛ مهمتر این است که هر اصطلاح را در یک پروژه واقعی ببینید و به کار ببرید.
آنچه در این مقاله میخوانید
جدول سریع اصطلاحات پرکاربرد
| اصطلاح | معنی خیلی کوتاه |
|---|---|
| الگوریتم | مراحل حل مسئله |
| متغیر | محل نگهداری مقدار قابل تغییر |
| شرط | تصمیمگیری بر اساس درست یا نادرست |
| حلقه | تکرار دستورها |
| تابع | بخش قابل استفادهمجدد از کد |
| آرگومان | مقدار واقعی دادهشده به تابع |
| کلاس | الگوی ساخت اشیا |
| باگ | رفتار یا نتیجه ناخواسته |
| اشکالزدایی | پیدا کردن و اصلاح خطا |
| کتابخانه | کدهای آماده قابل فراخوانی |
| API | قرارداد ارتباط نرمافزارها |
| مخزن | محل پروژه و تاریخچه تغییرات |
مفاهیم پایه
۱. برنامه (Program)
مجموعهای از دستورهاست که برای انجام یک کار مشخص نوشته میشود. یک بازی ساده، ماشینحساب یا سامانه ثبتنام، هرکدام یک برنامه هستند.
مثال: وقتی روی دکمه «شروع بازی» میزنید، برنامه دستورهای لازم برای نمایش مرحله اول را اجرا میکند.
۲. کد منبع (Source Code)
متنی است که برنامهنویس با یک زبان برنامهنویسی مینویسد. رایانه معمولاً این متن را مستقیماً نمیفهمد و باید آن را با کمک مترجم یا کامپایلر اجرا کند.
مثال: دستور print در پایتون بخشی از کد منبع است.
۳. سینتکس (Syntax)
قواعد نوشتن یک زبان برنامهنویسی است؛ شبیه دستور زبان در فارسی. اگر ترتیب نشانهها یا کلمات درست نباشد، برنامه خطای نحوی میدهد.
مثال: در پایتون گذاشتن دونقطه بعد از if بخشی از سینتکس است.
۴. الگوریتم (Algorithm)
مجموعهای از گامهای روشن و مرتب برای حل یک مسئله است. الگوریتم قبل از انتخاب زبان برنامهنویسی شکل میگیرد.
مثال: برای ساخت بازی حدس عدد: عددی انتخاب کن، پاسخ کاربر را بگیر، مقایسه کن و راهنمایی بده.
۵. فلوچارت (Flowchart)
نمایش تصویری مراحل یک الگوریتم با شکلها و پیکانهاست. فلوچارت کمک میکند مسیر تصمیمگیری برنامه را پیش از کدنویسی ببینیم.
مثال: یک لوزی میتواند نشان دهد: «آیا امتیاز به ۱۰ رسیده است؟»
۶. متغیر (Variable)
نامی برای نگهداری یک مقدار است؛ مقداری که ممکن است در طول اجرای برنامه تغییر کند.
مثال: متغیر score میتواند امتیاز بازیکن را نگه دارد و بعد از هر پاسخ درست افزایش پیدا کند.
۷. ثابت (Constant)
مقداری است که قرار نیست هنگام اجرای برنامه تغییر کند. استفاده از ثابت، خوانایی کد را بیشتر و احتمال تغییر ناخواسته را کمتر میکند.
مثال: تعداد جان اولیه بازی میتواند بهصورت یک ثابت تعریف شود.
۸. نوع داده (Data Type)
مشخص میکند یک مقدار چه ماهیتی دارد و چه عملیاتهایی روی آن ممکن است؛ مانند عدد، متن یا درست/نادرست.
مثال: عدد ۱۲ با متن «۱۲» یکسان نیست؛ اولی قابل جمعکردن است و دومی رشته متنی است.
۹. عملگر (Operator)
نشانهای برای انجام یک عملیات است؛ مانند جمع، مقایسه یا عملیات منطقی.
مثال: عملگر + برای جمع و == برای بررسی برابر بودن دو مقدار استفاده میشود.
۱۰. عبارت (Expression)
ترکیبی از مقدارها، متغیرها و عملگرهاست که در نهایت یک نتیجه تولید میکند.
مثال: عبارت score + 1 مقدار جدید امتیاز را محاسبه میکند.
۱۱. شرط (Condition)
قانونی است که مشخص میکند برنامه در هر وضعیت چه تصمیمی بگیرد. ساختارهایی مانند if و else بر اساس شرط عمل میکنند.
مثال: اگر پاسخ درست بود، امتیاز اضافه شود؛ در غیر این صورت پیام راهنما نمایش داده شود.
۱۲. حلقه (Loop)
ساختاری برای تکرار بخشی از کد است؛ تا وقتی شرطی برقرار باشد یا به تعداد مشخصی تکرار شود.
مثال: حرکت دشمنان بازی میتواند در یک حلقه دائماً بهروزرسانی شود.
۱۳. تابع (Function)
بخشی نامگذاریشده از کد است که یک کار مشخص انجام میدهد و میتوان آن را چند بار فراخوانی کرد.
مثال: تابع calculate_score میتواند امتیاز هر مرحله را محاسبه کند.
۱۴. پارامتر (Parameter)
نامی است که در تعریف تابع قرار میگیرد تا تابع بتواند دادههای متفاوت دریافت کند.
مثال: در تابع greet(name)، واژه name پارامتر است.
۱۵. آرگومان (Argument)
مقدار واقعیای است که هنگام فراخوانی تابع به آن داده میشود.
مثال: در greet(“سارا”)، واژه «سارا» آرگومان است.
۱۶. مقدار بازگشتی (Return Value)
نتیجهای است که تابع پس از انجام محاسبه به بخش فراخواننده برمیگرداند.
مثال: تابع جمع دو عدد میتواند عدد حاصل را با return برگرداند.
۱۷. آرایه (Array)
ساختاری برای نگهداری چند مقدار همنوع در کنار یکدیگر است. اندازه و قواعد آرایه به زبان برنامهنویسی بستگی دارد.
مثال: آرایهای میتواند امتیاز پنج بازیکن را نگه دارد.
۱۸. لیست (List)
مجموعهای مرتب از چند مقدار است. در پایتون، لیست پویاست و میتواند بزرگ یا کوچک شود.
مثال: فهرست نام مرحلهها را میتوان در یک لیست ذخیره کرد.
۱۹. اندیس (Index)
شماره جایگاه یک عضو در آرایه، لیست یا رشته است. در بسیاری از زبانها شمارش اندیس از صفر شروع میشود.
مثال: در لیست [“آبی”, “سبز”]، مقدار «آبی» در اندیس صفر قرار دارد.
۲۰. رشته متنی (String)
نوع دادهای برای نگهداری متن است؛ از یک حرف تا یک جمله کامل.
مثال: نام بازیکن، پیام خوشآمدگویی و متن یک دکمه همگی میتوانند String باشند.
۲۱. بولین (Boolean)
نوع دادهای با دو مقدار اصلی درست و نادرست است و در تصمیمگیریهای برنامه کاربرد فراوان دارد.
مثال: متغیر is_logged_in مشخص میکند کاربر وارد حساب شده است یا نه.
ساختار برنامه و شیءگرایی
۲۲. کلاس (Class)
الگویی برای تعریف ویژگیها و رفتارهای یک گروه از اشیا است. کلاس خودِ شیء نیست؛ نقشه ساخت آن است.
مثال: کلاس Player میتواند نام، امتیاز و رفتار حرکت بازیکن را تعریف کند.
۲۳. شیء (Object)
نمونهای ساختهشده از یک کلاس است که دادهها و رفتارهای خودش را دارد.
مثال: دو بازیکن متفاوت میتوانند دو شیء جدا از کلاس Player باشند.
۲۴. ویژگی (Property)
اطلاعات یا حالت مربوط به یک شیء است.
مثال: نام، رنگ و سرعت میتوانند ویژگیهای یک شخصیت بازی باشند.
۲۵. متد (Method)
تابعی است که به یک کلاس یا شیء وابسته است و معمولاً رفتار آن را تعریف میکند.
مثال: متد jump میتواند رفتار پریدن شخصیت را اجرا کند.
۲۶. برنامهنویسی شیءگرا (OOP)
روشی برای طراحی برنامه با استفاده از کلاسها و اشیا است. این رویکرد در پروژههای بزرگ به سازماندهی و استفاده دوباره از کد کمک میکند.
مثال: در یک بازی، بازیکن، دشمن و وسیله میتوانند هرکدام کلاس جداگانه داشته باشند.
۲۷. وراثت (Inheritance)
امکانی است که در آن یک کلاس، ویژگیها و رفتارهای پایه را از کلاس دیگری میگیرد و در صورت نیاز گسترش میدهد.
مثال: کلاس FlyingEnemy میتواند ویژگیهای Enemy را به ارث ببرد و قابلیت پرواز اضافه کند.
۲۸. کپسولهسازی (Encapsulation)
یعنی داده و رفتار مرتبط در یک ساختار قرار بگیرند و دسترسی به بخشهای حساس کنترل شود.
مثال: امتیاز بازیکن میتواند فقط از طریق متدی معتبر تغییر کند، نه از هر جای برنامه.
۲۹. رویداد (Event)
اتفاقی است که برنامه میتواند به آن واکنش نشان دهد؛ مانند کلیک، فشردن کلید یا دریافت پیام.
مثال: در اسکرچ، کلیک روی پرچم سبز یک رویداد برای شروع پروژه است.
۳۰. بازگشت یا بازگشتی (Recursion)
حالتی است که یک تابع برای حل نسخه کوچکتری از همان مسئله، خودش را فراخوانی میکند. این روش باید شرط پایان مشخص داشته باشد.
مثال: محاسبه فاکتوریل یا پیمایش پوشههای تودرتو میتواند با بازگشت انجام شود.
اجرا، خطا و ابزارهای توسعه
۳۱. کامپایلر (Compiler)
ابزاری است که کد منبع را پیش از اجرا به شکل دیگری مانند کد ماشین یا بایتکد تبدیل میکند.
مثال: کامپایلر جاوا کد را به بایتکدی تبدیل میکند که ماشین مجازی جاوا اجرا میکند.
۳۲. مفسر (Interpreter)
ابزاری است که دستورهای برنامه را هنگام اجرا میخواند و اجرا میکند. مرز میان کامپایل و تفسیر در زبانهای امروزی همیشه کاملاً ساده نیست.
مثال: پایتون معمولاً در آموزش بهعنوان زبان تفسیری معرفی میشود.
۳۳. محیط توسعه یکپارچه (IDE)
نرمافزاری برای نوشتن، اجرا و اشکالزدایی کد است که ابزارهای مختلف را در یک محیط جمع میکند.
مثال: PyCharm و Visual Studio Code نمونههایی از محیطهای توسعه هستند.
۳۴. باگ (Bug)
اشکال یا رفتاری ناخواسته در برنامه است. باگ ممکن است از اشتباه در منطق، داده یا تعامل بخشهای مختلف ایجاد شود.
مثال: اگر امتیاز پس از پاسخ غلط افزایش پیدا کند، برنامه یک باگ منطقی دارد.
۳۵. اشکالزدایی (Debugging)
فرایند پیدا کردن علت خطا و اصلاح آن است. اشکالزدایی فقط حذف پیام خطا نیست؛ گاهی باید منطق برنامه بررسی شود.
مثال: چاپ مقدار متغیرها یا اجرای خطبهخط کد به پیدا کردن مشکل کمک میکند.
۳۶. خطای نحوی (Syntax Error)
زمانی رخ میدهد که کد با قواعد نوشتاری زبان سازگار نیست.
مثال: جا افتادن پرانتز یا دونقطه میتواند خطای نحوی ایجاد کند.
۳۷. خطای زمان اجرا (Runtime Error)
پس از شروع اجرای برنامه رخ میدهد؛ یعنی کد از نظر نوشتاری پذیرفته شده، اما هنگام اجرا با وضعیت نامعتبر روبهرو میشود.
مثال: تقسیم عدد بر صفر میتواند خطای زمان اجرا ایجاد کند.
۳۸. خطای منطقی (Logic Error)
برنامه اجرا میشود اما نتیجه درست نیست، چون الگوریتم یا شرطها اشتباه طراحی شدهاند.
مثال: اگر میانگین نمرهها با فرمول غلط محاسبه شود، خطای منطقی داریم.
ابزارها و اجزای پروژه
۳۹. کتابخانه (Library)
مجموعهای از کدهای آماده است که برنامهنویس در صورت نیاز آنها را فراخوانی میکند.
مثال: یک کتابخانه میتواند ابزارهای رسم نمودار یا کار با تصویر را فراهم کند.
۴۰. فریمورک (Framework)
چارچوبی برای ساخت نرمافزار است که ساختار کلی و قواعد توسعه را مشخص میکند. برخلاف کتابخانه، فریمورک معمولاً جریان اصلی برنامه را نیز هدایت میکند.
مثال: Django یک فریمورک پایتون برای ساخت برنامههای وب است.
۴۱. رابط برنامهنویسی کاربردی (API)
قراردادی برای ارتباط دو بخش نرمافزاری است؛ مشخص میکند چه درخواستهایی پذیرفته میشود و چه پاسخی برمیگردد.
مثال: یک اپلیکیشن هواشناسی میتواند اطلاعات دما را از API دریافت کند.
۴۲. پایگاه داده (Database)
سامانهای برای ذخیره، سازماندهی و بازیابی دادههاست.
مثال: نام کاربر، پروژهها و امتیازها میتوانند در پایگاه داده ذخیره شوند.
۴۳. کنترل نسخه (Version Control)
روشی برای ثبت تغییرات فایلها و بازگشت به نسخههای قبلی است. Git یکی از پرکاربردترین ابزارهای کنترل نسخه است.
مثال: اعضای یک تیم میتوانند تغییرات خود را ثبت و با هم ادغام کنند.
۴۴. مخزن (Repository)
محلی برای نگهداری فایلهای پروژه و تاریخچه تغییرات آن در یک سامانه کنترل نسخه است.
مثال: یک Repository در GitHub میتواند کد، مستندات و تاریخچه پروژه را نگه دارد.
۴۵. ماژول (Module)
بخشی مستقل و قابل استفادهمجدد از برنامه است. در پایتون، هر فایل با پسوند py میتواند یک ماژول باشد.
مثال: فایل math_tools.py میتواند توابع محاسباتی پروژه را نگه دارد.
۴۶. بسته (Package)
مجموعهای سازمانیافته از ماژولهای مرتبط است. در پایتون جدید، بستهها همیشه به وجود فایل __init__.py محدود نیستند.
مثال: یک بسته میتواند ماژولهای مربوط به کاربران، پرداخت و گزارشها را جدا کند.
۴۷. محیط مجازی (Virtual Environment)
محیطی جدا برای نصب وابستگیهای هر پروژه پایتون است تا نسخه کتابخانهها با پروژههای دیگر تداخل نداشته باشد.
مثال: پروژه A میتواند نسخهای از یک کتابخانه داشته باشد و پروژه B نسخهای دیگر.
اصطلاحات مهم در اسکرچ
اسکرچ از کدنویسی بلوکی استفاده میکند؛ یعنی دستورها بهجای تایپ شدن، مانند قطعات پازل کنار هم قرار میگیرند. برای توضیح بیشتر، راهنمای برنامهنویسی بلوکی چیست را ببینید.
۴۸. بلوک (Block)
هر قطعه دستور در محیط اسکرچ است که با کنار هم قرار گرفتن بلوکها، برنامه ساخته میشود.
مثال: بلوک «۱۰ قدم حرکت کن» رفتار شخصیت را تغییر میدهد.
۴۹. اسپرایت یا شخصیت (Sprite)
موجودیتی در پروژه اسکرچ است که میتواند ظاهر، صدا، متغیر و کد مخصوص خودش را داشته باشد.
مثال: گربه معروف اسکرچ یک Sprite است.
۵۰. صحنه (Stage)
فضای اصلی نمایش پروژه اسکرچ است. پسزمینهها و بعضی کدهای عمومی پروژه روی Stage قرار میگیرند.
مثال: در یک بازی فضایی، تصویر کهکشان میتواند پسزمینه Stage باشد.
اگر فرزندتان با اسکرچ کار میکند، دیدن این مفاهیم در یک پروژه بسیار مؤثرتر از حفظ کردن آنهاست. صفحه دوره اسکرچ مسیر پروژهمحور این آموزش را توضیح میدهد.
اصطلاحات را چگونه بهتر یاد بگیریم؟
- هر اصطلاح را به یک کار واقعی وصل کنید. برای «متغیر» یک امتیاز بسازید؛ برای «شرط» برد و باخت را تعریف کنید.
- با پروژه کوچک شروع کنید. یک بازی حدس عدد یا داستان تعاملی، چند مفهوم را همزمان نشان میدهد.
- بهجای حفظ تعریف، کد را تغییر دهید. مقدارها و شرطها را عوض کنید و نتیجه را ببینید.
- خطا را بخشی از یادگیری بدانید. پیدا کردن باگ، تمرین واقعی حل مسئله است.
- واژهها را متناسب با مسیر یادگیری بخوانید. برای شروع عملی، راهنمای چگونه برنامهنویسی را شروع کنیم کمککننده است.
برای نوجوانانی که وارد مرحله متنی شدهاند، مقاله مبانی برنامهنویسی پایتون و صفحه دوره پایتون آکادمی یاسان نمونههای بیشتری از کاربرد متغیر، تابع، لیست و ماژول ارائه میکنند.
سؤالات متداول
آیا لازم است همه اصطلاحات برنامهنویسی را حفظ کنیم؟
خیر. شناخت معنی کلی و دیدن کاربرد آنها در پروژه کافی است. با تمرین، واژههای پرتکرار بهصورت طبیعی در ذهن میمانند.
تفاوت تابع و متد چیست؟
هر دو بخشی از کد برای انجام یک کار مشخصاند، اما متد به یک کلاس یا شیء وابسته است؛ تابع میتواند مستقل باشد.
تفاوت پارامتر و آرگومان چیست؟
پارامتر نامی است که هنگام تعریف تابع نوشته میشود؛ آرگومان مقدار واقعیای است که زمان فراخوانی به تابع میدهیم.
برای کودکان، اسکرچ بهتر است یا پایتون؟
انتخاب به سن، تجربه و آمادگی کودک بستگی دارد. اسکرچ معمولاً برای شروع تصویری مناسبتر است و پایتون برای نوجوانانی که آماده کدنویسی متنیاند. راهنمای انتخاب زبان برنامهنویسی برای کودکان این تفاوت را دقیقتر توضیح میدهد.
فرق خطای نحوی و خطای منطقی چیست؟
در خطای نحوی، کد با قواعد زبان سازگار نیست و معمولاً اجرا نمیشود؛ در خطای منطقی، برنامه اجرا میشود اما نتیجه اشتباه است.
جمعبندی
اصطلاحات برنامهنویسی زمانی مفیدند که به درک بهتر پروژه کمک کنند، نه اینکه به فهرستی برای حفظ کردن تبدیل شوند. از الگوریتم و متغیر تا باگ، API و محیط مجازی، هر واژه بخشی از فرایند فکر کردن، ساختن و اصلاح کردن است. بهترین روش یادگیری این مفاهیم، ساخت پروژههای کوچک و گفتوگو درباره تصمیمهایی است که در کد گرفته میشود.
مشاوره رایگان
برای اطلاعات بیشتر با مشاورین متخصص ما در ارتباط باشید.
"*" indicates required fields



