0% found this document useful (0 votes)
26 views32 pages

C M M

lkllklllk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views32 pages

C M M

lkllklllk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 32

‫‪:💻programming languages‬‬

‫اول شي بالنسبة للمصادر والشرح منين الخ‪.....‬‬

‫‪-1‬اني عندي خلفيه كاملة بالبرمجة‬


‫‪-2‬بعض الشرح اخذته من مواقع مشهوره و مصادر مختلفه و كتب‪..‬‬
‫لذالك مااكدر اكول او انزل كل هاي المصادر النو هواااي مصاادر‬

‫كل هذا حدمجهم وانزللكم شرح مبسط سهل للفهم و يوصل للمتلقي بكل سهولة و بساطة‪💯..‬‬

‫مااحب بالبرمجة اعتمد ع فيديوات الخ‪...‬‬


‫احسها فقط مضيعة وقت‪..‬‬

‫لذالك حنزل شرح هنا تكدرون تقروا بكل سهوله و سرعه‪♥️😻..‬‬

‫موفقييييييييين️♥‬

‫بالبداية نظره عااامة عن ال‪c++‬‬

‫لغة ‪ C++‬هي لغة برمجة شائعة وكثيرة اإلستخدام ‪ ،‬وتستخدم بشكل أوسع في المجال العلمي مثل الجامعات ‪ ،‬المعاهد‬
‫وغيرها وذلك لسهولة تعلم البرمجة من خاللها‪.‬‬

‫أساسيات لغة البرمجة ‪📍C++‬‬

‫تعرف على القواعد والضوابط األساسية في لغة ‪.C++‬‬

‫‪-1‬بناء الجملة ‪Syntax‬‬

‫الدالة تتكون من جزئين وهما ‪ :‬عنوان الدالة و محتوى الدالة ‪.‬‬


‫الدالة ()‪ main‬هي نقطة البداية عند تشغيل برنامج ‪ C++‬وهذه الدالة قد تأخذ معامالت ولكن نالحظ أن القوسين فارغين‬
‫أي أنها ال تأخذ أي معامل في هذه الحالة ‪ ،‬وتعيد الدالة قيمة نوعها ‪ int‬وهو عدد صحيح والمالحظ أنها ترجع القيمة ‪0‬‬
‫قبل نهاية الدالة ;‪. return 0‬‬

‫‪:💻programming languages‬‬

‫‪ : int‬نوع القيمة المسندة‬

‫()‪ : main‬اسم الدالة ‪ ،‬والقوسين الفارغين يعني أن الدالة ال تقوم بإدخال متغيرات ‪parameters‬‬

‫;‪ : return 0‬القيمة المرجعة من الدالة‬

‫رموز لغة ‪* C++‬الرموز المستخدمة في لغة ‪C++‬‬

‫‪ -١‬الحروف اإلنجليزية الكبيرة ‪A.B.C‬‬

‫‪ -٢‬الحروف اإلنجليزية الصغيرة ‪a.b.c‬‬


‫‪ -٣‬األرقام العربية األصل ‪1.2.3‬‬

‫‪-4‬رموز خاصة‬
‫بعدين اشرحها الكم بالتفصيل وكل رمز شنو يعني‬

‫‪:💻programming languages‬‬

‫كلمات لغة ‪ C++‬الكلمات نوعين‪-:‬‬

‫‪ -١‬أسماء تعريفية (‪)Identifiers‬وهي األسماء التي نسميها نحن " المبرمجون" تعرف الحاسوب بما تريد‪.‬‬

‫وتطلق األسماء التعريفية على‪ -A -:‬المتغيرات‪.‬‬

‫‪ -B‬االختزانات (الدوال)‪.‬‬

‫‪ -C‬المؤشرات‪.‬‬

‫📍قواعد تسمية األسماء التعريفية في لغة ‪-: C++‬‬

‫‪ -1‬أن يكون االسم مكتوبا من سلسلة متصلة من الحروف أو األرقام بشرط أن‬
‫يبدا بحرف أو بخط تحتي "_"‬

‫‪ -2‬أن ال يحتوى االسم على رموز خاصة عدا الخط التحتي "_"‬

‫‪ -3‬أن ال يكون االسم إحدى الكلمات المحجوزة‪.‬‬

‫📍ومن الجدير بالذكر ‪ ،‬أن لغة ‪ C++‬تفرق بين الحروف األبجدية الصغيرة والكبيرة ‪،‬‬
‫فمثال األسماء ‪ SYSTEM , system, System :‬تعامل كأسماء مختلفة ع ن بعضها البعض بسبب اختالف معاملة‬
‫المترجم للحروف الصغيرة والكبيرة‪.‬‬
‫بالنسبة للي حاب يطبق ويانا عملي‬

‫اكو برامج مختلفه لل‪++C‬‬

‫موجود للحاسبة و للتلفون ايضا‬

‫بالنسبة للحاسبة ادخلو ع الرابط موجود طريقة التنصيب و رابط البرنامج‬

‫‪https://youtu.be/5SjVWO4BI4Y‬‬

‫‪:💻programming languages‬‬

‫وهذا اسم البرنامج لاليفون‬

‫مرات ماابيه حيل افتح الحاسبة 😂‬

‫ف استخدم هذا البرنامج سهل وسريع‬

‫اما بالنسبة لالندرويد متوفره برامج مختلفه‬

‫نكمل شرررح‬
‫اخذنة بصوره عامه شرح اساسيات ضروريه‬

‫نجي هسه من البداية نشرح‬

‫اول شي بكل كتابة برمجة بلغة‬

‫ال ‪ C++‬الزم تتوفر عدنا مكاتب حتى من نكتب دوال و كود البرنامج حيفهما‬

‫📍المكاتب االساسية هي🏻👇🏻👇‬

‫‪ -1‬المكتبه‬

‫‪>include <iostrean.h#‬‬

‫‪>include <conio.h#‬‬

‫‪ -2‬دالة البرنامج الرئيسي‬

‫‪)( Void main‬‬

‫{‬

‫‪-3‬ايقاف تنفيذ الشاشة‬

‫‪getch‬‬

‫او‬

‫‪;return 0‬‬

‫}‬

‫ضروري هاي الكليشة تنحفظ️♥‬

‫📍نجي ع دوال االدخال واالخراج‬

‫والزم الكل يعرف هاي الدوال لالنو اساسية‬


‫تقريبا مثل الهوية الشخصية‬
‫متكدر تدخل المكان او تطلع مكان خارجي ع االغلب اذا مااعندك الهوية‬

‫هنا ايضا متكدر ادخل قيم اذا ما عندك هاي الدوال‬

‫‪ >> cin -1‬االدخال‬

‫(تستخدم دواال االدخال الدخال معلومات من قبل المستخدم من شاشة التنفيذ او اسناد قيم الى المتغيرات المعرفة داخل‬
‫البرنامج من هالل ادخال المستخدم لقيمها لغرض معالجتها للقيام بالعمليات المطلوبه )‬
‫*يعني دوال االدخال نستخدمها الدخال القيم‬

‫‪ <<cout-2‬االخراج‬

‫(تستخدم دوال االخراج لعرض نواتج العمليات التي نريدها امام المتسخدم في شاشة التنفيذ)‬
‫*كلش بسيطة دالة االخرج‬

‫يعني اذا عندي اي شي اريد البرنامج يعرضة اخلي بداله االخراج ‪cout‬‬

‫📍 ضروري تركزولي ع شغله صغيروووونه وهي االقواس الي بصف كل داله النو اذا عكستوا االقواس راح يصير خطأ‬
‫بالكود‬

‫مثاااال ع داله االدخال‬

‫‪>>cin‬‬

‫‪>include <iostream.h#‬‬

‫‪>include <conio.h#‬‬

‫‪)( void main‬‬

‫{ ‪;int i‬‬
‫‪;cin >> i‬‬

‫‪;)( getch‬‬

‫هنا بالبداية كتبنه المكتبه‬

‫وراها عرفنه المتغير ‪ int‬يساوي ‪i‬‬

‫ودخلنه ال ‪ i‬بدالة االدخل‬

‫و بالنهاية وقفنا تنفيذ الشاشة‬

‫مثال ع دالة االخراج‬

‫‪<<cout‬‬

‫‪>include <iostream.h#‬‬

‫‪>include <conio.h#‬‬

‫‪)( void main‬‬

‫{‬

‫‪;"cout << "Hello‬‬

‫}‬

‫‪;)( getch‬‬

‫*بعد ميحتاج اعيد شرح المكتبه والكليشة الفوك عرفتوها‬

‫نجي فقط ع دالة االخراج‬


‫كتبنه ‪"cout << "Hello‬‬

‫يعني اريد تطبعلي او تخرجلي كلمة‬

‫‪Hello‬‬

‫📍عدنا كم مالحضة حول دوال االخراج‬

‫‪-1‬اذا ردنا نطبع او نخرج كلمة او جملة الزم نضعها بين دبل كوتيشن‬
‫"الجملة"‬

‫مثال‪-:‬‬

‫‪;”cout << “Hello Yaqeen‬‬

‫‪-2‬اذا اردنا ان نطبع او نخرج قيمة‬


‫نضعها هكذا‪-:‬‬

‫‪;”cout <<“x‬‬

‫‪-3‬اذا اردنا ان نطبع او نخرج قيمة و ننزل سطر‪-:‬‬

‫‪;cout <<“x”<<endl‬‬

‫*مثل مشفتوا الشرح الفوك‬


‫الزم تركزون ع الدبل كوتيشن " "‬

‫والفارزة المنقوطة اخر كل جمله‬


‫الي ضروري نخليها بعد منكمل كتابة كل سطر برمجي‬

‫‪ +‬ال ‪ enal‬يعني من اريد اطبع جملة وانزل سطر‬

‫الزم نهاية السطر اكتب ; ‪endl‬‬

‫يعني دااكول للبرنامج كمل تنفيذ او طباعة هذه الجملة وانزلي سطر‬

‫️♀‍🏻🧚‬

‫هسه نجي على انواع المتغيرات ‪-:‬‬

‫‪int-1‬‬

‫يتم استخدام هذا النوع في تعريف متغير من نوع رقمي مثل ‪7‬‬

‫‪float-2‬‬

‫يتم استخدام هذا النوع في تعريف متغير من نوع عشري مثل ‪4,12‬‬

‫‪char-3‬‬

‫يتم استخدام هذا النوع في تعريف متغير من نوع حرف‬

‫‪ string-4‬يتم استخدام هذا النوع في تعريف متغير من نوع كالم نص‬

‫📍 اختصار‬

‫‪ int-1‬لالرقام‬

‫‪ float-2‬لالرقام العشريه‬

‫‪ char -3‬للحرف‬

‫‪ string-4‬للنص‬

‫المتغيرات‬
‫هي أسماء (عناوين) لمواقع في ذاكرة الحاسوب ‪ ،‬يخزن بها رموز أو أعداد‬

‫وبما أن أنواع المعلومات المراد تخزينها تكون عادة مختلفة مثل القيم الصحيحة أو الحقيقية‬
‫أو الرمزية ‪ ...‬الــخ ف انك تحتاج أن تعلم المترجم في بداية البرنامج عن أنواع المتغيرات التي تريد استعمالها في‬
‫البرنامج ‪ ،‬فمثال في السطور التالية تبين أن المتغيرين ‪ x‬و ‪ y‬حقيقيان ‪ ،‬والمتغير ‪ k‬صحيح ‪ ،‬والمتغير ‪ c,b,a‬رمزية‬

‫الحظ السطرين األول ‪ ،‬والثالث يحتويان على اكثر من متغير حيث يفصل بين كل متغيرين ‪،‬‬
‫فاصلة وكذلك يمكن تحديد أنواع المتغيرات ‪ ،‬بذكر التفصيل الدقيق للنوع ‪ ،‬من حيث طول السعة التخزينية ‪ ،‬أي هل هو‬
‫صحيح قصير أم طويل حقيقي قصير أو مضاعف ‪..‬الخ‪....‬‬

‫📍تقسم المتغيرات الى نوعين ‪-:‬‬

‫‪-1‬متغيرات عددية‬
‫وهي مواقع في الذاكرة تخزن بها االعداد‪.‬‬

‫‪-2‬متغيرات رمزية‬
‫وهي مواقع في الذاكرة تخزن بها رموز‪.‬‬

‫‪ -3‬متغيرات منطقية‬

‫وتخزن فيها قيمه منطقية اما ‪ FALSE=0‬او ‪TRUE=1‬‬


‫االدوات المستعملة في لغة ‪C++‬‬

‫يوجد في لغة ‪ C++‬ثالثة أنواع من األدوات وهي‪ :‬األدوات الحسابية‬

‫األدوات المنطقية والعالقة‬


‫األدوات الدقيقة‬

‫وفيما يأتي تفصيل باألنواع الثالثة‪-:‬‬

‫االدوات الحسابية‬

‫تسمح لغ ة ‪ C++‬باستعمال األدوات الحسابية من جمع وطرح وضرب وقسمة‬

‫كاللغات األخرى ‪ ،‬إال أن عملية الرفع إلى أس ‪ ،‬ليس لها أدوات مباشرة مثل األداة‪ h‬في ‪ Basic‬واألداة ** في فورت ران‬
‫‪ ،‬وانما تتم علمية ال رفع إلى أس في لغة ‪C++‬‬

‫بطريقة أخرى ‪..‬‬

‫كما تختلف القسمة في لغة ‪ C++‬عنها في ‪ Basic‬إذا أن أي جزء كسري ينتج عن القسمة يهمل مهمها كان كبيرا ‪،‬‬

‫كما في لغتي باسكال وكوبول فمثال ناتج القسمة ‪ 8/3‬هو ‪ 2‬ال الكسر ‪ 0.666‬يهمل ‪ ،‬ويكون ناتج القسمة باستعمال‬
‫األداة ‪ /‬صحيح العدد‪ .‬ويمكننا اآلن أن نلخص األدوات الحسابية المستعملة في لغة ‪ C++‬فيما يأتي‪-:‬‬
‫هاي جدولين مبسطات ركزوا عليهن 🏻☝‬

‫‪https://play.google.com/store/apps/details?id=com.kvassyu.coding.cpp‬‬

‫📍نجي ع دوال االدخال واالخراج‬

‫والزم الكل يعرف هاي الدوال لالنو اساسية‬


‫تقريبا مثل الهوية الشخصية‬
‫متكدر تدخل المكان او تطلع مكان خارجي ع االغلب اذا مااعندك الهوية‬

‫هنا ايضا متكدر ادخل قيم اذا ما عندك هاي الدوال‬

‫‪ >> cin -1‬االدخال‬

‫(تستخدم دواال االدخال الدخال معلومات من قبل المستخدم من شاشة التنفيذ او اسناد قيم الى المتغيرات المعرفة داخل‬
‫البرنامج من هالل ادخال المستخدم لقيمها لغرض معالجتها للقيام بالعمليات المطلوبه )‬
‫*يعني دوال االدخال نستخدمها الدخال القيم‬

‫‪ <<cout-2‬االخراج‬

‫(تستخدم دوال االخراج لعرض نواتج العمليات التي نريدها امام المتسخدم في شاشة التنفيذ)‬
‫*كلش بسيطة دالة االخرج‬

‫يعني اذا عندي اي شي اريد البرنامج يعرضة اخلي بداله االخراج ‪cout‬‬
‫📍 ضروري تركزولي ع شغله صغيروووونه وهي االقواس الي بصف كل داله النو اذا عكستوا االقواس راح يصير خطأ‬
‫بالكود‬

‫‪:💻programming languages‬‬

‫من منا لم يفكر يوًم ا بينما يعمل على أحد التطبيقات أو يستخدم أحد مواقع اإلنترنت عن مقدار العمل الذي استغرق إلنجاز‬

‫هذا التطبيق🤔 ؟! من منا يشغل تفكيره ولو للحظة أن يغامر بدخول هذا العالم الواسع؟! 📕أكثرنا أمضى وقًت ا طوياًل محتاًر ا‬
‫بين اللغات المتعددة‪ ،‬هل يستحسن أن أتعلم الجافا ‪ Java‬أم سي بلس بلس ‪++C‬؟ ربما تكون ‪ #c‬أكثر متعًة ! ما ميزات كل‬

‫لغٍة؟! هكذا حتى أصابنا اإلرهاق وأصبح دخول هذا العالم مرعًبا لمعظمنا‪👍🏻.‬‬

‫تعريف لغة سي بلس بلس ‪++C‬‬


‫هي لغة برمجة كائنيٍة متعددة األغراض‪ ،‬ومهيكلة‪ .‬اخترعت من قبل بيارن سترستروب في مختبرات بيل‪ .‬وهي لغٌة‬
‫مماثلٌة للغة السي ‪ C‬التي قام باختراعها دينيس ريتشي في أوائل سبعينيات القرن الماضي‪ ،‬إال أنها أكثر أماًن ا من سابقتها‬
‫وتتضمن العديد من التقنيات الحديثة كالبرمجة كائنية التوجه ‪Object Oriented programming OOP. 2‬‬

‫تاريخ سي بلس بلس ‪++C‬‬

‫يعود تاريخ هذه اللغة إلى عام ‪ ،1979‬إذ قام بإنشائها برايان ستروستروب أثناء عمله في مختبرات بيل‪ .‬في الواقع عمل‬
‫عليها كنسخٍة مطورٍة من لغة سي ‪ c‬وسميت بدايًة (سي مع الصفوف ‪ ،)C with classes‬وكانت ‪ % 99‬من برامج سي‬
‫تعمل عليها دون تغيير في الشيفرة المصدرية‪.‬‬

‫تم تغيير اسم اللغة عام ‪ 1983‬إلى االسم المعروف حالًيا وهو سي بلس بلس ‪( ++C‬داللة على معامل الزيادة في اللغة‬
‫وهو ‪ .)++‬ومع الوقت تم إضافة العديد من الميزات حتى تطورت ووصلت إلى شهرتها الحالية‪.‬‬

‫مزايا لغة سي بلس بلس ‪++C‬‬

‫نتيجة االهتمام الذي حظيت به اللغة منذ نشأتها فقد تميزت عن سابقتها بالعديد من المزايا التي جعلت منها لغًة مرموقًة بين‬
‫أشباهها‪ .‬وسنذكر بعض مزاياها تلك‪:‬‬
‫• لغة كائنية التوجه‪.‬‬
‫• محمولة‪.‬‬
‫• متعددة المهام‪.‬‬
‫• شاملة‪.‬‬
‫• قوية‪ ،‬إذ تستعمل في العديد من أنظمة التشغيل‪.‬‬
‫• تعتبر من اللغات الرائدة في تطوير المشاريع الكبيرة والمعقدة‪.‬‬
‫• ورثت مزايا لغة سي إال أنها أضافت العديد من األنماط البرمجية الهامة‪ ،‬كالتغليف ‪ ،Encapsulation‬الوراثة‬
‫‪ ،Inheritance‬تعددية األشكال ‪ ،Polymorphism‬التجريد ‪ abstraction‬والصفوف ‪.classes‬‬

‫• ووفرت العديد من الوظائف المرتبطة بالدوال والتحميل الزائد‪.‬‬

‫• توفر مكتبة قياسية ‪ STL‬من الخوارزميات ووحدات الدخل والخرج‪.‬‬

‫بعض التطبيقات التي استخدمت سي بلس بلس ‪ ++C‬في تصميمها‬

‫استخدمت هذه اللغة في العديد من البرامج والتطبيقات التي نستخدمها بشكٍل يومٍّي اآلن‪ ،‬فمنها ما اعتمد على اللغة بشكٍل‬
‫كبيٍر ‪ ،‬ومنها ما دخلت عدة لغاٍت مجتمعٍة في تطويره‪ .‬لكن القوة التي تتمتع بها هذه اللغة جعلتها تحتل مكاًن ا في برمجة‬
‫معظم البرامج الناجحة والقوية منها‪:‬‬

‫• ‪ :Firmware‬برامج أنظمة اآلالت والهواتف المحمولة‪.‬‬

‫• أنظمة التشغيل مثل ‪ Windows‬و ‪. Apple Os X‬‬

‫• معظم برامج ‪ Adobe‬مثل الفوتوشوب ‪ photoshop‬وأليستريتور ‪ Illustrator‬والبريمير ‪.Premier‬‬

‫• تطبيقات غوغل ‪ :Google Applications‬تمت كتابة بعض تطبيقات غوغل بواسطة ‪ ++C‬مثل نظام الملفات وغوغل‬
‫كروم ‪.Google Chrome‬‬

‫• متصفح اإلنترنت ‪.Mozila Firefox‬‬

‫• برنامج النمذجة ثالثية األبعاد ‪.Autodesk Maya‬‬

‫• أمازون ‪.Amazon‬‬

‫• البريد اإللكتروني‪.‬‬

‫هل هي مفتوحة المصدر؟🤔‬

‫برأيي هذا اهم سؤال الزم يعرفه المبرمج حتى يشتق طريقه‪...‬‬

‫نتيجة انتشارها الكبير والتطويرات التي قام بها العديد من المبرمجين فقد توافرت منها العديد من البرمجيات المفتوحة‬
‫المصدر‪ ،‬ويمكن ألٍّي كان االطالع على الشيفرة المصدرية للعديد من التطبيقات بسهولٍة‪.‬‬

‫مميزات لغة ‪ ++C‬عن باقي لغات البرمجة‪...‬؟‬

‫‪ 1‬مفتوحة المصدر‬

‫‪ 2‬خفيفة‬
‫تستطيع البرمجة بها حتى و لو كان حاسوبك ضعيفًا أو قديمًا‪.‬‬
‫‪ 3‬البساطة‬
‫تعلمها سهل جدًا بعد أن تفهم برمجة الكائنات‪.‬‬

‫‪ 4‬سرعة الترجمة‬

‫تتم ترجمة لغة ‪ ++C‬إلى أوامر يفهمها الجهاز بشكل سريع جدًا‪.‬‬

‫‪ 5‬لغة كائنية ( ‪) Object Oriented‬‬

‫مع أن لغة ‪ ++C‬صممت لتكون قريبة من عتاد الجهاز و قريبة للغات منخفضة المستوى إال أنها تتيح لمستخدمها بناء‬
‫الكالسات و التعامل معها بطرق منهجيات البرمجة الكائنية ( ‪ ) OOP‬مثل الوراثة و تعدد األشكال و غيرها من المبادئ‬
‫التي ستتعلمها الحقًا في الدورة‪.‬‬

‫‪ 6‬متعددة النماذج‬

‫تسمح لغة ‪ ++ C‬لمستخدمها باختيار الطريقة المناسبة له لكتابة الكود البرمجي من بين عدة نماذج مختلفة مثل النموذج‬
‫الهيكلي ( ‪ ) Structural‬الشبيهة بلغة ‪ C‬و النموذج الكائني ( ‪ ) Object Oriented‬الشبيه بلغة ‪.++C‬‬

‫‪ 7‬الدعم الكبير‬

‫لغة ‪ ++ C‬من اللغات القديمة نسبيا و المنتشرة بشكل كبير مما جعل منها لغة ذات شعبية كبيرة و مصادر تعلم مختلفة و‬
‫متعددة و دعم كبير من قبل مجتمع المطورين‪.‬‬

‫أساسيات لغة البرمجة ‪📍C++‬‬


‫تعرف على القواعد والضوابط األساسية في لغة ‪.C++‬‬

‫‪-1‬بناء الجملة ‪Syntax‬‬

‫الدالة تتكون من جزئين وهما ‪ :‬عنوان الدالة و محتوى الدالة ‪.‬‬

‫الدالة ()‪ main‬هي نقطة البداية عند تشغيل برنامج ‪ C++‬وهذه الدالة قد تأخذ معامالت ولكن نالحظ أن القوسين فارغين‬
‫أي أنها ال تأخذ أي معامل في هذه الحالة ‪ ،‬وتعيد الدالة قيمة نوعها ‪ int‬وهو عدد صحيح والمالحظ أنها ترجع القيمة ‪0‬‬
‫قبل نهاية الدالة ;‪. return 0‬‬

‫‪:💜💻programming languages‬‬

‫‪ : int‬نوع القيمة المسندة‬

‫()‪ : main‬اسم الدالة ‪ ،‬والقوسين الفارغين يعني أن الدالة ال تقوم بإدخال متغيرات ‪parameters‬‬

‫;‪ : return 0‬القيمة المرجعة من الدالة‬


‫رموز لغة ‪* C++‬الرموز المستخدمة في لغة ‪C++‬‬

‫‪ -١‬الحروف اإلنجليزية الكبيرة ‪A.B.C‬‬

‫‪ -٢‬الحروف اإلنجليزية الصغيرة ‪a.b.c‬‬

‫‪ -٣‬األرقام العربية األصل ‪1.2.3‬‬

‫اقروا الشرح الفوك وحكمل الباقي‬

‫دالة دالة اشرحها‬

‫نجي على اهم امر (دالة) وهو ابسط امر تقريبًا امر الطباعة‬

‫‪<<cout‬‬

‫أمر الطباعة ‪cout‬‬

‫بشكل عام‪ ,‬نستخدم األمر ‪ cout‬لطباعة أي شيء نريد في الكونسول‪.‬‬

‫عند إستخدام األمر ‪ cout‬يجب أن تضع العامل >> قبل أي شيء تريد تمريره له حتى يتم طباعته‪.‬‬

‫مبادئ الطباعة األساسية‬

‫عليك مراعاة المبادئ التالية عند استخدام األمر ‪.cout‬‬

‫• لعرض رقم‪ ,‬ضعه كما هو‪.‬‬


‫• لعرض قيمة متغير‪ ,‬ضعه كما هو‪.‬‬
‫• لعرض حرف يجب وضعه بين ' '‪.‬‬
‫• لعرض كلمة أو نص‪ ,‬يجب‬
‫وضعه بين " "‪.‬‬
:💜💻programming languages

‫شرح الكود‬
‫• األمر ‪ >include <iostream#‬الموجود في السطر األول يقوم بتضمين الحزمة ‪ iostream‬التي تحتوي على‬
‫األوامر األساسية التي نحتاجها في التطبيقات التي تعتبر ‪ Console Application‬و التي سنستخدمها في أغلب البرامج‬
‫مثل أمر الطباعة ‪ cout‬و غيره من األوامر و الدوال الجاهزة التي ستمر معك الحقًا في الدورة‪.‬‬

‫• سبب وضع ‪ ::std‬قبل ‪ cout‬هو أن األمر ‪ cout‬موجود فيه‪.‬‬

‫• الدالة ‪ )(main‬التي قمنا بتعريفها ابتداءًا من السطر الثالث يجب أن يكون نوعها ‪ int‬ألنها تمثل نقطة البداية في‬
‫البرنامج‪.‬‬

‫• وضع ‪ ;return 0‬في السطر السادس و كآخر أمر في الدالة ‪ )(main‬هو أمر متعارف عليه‪ ,‬و فكرته إرسال الرقم ‪0‬‬
‫لنظام التشغيل عند انتهاء أو إغالق البرنامج بشكل طبيعي‪ .‬هكذا سيتمكن نظام التشغيل من التفريق بين اإلنهاء الطبيعي‬
‫للبرنامج واإلنهاء المفاجئ ( ‪ ) Crash‬الذي يحدث نتيجة خطأ ما‪.‬‬

‫طباعة عدة أشياء دفعة واحدة بواسطة األمر ‪ cout‬في ‪++C‬‬

‫لدمج عدة أشياء مختلفة و عرضها باستخدام األمر ‪ cout‬نضع الرمز >> بين كل شيئين نريد طباعتهما‪.‬‬

‫في المثال التالي‪ ,‬قمنا بإنشاء برنامج يحتوي على متغيرين ‪ name‬و ‪.year‬‬

‫بعدها قمنا بعرضهما كجملة واحدة‪.‬‬


‫عرض المحتوى على سطر جديد ‪++C‬‬

‫عند عرض المحتوى بواسطة األمر ‪ cout‬يمكنك تحديد نهاية السطر من خالل وضع العامل ‪ endl‬و عندها سيظهر أي‬
‫شيء تطبعه بعده على سطر جديد‪.‬‬

‫معلومة‪ endl :‬إختصار لجملة ‪End Line‬‬

‫‪:💜💻programming languages‬‬

‫أمر اإلدخال ‪ cin‬في ‪++C‬‬

‫لجعل المستخدم قادر على إدخال بيانات في البرنامج أثناء اشتغاله نستخدم أمر اإلدخال ‪.>> cin‬‬

‫األمر ‪ cin‬موجود في الحزمة ‪ std‬و لهذا يجب ان تكتب ‪ std::cin‬إن لم تكن تريد تضمين الحزمة ‪ std‬في برنامجك‪.‬‬

‫في كل مرة تقوم فيها باستدعاء هذا األمر يقوم المترجم بانتظارك إلدخال عدد أو كلمة واحدة من لوحة المفاتيح (‬
‫‪.) Keyboard‬‬

‫بعد اإلنتهاء من اإلدخال و النقر على الزر ‪ Enter‬سيتم إرجاع الشيء الذي قمت بإدخاله في المكان الذي تم منه إستدعاء‬
‫األمر ‪.>> cin‬‬

‫‪>include <iostream#‬‬

‫‪;using namespace std‬‬

‫‪)(int main‬‬

‫{‬

‫‪ //‬لتخزين المعلومات التي سيدخلها المستخدم الحقًا ‪ age‬و ‪ name‬قمنا بتجهيز المتغيرين‬

‫‪;string name‬‬

‫‪;int age‬‬

‫‪ name //‬هنا سيطلب من المستخدم إدخال إسمه و من ثم سيتم تخزين اإلسم الذي يدخله في المتغير‬

‫‪;" ?cout << "What's your name‬‬

‫‪;cin >> name‬‬


‫‪ age //‬هنا سيطلب من المستخدم إدخال عمره و من ثم سيتم تخزين الرقم الذي يدخله في المتغير‬

‫‪;" ?cout << "How old are you‬‬

‫‪;cin >> age‬‬

‫‪ //‬في األخير قمنا بعرض المعلومات التي يدخلها المستخدم بشكل مرتب‬

‫‪;".cout << "Your name is " << name << ", and your age is " << age << " years‬‬

‫‪;return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل مع اإلشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج إلدخالها من لوحة‬
‫المفاتيح باللون األصفر‪.‬‬

‫‪What's your name? Mhamad‬‬

‫‪How old are you? 25‬‬

‫‪.Your name is Mhamad, and your age is 25 years‬‬

‫الفرق بين األمر ‪ cin‬و األمر ‪cout‬‬

‫في البداية معرفة سبب تسمية األوامر بهذه الكلمات سيسهل عليك تذكر الفرق بينهما‪ ,‬لذا تذكر دائمًا أصلهما‪:‬‬

‫• ‪ cin‬يقصد بها كلمة ‪ See In‬و التي بدورها تستخدم إلدخال قيمة في المتغير‪.‬‬

‫• ‪ cout‬يقصد بها كلمة ‪See‬‬

‫‪ Out‬و التي بدورها تستخدم للحصول على قيمة المتغير‪.‬‬

‫األمر ‪ cin‬نضع بعده إسم المتغير الذي سنخزن القيمة التي يدخلها المستخدم فيها و تكون األسهم باتجاه اليمين كالتالي‪.‬‬

‫‪ x //‬قم بتخزين ما سيدخله المستخدم في المتغير‬

‫‪;cin >> x‬‬

‫األمر ‪ cout‬نضع بعده أي شيء نريد عرضه أو أي متغير نريد عرض قيمته و تكون األسهم باتجاه اليسار كالتالي‪.‬‬
‫‪ x //‬قم بعرض القيمة المدخلة في المتغير‬

‫‪;cout << "x = " < < a‬‬

‫المشاكل التي يسببها إدخال مسافات فارغة‬

‫تذكر دائمًا أن األمر ‪ >> cin‬يستخدم إلدخال رقم أو كلمة واحدة فقط بمعنى أنه ال يجب أن يحتوي ما تدخله على مسافات‬
‫فارغة‪.‬‬
‫في حال كان ما أدخلته يحتوي على مسافات فارغة‪ ,‬سيسبب ذلك مشاكل في الكود ألن المترجم سيعتبر أنك تحاول إدخال‬
‫مجموعة قيم و ليس قيمة واحدة‪.‬‬
‫عندما يجدك المترجم قمت بإدخال مجموعة قيم في ذات الوقت الذي تحاول فيه أن تخزن قيمة واحدة فقط في متغير‪,‬‬
‫سيعتبر أنك تريد إدخال القيم األخرى في المرات القادمة التي تطلب فيها من المستخدم أن يدخل قيم‪.‬‬

‫في المثال التالي‪ ,‬قمنا بإنشاء برنامج يطلب من المستخدم إدخال إسمه و بريده اإللكتروني‪ ,‬بعدها يعرض له ما قام‬
‫بإدخاله‪.‬‬
‫عند تشغيل البرنامج سنتعمد إدخال إسم المستخدم الكامل (إسمه و إسم عائلته) مع وضع مسافة فارغة بينهما حتى ترى‬
‫الخطأ الذي سيحدث‪.‬‬

‫‪>include <iostream#‬‬

‫‪;using namespace std‬‬

‫‪)(int main‬‬

‫{‬

‫‪ //‬لتخزين المعلومات التي سيدخلها المستخدم الحقًا ‪ email‬و ‪ name‬قمنا بتجهيز المتغيرين‬

‫‪;string name‬‬

‫‪;string email‬‬

‫‪ name //‬هنا سيطلب من المستخدم إدخال إسمه و من ثم سيتم تخزين اإلسم الذي يدخله في المتغير‬

‫‪;" :cout << "Enter your name‬‬

‫‪;cin >> name‬‬

‫‪ email //‬هنا سيطلب من المستخدم إدخال بريده اإللكتروني و من ثم سيتم تخزين البريد الذي يدخله في المتغير‬

‫‪;" :cout << "Enter your email‬‬


‫‪;cin >> email‬‬

‫‪ //‬في األخير قمنا بعرض المعلومات التي يدخلها المستخدم بشكل مرتب‬

‫‪;"---------------------cout << "\n\n‬‬

‫‪;cout << "\nName = " << name‬‬

‫‪;cout << "\nEmail = " << email‬‬

‫‪;return 0‬‬

‫}‬

‫سنحصل على النتيجة التالية عند التشغيل مع اإلشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج إلدخالها من لوحة‬
‫المفاتيح باللون األصفر‪.‬‬

‫‪Enter your name: Mhamad Harmush‬‬

‫<‪ -‬الحظ أنه لم ينتظرنا لندخل البريد اإللكتروني بل إعتبر أنه تم إدخاله‬ ‫‪:Enter your email‬‬

‫‪---------------------‬‬

‫‪ Name = Mhamad‬فقط في المتغير ‪ Mhamad‬الحظ أنه قام بوضع‬ ‫‪<- name‬‬

‫<‪ -‬بشكل تلقائي ‪ email‬في المتغير ‪ Harmush‬الحظ أنه قام بوضع‬ ‫‪Email = Harmush‬‬

‫عبارة ‪ if‬الشرطية ُتعّد من أهم الدوال المستخدمة في اللغة‪،‬‬

‫وطريقتها أن يتحقق البرنامج من تحقق الشرط‪ ،‬كأنك تقول للبرنامج إذا تحقق الشرط إفعل كذا‪ .‬فإذا تحقق الشرط أّي‬
‫كانت نتيجة المقارنة هي (‪ )True‬ينفذ الخطوات الموجودة بين قوسي العبارة الشرطية (‪ ،) if‬وفي حال لم يتحقق الشرط (‬
‫‪ )condition‬أّي أن نتيجة المقارنة كانت (‪ )False‬سوف يعبر جميع الخطوات الموجودة بين قوسي العبارة الشرطية (‬
‫‪ ) if‬وال ينفذها‪ ،‬أّي أنه يجب أن تكون نتيجة مقارنة شروط هي (‪ )True‬حتى ينفذ ما بين قوسي العبارة الشرطية‪ ،‬ويكتب‬
‫الكود بهذه الطريقة‪:‬‬

‫;(‪if(condition‬‬
‫}‬

‫;‪statement‬‬

‫{‬

‫‪ statement‬الموجودة بين القوسين هي جملة الشرط‪.‬‬


‫‪:💜💻programming languages‬‬

‫يتألف التعبير ‪ if‬من الكلمة األساسية ‪ ،if‬يليها جسم القرار ويتكّو ن إّما من عبارة واحدة أو عدة عبارات تحيطها األقواس‬
‫{}‪ ،‬ويتم تحقيق ما بين األقواس في حال تحقق الشرط أما في حال عدم تحقق الشرط فال يتم تنفيذ شيء‪.‬‬

‫مالحظة‪ :‬إذا أردنا طباعة أكثر من عبارة داخل جملة ‪ if‬يجب إضافة {}‪ ،‬وال يشترط كتابتها إذا كانت جملة واحدة‪.‬‬

‫العالقات التي تستخدم كشروط (‪ )condition‬في العبارة الشرطية (‪:)if‬‬

‫‪ 1‬عالمة األكبر ويرمز لها >‪ ،‬طريقة تمثيله في ‪ if‬الشرطية‪ )x>y) if :‬مقارنة بين المتغيرين (‪ )x,y‬ينفذ الجملة التابعة‬
‫لعبارة ‪ if‬إذا كان ‪ x‬اكبر من ‪.y‬‬

‫‪ -2‬عالمة األصغر ويرمز لها <‪ ،‬طريقة تمثيله في ‪ if‬الشرطية‪ )x<y) if :‬مقارنة بين المتغيرين (‪ )x,y‬ينفذ الجملة‬
‫التابعة لعبارة ‪ if‬إذا كان ‪ x‬أقل من ‪.y‬‬

‫‪ -3‬عالمة أكبر أو يساوي ويرمز لها =<‪ ،‬طريقة تمثيله في ‪ if‬الشرطية‪ )x>=y) if :‬مقارنة بين المتغيرين (‪ )x,y‬ينفذ‬
‫الجملة التابعة لعبارة ‪ if‬إذا كان ‪ x‬أكبرأو يساوي ‪.y‬‬

‫‪ -4‬عالمة أكبر أو يساوي ويرمز لها =>‪ ،‬طريقة تمثيله في ‪ if‬الشرطية‪ )x<=y)if :‬مقارنة بين المتغيرين (‪ )x,y‬ينفذ‬
‫الجملة التابعة لعبارة ‪ if‬إذا كان ‪ x‬أقل أو يساوي ‪.y‬‬

‫‪ -5‬عالمة التساوي ويرمز لها ==‪ ،‬طريقة تمثيله في ‪ if‬الشرطية‪ )x==y) if :‬مقارنة بين المتغيرين (‪ )x,y‬ينفذ الجملة‬
‫التابعة لعبارة ‪ if‬إذا كان ‪ x‬يساوي ‪.y‬‬
‫‪ -6‬عالمة ال يساوي ويرمز لها =!‪ ،‬طريقة تمثيله في ‪ if‬الشرطية‪ )x!=y) if :‬مقارنة بين المتغيرين (‪ )x,y‬ينفذ الجملة‬
‫التابعة لعبارة ‪ if‬إذا كان ‪ x‬ال يساوي ‪.y‬‬

‫‪ -7‬جمع شرطين بـ ‪ and‬ويرمز لها بـ &&‪ ،‬طريقة تمثيلها في ‪ if‬الشرطية‪ ،if ((x>y)&&(x>z(( :‬ينفذ الجملة التابعة‬
‫لعبارة ‪ if‬إذا كان ‪ x‬أكبر من ‪ y‬وأيًض ا أكبر من ‪ z‬أّي أنه يجب أن يتحقق الشرطان حتى يتم تنفيذ الجمل‪.‬‬

‫‪ -8‬جمع شرطين بـ ‪ or‬ويرمز لها بالرمز ||‪ ،‬وطريقة تمثيلها في ‪ if‬الشرطية هي‪:‬‬

‫‪ ،if ((x>y)||(x>z(( 16‬ويعني تنفيذ الجملة التابعة لعبارة ‪ if‬إذا كان ‪ x‬أكبر من ‪ y‬وأيًض ا أكبر من ‪ z‬بمعنى أنه يجب‬
‫أن يتحقق الشرطان حتى يتم تنفيذ الجمل‪.‬‬

‫حيث أن (=!‪ )<,>,<=,>=,==,‬تستخدم كعالقة بين متغيرين أو قيمتين أو متغير وتعبير رياضي‪.‬‬

‫‪:💜💻programming languages‬‬

‫مرحبًا‬

‫اليوم شرحنا حيكون عن عبارة التكرار ‪ for‬في لغة ‪C++‬‬

‫لغة سي بلس بلس (‪ )C++‬توفر عدًد ا من أساليب التكرار (الحلقات) التي تستخدم لتكرار أجزاء من البرنامج أكثر من مرة‬
‫طالما أن تعبير االختبار صحيح وإاّل تتوقف عن التكرار‪ ،‬وهناك ثالثة أنواع من حلقات التكرار في لغة سي بلس بلس‬
‫وهي ‪ for، while‬و ‪ do while‬وسنتحدث في هذا المنشور عن عبارة التكرار ‪.for‬‬

‫تعريف عبارة التكرار ‪:for‬‬

‫عبارة التكرار ‪ for‬تعتبر أحد جمل التكرار المتوفرة في لغة ‪ c++‬وأكثرها استخداَم ا لبساطتها وسهولتها‪ ،‬حيث يفضل‬
‫الكثير من المبرمجين استخدامها في أغلب األحيان ألنه ببساطة يتم تعريف المتغير المستخدم فى الحلقة وتحديد الشرط‬
‫والعّد اد فى سطر واحد فقط وهو ما يسهل كثيًر ا على المبرمج‪ .‬حلقة ‪ for‬لها وظائف عديدة من هذه الوظائف إدخال القيم‬
‫والبحث عنها وغيرها‪ ،‬وتستخدم كثيًر ا في المصفوفات‪.‬‬

‫وسائط جملة الشرط ‪:for‬‬


‫للكلمة المحجوزة ‪ for‬ثالثة وسائط يتم الفصل بينها بفاصلة منقوطة‪ ،‬بحيث‪:‬‬

‫‪ -1‬الوسيط األول‪ :‬وهو عبارة عن متغّير نضع به القيمة التي سيبدأ بها العّداد‪ ،‬مثال لتكرار أمر ما ‪ 10‬مرات يكون‬
‫العّداد على سببيل المثال يبدأ بـ ‪ 0‬وينتهي بـ ‪.10‬‬

‫‪ -2‬الوسيط الثاني شرط االستمرار( ‪ :)condition‬إذا كان الشرط خاطئ فسيتم الخروج من الحلقة‪ ،‬وإذا كان صحيح‬
‫فسيتم إعادة تنفبذ األوامر‪ ،‬مثال إذا كان العّداد أقل من أو يساوي ‪ 10‬استمر‪ ،‬ويبقى التكرار قائًما حتى ينتفي الشرط‬
‫ويصبح أكبر من ‪.10‬‬

‫‪ -3‬الوسيط الثالث‪ :‬وهو المؤثر (غالًبا ما يكون مقدار الزيادة أو النقصان في العّداد)‪.‬‬

‫توضيح عن عمل ال ‪for‬‬

‫‪:💜💻programming languages‬‬

‫مثال على هذا الكالم لو أردنا تكرار أمر معين ثالث مرات‪:‬‬

‫(‪for (int i=1 ; i<=3 ; i++‬‬

‫}‬
‫;‪statement 1‬‬

‫;‪statement 2‬‬

‫}‬

‫تمِّث ل الـ ‪ i‬هنا عّداد من نوع ‪ int‬قيمته االبتدائّية =‪ 1‬ثّم شرط االستمرار وهو أن ‪ i‬أقل من أو تساوي الرقم ‪ 3‬وبعدها‬
‫الزيادة على العّداد بمقدار ‪ .1‬والجمل ما بين القوسين هي العمليات التي نريد تكرارها‪.‬‬

‫ما الفرق بين الحلقة التكرارية ‪ for‬والحلقات ‪ while‬و ‪do while‬؟‬

‫عادة ال تعرف الحلقة ‪ while‬والحلقة ‪ do while‬عدد مرات تكرار الحلقة لكن في الحلقة التكرارية ‪ for‬يكون عدد مرات‬
‫تنفيذ الحلقة مذكوًر ا عادة في بدايتها‪.‬‬

‫مفهوم الكالس في ‪++C‬‬

‫الكالس عبارة عن نوع جديد يتم تعريفه بواسطة الكلمة ‪ class‬و هذا النوع يمكنه أن يحتوي على دوال‪ ,‬متغيرات‪,‬‬
‫مصفوفات إلخ‪..‬‬

‫النوع الذي تقوم بتعريفه بوسطة الكلمة ‪ class‬يشبه بشكل كبير النوع الذي تقوم بتعريفه بواسطة الكلمة ‪ struct‬التي‬
‫تعرفنا عليها في الدرس السابق‪.‬‬
‫لهذا السبب سنبدأ بذكر الفرق بينهما حتى ال ترتبك من شدة التشابه الذي ستالحظه بينهما‪.‬‬

‫الفرق األساسي بين النوع الذي يتم تعريفه بواسطة الكلمة ‪ class‬و النوع الذي يتم تعريفه بواسطة الكلمة ‪ struct‬هو أن‬
‫هذا األخير يمكن الوصول ألي شيء موجود فيه بشكل مباشر‪ ,‬بينما في النوع ‪ class‬أنت تحدد ما إن كان يمكن الوصول‬
‫لألشياء التي تضعها فيه بشكل مباشر أم ال‪.‬‬
‫إمكانية تحديد الطريقة التي يمكن فيها الوصول لألشياء الموجودة في الكالس تمكننا من تطبيق كل مبادئ البرمجة الكائنية‬
‫( ‪ ) OOP‬المتعارف عليها‪.‬‬
‫مجموعة شروحات للغة ال‪++c‬‬

‫بصورة سهله‬

You might also like