نوع داده چیست؟ دستهبندی مقدارها در برنامه
انواع اصلی داده: متن، عدد صحیح و عدد اعشاری
در برنامهنویسی، سه نوع داده بسیار پرکاربرد داریم که تقریباً در همهٔ زبانها وجود دارند. بیایید هر کدام را با یک مثال ساده از زندگی روزمره مقایسه کنیم.
| نوع داده | معادل در دنیای واقعی | مثال در برنامه |
|---|---|---|
| متن | مانند نوشتهٔ روی تخته یا نام یک دوست | "سلام"، "علی"، "دانشآموز" |
| عدد صحیح | مانند تعداد دانشآموزان کلاس (همیشه عددی بدون اعشار) | 25، -3، 0 |
| عدد اعشاری | مانند وزن یا قد که ممکن است بین دو عدد صحیح باشد | 3.14، 0.5، -2.7 |
فرق اصلی این سه نوع در این است که متن برای نگهداری کلمهها و جملههاست و نمیتوانیم با آن جمع و تفریق کنیم. عدد صحیح برای شمارش و محاسبههایی که کسری ندارند به کار میرود، مثل تعداد کتابهای یک قفسه. اما عدد اعشاری برای اندازهگیری دقیقتر استفاده میشود، مثلاً وقتی میخواهیم میانگین نمرات را حساب کنیم یا دمای هوا را نشان دهیم.
چرا تشخیص نوع داده مهم است؟
فرض کنید به یک دوست میگویید: «عدد 5 را به کلمهٔ «سلام» اضافه کن». این جمله برای ما بیمعناست، چون عدد و کلمه را نمیتوان با هم جمع کرد. در برنامهنویسی هم دقیقاً همین اتفاق میافتد. اگر نوع داده را اشتباه بگیریم، برنامه با خطا مواجه میشود یا نتیجهٔ عجیبی به ما نشان میدهد.
به همین دلیل، برنامهنویسان قبل از نوشتن کد، فکر میکنند که قرار است با چه نوع دادهای کار کنند. مثلاً اگر میخواهند یک برنامهٔ دفترچه تلفن بنویسند، از نوع متن برای نامها و شمارهها استفاده میکنند. اگر برنامهای برای محاسبهٔ حقوق ماهیانه مینویسند، از عدد اعشاری استفاده میکنند تا مبالغ ریالی را دقیق نشان دهند. و اگر برنامهٔ نوبتدهی یک بانک را طراحی کنند، برای شمارهٔ نوبت از عدد صحیح استفاده میکنند.
پرسش و پاسخ دربارهٔ نوع داده
پرسش: آیا عدد ۳ همیشه یک عدد صحیح است؟
پاسخ: بله، در برنامهنویسی عدد ۳ بدون ممیز، یک عدد صحیح محسوب میشود. اما اگر آن را به صورت ۳.۰ بنویسیم، نوع آن به عدد اعشاری تغییر میکند. پس نحوهٔ نوشتن عدد مشخص میکند که در کدام دسته قرار میگیرد.
پرسش: آیا میتوان یک عدد را به متن تبدیل کرد؟
بله، در بسیاری از زبانهای برنامهنویسی این کار ممکن است. مثلاً عدد ۱۲ را به رشتهٔ "۱۲" تبدیل میکنیم. اما در این حالت دیگر نمیتوانیم با آن جمع و تفریق ریاضی انجام دهیم؛ چون به یک متن تبدیل شده است.
پرسش: چرا بعضی وقتها جمع دو عدد اعشاری جواب دقیق نمیدهد؟
این یک چالش رایج در برنامهنویسی است. کامپیوترها اعداد اعشاری را به شکل دودویی (صفر و یک) ذخیره میکنند و گاهی این ذخیرهسازی با خطای بسیار کوچکی همراه است. مثلاً جمع ۰.۱ و ۰.۲ ممکن است دقیقاً ۰.۳ نشود! به همین دلیل برای محاسبات مالی معمولاً از عدد صحیح (مثلاً ریال به جای تومان) یا روشهای خاصی استفاده میکنند.
پرسش: آیا نوع دادهی دیگری هم وجود دارد؟
بله، انواع دیگری مثل «درست/نادرست» (که به آن نوع منطقی میگویند) برای پاسخ به سؤالهای بله/خیر استفاده میشود. همچنین در برنامهنویسی پیشرفته، نوعهای پیچیدهتری مثل لیست، فرهنگ و شیء هم وجود دارند که هرکدام کاربردهای خاص خود را دارند.
نوع داده یکی از مفاهیم بنیادی برنامهنویسی است که به ما کمک میکند تا دادهها را درست دستهبندی و مدیریت کنیم. هر مقدار در برنامه، یا متن است، یا عدد صحیح، یا عدد اعشاری، یا نوع دیگری که کاربرد ویژهای دارد. شناخت این نوعها و تشخیص تفاوت آنها، از بروز اشتباهات رایج در برنامهنویسی جلوگیری میکند و باعث میشود کدهای ما روانتر و کارآمدتر نوشته شوند.