KINGS OF IRAQ
اهلا وسهلا بكم في منتديات ملوك العراق
نتمنى منكم التسجيل في منتدياتنا
أدارة منتديات ملوك العراق
KINGS OF IRAQ
اهلا وسهلا بكم في منتديات ملوك العراق
نتمنى منكم التسجيل في منتدياتنا
أدارة منتديات ملوك العراق
KINGS OF IRAQ
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

KINGS OF IRAQ

منتديـــــــــ مــلـــــــــــ العراق ـــــــــــــوك ـــــــــــــــــــــــات
 
الرئيسيةأحدث الصورالتسجيلدخول
بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
المواضيع الأخيرة
» طريقة صنع صفحات مزورة خاصة بك
تعلم لغه c++ بطريقه عجيبه Emptyالثلاثاء مايو 15, 2012 3:50 am من طرف hitler

» الكائنات المهددة بالانقراض
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 4:13 pm من طرف متيكو المدير والمشرف

» تمساح ضخم.. جدا
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 4:07 pm من طرف متيكو المدير والمشرف

» فتاة قامت باجراء عملية تحويل وجهها الى وجه خنزير
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 3:58 pm من طرف متيكو المدير والمشرف

» ما تأثير أشعة الكمبيوتر على المخ ؟
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 3:54 pm من طرف متيكو المدير والمشرف

» ماهو الارهاق ومتى نحتاج للراحة بصورة فعلية ؟
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 3:48 pm من طرف متيكو المدير والمشرف

» أهم الصفات التى توقع الرجل فى حبك؛؛؛؛؛؛
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 3:43 pm من طرف متيكو المدير والمشرف

» الــــــــــحـــــــــــــــب
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 3:37 pm من طرف متيكو المدير والمشرف

» دروس في تصاميم الفوتوشوب
تعلم لغه c++ بطريقه عجيبه Emptyالأحد يوليو 17, 2011 3:32 pm من طرف متيكو المدير والمشرف


 

 تعلم لغه c++ بطريقه عجيبه

اذهب الى الأسفل 
كاتب الموضوعرسالة
متيكو المدير والمشرف
المدير العام

المدير العام
متيكو المدير والمشرف


تعلم لغه c++ بطريقه عجيبه 71507480py5
الجنس : ذكر الثعبان
عدد المساهمات : 590
تاريخ الميلاد : 02/11/1989
تاريخ التسجيل : 28/08/2009
العمر : 34
الموقع : www.matti-king.blogspot.com
العمل/الترفيه : يشرف عالمنتدى ويدرس
المزاج : تعبان

تعلم لغه c++ بطريقه عجيبه Empty
مُساهمةموضوع: تعلم لغه c++ بطريقه عجيبه   تعلم لغه c++ بطريقه عجيبه Emptyالجمعة فبراير 25, 2011 12:44 am

لسلام عليكم ورحمه الله
اليوم اود ان ارغب في اعطاءكم بعض الدروس الابتدائيه من لغه السي بلس بلس
ومنها قد تقودكم الي اعترافها

مقدمة إلى البرمجة بلغة السي بلس بلس

تعتبر لغةC++ من أشهر اللغات التي تتمتع بطابع القوة والمرونة لإنتاج أسرع
برامج وأفضلها أداءاً. وعلى الرغم من وجود العديد من لغات البرمجة الأخرى
إلا أنها تفتقر شمولية لغة C++ وقوتها . فاللغة C++ تتميز بقابليتها على
معالجة التطبيقات الكبيرة والمعقدة، والقوة في صيانة البرامج المكتوبة بها
مما يوفر وقتاً في تصميم البرامج وتطويرها .
تعتبر اللغة C++ امتداداً للغة C. وقد أنشأها Bjarne Stroustrup عام 1979
م، وكانت تسمى حينها C مع فئات( C with classes)، وتغير اسمها إلى C++ في
العام 1983م.
تعتمد اللغة C++ أسلوب البرمجة كائنية المنحى Object Oriented
Programming، والذي يعرف اختصاراً بـ (OOP)، والذي تم تطويره بسبب قيود
كانت أساليب البرمجة القديمة المتمثلة في اللغات الإجرائية تفرضها على
المبرمجين. ولكي نتعرف على طبيعة تلك القيود يجب أن نلقى الضوء على ما
يحدث في اللغات الإجرائية.
اللغات الإجرائية:
لغات Pascal،C ،Basic و Fortran وغيرها من لغات البرمجة التقليدية هي لغات
إجرائية (Procedural). أي أن كل عبارة في اللغة هي عبارة عن تعليمة
للحاسوب أن ينفذ شيئاً ما : أحصل على دخل أو أجمع أرقام الخ..… .
لذا نجد أن البرنامج المكتوب بلغة إجرائية هو عبارة عن لائحة من
التعليمات. لا تبدو هنالك مشكلة مع البرامج الإجرائية الصغيرة، فالمبرمج
ينشئ لائحة التعليمات ويقوم الحاسوب بتنفيذها. ولكن مع كبر حجم البرامج لا
تعود لائحة من التعليمات فعالة حيث يصعب فهم برنامج يتألف من مئات من
العبارات إلا إذا كانت مقسمة إلى أجزاء أصغر، لذا تم اعتماد أسلوب الدالات
(Functions) والإجراءات (Procedures) كوسيلة لجعل البرامج أسهل للقراءة
والفهم، حيث تمتلك كل دالة في البرنامج واجهة محددة، وتنفذ هدفاً محدداً.
ولكن المشكلة ما تزال قائمة : مجموعة من التعليمات تنفذ مهاماً محددة.
و مع تزايد حجم البرامج وتعقيدها، يظهر ضعف الأسلوب الإجرائي، حيث تصبح
البرامج الضخمة معقدة إلي حد كبير. من أهم أسباب فشل اللغات الإجرائية هو
الدور الذي تلعبه البيانات فيها، حيث تعطى البيانات أهمية ثانوية على
الرغم من أنها هي السبب في وجود البرامج، ويكون التشديد على الدالات التي
تعمل على هذه البيانات، حيث يتم تعريف البيانات خارج أي دالة لكي يصبح
بالإمكان الوصول إليها من كل الدالات في البرنامج، لذا غالباً ما تكون
البيانات عرضة للتغيير أو التعديل الخطأ. وعلى الرغم من أن هنالك بعض
اللغات كـ Pascal وC تعرف متغيرات محلية (Local )، وهي متغيرات معرفة في
دالة واحدة. لكن المتغيرات المحلية غير مفيدة للبيانات المهمة التي يجب
الوصول إليها من عدة دالات في البرنامج. أيضاً هناك مشكلة طريقة تخزين
البيانات بسبب إمكانية عدة دالات للوصول إليها. لا يمكن تغيير ترتيب
البيانات من دون تغيير كل الدالات التي تتعامل معها.
وإذا أضفنا بيانات جديدة نحتاج لتعديل كل الدالات حتى تستطيع هذه الدالات استعمال هذه البيانات الجديدة .
غالباً ما يكون تصميم البرامج الإجرائية صعباً، لأن مكوناتها الرئيسية
(الدالات) عبارة عن بنية بيانات لا تقلد العالم الحقيقي جيداً .و يصعب في
اللغات الإجرائية إنشاء أي نوع بيانات جديد بخلاف الأنواع المعرفة أصلاً
في تلك اللغات ، لكل هذه الأسباب تم تطوير الأسلوب الكائني المنحى.
الأسلوب الكائني المنحى:-
الفكرة الأساسية وراء اللغات كائنية المنحى هي دمج البيانات والدالات التي
تعمل على تلك البيانات في كينونة واحدة تسمى كائن (Object)، وعادة تزود
دالات الكائن -والتي تسمى أعضاء دالية (Member functions)- الطريقة
الوحيدة للوصول إلي البيانات، لذا تكون البيانات محمية من التعديلات الخطأ
ويقال أن البيانات ودالاتها مغلفة (Encapsulated) في كينونة واحدة.
مميزات اللغات كائنية المنحى :
هنالك تطابق بين الكائنات في البرمجة وكائنات الحياة الفعلية، فالعديد من
الكائنات الفعلية لها وضعية ( خصائص يمكن أن تتغير ) وقدرات (أشياء يمكن
أن تقوم بها).
في C++ تسجل بيانات الكائن ووضعيته كما تتوافق أعضاءه الدالية مع قدراته،
تدمج البرمجة كائنية المنحى المرادف البرمجي للوضعيات والقدرات في كينونة
واحدة تسمى كائن النتيجة لذلك كينونة برمجية تتطابق بشكل جيد مع الكثير من
كائنات الحياة الفعلية.
الفئات والوراثة (Inheritance):
الكائنات في OOP هي مثيلات من الفئات، حيث يمكننا تعريف كثير من الكائنات
تابعة لفئة معينة، وتلعب دور خطة أو قالب يتم إنشاء الكائنات على أساسه،
وهي التي تحدد ما هي البيانات والدالات التي سيتم شملها في كائنات تلك
الفئة. لذا فالفئة هي وصف لعدد من الكائنات المتشابهة. وتؤدى فكرة الفئات
إلي فكرة الوراثة، حيث يمكن استعمال فئة OOP كأساس لفئة فرعية واحدة أو
أكثر تسمى الفئة القاعدة (Base class)، ويمكن تعريف فئات أخرى تتشارك في
خصائصها مع الفئة القاعدة ولكنها تضيف خصائصها الذاتية أيضاً، تسمى هذه
الفئات المشتقة (Derived classes).
قابلية إعادة الاستعمال Reusability:
بعد كتابة الفئة يمكن توزيعها على المبرمجين لكي يستعملوها في برامجهم ،
يسمى هذا الأمر قابلية إعادة الاستعمال Reusability ويزود مفهوم الوراثة
ملحقاً هاماً إلي فكرة إعادة الاستعمال حيث يستطيع المبرمج أخذ فئة موجودة
أصلاً ومن دون تغييرها يضيف ميزات وقدرات جديدة إليها وذلك من خلال اشتقاق
فئة جديدة من الفئة القديمة.
إنشاء أنواع بيانات جديدة:-
من أهم فوائد الكائنات أنها تعطى المبرمج وسيلة لإنشاء أنواع بيانات
جديدة، كالأرقام المركبة أو الإحداثيات ثنائية الأبعاد أو التواريخ أو أي
نوع من أنواع البيانات قد يحتاج المبرمج إلي استعمالها.
تعدد الأشكال والتحميل الزائد : Polymorphism and overloading
يسمى استعمال الدالات والعوامل في أساليب مختلفة وفقاً لما يتم استعمالها
عليه بتعدد الأشكال. لا تضيف اللغة C++ إمكانية إنشاء أنواع بيانات جديدة
فقط، بل وتتيح أيضاً للمبرمج القدرة على العمل على أنواع البيانات الجديدة
تلك باستعمال نفس العوامل التي تستخدمها الأنواع الأساسية كـ + أو = ويقال
عندها أنه تم تحميل هذه العوامل بشكل زائد لتعمل مع الأنواع الجديدة.


سنبدأ بكتابة برنامج يعرض نصاً على الشاشة:-




//Program 1-1:
//This program will display a message on the screen.
#include<iostream.h>
main ( )
{
cout <<''welcome to C++ !\n'';
return 0;
}

الخرج من البرنامج:

welcome to C++ !




يقوم الحاسوب بتنفيذ البرنامج ويعود سريعاً للمحرر IDE.
من الآن فصاعداً، إذا أردت تثبت المخرجات على الشاشة عليك إضافة التالي إلى البرنامج:
#include <conio.h>
في أول البرنامج، وإضافة العبارة:
getch( )
في السطر الذي يسبق العبارة return 0




التعليقات:Comments
// Program 1-1:
//This program will display a message on the screen.

يبدأ هذا السطر من البرنامج بالشرطة المزدوجة (//) الدالة على أن بقية
السطر عبارة عن تعليق (comment)، تضاف التعليقات إلى البرامج لتساعد
المبرمج أو أي شخص آخر قد يحتاج إلى قراءة البرنامج على فهم ما الذي يفعله
البرنامج، لذا من المستحسن أن يبدأ كل برنامج في لغة C++ بتعليق يوضح
الغرض الذي من أجله كتب البرنامج.
تستخدم الشرطة المزدوجة (//) إذا كان التعليق يمتد لسطر واحد فقط single-line comment .
هنالك نوع آخر من التعليقات يتيح لنا كتابة تعليقات تمتد إلى عدة
أسطرmulti-line comments ، نستطيع كتابة التعليق السابق على الصورة:
/* Program 1-1:
This program will display a message on the screen
*/

يبدأ الرمز */ التعليق وينهيه الرمز */ . نجد أن نهاية السطر لا تعنى
انتهاء التعليق لذا يمكننا كتابة ما نشاء من أسطر التعليقات قبل الانتهاء
بالرمز */.

مرشدات المهيئ(Preprocessor Directive) :-
#include<iostream.h>
يسمى هذا بمرشد المهيئ Preprocessor directive، وهو عبارة عن تعليمة
للمصرف أن يدرج كل النص الموجود في الملفiostream.h في البرنامج، وهو ملف
يجب تضمينه مع أي برنامج يحتوى على عبارات تطبع بيانات على الشاشة أو
تستقبل بيانات من لوحة المفاتيح.
يسمى iostream ملف ترويسة (header file)، وهنالك الكثير من ملفات الترويسة
الأخرى، فمثلاً إذا كنا نستعمل في برنامجنا دالات رياضية كـ sin( ) وcos(
) نحتاج إلى شمل ملف ترويسة يدعى math.h، وإذا كنا نتعامل مع سلاسل الأحرف
سنحتاج للملف string.h. وعموماً هنالك عدد كبير من ملفات الترويسات التي
يجب تضمينها على حسب طبيعة البرنامج ، تعتبر ملفات الترويسات جزء مهم من
برامج لغة C++ وسنحتاج إلى شمل الملف iostream.h لتشغيل أي برنامج يقوم
بعمليات إدخال وإخراج.
الدالة main :-
main( )
يبدأ تشغيل أي برنامج C++ من دالة تدعي main( )، وهي دالة مستقلة ينقل نظام التشغيل التحكم إليها. وهي جزء أساسي في برنامج C++.
الأقواس بعد main تشير إلى أن main هي عبارة عن دالة. قد يحتوى برنامج C++
على أكثر من دالة إحداهما بالضرورة هي main. يحتوى البرنامج السابق على
دالة واحدة.
يبدأ تنفيذ البرنامج من الدالة main حتى لو لم تكن هي الأولى في سياق البرنامج. يتم حصر جسم الدالة main بأقواس حاصرة { } .
الخرج إلى الشاشة:-
cout<<'' welcome to C++ !\n '';
هذه العبارة (statement) تجبر الحاسوب أن يظهر على الشاشة النص المحصور بين علامتي الاقتباس '' .'' ويسمى هذا النص ثابت سلسلي.
يجب أن تنتهي كل عبارة في برنامج C++ بفاصلة منقوطة ; (semi colon).
الاسم cout والذي يلفظ كـ C out يمثل كائن في C++ مقترن مع الشاشة والعامل
<< والذي يسمى بعامل الوضع Put to operator يجبر على إرسال الأشياء
التي على يمينه إلى أي شئ يظهر على يساره


//Program 1-2: Output
#include <iostream.h>
main ( )

{
cout << 7 << " is an integer.\n";
cout << 'a' << "is a character.\n";
}


الخرج من البرنامج:

7 is an integer.
a is a character


من خرج البرنامج يتضح لنا الآتي:
1- يتم حصر النص المطلوب ظهوره على الشاشة بين علامتي اقتباس"is an integer ".
2- تتم كتابة الثوابت الرقمية بدون علامتي اقتباس << 7.
3- يتم حصر حرف واحد مطلوب ظهوره على الشاشة بعلامة اقتباس فردية <<’a’.
تقوم بعض اللغات كـ Basic مثلاً بالانتقال إلى سطر جديد تلقائياً في نهاية
كل عبارة خرج ، لكن C++ لا تفعل ذلك كما أن العبارات المختلفة والموضوعة
في أسطر مختلفة لا تؤدي إلى ذلك .
لا ينشئ الكائن cout أسطراً جديدة تلقائياً، والمخرجات في البرنامج التالي توضح ذلك:-
//Program 1-3:This program displays output on the screen
#include<iostream.h>
main ( )
{
cout<<10;
cout<<20<<30;
return 0;
}

تظهر الخرج:-

102030


حيث يلتصق كل الخرج ببعضه البعض ، لذا من الجيد أن يكون لدينا طرق في C++
للتحكم بطريقة تنسيق الخرج والتي منها تتابعات الهروب(Escape Sequences).
تتابعات الهروب (Escape Sequences):
نلاحظ أنه لم تتم طباعة \n على الشاشة ، \ تسمى الشرطة الخلفية (Back
slash) أو حرف هروب (Escape character) وتسمى هي والحرف الذي يليها تتابع
هروب. تتابع الهروب \n يعنى الانتقال إلى سطر جديد حيث يجبر المؤشر على
الانتقال إلى بداية السطر التالي ، الآن إليك بعض تتابعات الهروب الشائعة:-
تتابع الهروب الوصف
\n سطر جديد.
\t مسافة أفقية.
\b حرف التراجع back space.
\\ لطباعة شرطة خلفية.
\r حرف الإرجاع، يجبر المؤشر على الانتقال إلى
بداية هذا السطر.
'' لطباعة علامة اقتباس
العبــارة return 0 :-
تكتب العبارة return 0; في نهاية الدالة main( ) . القيمة 0 تشير إلى أن
البرنامج انتهى نهاية صحيحة وسيبدو لنا سبب تضمين هذه العبارة واضحا عندما
نتعرف على الدوال في C++ بالتفصيل.
مثال آخر لبرنامج C++ :-
إليك الآن مثالاً لبرنامج يستقبل رقمين من المستخدم ويجمعهما ويعرض ناتج الجمع:-

// Program 1-4: Addition program
#include<iostream.h>
#include<conio.h>
main ( ) {
int integer1, integer2, sum;
cout <<"Enter first integer\n";
cin >> integer1;
cout <<"Enter second integer\n";
cin >> integer2;
sum= integer1+integer2;
cout <<"sum="<<sum<<endl;
getch();
return 0;
}

Enter first integer
7
Enter second integer
3
sum= 10




1. حدد ما إذا كانت العبارات الآتية صحيحة أم خطأ:
 التعليقات تجبر الحاسوب على طباعة النص الذي يلي // على الشاشة عند تنفيذ البرنامج.
 تتابع الهروب \n يجبر المؤشر على الانتقال إلى سطر جديد.
 برنامج C++ والذي يقوم بطباعة ثلاث أسطر على الشاشة يجب أن يحتوى على ثلاث عبارات تستعمل cout.
2. ما هو الخرج من العبارة الآتية:
cout << “\n **\n ***\n ****\n”;

تمت الوحده الولي بحمده ساواصل ان شاء الله



الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://kings4u.ahlamontada.com
 
تعلم لغه c++ بطريقه عجيبه
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
KINGS OF IRAQ :: منتدى الكمبيوتر :: قسم الكمبيوتر-
انتقل الى: