نوع بيانات
المحتويات

قبل الخوض في التفاصيل، في علوم الحاسوب وبرمجة الحاسوب، يعد نوع البيانات أو الكتابة ببساطة سمة من سمات البيانات التي تخبر المحول البرمجي أو المفسر كيف ينوي المبرمج استخدام البيانات. تدعم أغلب لغات البرمجة أنواع البيانات الأساسية للأرقام الصحيحة (بأحجام مختلفة) وأرقام الفاصلة العائمة (التي تقارب الأرقام الحقيقية) والأحرف والمنطقية. يقيد نوع البيانات القيم التي قد يتخذها تعبير، مثل متغير أو دالة. يحدد نوع البيانات هذا العمليات التي يمكن إجراؤها على البيانات، ومعنى البيانات، والطريقة التي يمكن بها تخزين قيم هذا النوع. يوفر نوع البيانات مجموعة من القيم التي يمكن للتعبير (أي المتغير، الوظيفة، إلخ) أن يأخذ منها قيمه. وفيما يلي تفاصيل أوسع عن ذلك.
وفي هذا الصدد، نحتاج في حياتنا اليومية للتعامل مع الأرقام والأحرف والنصوص والعلامات المنطقية صح (Truth) أو خطأ (False)..إلخ، جميع ماذكر سابقا يسمى أنواع البيانات، كذلك في علم الحاسوب تحتاج لغات البرمجة إلى تلك الأنواع لتتعامل مع الذاكرة، يجب أن تعلم أن جميع لغات البرمجة تجتمع في الجوهر نفسه بالنسبة للأنواع إلا أن الاختلاف بينهما يكون عادة بالمصطلحات مثلا: في لغة C++ يسمى العدد العشري float أما في لغة Visual Basic يسمى single عشري.
منطقي بوليان
- حرفي رمز (حوسبة)
- نصوص أبجدية سلسلة (علم الحاسوب)
- الفاصلة العائمة عدد فاصل عائم
- أنواع البيانات
- أنواع البيانات الأولية
الأنواع المركبة
السجلات(وتسمى كذلك تركيبات): هي أبسط أنواع هياكل البيانات.
في هذا الإطار، المصفوفات: تقوم بتخزين عدد من العناصر من نفس النوع وبترتيب معين.
ومن جهة أخرى، الاتحاد: يقوم بتعريف عدة أنواع أولية بداخلة، يتميز أنه لايقوم بتخزين إلا قيمة واحدة لجميع المتغيرات طيلة تنفيذ البرنامج.
من جانب آخر، الأنواع المركبة: هي أنواع مستمدة من أكثر من نوع أولي، ويمكن القيام بذلك بعدة طرق مختلفة، يطلق عليها وهي مجتمة تراكيب البيانات (أو هياكل البيانات) Data Structures, يجب أن تعلم أن هياكل البيانات تختلف عن البيانات الأولية، مثلا: مصفوفة من أعداد صحيحة تختلف عن النوع الصحيح نفسه integer.
حسابات الفاصلة المتحركة رقم Floating-point
علاوةً على ذلك، أغلب أنواع البيانات في الإحصاء لها أنواع قابلة للمقارنة في برمجة الكمبيوتر والعكس صحيح كما هو موضح في الجدول التالي:
- رمز (Character)
- سلسلة (string)
- نوع البيانات المنطقية (boolean)
كذلك، تسمح أغلب لغات البرمجة كذلك للمبرمج بتحديد أنواع بيانات إضافية، عادةً عن طريق الجمع بين عناصر متعددة من أنواع أخرى وتحديد العمليات الصالحة لنوع البيانات الجديد. مثلًا، قد يقوم المبرمج بإنشاء نوع بيانات جديد يسمى «عدد مركب» يتضمن أجزاء حقيقية وخيالية. يمثل نوع البيانات كذلك قيدًا يتم وضعه على تفسير البيانات في نظام النوع، ويصف تمثيل وتفسير وهيكل القيم أو الكائنات المخزنة في ذاكرة الكمبيوتر. يستعمل نظام النوع معلومات نوع البيانات للتحقق من صحة برامج الكمبيوتر التي تصل إلى البيانات أو تتعامل معها.
وفي السياق ذاته، مثلًا، في لغة برمجة Java، يمثل النوع int مجموعة الأعداد الصحيحة 32 بت التي تتراوح قيمتها من −2,147,483,648 إلى 2,147,483,647، إلى جانب العمليات التي يمكن إجراؤها على الأعداد الصحيحة، مثل الجمع والطرح والضرب. من ناحية أخرى، يمكن تمثيل اللون بثلاثة بايتات تشير إلى مقادير كل من الأحمر والأخضر والأزرق، وسلسلة تمثل اسم اللون.
نظرية النمط للنماذج الرياضية للأنواع
نظام الأنواع لاختيارات مختلفة في كتابة لغة البرمجة
التحويل في c++
أنواع البيانات المجردة
ومن جهة أخرى، أي نوع لايكون له هدف معين ليقوم بتنفيذه فهو نوع بيانات مجرد، مثلا المكدس هو نوع من أنواع البيانات المجردة، يمكنك تنفيذه كمصفوفة(هي عبارة عن قطع في الذاكرة متجاورة مع بعضها لها نفس النوع), أو يمكنك تنفيذه كقائمة مرتبطة (هي مجموعة من القطع في الذاكرة غير متجاورة تترابط مع بعضها بوساطة المؤشرات).
النوع النصي
- الحروف: هي عبارة عن حرف أبجدي، أرقام، رموز، علامات.
- نصوص: هي عبارة عن سلسلة حرفية، تستعمل في الجمل والكلمات.
- أنواع آخرى
أدوات أنواع البيانات
وفي السياق ذاته، لكي تريح نفسك، في اللغات عالية المستوى، يوجد أنواع بيانات محاكاة للواقع، مثلا هنالك أنواع تتعامل مع الوقت والتاريخ.. الخ، تسهل الكثير عند التعامل مع البرمجة.
مفهوم
ومن ناحية أخرى، تُستعمل أنواع البيانات داخل أنظمة النوع، والتي تقدم طرقًا مختلفة لتعريفها وتنفيذها واستخدامها. تضمن أنظمة الأنواع المختلفة درجات متفاوتة من نوع الأمان.
ومن ناحية أخرى، تتضمن جميع لغات البرمجة على وجه التقريب بشكل صريح مفهوم نوع البيانات، على الرغم من أن اللغات المختلفة قد تستعمل مصطلحات مختلفة.
تشمل أنواع البيانات الشائعة:
عدد صحيح
مقدمة
عدد صحيح integer
وفي هذا السياق، أنواع البيانات تستعمل في نظام الأنواع، الذي يقدم عدة طرق مختلفة لتعريف الأنواع مثل: المتغيرات (variable) , الدوال (Functions) , الوحدات (Units). يمكن أن نعرف نوع البيانات أنه «كل خاصية في البرنامج نستطيع أن نحدده دون تنفيذ البرنامج».
وفي هذا السياق، جميع لغات البرمجة خاصة الشائعة منها تستعمل أنواع البيانات، إلا أنها تختلف في المصطلحات(المسميات), بالنسبة للأنواع الأكثر شائعة فهي:
المؤشرات والمراجع
إضافةً إلى ذلك، المؤشرات (Pointers) : هي عبارة عن أماكن في الذاكرة تقوم بتخزين عناوين المتغيرات فقط، تشتهر بها لغة C/C++ التي تتميز عن بعض اللغات التي لاتدعم هذا النوع من البيانات.
الدوال (Functions)
وفي هذا الصدد، المراجع: هي عبارة عن مؤشرات ثابتة، تقوم بتخزين عنوان المتغير، وبالتالي تصبح تؤشر على عنوانه في الذاكرة، أي أن كل تغير في المرجع هو في الحقيقة تغير في المتغير الأصلى، يمكن أن نسمي المرجع أحيانا اسم آخر للمتغير.
ومن ناحية أخرى، تقوم الدالة بإعادة قيمة بنفس النوع التي تحمله، مثلا دالة sine نقوم بإعطائها الزواية وهي تقوم بإعادة جيب الزاوية.
التعدادات
وعلى صعيد آخر، هي عبارة عن عدة ثوابت تحمل قيم مختلفة فيما بينها، يمكن أن تقارنها وأن تسندها إلى متغيرات أخرى.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟