الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كتابة برنامج وتنفيذه وشرح بيئة التطوير ومراحل التنفيذ

مغلق
بدأه BjarneStudent في 23 أكتوبر 2007 · 20 رد · 18,048 مشاهدة · في المواضيع والدروس
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

صباحكم خير ان شاء الله

اود التنوية بأن هذه المشاركة تابعة لدورة الـ C++ , ويمكن الإستفادة منها كمشاركة عامة.

كتابة كود صغير وتنفيذه بعد تنصيب البرنامج

كما أشرنا , البرنامج المستخدم في هذه الدورة هو الـ Microsoft visual C++ الإصدار السادس النسخة القياسية.

يمكن تحميله من هنا.

بعد تحميل البرنامج وتنصيبة , سوف تكون ايقونته على الشكل التالي

post-133999-1193114295_thumb.jpg

ولفتح ملف جديد , نذهب للقائمة ملف ومن ثم اختيار جديد كما هو موضح بالصورة التالية

post-133999-1193114337_thumb.jpg

ومن ثم نتابع

post-133999-1193114396_thumb.jpg

1- نختار التبويبة ملف.

2- لكتابة برنامج نختار من التبويبة ملف ملف ككود مصدر للـ C++

3- نختار اسم للبرنامج ( ضع اسم كيف تشاء وبما تقضتيه غايتك )

4- اختيار موقع الملف.

5- الإعتماد النهائي لإنشاء الملف.

بعد ذلك , تفتح صفحة بيضاء , يتم فيها كتابة البرنامج , وتلاحظون الصفحة مقسمة لمنطقتين

منطقة تحرير البرنامج ( الحمراء ) ومنطقة نتائج الترجمة ( الخضراء )

post-133999-1193114410_thumb.jpg

بعدها كتابة البرنامج , سوف تقوم بتصحيحة عن طريقة أداة الترجمة وسوف يظهر لك البرنامج بالشكل التالي

post-133999-1193114429_thumb.jpg

وعندما تظهر لك ايقونة التنفيذ ( على شكل علامة تعجب ) باللون الأحمر , هذا يعني ان البرنامج جاهز للتنفيذ , اضغط على هذه الأيقونة لتنفيذه.

بيئة تطوير الـ C++ النموذجية

لنعتبر الخطوات في إنشاء وتنفيذ تطبيق الـ C++ بإستخدام بيئة التطوير الموضحة في الرسم التالي :

post-133999-1193114442_thumb.gif

نظام الـC++ بشكل عام يتكون من ثلاثة اجزاء : بيئة تطوير البرنامج ... اللغة ... مكتبة الـ C++ القياسية.

برنامج الـ C++ عادة ً يمر بستة مراحل : التحرير ... المعالجة الأولية .. الترجمة .. الربط .. التحميل والتنفيذ .

المرحلة الأولى , انشاء البرنامج :

وتدرج خطوات هذه المرحلة كالتالي : طباعة سطور البرنامج ( يشار إليه بكود المصدر source code ) بإستخدام أي محرر اكود , عادة ما يسمى المحرر بالـ editor. ومن ثم تقوم بتتبع الكود وتقوم بالتصحيحات المطبعية والمنطقية اللازمة , وبعد ذلك تقوم بحفظ الكود بأحد الإمتدادات التالية .cpp , .cxx , .cc , .C ( لاحظ أن حرف السي كبير ). وهذه الإمتدادات تعني أن الكود مكتوب بلغة الـ C أو الـ C++ .

المحرر المعتمد في هذه الدورة هو المحرر نفسه الذي يأتي مع الـ Microsoft visual C++ 6 , وهو ملحق ببيئة البرنامج , وأنت تستطيع ايضا استخدام محرر نصوص بسيط مثل المفكرة notepad الذي يأتي مع الويندوز لتكتب كود المصدر.

وبإفتراض أنك تعلم طريقة تحرير البرنامج ( طباعة الحروف من لوحة المفاتيح ) نكمل باقي المراحل.

الخطوات , الثانية والثالثة , المعالجة الأولية والترجمة preprocessing and compiling :

في المرحلة الثانية , المبرمج يقوم بإعطاء الأمر للترجمة, برنامج المعالج الأولي ينفذ الأوامر وهي ما تسمى بموجهات المعالج الأولي وهي ما تشير إلى القيام بعمليات معينة قبل عملية الترجمة. هذه العمليات عادة ً ما تكون الحاق ملفات نصية للبرنامج لي تتم ترجمته وأيضا اجراء بعض التبادلات النصية المتنوعة. اكثر موجهات المعالج الأولي شيوعا تمت الإشارة لها في الفصول الأولى بعد هذا الفصل. والشرح المفصل عن مكونات المعالج الأولي تكون مشروحة بشكل مفصل في الملحق F .

في المرحلة الثالثة , يقوم المترجم compiler بترجمة البرنامج إلى لغة الآلة وينتج لدينا كود الكائن ( object code ).

عملية الترجمه , هي عملية اكتشاف الأخطاء النصية والمنطقية في البرنامج , قبل هذه العملية , يقوم المعالج الأولي بعمليات أوليه قبل الترجمة , وهي بعض الأوامر تسمى ( موجهات المعالج الأولي preprocessor directives ). هذه العمليات عادة ً ما تكون الحاق ملفات نصية بالبرنامج واجراء بعض التبادلات النصية المتنوعة لكي تتم ترجمة البرنامج.

اكثر الموجهات شيوعا سوف يتم ذكرها في المحاضرات الأولى من هذه الدورة. والمزيد عنها تجدونه في الملحق F .

في المرحلة الثالثة يقوم المترجم الـ compiler بترجمة البرنامج إلى لغة الآله لينتج لنا الكود الموجه للآله object code.

المرحلة الرابعة , الربط ( linking ) :

من الصعب في الـ C++ كتابة كل شي اثناء البرنامج , فمن نعم الله علينا في الـ C++ أن يكون هناك اشياء جاهزة للإستخدام نضع عناوينها فقط في البرنامج لأجل استثمار الكثييييييير من الوقت. كثير من الدوال والبيانات يتم تعريفها في أماكن اخرى خارج البرنامج , كالمكتبة القياسية مثلا , وأيضا كمتبات لمشاريع خاصة , تم تتدوينها عن طريق مجموعة مبرمجين لغرض انجاز مشروع برمجي ما.أيضا , هناك اشياء اخرى في كائن الكود ناتجة عن اجزاء ناقصة, يتم ربطها وسد الثغرات.

كل هذا يقوم به الرابط linker , بعدها تنتج لدينا نسخة من البرنامج قابلة للتنفيذ , تسمى executable image .

المرحلة الخامسة , التحميل , loading :

قبل تنفيذ البرنامج يجب تحميله للذاكرة ورفعه للذاكرة المؤقته, وهذا يتم عن طريق الـ loader الذي يقوم بأخذ الـ executable image من القرص ووضعها على الذاكرة, الأجزاء الإضافية من المكتبات المشترك هالذي يدعم البرنامج سوف تتحمل ايضا.

يقوم الـ loader بحمل الـ executable image ووضعها على الذاكرة , ويلحق بها بعض الأجزاء الإضافية من المكتبات المشتركة التي تدعم البرنامج وذلك من أجل الجهيز لعملية التنفيذ.

المرحلة السادسة , التنفيذ , executing :

أخر خطوة , يأتي دور الـ cpu , حيث يقوم بتفيذ الكود , حيث يقوم تنفيذ تعليمة واحدة في كل مرة.

مشاكل ربما تحدث عند عملية التنفيذ:

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

خطأ برمجي شائع :

الخطأ عن طريق القسمة على الصفر يحدث عند تنفيذ البرنامج.يصنف هذا الخط من ا " اخطاء وقت التشغيل rumtime errors أو " اخطاء وقت التنفيذ " execution-time errors . اخطاء وقت التشغيل الفادحة fatal runtime errors تنهي البرنامج مباشرة , أخطاء وقت التشغيل الغير فادحة unfatal runtime errors تسمح للبرنامج أن يكمل التنفيذ ولكن تظهر نتائج غير صحيحة. ] ملاحظة : بعض انظمة التشغيل تعتبر أن القسمة على الصفر ليست خطأ فادح .[

برنامج صغير جاهز للتشغيل والتعود على محادثة التطبيق.

في المرفق برنامج صغير للتعرف على شاشة تنفيذ البرنامج , وهي الشاشة السوداء ( console ), وذلك للتعود على شاشة المحادثة بين المستخدم والبرنامج.

حاول التعرف عليه بنفسك.

يمكن التحكم بتنسيق الشاشة عن طريق خصائص عرض الشاشة , وذلك عن طريق الضغط بالزر الأيمن على شريط العنوان ومن ثم اخيتار خصائص properties.

GuessNumber.zip

تم تعديل هذه المشاركة بواسطة BjarneStudent في 24 أكتوبر 2007 في 06:51

وليس يبني العلا الا نديٌ ووغى , همـا المعارج للأسنى من الرتب

#2

بارك الله فيك شرح ممتاز ومجهود مبارك ان شاءالله.

ننتظر المزيد..

tvquran_6.gif

#3

أخوي العزيز بارك الله فيك .......

بخصوص برنامج viusal c++6 فأنا ما استخدمه واستخدم بدلا منه visual c++.net وعندي DVC++ .

على العموم كل فيه الخير...ومعاك متابعين والله يوفقك

عندي مداخلة بسيطة.. ياليت بعد ما نتعمق في الدروس أن شاء الله تركز لنا على دروس console application لأنها بنظري أهم من windows application...تخلي الواحد يعرف كيف يبرمج ويعتمد على نفسه أكثر.

وشكرا

#4
arabi2013 كتب:
بارك الله فيك شرح ممتاز ومجهود مبارك ان شاءالله.

ننتظر المزيد..

جزاك الله خير

خليفه المنصوري كتب:
أخوي العزيز بارك الله فيك .......

بخصوص برنامج viusal c++6 فأنا ما استخدمه واستخدم بدلا منه visual c++.net وعندي DVC++ .

وشكرا

لا يوجد مشكلة , استخدم ما يناسبك , لا يوجد اختلاف.

خليفه المنصوري كتب:
عندي مداخلة بسيطة.. ياليت بعد ما نتعمق في الدروس أن شاء الله تركز لنا على دروس console application لأنها بنظري أهم من windows application...تخلي الواحد يعرف كيف يبرمج ويعتمد على نفسه أكثر.

وهذا ماسوف يحدث ان شاء الله

خليفه المنصوري كتب:
وشكرا

العفو , تقديري لإهتمامك

وليس يبني العلا الا نديٌ ووغى , همـا المعارج للأسنى من الرتب

#5

الف شكر على مجهودك المتميز

بانتظار جديد ابداعك

تقبل مروري :)

IF IT'S WRONG TO LOVE YOU,

THEN MY HEART JUST WON'T

LET ME BE RIGHT

#6
moon angel كتب:
الف شكر على مجهودك المتميز

بانتظار جديد ابداعك

تقبل مروري :)

العفو

مقدر لك حسن التعقيب

وليس يبني العلا الا نديٌ ووغى , همـا المعارج للأسنى من الرتب

#7

أنا قمت بتنزيل البرنامج لكن لم تظهر عندي المنطقة الثانية(منطقة نتائج الترجمة)

وهي الصورة

post-129452-1193772764_thumb.jpg

#8
أسامة 90 كتب:
أنا قمت بتنزيل البرنامج لكن لم تظهر عندي المنطقة الثانية(منطقة نتائج الترجمة)

وهي الصورة

أخي اسامة , هذه المنطقة تظهر بعد كتابة البرنامج وترجمتة ( تصحيحة ) , يمكنك مراجعة الشرح بالأعلى مرة اخرى

كل التقدير لإهتمامك

وليس يبني العلا الا نديٌ ووغى , همـا المعارج للأسنى من الرتب

#9

مشكور يا غالى على الشرح ولكن انا املك

c++ 2008 bate 2 فهل يفى بالغرض

وانا املك ايضا c++ 2005 و c++ 6

فانصحنى هل ابدء بالى اريده ام اختار c++6 ؟؟؟؟

#10

انتظر منك الرد يا غالى حتى استطيع ان ابدء ؟؟

#11

اسمحلي بالرد بدلاً من مشرفنا العزيز ,,

يمكنك استخدام أي مترجم تحب استخدامه, لأن لغة ++C لها مواصفات و جميع المترجمات تتبع هذه المواصفات, و ليس العكس, أي كود "نظرياً" يمكن ترجمته بأي مترجم للغة ,,

تحياتي ,,

#12

الف الف الف شكر يا غالى على هذا الرد السريع

يعنى اقدر ابرمج بهذه الاكواد دون اختلاف على 2005 لانه هو الى منزله الحين على الجهاز وجاهز للعمل ؟

اكتب فقط الكود وهو يترجم عادى ؟ ولا سيكون هناك اخطاء ؟

#13

لن يكون هناك أخطاء بإذن الله,

#14

مشكور يا غالى على الرد وجارى التطبيق :):)

#15

رابط تحميل البرنامج لا يفتح معي ؟! ما العمل ؟!

#16
kid25 كتب:
رابط تحميل البرنامج لا يفتح معي ؟! ما العمل ؟!

الرابط يعمل معي , اذا لم تستطع تنزيلة سوف ارفعه لك على مساحة اخرى.

وليس يبني العلا الا نديٌ ووغى , همـا المعارج للأسنى من الرتب

#17

شكرا جزيلا لك

انا من المنضمين مؤخرا

لدي استفسار

إذا شغلت الملف بعد عمل build يشتغل ويطبع الرسالة ويغلق بسرعة . كيف أجعل الشاشة السوداء لا تختفي .

460.gif

#18

Run

Chao!!!

Great place, and people, but full of sectarianism.

#19
Souls-hunteR كتب:
Run

نعم انا اعمل له run لكنه يختفي بسرعة .

460.gif

#20

أكتب في نهاية البرنامج قبل الريتيرن

getchar();

او اضغط كنترول مع اف خمسة

ctrl + F5

tvquran_6.gif

#21

تسلم اخي فهد

460.gif

هذا الموضوع مغلق.

مواضيع مشابهة