التعريف

أنواع البيانات (Datatypes) هي الصيغ التي تُحفظ وتنتقل بها القيم داخل البرنامج وبين مكوّناته، وتؤثر هذه الصيغ بشكل كبير على طريقة معالجتها لاحقًا.11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُعدّ الأرقام أحد أبرز الأنواع، حيث يمكن إجراء عمليات حسابية مثل الجمع والطرح والضرب والقسمة عليها.11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد النصوص (السلاسل) تُصنّف أيضًا كنوع من البيانات، وتُستَخدم لتخزين الأحرف والكلمات.11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد إلى جانب هذين النوعين الأساسيين، توجد أنواع برمجية إضافية تُسهم في هيكلة البيانات بصورة منظمة، ما يُسهّل تنفيذ العمليات عليها بسرعة وكفاءة.11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
يمكن تلخيص الأنواع المذكورة في القائمة التالية:
- الأرقام11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- النصوص11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- أنواع برمجية إضافية تُعنى بالهيكلة الجيدة للبيانات11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال توضيحي يبيّن عملية جمع رقمين في لغة بايثون:
a = 7
b = 5
c = a + b
print(c) # يطبع 12
أنواع البيانات الأساسية
تُعَدُّ الأنواع الأساسية للبيانات (Primitive types) هي اللبنات الأولية التي تُخزّن قيمةً واحدةً فقط، وتُستَخدم في تعريف المتغيّرات داخل معظم لغات البرمجة.22Variables and Data Typeswhitman.eduاذهب إلى المرجع ↓يُفتح في تبويب جديد تشمل هذه الأنواع عددًا من الفئات التي تُصنّف بحسب طبيعة القيم التي تمثّلها.

- الأعداد الصحيحة (integer): تمثّل القيم العددية دون فواصل عشرية وتُستَخدم في العمليات الحسابية الأساسية.22Variables and Data Typeswhitman.eduاذهب إلى المرجع ↓يُفتح في تبويب جديد
- الأعداد العشرية (Float): تُعنى بتخزين القيم ذات الفواصل العشرية، وتُميز عن الأعداد الصحيحة بقدرتها على تمثيل الكسور.11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- سلاسل المحارف (character / string): تُخزّن نصًا مكوّنًا من حرف أو مجموعة أحرف، وتُعدّ من الأنواع البسيطة المستخدمة على نطاق واسع.33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- القيم البوليانية (Boolean): تُحدّد حالة من حالتين فقط، إما
trueأوfalse، وتُستَخدم في اتخاذ القرارات البرمجية مثل التحقق من تسجيل الدخول.11أنواع البيانات (Datatypes) | دليل مبرمجdalilmobarmg.comاذهب إلى المرجع ↓يُفتح في تبويب جديد33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
إلى جانب هذه الأنواع البسيطة، تُصنّف البيانات المعقّدة مثل التجميعات (aggregates) والملفات وأنواع البيانات التي يعرّفها المستخدم ضمن فئاتٍ أخرى تُكمل بنية البرنامج.33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال توضيحي يُظهر جمع عددين صحيحين في بيئة جافاسكريبت:
console.log(2 + 8);
يُظهر هذا السطر كيفية إجراء عملية حسابية باستخدام الأعداد الصحيحة.
التعريف والإسناد
المتغيّر في البرمجة يُعدّ حاويةً تُخزّن فيها القيم، بينما يحدد نوع البيانات (Data Type) طبيعة هذه القيم وما يمكن للمتغيّر أن يحتفظ به.44Variables and Data Types98thpercentile.comاذهب إلى المرجع ↓يُفتح في تبويب جديد عندما يُنشأ مبرمج نسخةً (instance) من نوع بيانات، تُسند هذه النسخة إلى المتغيّر الذي يعمل كإشارة إلى موقع محدد في ذاكرة الحاسوب حيث تُحفظ البيانات.33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد لا يمكن تعديل البيانات قبل الحصول على صلاحية الوصول إلى هذا الموقع، وهو ما يوضح أن المتغيّر لا يحمل البيانات بحد ذاته بل عنوانًا يُحدّد مكانها.33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
في بعض اللغات يُشترط إعلان المتغيّر (declared) بحيث يتطابق مع نوع البيانات المخصص له؛ وإلا ينتج خطأً برمجيًا.33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يفضّل بعض المطورين ما يُعرف بالكتابة الثابتة (static typing) لتقليل الأخطاء (bugs) التي يصعب اكتشافها، بينما تسمح اللغات الديناميكية (dynamic typing) بإسناد أي نوع من البيانات إلى المتغيّر في أي وقت.33مدخل إلى البيانات وأنواعها: أنواع البيانات الأساسية - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
مثال توضيحي بسيط في بايثون يبيّن إسناد قيم من نوعين مختلفين إلى متغيّرين:
x = 5 # عدد صحيح
y = "مرحبا" # سلسلة نصية
التحويل بين الأنواع
تختلف لغات البرمجة في طريقتها للتحويل بين أنواع البيانات (Casting)؛ إذ ينقسم التحويل إلى صريح وتلميحي.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يتطلب التحويل الصريح قيام المبرمج بتحديد النوع المطلوب بوضوح لتفادي الأخطاء البرمجية.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد وفي المقابل، تعتمد اللغات في التحويل التلميحي أو التحويل الذكي (Smart Casting) على استنتاج النوع المراد التحويل إليه تلقائيًا.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد وتُترك آلية التحويل لذكاء لغة البرمجة وقواعدها، فعند جمع عدد صحيح مع عدد عشري ترجح كفة الناتج لصالح العدد العشري.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد كما تجتهد بعض اللغات كجافاسكربت في تحويل الأعداد إلى نصوص عند دمجها مع السلاسل النصية لتجنب إطلاق الأخطاء، مما جعل دقة التحويل فيها مادة للدعابات بين المبرمجين.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
تُوفر لغة بايثون 3 دوال متعددة للتحويل بين البيانات، لا سيما عند التعامل مع البيانات التي ينشئها المستخدمون:66كيفية التحويل بين أنواع البيانات في بايثون 3 - بايثون - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
- تُستخدم الدالة
float()لتحويل الأعداد الصحيحة إلى أعداد عشرية.66كيفية التحويل بين أنواع البيانات في بايثون 3 - بايثون - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد - تُحوِّل الدالة
int()الأعداد العشرية إلى أعداد صحيحة عبر اقتطاع الجزء العشري منها دون تقريبه، كعدم تحويل العدد 390.8 إلى 391.66كيفية التحويل بين أنواع البيانات في بايثون 3 - بايثون - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد - يُستخدم التابع
str()لتحويل الأعداد أو المتغيرات إلى سلاسل نصية.66كيفية التحويل بين أنواع البيانات في بايثون 3 - بايثون - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
بالإضافة إلى ذلك، تُنتج عملية قسمة عدد صحيح على آخر في بايثون 3 عددًا عشريًا، خلافًا لما كان يحدث في بايثون 2.66كيفية التحويل بين أنواع البيانات في بايثون 3 - بايثون - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
أمثلة بعدة لغات
تُظهر الأمثلة العملية كيف تختلف صيغ تعريف المتغيّرات واستخدامها بين اللغات.
في بايثون يُكتب المتغيّر مباشرةً بالاسم متبوعًا بعلامة = والقيمة، كما في age = 10 حيث يُخزّن العدد 10 في المتغيّر age لتسهيل التعامل مع البيانات داخل البرنامج.44Variables and Data Types98thpercentile.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
في جافا تُستَخدم الفئة class مع الدالة main لتجميع التعليمات، ويُعرّف المتغيّر int count = 0 ثم يُحدّث داخل حلقة while لعدّ الأحرف المدخلة من المستخدم، ما يوضح طريقة التعامل مع المتغيّرات العددية في بيئة صارمة النوع.22Variables and Data Typeswhitman.eduاذهب إلى المرجع ↓يُفتح في تبويب جديد
في لغة سي تُعلن المتغيّرات بأنواع محددة مثل int وfloat، ويمكن جمعهما مباشرةً لتنتج قيمة عائمة كما في float sum = intNumber + floatNumber، وهذا يبيّن أن التحويل بين الأنواع يُدار من قبل المترجم وفق قواعد اللغة.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
في جافاسكربت تُظهر المتغيّرات المرنة إمكانية تغيير النوع أثناء التنفيذ؛ فمثلًا يمكن إسناد حرف إلى متغيّر عددي intNumber = 'e'، وتُجرى عملية جمع بين عدد صحيح وعشري تلقائيًا مع تحويل النتيجة إلى عدد عائم عند الحاجة.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
كما تُظهر مثال الطباعة أن الجمع بين نص وعدد يُحوِّل العدد إلى نص قبل دمجه، ما يُظهر سلوك التحويل الضمني في جافاسكربت دون إحداث خطأ برمجي.55دليلك الشامل إلى أنواع البيانات - مقالات برمجة عامة - أكاديمية حسوبacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
age = 10
class Count {
public static void main(String[] args) throws java.io.IOException {
int count = 0;
while (System.in.read() != -1) count++;
System.out.println("Input has " + count + " chars.");
}
}
int intNumber = 2;
float floatNumber = 2.3;
float sum = intNumber + floatNumber;
printf("Value of sum : %f\n", sum);
let intNumber = 2;
let floatNumber = 2.3;
let sum = intNumber + floatNumber;
console.log('Value of sum: ' + sum);
أنواع البيانات في البرمجة
تُعَدُّ معرفة نوع البيانات التي يُعالجها البرنامج خطوة أساسية لتحديد العمليات المسموح إجراؤها على القيم، فكل نوع يحدّد السلوك المناسب له.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد من بين الأنواع الشائعة في لغات البرمجة نجد:
number: يمثل القيم العددية، سواء كانت صحيحة أو ذات فاصلة عشرية تُكتب بنقطة عادية وليس بفاصلة.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديدstring: يخص القيم النصية التي يمكن تعديل أحرفها وعرضها وفق الحاجة.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديدboolean: يقتصر على القيم المنطقيةtrueأوfalse، ويُستعمل في عمليات التحقق والشرطية.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
للتأكد من نوع المتغيّر أثناء التنفيذ تُستَخدم الدالة typeof التي تُعيد اسم النوع كسلسلة نصية.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد عند تعريف عدد عشري يجب كتابة الفاصلة كـ .؛ إدخال مسافة بدلًا من النقطة يسبب خطأً في التنفيذ.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد
let a = 55;
let b = "Harmash";
let c = true;
console.log(typeof a); // "number"
console.log(typeof b); // "string"
console.log(typeof c); // "boolean"
تُظهر الأمثلة السابقة كيف يمكن للبرنامج التعرف على نوع كل قيمة واستخدامها بصورة صحيحة وفقًا للنوع المحدد.77أنواع البيانات في البرمجةharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد