متغیر؛ نامی برای محل ذخیرهٔ داده در حافظه
متغیر چیست و چه کاربردی دارد؟
فرض کنید میخواهید نمرهٔ ریاضی خود را در یک دفتر یادداشت کنید. برای این کار، یک صفحه را انتخاب کرده و روی آن مینویسید «نمرهٔ ریاضی» و بعد عدد نمره را در کنار آن میگذارید. در دنیای برنامهنویسی، دقیقاً همین کار انجام میشود؛ با این تفاوت که بهجای دفتر، از حافظهٔ رایانه استفاده میکنیم. به این محل ذخیرهسازی، «متغیر» میگوییم. متغیر در واقع یک محفظهٔ نامدار در حافظه است که میتوانیم هر نوع دادهای را در آن قرار دهیم.
هر متغیر سه ویژگی اصلی دارد: نام، نوع و مقدار. نام، شناسهای است که به آن متغیر میدهیم تا بتوانیم در ادامهٔ برنامه به آن اشاره کنیم. نوع، مشخص میکند که آن متغیر چه دادههایی را میتواند در خود نگه دارد؛ مانند عدد، متن یا ارزش درست/نادرست. مقدار نیز همان دادهای است که در متغیر ذخیره میکنیم. برای نمونه، اگر بخواهیم سن خود را در برنامه ذخیره کنیم، یک متغیر با نام «سن» و مقدار عددی ۱۴ تعریف میکنیم.
یکی از کاربردهای مهم متغیرها، تغییرپذیری آنهاست. یعنی میتوانیم در طول اجرای برنامه، مقدار یک متغیر را عوض کنیم. مثلاً اگر سن شما یک سال بعد ۱۵ شود، کافی است مقدار متغیر «سن» را به ۱۵ تغییر دهیم، بدون اینکه نیاز به تعریف متغیر جدیدی داشته باشیم.
کاربرد متغیرها در زندگی روزمره
فرض کنید در حال انجام یک بازی رایانهای هستید که امتیاز شما را شمارش میکند. در پشت صحنهٔ این بازی، یک متغیر به نام «امتیاز» وجود دارد که هر بار یک عمل موفق انجام میدهید، مقدار آن افزایش مییابد. یا وقتی در یک نرمافزار پیامرسان، نام خود را وارد میکنید، آن نام در یک متغیر ذخیره میشود تا در همهٔ قسمتهای برنامه، همان نام برای شما نمایش داده شود.
همچنین در یک برنامهٔ سادهٔ محاسبهگر، اعدادی که وارد میکنید در متغیرها ذخیره میشوند و سپس عملیات ریاضی روی آنها انجام میگیرد. مثلاً اگر بخواهید میانگین نمرات سه درس خود را محاسبه کنید، هر نمره را در یک متغیر جداگانه میگذارید و سپس با جمع کردن آنها و تقسیم بر عدد ۳، میانگین را بهدست میآورید.
| مفهوم آشنا | معادل آن در متغیر | توضیح |
|---|---|---|
| برچسب روی جعبه | نام متغیر | مانند برچسب «کتابهای درسی» روی یک جعبه |
| محتویات جعبه | مقدار متغیر | همان دادهای که در متغیر ذخیره میشود |
| جای خالی در قفسه | حافظهٔ اشغال شده | هر متغیر بخشی از حافظه را اشغال میکند |
پرسشهای چالشی دربارهٔ متغیرها
پرسش ۱: اگر دو متغیر با نامهای یکسان تعریف کنیم، چه اتفاقی میافتد؟
پاسخ: در بیشتر زبانهای برنامهنویسی، نمیتوان دو متغیر با نام یکسان در یک محدوده تعریف کرد. زیرا رایانه نمیداند که به کدام یک باید اشاره کند. مانند این است که در یک کلاس، دو دانشآموز با نام و نامخانوادگی کاملاً یکسان داشته باشید؛ هنگام صدا زدن، نمیدانید منظور کدام یک است.
پرسش ۲: آیا همیشه باید مقدار متغیر را هنگام تعریف آن مشخص کنیم؟
پاسخ: خیر، در بسیاری از زبانها میتوان متغیر را بدون مقدار اولیه تعریف کرد و بعداً در برنامه به آن مقدار داد. به این کار «اعلان متغیر» میگویند. اما بهتر است برای جلوگیری از خطا، حتماً مقدار اولیهای برای آن در نظر بگیرید.
پرسش ۳: تفاوت متغیر با ثابت چیست؟
پاسخ: متغیرها قابل تغییر هستند، اما ثابتها پس از تعریف، مقدار خود را تغییر نمیدهند. مثلاً عدد ۳ که در ریاضیات به عنوان «پی» شناخته میشود، یک ثابت است؛ چون مقدار آن همیشه یکسان است. اما سن شما یک متغیر است؛ چون هر سال تغییر میکند.
آنچه آموختیم: متغیرها ابزاری ساده و در عین حال بسیار قدرتمند در برنامهنویسی هستند که به ما امکان میدهند دادهها را در حافظه ذخیره و مدیریت کنیم. با نامگذاری مناسب و انتخاب نوع درست برای متغیرها، میتوانیم برنامههایی بنویسیم که دادهها را بهخوبی پردازش کنند. به یاد داشته باشید که انتخاب نامهای واضح و خوانا برای متغیرها، به شما و دیگران کمک میکند تا کد را راحتتر بخوانید و درک کنید. همچنین تغییر مقدار متغیرها در طول اجرای برنامه، انعطافپذیری بالایی به برنامه میدهد و امکان ساخت برنامههای پویا را فراهم میکند.