اذهب إلى المحتوى
هذا المقال جزء من سلسلة «مدخل إلى الذكاء الاصطناعي»: الذكاء الاصطناعي: أهم الإنجازات والاختراعات وكيف أثرت في حياتنا اليومية الذكاء الاصطناعي: مراحل البدء والتطور والأسس التي نشأ عليها المفاهيم الأساسية …
تُسنَد فئات القيمة إلى تعبيرات C++‎ بناءً على نتائج تلك التعبيرات، ويمكن لهذه الفئات أن تؤثّر على تحليل التحميل الزائد (overload resolution) للدوالّ في C++‎، كما تحدّد خاصّيتين مهمَّتين ومنفصلتين حول التعابير، تحدد الأول منهم…
لم يتسنى للناس العاديين، ومن ضمنهم معظم المبرمجين، الاقتراب من الحواسيب في الفترة التي تلت صدورها لأول مرة، إذ كانت الحواسيب محتجزةً في غرفٍ مقفلة مع مرافقين يرتدون اللباس الأبيض يأخذون برنامجك وبياناتك، ويقومون بتغذيتها للحا…
تنفذ الدالّة Eval المضمّنة في اللغة الشيفرات البرمجية المُمرّرة لها كسلسلة نصية string. وصياغتها هكذا: let result = eval(code); فمثلًا: let code = 'alert("Hello")'; eval(code); // Hello يمكن أن تكون الشيفرة…
ما هي تعابير لامدا؟ توفّر دوال لامدا طريقة موجزة لإنشاء كائنات دوالّ بسيطة، وتعبير لامدا هو قيمة يمينية خالصة (prvalue) تُنتجُ كائنَ تغليف (closure)، والذي يتصرف ككائن دالة. نشأ الاسم "تعبير لامدا" (lambda expressio…
يجب إجراء تصميم للبرامج، فلا يمكن لأحدٍ أن يجلس ببساطةٍ أمام الحاسوب ويُؤلف برنامجًا معقدًا. يُهتَّم فرع هندسة البرمجيات (software engineering) ببناء برامج صحيحة، فعَّالة ومكتوبة على نحوٍ سليم. يحاول مهندس البرمجيات استخدام أ…
يغلّف كائن الوكيل Proxy كائنًا آخر ويعترض عملياته مثل: خاصيات القراءة أو الكتابة وغيرهما. ويعالجها اختياريًا بمفرده، أو يسمح بشفافية للكائن التعامل معها بنفسه. تستخدم العديد من المكتبات وأُطر عمل المتصفح الوسطاء. وسنرى ف…
إمساك الاستثناءات Catching exceptions تُستخدَم الكتلة ‎try/catch‎ لإمساك الاستثناءات إذ توضع في القسم ‎try‎ الشيفراتُ التي يُشتبه في أنّها قد ترفع استثناءً، فيما تتكفّل الشيفرة الموضوعة في الكتلة ‎catch‎ بمعالجة الاستثنا…
حجم الأنواع العددية الصحيحة الأنواع التالية هي أنواع عددية صحيحة: ‎char‎ الأنواع العددية الصحيحة المُؤشّرة Signed integer types الأنواع العددية الصحيحة غير المُؤشّرة Unsigned integer types ‎ch…
هناك جانبان أساسيان للبرمجة: البيانات (data) والتعليمات (instructions). للعمل مع البيانات، تحتاج إلى فهم المُتغيّرات (variables) والأنواع (types)؛ أمّا للعمل مع التعليمات عليك فهم بنى التحكم (control structures) والبرامج الفر…
إن طريقة الاستيراد والتصدير التي تحدثنا عنها في الفصل السابق، تصدير الوحدات واستيرادها تدعى بالطريقة "الثابتة". إذ أنّ صياغتها بسيطة وصارمة للغاية. دعنا في البداية نوضح بعض الأمور، أولًا، لا يمكننا إنشاء أي وسطاء للتعليم…
تُخزَّن الكائنات المُنشئة باستخدام العَامِل new بقسم الكَوْمَة المُدار في الذاكرة (managed heap). يُوفِّر اطار عمل ‎.Net كَانِس المُهملات (Garbage Collector)، والذي يُدير الذاكرة ويُنْهِي (finalize) الكائنات المهملة دون أيّ ت…
SQL أو لغة الاستعلامات البنيوية (Structured Query Language) هي لغة برمجة متخصصة تُستخدَم لمعالجة وإدارة قواعد البيانات. وتُنطق سي كويل (See-Quel). تعد اللغة القياسية لأنظمة إدارة قواعد البيانات (RDBMS)، وتُستخدم تعليمات وأوام…
التعبيرات النمطية (تُسمّى أحيانًا regexs أو regexps) هي صِيغ نصّية تمثّل الأنماط التي يمكن مطابقتها في السلاسل النصّية، وقد تدعم التعبيرات النمطيّة التي قُدِّمت في C++‎ 11 -اختياريًا- إعادة مصفوفة من السلاسل النصّية المطابِقة…
القراءة من والكتابة إلى المجارى القياسية يُمثِل النوع Console كلًا من مَجْاري الخْرج والدخْل والخْطأ القياسية ببرامج الطرفية. الكتابة إلى مجرى الخرج القياسي Stdout يَستقبِل التابع السِلسِلة النصية Hello World و…
لمُوجِّهات (تعليمات) الاستيراد والتصدير أكثر من صياغة برمجية واحدة رأينا في الفصل السابق، مقدمة إلى الوحدات استعمالًا بسيطًا له، فهيًا نرى بقية الاستعمالات. التصدير قبل التصريح يمكننا أن نقول لأيّ تصريح بأنّه مُصدّر…
التقاط الاستثناءات Catching يُمكن للشيفرة -بل يَنبغي لها- أن تُبلِّغ عن استثناءات Exceptions في بعض الظروف الاستثنائية. مثلًا: مُحاولة قراءة مَجْرى مقروء محاولة قراءة ملف بدون تَوفُّر صلاحيات الولوج …
الترتيب وحاويات التسلسلات std::sort هي خوارزمية لتَرتيب مجموعة من القي، وتوجد في ترويسة المكتبة القياسية ‎algorithm‎، وهي مُعرّفة بواسطة زوج من المُكرّرات. وتأخذ ‎std::sort‎ كائنًا داليًّا كمعامل أخير للموازنة بين قيمتين…
تتألّف لغة الآلة من تعليماتٍ بسيطةٍ جدًا يُمكن تنفيذها مباشرةً من قبل وحدة المعالجةِ المركزيّة للحاسوب. رغم ذلك، فإنّ جميع البرامج تقريبًا مكتوبةٌ بلغات برمجة عالية المستوى (high-level programming languages) مثل جافا أو بايثو…
×
×
  • أضف...