بایگانی برچسب‌ها : Variable

ثابت Constant

ثابت یا Constant چیست؟

ثابت (Constant) در زبان‌های برنامه نویسی به مقداری گفته می‌شود که در طول اجرای برنامه غیر قابل تغییر است.

در واقع ثوابت، درست در نقطه مقابل متغیرها (Variable) قرار می‌گیرند. همان‌طور که مقدار یک Variable قابل تغییر است، مقدار یک Constant نیز غیرقابل تغییر (یا ثابت) است.

ثابت‌های زمان کامپایل و ثابت‌های زمان اجرا دو مدل رایج از ثوابت هستند که از نظر مفهومی مشابه یکدیگر می‌باشند. در نوع اول مقدار Constant به صورت ایستا تعیین می شود به این ترتیب که مقدار ثابت به صورت مستقیم و بدون وابستگی به مقادیر دیگر تعیین می‌شود. به عنوان مثال، در قطعه کد زیر که به زبان C++ نوشته شده است با استفاده از کلمه کلیدی const ثابتی به نام PI از نوع double تعریف شده است که به 3.14159 مقداردهی شده است:

const double pi = 3.14159;

در نوع دوم، این مقدار به صورت پویا مشخص می‌شود و با وجود اینکه ممکن است در اجراهای مختلف براساس وضعیت برنامه دارای مقادیر متفاوتی باشد اما در طول زمان زنده بودن (به محض تعیین شدن مقدار تا پایان زمان حیات)، مقدارش تغییر نخواهد کرد. ثوابت تعریف شده در یک تابع که براساس مقادیر ورودی‌های آن محاسبه می‌شود از این نوع به شمار می‌روند. در واقع در این حالت عبارتی که برای تخصیص مقدار به یک ثابت مورد استفاده قرار می‌گیرد مقداری را نتیجه می‌دهد که خودش متغیر است.

هرچند در برخی اوقات به نظر می‌رسد استفاده از ثوابت به جای متغیرها چندان اهمیتی ندارد ولی از نظر گیرایی و خوانایی به برنامه‌نویسان اطمینان خاطر می دهد که مقدار موردنظر ثابت خواهد ماند و از سوی دیگر مانع از تغییر ناخواسته یا اشتباه مقادیری می‌شود که برنامه‌نویسان پیشین به عنوان مقداری ثابت در نظر گرفته‌اند.

با وجود اینکه مقدار یک Constant تنها یک بار تعریف شده و غیرقابل تغییر است اما همانند متغیرها می‌توان بارها از آن استفاده نمود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

نوع داده شمارشی Enumerated Data Type

نوع داده شمارشی یا Enumerated Data Type چیست؟

نوع داده شمارشی (Enumerated Data Type)، نوع داده‌ای است متشکل از مجموعه‌ای از مقادیر نامگذاری شده (یا شناسه) که به آن‌ها شمارنده (Enumerator) می‌گویند.

نام شمارنده‌ها تقریبا مشابه با ثابت (Constant) هاست. متغیری که از یک نوع شمارشی تعریف شده است می‌تواند صرفا یکی از شمارنده‌های مربوط به آن نوع را به عنوان مقدار خود بپذیرد. در واقع شمارنده‌های تعیین شده برای یک نوع داده شمارشی، تنها مقادیر مجازی هستند که می‌توان به متغیرهای تعریف شده از آن نوع اختصاص داد. به شمارنده‌ها، المان (Element) یا عضو (Member) نیز گفته می‌شود.

به عنوان مثال می‌توان نوع داده‌ای به نام shape_t (به عنوان نوع داده‌ای برای اشکال مختلف هندسی) تعریف کرد که دارای شمارنده‌هایی به نام‌های square (مربع)، triangle (مثلث)، line (خط) و circle (دایره) می‌باشد. در قطعه کد زیر که به زبان C++ نوشته شده است نحوه‌ی تعریف این نوع داده، ایجاد متغیری به نام myshape از این نوع داده جدید و سپس انتساب مقدار به آن نمایش داده شده است. توجه داشته باشید مقادیر مجاز برای متغیرهایی که از نوع shape_t تعریف شده است به شمارنده‌های تعیین شده برای این نوع داده محدود می‌باشد:

enum shape_t {square, triangle, line, circle};
...
shape_t myshape;
myshape = line; 

به عنوان نمونه‌ای دیگر نیز می‌توان نوع داده‌ای به نام week_days تعریف نمود که دارای شمارنده‌هایی با عناوین ایام هفته می‌باشد.

بسته به زبان‌های برنامه نویسی مختلف، ممکن است شمارنده‌ها به صورت مرتب درنظر گرفته شوند. در بسیاری از زبان‌ها نیز تعدادی نوع داده شمارشی پیش فرض در نظر گرفته شده است. لازم به ذکر است در زبان‌های قدیمی امکان ایجاد نوع داده‌های شمارشی وجود نداشته است، اما در اغلب زبان‌های امروزی، پشتیبانی از امکان ایجاد نوع داده‌های شمارشی جدید به برنامه‌نویسان اجازه می‌دهد کدهایی خواناتر و مستندسازی شده براساس نام شمارنده‌ها داشته باشند.

البته نوع داده‌های شمارشی تنها به زبان‌های برنامه نویسی محدود نمی‌شوند. به عنوان مثال در برخی از سیستم‌های مدیریت پایگاه داده نظیر MySQL نیز امکان ایجاد جداولی در پایگاه داده مهیا شده است که دارای ستون‌هایی با مقادیر مجاز مشخص شده در هنگام ایجاد جدول هستند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

انتساب Assignment

انتساب یا Assignment چیست؟

انتساب (Assignment) یا تخصیص در دانش برنامه نویسی عملی است که طی آن مقداری به فضای نگه‌داری متناظر با نام یک متغیر تخصیص داده می‌شود.

رایج‌ترین نمادی که برای انجام این عمل (در قالب یک عملگر کاربردی یا عبارت انتساب) مورد استفاده قرار می‌گیرد نماد تساوی (یا =) می‌باشد. در برخی دیگر از زبان‌ها نیز از نمادهای متفاوتی از جمله := برای عمل انتساب استفاده می‌شود. در سمت چپ دستور انتساب نام متغیر و در سمت راست مقدار یا عبارتی قرار می‌گیرد که قرار است حاصل آن به متغیر اختصاص داده شود:

x = عبارت

در چنین دستوری ابتدا حاصل عبارت ارزیابی و سپس به متغیر تخصیص داده می‌شود (در صورتی که متغیر دارای مقداری باشد، مقدار جدید جایگزین مقدار پیشین خواهد شد).

الگوهای کاربردی مختلفی از عمل Assignment وجود دارد که معمولا به ساده‌سازی کد و کاهش تکرارها می‌انجامد و البته توسط تمامی زبان‌های برنامه‌نویسی پشتیبانی نمی‌شود. از رایج‌ترین انواع این الگوها می‌توان به انتساب افزوده (Augmented Assignment) اشاره نمود. در این نوع تخصیص مقدار جدیدی که قرار است به متغیر اختصاص داده شود به مقدار قبلی آن متغیر نیز بستگی دارد. به عنوان مثال در x += 2 مقدار کنونی متغیر x دو واحد افزایش می‌یابد.

در برخی از زبان‌های برنامه‌نویسی از انتساب زنجیره‌ای (Chained Assignment) نیز پشتیبانی می‌شود. برای مثال در a = b = c = 0 مقدار صفر به هر سه متغیر a و b و c تخصیص داده می‌شود. در برخی از زبان‌ها نیز امکان تخصیص موازی (Parallel Assignment) در نظر گرفته شده است به این شکل که تخصیص مقادیر مختلف به متغیرهای مجزا به صورت همزمان در یک دستور انجام می‌شود.

در بسیاری از زبان‌های برنامه‌نویسی از نماد یکسانی برای انتساب و تساوی مقایسه‌ای استفاده می‌شود. از اینرو در زبان‌هایی نظیر سی و پاسکال برای این دو عملگر از نمادهای متفاوتی استفاده می‌شود که می‌تواند به خوانایی و وضوح سورس کد کمک کند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

متغیر Variable

متغیر یا Variable چیست؟

متغیر (Variable) در برنامه نویسی معادل با بخشی از حافظه است که جهت دسترسی آسان‌تر به محتوای آن با یک نام نمادین مرتبط شده است.

معمولا از نام Variable برای دسترسی به مقدار منتسب به آن استفاده می‌شود. توسعه دهندگان معمولا این نام را به نحوی انتخاب می‌کنند که نمایانگر مفهوم آن نیز باشد.

در ساختار اکثر زبان‌های برنامه نویسی قراردادهایی که برای نام Variable درنظر گرفته شده است یکسان است. به عنوان مثال نام Variable نمی‌تواند با رقم شروع شود، هم‌چنین استفاده از فاصله و برخی کاراکترهای خاص در اکثر زبان‌ها ممنوع است. با اینحال استفاده از علامت _ برای ایجاد نام‌های چندکلمه‌ای امکان‌پذیر است.

ممکن است در طول اجرای برنامه مقدار Variable تغییر کند. کامپایلر به جای نام متغیر از محل داده‌ی متناظر با آن روی حافظه برای انتساب یا خواندن مقدار استفاده می‌کند.

برای هر Variable یک نوع (Type) نیز تعریف می‌شود که نشان‌دهنده‌ی نوع مقادیر قابل انتساب به آنست. متغیرها متناسب با نوع خود می‌توانند مقادیر مختلفی از قبیل اعداد صحیح، رشته‌ها، کاراکترها، مقادیر بولی و … را در خود نگه‌داری کنند. بخش‌هایی که در آن می‌توان از متغیر استفاده نمود را قلمرو متغیر (Variable Scope) می‌نامند.

نحوه‌ی تعریف متغیرها بسته به زبان برنامه نویسی مورد استفاده می‌تواند متفاوت باشد.

به عنوان مثال در زبان C++ دستور int result=0; متغیری به نام result از نوع int با مقدار اولیه 0 ایجاد می‌کند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

نوع داده Data Type

نوع داده یا Data Type چیست؟

نوع داده (Data Type) در برنامه‌نویسی، یک دسته‌بندی برای داده‌هاست که به کامپایلر یا مفسر اعلام می‌کند داده موردنظر به چه شکلی مورد استفاده قرار خواهد گرفت. در واقع این دسته‌بندی مشخص‌کننده‌ی گونه داده‌ها از قبیل اعداد صحیح (Integer)، اعداد ممیز شناور (Floating Point)، بولی (Boolean)، کاراکترها (Character)، رشته‌ها (String) و … است و برای هریک مقادیر ممکن، اعمالی که روی مقادیر داده‌های آن قابل انجام است و حتی نحوه‌ی نگه‌داری مقادیر آن نوع را معین می‌کند.

در زبان‌های برنامه‌نویسی، هنگام تعریف هر متغیر (Variable) می‌توان نوع داده‌ی آن را نیز مشخص نمود. انواع داده‌ای که پیشتر به تعدادی از آن‌ها اشاره شد از رایج‌ترین انواع داده‌ای هستند که در اغلب زبان‌ها با عناوین مختلف و البته شبیه به یکدیگر شناخته شده هستند. هر داده بسته به نوع خود و بازه‌ی مقادیر قابل استفاده، فضای متفاوتی را روی حافظه اشغال می‌کند. بنابراین یکی از وظایف برنامه نویس، تشخیص مناسب نوع داده‌ای است که باید برای یک متغیر تعریف کند تا ضمن عملکرد صحیح برنامه، بیش از اندازه‌ی مورد نیاز فضا اشغال نکند. به عنوان مثال، نوع int در زبان برنامه نویسی جاوا (Java)، بیانگر اعداد صحیح 32 بیتی با بازه‌ی منفی 2,147,483,648 تا مثبت 2,147,483,647 است و اعمال قابل انجام روی مقادیر متغیرهای تعریف شده از این نوع داده شامل جمع، تفریق، ضرب و … می‌باشد.

افزون بر نوع داده‌های از پیش تعریف شده، اغلب زبان‌های برنامه نویسی امکان ایجاد نوع داده‌های بیشتر توسط برنامه نویسان را نیز مهیا کرده‌اند.

در کنار نوع داده‌های اصلی (از قبیل اعداد صحیح، ممیز شناور و بولی)، برخی از انواع داده‌ها از ترکیب انواع اصلی به وجود می‌آیند. آرایه‌ها و مجموعه‌ها از انواع ترکیبی به شمار می‌روند. از جمله دیتا تایپ‌های رایج دیگری که در بسیاری از زبان‌های برنامه نویسی قابل استفاده و ایجاد می‌باشد می‌توان به نوع داده‌های شمارشی (Enumerated) اشاره نمود. مقادیری نظیر سِمَت شغلی که می‌تواند تنها مقادیر مشخصی از قبیل مدیریت، معاونت، کارمند و … را داشته باشد معمولا از همین نوع هستند. ارجاعات (اشاره‌گرها) نیز نوع داده دیگری هستند که مقدار آن در واقع یک آدرس است و این آدرس به مقدار دیگری اشاره می‌کند که در مکانی روی حافظه قرار دارد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا