بایگانی برچسب‌ها : نوع داده

نوع داده شمارشی 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 نیز امکان ایجاد جداولی در پایگاه داده مهیا شده است که دارای ستون‌هایی با مقادیر مجاز مشخص شده در هنگام ایجاد جدول هستند.

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

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

آرایه انجمنی Associative array

آرایه انجمنی یا Associative array چیست؟

آرایه انجمنی (Associative array) در زبان‌های برنامه‌نویسی یک نوع داده‌ی انتزاعی است متشکل از مجموعه‌ای از دوتایی‌های (کلید، مقدار) یا (Key, Value) به طوری که هر مقدار با یک کلید در تناظر می‌باشد و کلیدهای موجود در مجموعه نیز تکراری نباشند. آرایه‌های انجمنی با نام‌هایی همچون نقشه (Map) و لغت نامه (Dictionary) نیز شناخته می‌شوند.

در آرایه‌های انجمنی تناظر میان کلیدها و مقادیر اصطلاحا اتصال (Binding) نامیده می‌شود. مهم‌ترین و رایج‌ترین اعمالی که روی این نوع داده قابل انجام می‌باشد عبارت است از افزودن (Insert یا Add) یک جفت کلید و مقدار به مجموعه، حذف (Remove یا Delete) یک جفت کلید و مقدار، تغییر مقدار تخصیص یافته به یک کلید و یافتن مقدار متناظر با یک کلید. برای افزودن یک جفت کلید و مقدار یا تغییر مقدار متناظر با یک کلید لازم است هم کلید و هم مقدار متناظر با آن در قالب آرگومان مشخص شود اما حذف یا یافتن مقدار متناظر با یک کلید تنها مبتنی بر کلید انجام می‌شود.

دو روش مهم برای ایجاد آرایه‌های انجمنی، استفاده از جدول درهم سازی (Hash table) و درخت جستجو (Search tree) می‌باشد. بسیاری از زبان‌های برنامه‌نویسی امروزی از آرایه‌های انجمنی تحت عناوین متفاوتی در قالب کتابخانه‌های استاندارد خود پشتیبانی می‌کنند (برای مثال در بسیاری از زبان‌ها از جمله C++، آرایه‌های انجمنی با عنوان map شناخته می‌شوند).

مالتی‌مپ (multimap) ها نوع داده‌ی مرتبط دیگری هستند که مفهوم آرایه‌ی انجمنی را توسعه داده و اجازه می‌دهند چندین مقدار به یک کلید معین تخصیص داده شود. در نقشه‌های دوطرفه (Bidirectional map) نیز اتصال در هر دو جهت معنا می‌یابد و در آن‌ها علاوه بر اعمال معمول آرایه‌های انجمنی، امکان یافتن کلید متناظر با یک مقدار نیز وجود دارد.

در مثال زیر نحوه‌ی ایجاد یک آرایه انجمنی به نام $weight در زبان PHP نمایش داده شده است. در این نمونه، 3 جفت کلید و مقدار در مجموعه مشاهده می‌شود که عبارات Alex و Rory و Paul کلیدهای این آرایه انجمنی هستند و مقادیر 40 و 50 و 45 به ترتیب به آنها تخصیص داده شده است. در این مثال عبارت $weight[‘Paul’] مقدار متناظر با کلید Paul یعنی 45 را خواهد داشت.

$weight = array("Alex"=>"40", "Rory"=>"50", "Paul"=>"45");
echo "Paul weighs" . $weight['Paul'] . " kilograms.";

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

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

رشته String

رشته یا String چیست؟

رشته (String) اصطلاحی است که معمولا در برنامه‌نویسی به دنباله‌ای از کاراکترها اطلاق می‌شود. در اکثر زبان‌های برنامه‌نویسی نیز نوع داده‌ای به همین نام وجود دارد.

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

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

طول رشته (تعداد عناصر یا کاراکترها) در برخی از زبان‌های برنامه نویسی به صورت یک عدد صحیح ذخیره می‌شود. با توجه به اینکه از این روش در زبان Pascal استفاده می‌شود چنین رشته‌هایی به Pascal String مشهورند. در برخی زبان‌های دیگر با کمک یک کاراکتر تعیین کننده انتها (که به کاراکتر تهی یا NULL مشهور است)، طول رشته تشخیص داده می‌شود. در این نوع رشته‌ها که به C String نیز مشهورند یک رشته n کاراکتری به n+1 فضا برای نگه‌داری کاراکترهای رشته و کاراکتر تهی (در انتها) نیاز دارد.

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

#include <iostream>
#include <string>
using namespace std;

int main ()
{
   string str ("Techdic");
   cout << "The length of str is " << str.length();
}

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

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

کاراکتر Character

کاراکتر یا Character چیست؟

کاراکتر (Character) در علوم رایانه به واحدی از اطلاعات گفته می‌شود که متناظر با یکی از عناصر موجود در سیستم‌های نوشتاری نظیر حروف الفبا، ارقام، علائم و … می‌باشد. بنابر این با چنین تعریفی نقطه “.”، علامت تعجب “!”، خط تیره “-“، فاصله ” ” نیز Character محسوب می‌شوند.

برای توصیف کاراکترها در سیستم‌های رایانه‌ای از کاراکتر انکودینگ (کدگذاری کاراکتر یا character encoding) استفاده می‌شود که در آن به هر Character کدی اختصاص داده می‌شود (این مقادیر را کد پوینت یا Code Point می‌نامند). به این ترتیب امکان ذخیره‌سازی و هم‌چنین ارسال کاراکترها از طریق شبکه‌های رایانه‌ای فراهم می‌شود. از رایج‌ترین کاراکتر انکودینگ‌ها می‌توان به ASCII و UTF-8 اشاره نمود.

نوع داده Character در زبان‌های برنامه نویسی

در بسیاری از زبان‌های برنامه نویسی نیز نوع داده‌ای به نام Character (با کلمه‌ی کلیدی Char) مشاهده می‌شود. متغیرهای تعریف شده از این نوع داده برای نگه‌داری یک Character مورد استفاده قرار می‌گیرند و در برخی زبان‌ها نظیر C تنها یک بایت (8 بیت) فضا اشغال می‌کنند و صرفا قادر به نگه‌داری مجموعه کاراکترهای اجرایی اصلی می‌باشند. در برخی زبان‌های مدرن نظیر C# و Visual Basic نیز این نوع داده می‌تواند کاراکترهای Unicode را شامل شود.

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

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

نوع داده 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) اشاره نمود. مقادیری نظیر سِمَت شغلی که می‌تواند تنها مقادیر مشخصی از قبیل مدیریت، معاونت، کارمند و … را داشته باشد معمولا از همین نوع هستند. ارجاعات (اشاره‌گرها) نیز نوع داده دیگری هستند که مقدار آن در واقع یک آدرس است و این آدرس به مقدار دیگری اشاره می‌کند که در مکانی روی حافظه قرار دارد.

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

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