نوع بيانات

في علوم الحاسوب وبرمجة الحاسوب، يعد نوع البيانات (بالإنجليزية: Data Type)‏ أو الكتابة ببساطة سمة من سمات البيانات التي تخبر المحول البرمجي أو المفسر كيف ينوي المبرمج استخدام البيانات. تدعم معظم لغات البرمجة أنواع البيانات الأساسية للأرقام الصحيحة (بأحجام مختلفة) وأرقام الفاصلة العائمة (التي تقارب الأرقام الحقيقية) والأحرف والمنطقية. يقيد نوع البيانات القيم التي قد يتخذها تعبير، مثل متغير أو دالة. يحدد نوع البيانات هذا العمليات التي يمكن إجراؤها على البيانات، ومعنى البيانات، والطريقة التي يمكن بها تخزين قيم هذا النوع. يوفر نوع البيانات مجموعة من القيم التي يمكن للتعبير (أي المتغير، الوظيفة، إلخ) أن يأخذ منها قيمه.

نحتاج في حياتنا اليومية للتعامل مع الأرقام والأحرف والنصوص والعلامات المنطقية صح (Truth) أو خطأ (False) ..إلخ، جميع ماذكر سابقا يسمى أنواع البيانات ,كذلك في علم الحاسوب تحتاج لغات البرمجة إلى تلك الأنواع لتتعامل مع الذاكرة,يجب أن تعلم أن جميع لغات البرمجة تجتمع في الجوهر نفسه بالنسبة للأنواع إلا أن الاختلاف بينهما يكون عادة بالمصطلحات مثلا: في لغة C++ يسمى العدد العشري float أما في لغة Visual Basic يسمى single عشري.[1]

التسلسل الهرمي للنوع القياسي للبايثون 3

مفهومعدل

تُستخدم أنواع البيانات داخل أنظمة النوع، والتي تقدم طرقًا مختلفة لتعريفها وتنفيذها واستخدامها. تضمن أنظمة الأنواع المختلفة درجات متفاوتة من نوع الأمان.

تتضمن جميع لغات البرمجة تقريبًا بشكل صريح مفهوم نوع البيانات، على الرغم من أن اللغات المختلفة قد تستخدم مصطلحات مختلفة.

تشمل أنواع البيانات الشائعة:

على سبيل المثال، في لغة برمجة Java، يمثل النوع int مجموعة الأعداد الصحيحة 32 بت التي تتراوح قيمتها من −2,147,483,648 إلى 2,147,483,647، بالإضافة إلى العمليات التي يمكن إجراؤها على الأعداد الصحيحة، مثل الجمع والطرح والضرب. من ناحية أخرى، يمكن تمثيل اللون بثلاثة بايتات تشير إلى مقادير كل من الأحمر والأخضر والأزرق، وسلسلة تمثل اسم اللون.

تسمح معظم لغات البرمجة أيضًا للمبرمج بتحديد أنواع بيانات إضافية، عادةً عن طريق الجمع بين عناصر متعددة من أنواع أخرى وتحديد العمليات الصالحة لنوع البيانات الجديد. على سبيل المثال، قد يقوم المبرمج بإنشاء نوع بيانات جديد يسمى "عدد مركب" يتضمن أجزاء حقيقية وخيالية. يمثل نوع البيانات أيضًا قيدًا يتم وضعه على تفسير البيانات في نظام النوع، ويصف تمثيل وتفسير وهيكل القيم أو الكائنات المخزنة في ذاكرة الكمبيوتر. يستخدم نظام النوع معلومات نوع البيانات للتحقق من صحة برامج الكمبيوتر التي تصل إلى البيانات أو تتعامل معها.

معظم أنواع البيانات في الإحصاء لها أنواع قابلة للمقارنة في برمجة الكمبيوتر والعكس صحيح كما هو موضح في الجدول التالي:

Statistics Programming
قيمة (مستويات القياس) حسابات الفاصلة المتحركة
قيمة (مستويات القياس)
count data (usually non-negative) integer
بيانات ثنائية نوع البيانات المنطقية
متغير نوعي  [لغات أخرى] enumerated type
random vector list or array
تجمع مصفوفة غاوسية two-dimensional array
random tree tree

مقدمةعدل

أنواع البيانات تستخدم في نظام الأنواع, الذي يقدم عدة طرق مختلفة لتعريف الأنواع مثل: المتغيرات (variable) , الدوال (Functions) , الوحدات (Units). يمكن أن نعرف نوع البيانات أنه " كل خاصية في البرنامج نستطيع أن نحدده دون تنفيذ البرنامج". جميع لغات البرمجة خاصة الشائعة منها تستخدم أنواع البيانات، إلا أنها تختلف في المصطلحات(المسميات), بالنسبة للأنواع الأكثر شائعة فهي:

أنواع البياناتعدل

أنواع البيانات الأوليةعدل

الأنواع المركبةعدل

الأنواع المركبة: هي أنواع مستمدة من أكثر من نوع أولي، ويمكن القيام بذلك بعدة طرق مختلفة، يطلق عليها وهي مجتمة تراكيب البيانات(أو هياكل البيانات) Data Structures, يجب أن تعلم أن هياكل البيانات تختلف عن البيانات الأولية، مثلا: مصفوفة من أعداد صحيحة تختلف عن النوع الصحيح نفسه integer.

التعداداتعدل

(بالإنجليزية: Enumerated type)‏ هي عبارة عن عدة ثوابت تحمل قيم مختلفة فيما بينها، يمكن أن تقارنها و أن تسندها إلى متغيرات أخرى.

النوع النصيعدل

أنواع آخرىعدل

المؤشرات والمراجععدل

  • المؤشرات (Pointers) : هي عبارة عن أماكن في الذاكرة تقوم بتخزين عناوين المتغيرات فقط، تشتهر بها لغة C/C++ التي تتميز عن بعض اللغات التي لاتدعم هذا النوع من البيانات.
  • المراجع: هي عبارة عن مؤشرات ثابتة، تقوم بتخزين عنوان المتغير، وبالتالي تصبح تؤشر على عنوانه في الذاكرة, أي أن كل تغير في المرجع هو في الحقيقة تغير في المتغير الأصلى، يمكن أن نسمي المرجع أحيانا اسم آخر للمتغير.

الدوال (Functions)عدل

تقوم الدالة بإعادة قيمة بنفس النوع التي تحمله، مثلا دالة sine نقوم بإعطائها الزواية وهي تقوم بإعادة جيب الزاوية.

أنواع البيانات المجردةعدل

أي نوع لايكون له هدف معين ليقوم بتنفيذه فهو نوع بيانات مجرد، مثلا المكدس هو نوع من أنواع البيانات المجردة، يمكنك تنفيذه كمصفوفة(هي عبارة عن قطع في الذاكرة متجاورة مع بعضها لها نفس النوع), أو يمكنك تنفيذه كقائمة مرتبطة(هي مجموعة من القطع في الذاكرة غير متجاورة تترابط مع بعضها بوساطة المؤشرات).

أدوات أنواع البياناتعدل

لكي تريح نفسك، في اللغات عالية المستوى, يوجد أنواع بيانات محاكاة للواقع، مثلا هنالك أنواع تتعامل مع الوقت والتاريخ .. الخ، تسهل الكثير عند التعامل مع البرمجة.

انظر أيضًاعدل

المراجععدل