آموزش مبانی برنامه نویسی - متغیرها
متغیرها نامهایی هستند که به مکانهای حافظه کامپیوتر اختصاص میدهید و برای ذخیره مقادیر در برنامههای کامپیوتری استفاده میشوند.
برای مثال، فرض کنید میخواهید دو مقدار ۱۰ و ۲۰ را در برنامهی خود ذخیره کنید و در مراحل بعدی بخواهید از این دو مقدار استفاده کنید. بیایید ببینیم چطور میتوانیم این کار را انجام دهیم. سه مرحلهی سادهی زیر را داریم:
- ایجاد متغیرها با نامهای مناسب
- ذخیرهی مقادیر در این دو متغیر
- بازیابی و استفاده از مقادیر ذخیرهشده در متغیرها
ایجاد متغیرها
ایجاد متغیرها در زبان برنامهنویسی C نیز به نام تعریف متغیرها شناخته میشود. زبانهای برنامهنویسی مختلف روشهای مختلفی برای ایجاد متغیرها در برنامه دارند. به عنوان مثال، در برنامهنویسی C، روش سادهی زیر برای ایجاد متغیرها وجود دارد:
#include <stdio.h>
int main() {
int a;
int b;
}
برنامهی فوق دو متغیر برای رزرو دو مکان حافظه با نامهای a و b ایجاد میکند. ما این متغیرها را با استفاده از کلمهی کلیدی int برای مشخص کردن نوع دادهی متغیر ایجاد کردهایم که به این معنی است که ما میخواهیم مقادیر صحیح را در این دو متغیر ذخیره کنیم. به همین ترتیب، شما میتوانید متغیرها را برای ذخیره long، float، char و یا هر نوع داده دیگری ایجاد کنید. به عنوان مثال −
/* variable to store long value */
long a;
/* variable to store float value */
float b;
شما میتوانید متغیرهایی از نوع مشابه را با قرار دادن آنها در یک خط و جدا کردن آنها با کاما به صورت زیر ایجاد کنید −
#include <stdio.h>
int main() {
int a, b;
}
در زیر نکات کلیدی دربارهی متغیرها که باید به خاطر داشته باشید، آمده است −
-
نام یک متغیر میتواند فقط یک نوع مقدار داشته باشد. به عنوان مثال، اگر متغیر a با نوع int تعریف شده باشد، تنها میتواند عدد صحیح ذخیره کند.
-
زبان برنامهنویسی C نیازمند ایجاد متغیر یا تعریف متغیر قبل از استفاده از آن در برنامهی شماست. شما نمیتوانید در برنامهی خود از نام یک متغیر استفاده کنید، مگر اینکه آن را ایجاد کرده باشید. اما به زبانهای برنامهنویسی مانند پایتون اجازه داده میشود تا از نام یک متغیر بدون ایجاد آن استفاده کنید.
-
شما فقط میتوانید یکبار از هر نام متغیر در برنامهی خود استفاده کنید. به عنوان مثال، اگر یک متغیر با نام a برای ذخیرهی یک مقدار عدد صحیح تعریف شده باشد، نمیتوانید دوباره a را برای ذخیرهی هر نوع دیگری از مقدار تعریف کنید.
-
زبانهای برنامهنویسی مانند پایتون، پیاچپی، پرل و غیره نیازی به تعیین نوع داده در زمان ایجاد متغیر ندارند. لذا شما میتوانید اعداد صحیح، اعشاری و طولانی را بدون مشخص کردن نوع دادهی آنها ذخیره کنید.
-
شما میتوانید به متغیرها هر نامی که میخواهید مثل Age، Gender، Salary، Year1990 یا هر نام دیگری که دوست دارید بدهید، اما بیشتر زبانهای برنامهنویسی فقط استفاده از کاراکترهای محدودی در نام متغیرها را مجاز میدانند. برای الان، ما پیشنهاد میکنیم فقط از a....z، A....Z، 0....9 در نام متغیرهای خود استفاده کنید و نامهایشان را با حروف الفبا آغاز کنید و از ارقام شروع نکنید.
-
تقریباً هیچ یک از زبانهای برنامهنویسی اجازه شروع نام متغیرهایشان با یک رقم را نمیدهند، بنابراین 1990Year نام معتبری برای متغیر نخواهد بود در حالی که Year1990 یا FirstMonthOf1990 نامهای معتبری برای متغیر هستند.
هر زبان برنامهنویسی قوانین بیشتری دربارهی متغیرها ارائه میدهد و شما آنها را هنگام ورود به جزئیات بیشتر آن زبان برنامهنویسی یاد خواهید گرفت.
ذخیره مقادیر در متغیرها
شما دیدهاید که چگونه در بخش قبل متغیرها را ایجاد کردیم. حالا، بیایید برخی از مقادیر را در آن متغیرها ذخیره کنیم.
#include <stdio.h>
int main() {
int a;
int b;
a = 10;
b = 20;
}
برنامه بالا دو عبارت اضافی دارد که در آنها عدد ۱۰ در متغیر a ذخیره میشود و عدد ۲۰ در متغیر b ذخیره میشود. تقریباً تمام زبانهای برنامهنویسی دارای روش مشابهی برای ذخیره مقادیر در متغیر هستند که در آنها نام متغیر را در سمت چپ نشانه مساوی (=) قرار میدهیم و هر مقداری که میخواهیم در متغیر ذخیره کنیم، را در سمت راست نشانه مساوی قرار میدهیم.
حالا دو مرحله را به پایان رساندهایم، ابتدا دو متغیر ایجاد کردیم و سپس مقادیر مورد نیاز را در آنها ذخیره کردیم. حالا متغیر a مقدار ۱۰ و متغیر b مقدار ۲۰ دارد. به عبارت دیگر میتوانیم بگوییم هنگام اجرای برنامه بالا، مکان حافظهای که نام a را دارد، شامل مقدار ۱۰ و مکان حافظهای که نام b را دارد، شامل مقدار ۲۰ خواهد بود.
دسترسی به مقادیر ذخیره شده در متغیرها
اگر مقادیر ذخیره شده در متغیرها را استفاده نکنیم، هیچ مفهومی در ایجاد متغیرها و ذخیره مقادیر در آنها وجود ندارد. ما میدانیم که برنامه بالا دو متغیر دارد که a و b نام دارند و به ترتیب مقادیر ۱۰ و ۲۰ را ذخیره میکنند. پس بیایید سعی کنیم مقادیر ذخیره شده در این دو متغیر را چاپ کنیم. برنامه زیر یک برنامه C است که مقادیر ذخیره شده در متغیرهای آن را چاپ میکند:
#include <stdio.h>
int main() {
int a;
int b;
a = 10;
b = 20;
printf( "Value of a = %d\n", a );
printf( "Value of b = %d\n", b );
}
زمانی که برنامه فوق اجرا میشود، نتیجه زیر را تولید میکند −
Value of a = 10
Value of b = 20
شما باید تابع printf() را در درس قبل دیده باشید که از آن برای چاپ "Hello World!" استفاده کرده بودیم. این بار، از آن برای چاپ مقادیر متغیرها استفاده می کنیم. ما از %d استفاده می کنیم که در دستورهای printf() جایگزین مقدار متغیر داده شده خواهد شد. ما می توانیم هر دو مقدار را با یک دستور printf() چاپ کنیم به شرح زیر −
#include <stdio.h>
int main() {
int a;
int b;
a = 10;
b = 20;
printf( "Value of a = %d and value of b = %d\n", a, b );
}
وقتی برنامه فوق الذکر اجرا میشود، نتیجه زیر را تولید میکند −
Value of a = 10 and value of b = 20
اگر میخواهید در برنامهنویسی C از متغیر float استفاده کنید، در این صورت باید از %f به جای %d استفاده کنید و اگر میخواهید یک مقدار کاراکتری چاپ کنید، در این صورت باید از %c استفاده کنید. به طور مشابه، انواع دادههای مختلف با استفاده از % و کاراکترهای مختلف قابل چاپ هستند.
متغیرها در جاوا
برنامه معادل زیر با زبان برنامهنویسی جاوا نوشته شده است. این برنامه دو متغیر a و b را ایجاد میکند و به طرز بسیار شبیه به برنامه نویسی C، 10 و 20 را به این متغیرها اختصاص میدهد و در نهایت مقادیر دو متغیر را به دو روش چاپ میکند −
public class DemoJava {
public static void main(String []args) {
int a;
int b;
a = 10;
b = 20;
System.out.println("Value of a = " + a);
System.out.println("Value of b = " + b);
System.out.println("Value of a = " + a + " and value of b = " + b);
}
}
هنگامی که برنامه بالا اجرا می شود، نتیجه زیر را تولید می کند −
Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20
متغیرها در پایتون
برنامه معادل زیر در زبان پایتون نوشته شده است. این برنامه دو متغیر a و b را ایجاد می کند و در همان زمان، مقدار 10 و 20 را در این متغیرها قرار می دهد.
در پایتون، نیازی به مشخص کردن نوع داده در زمان ایجاد متغیر نیست و نیازی به ایجاد متغیرها به صورت پیش از استفاده وجود ندارد.
a = 10
b = 20
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b
زمانی که برنامه بالا اجرا میشود، نتیجه زیر را تولید میکند −
Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20
شما میتوانید از ساختار زیر در برنامه نویسی C و Java برای تعریف متغیرها و اختصاص مقادیر به آنها به طور همزمان استفاده کنید −
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
printf( "Value of a = %d and value of b = %d\n", a, b );
}
هنگام اجرای برنامه بالا، نتیجه زیر را تولید میکند −
Value of a = 10 and value of b = 20