منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي

منتديات برامج نت

برامج كمبيوتر و انترنت لغات برمجه و تطوير مواقع قسم خاص بالتصميم و الجرافيك
 
الرئيسيةPortalاليوميةس .و .جالأعضاءالمجموعاتالتسجيلدخول
اهلاوسهلا بكم في منتديات برامج نت ارجو من جميع الزوار التسجيل مع تحيات $الادارة$

شاطر | 
 

 دوره فى لغه السى الدرس الاول

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

المدير العام...}


avatar


مُساهمةموضوع: دوره فى لغه السى الدرس الاول   الثلاثاء مارس 17, 2009 7:56 am

قد لاحظت أن الكثير من الطلاب لا يعرفون الفرق بين المترجم Compiler وبين بيئة التطوير المدمجة integrated Development environment واختصارا IDE، أيضا قد وجدت لديهم الكثير من المفاهيم الغير صحيحة في ملفات الرأس Header File التي تنتهي بالامتداد (.h) ، لذلك وضعت هذا الدرس لوضع النقاط على الحروف !

نبدأ أولا بشرح الـ IDE بيئة التطوير المدمجة (أو المتكاملة) ، وسميت بذلك لأنه تم دمج المترجم Compiler وبرنامج الدمج Linker ، ومحرر النصوص Editor ،،

مثال على الـ IDE مثل Turbo c++ أيضا Borland c++ أيضا Microsoft Visual c++ 6.0 أيضا Dev – C++ (البيئة المفضلة لدي ) ، أيضا في نظام لينوكس Linux هناك Kdevelop والكثير الكثير من الـ IDE المتوفرة ،، بالطبع هناك فروق بين كل بيئة مع بيئة أخرى ، سنتحدث عن هذا المرة القادمة .

قديما ، قبل وجود هذه الـ IDE ، كان على المبرمج أن يكتب الـ Code في أي ملف مثلا ببرنامج Notepad ويضع الامتداد .cpp (لبرامج c++) أو الامتداد .c (لبرامج الC) . ثم بعد ذلك يقوم بفتح المترجم ويقوم بترجمة البرنامج (أي يقوم بتحويله إلى لغة الاله Machine Language) وينتج عنها ملف الهدف Object File بالامتداد .obj ، بعدها يقوم بفتح برنامج الدمج (أو الربط) ليربط ملف الهدف الناتج بالمكتبات Library ، بعدها تقوم بتنفيذ البرنامج على حده ،، مشوار طويل جدا ، أليس كذلك

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

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

ألان ، ماهي ملفات الرأس Header File وماذا تحتوي ؟؟ ما هي المكتبات Library ؟؟
ملفات الرأس مثل iostream.h ، أو math.h ، هي ملفات تحتوي بداخلها على الإعلان عن الدوال والطبقات المستخدمة ،، لاحظ فقط الإعلان declaration ويسمى أحيانا Prototype .

التعريف عن هذه الدوال يكون داخل ملفات المكتبات Library (وأحيانا ملفات DLL) . وعندما نترجم البرنامج ويبدأ برنامج الدمج بالعمل يقوم بالربط بين ملف الهدف مع هذه المكتبات.

دائما ما نلاحظ أن أول سطر في برنامج C++ يبدأ بهذا السطر ؟


كود:
#include <iostream.h>ماذا تعني هذه الجملة .. في البداية الرمز # (هاش Hash) هو احد توجيهات المعالج التمهيدي Preprocessor Directive.. هناك الكثير من هذه الجمل في لغة الـ C ، وأيضا تستخدم في C++ لكن قل استخدمها عما كان . نعود إلى الرمز # ، هناك جزء صغير من المترجم يسمى "المعالج التمهيدي Preprocessor " هذا الجزء يعمل دائما عندما نبدأ في ترجمه البرنامج ، أي يعمل أولا ثم يبدأ المترجم في عمله ، وظيفته هي ترجمه التوجيهات (أي جمله تبدأ ب#) إلى احد الأوامر الخاصة ، بعد أن يقوم بتحويلها يقوم المترجم بأداء عمله ..

الكلمة include ، معناها تضمين ، "أي قم أيها المعالج التمهيدي بتضمين ملف الرأس هذا إلى الـ Code Source" ، ماذا يعني هذا ؟؟ بكل بساطه يقوم المعالج بنسخ Copy ملف الرأس ولصقه Paste في بداية ال Source Code .

<iostream.h> ، هذا هو ملف الرأس بالامتداد .h ، القوسين الصغيرين < > وظيفتها إعلام المعالج بأن هذا الملف يقع في المكان المعتاد له .. وفي الأغلب هو في البارتيشن C داخل مجلد بيئة التطوير (يختلف اسم المجلد من بيئة لأخرى ، لكن في الأغلب يكون هو نفسه اسم البيئة) هناك مجلد اسمه Header File يحتوي على جميع ملفات الرأس .

أيضا من الممكن كتابة السطر الأول بالشكل /

كود:
#include "iostream.h"القوسين " " ، وظيفتهما إعلان المعالج بأن يبحث عن هذا الملف داخل مجلد الذي حفظ فيه الSource Code ، وإذا لم يجده يقوم بالانتقال إلى المجلد المعتاد .
مثلا كتبت برنامج وملف رأس خاص بك وحفظته داخل البارتيشن D ، يقوم المعالج بالبحث عن ملف الرأس داخل هذا المجلد فإذا لم يجده انتقل إلى المجلد المعتاد داخل الـC . هذه الطريقة قد تزيد من وقت ترجمه البرنامج (لان هناك عمليه بحث ) ، لكنه ليس بالوقت الكثير .

سنكتفي بهذا ، والمرة القادمة سوف تنتاول بيئات التطوير والفرق بينهم ، وما هي مقاييس لغة C و C++ ، وكيف نكتب برنامج قياسي 100% . وما الفائدة من القياسية Standards .

اي تعليقات او اسئله .....

Written BY: Romansy
Date : 24/ 4 /2006





---------------------------------------------------------------------

نعود الى موضوعنا ، انت على حسب قولك عديت الحلقات Loops ، طيب الى الان ما زال هناك الكثير من المواضيع لكي تتعلمها مثلا المصفوفات Arrays ، السجلات (او التراكيب ) Strcuture ، ايضا هناك المؤشرات Pointers ، بالاضافه الى التعامل مع السلاسل النصيه Strings ، ايضا التعامل مع الملفات والقراءه والكتابه اليها Operation on Files ، بعد ذلك ستكون خطيت الخطوه الاولي في تعلم اساسيات لغه السي (لاحظ السي) ،

عند تعاملك مع سي ++ ، ستتغير نظرتك كثيرا ،، فمع مفهوم البرمجه الموجهه للكائنات يمكنك عمل الكثير من البرامج التي من الصعوبه عملها بالسي ..

حاليا انت بتتعلم السي ++ ،، حاول اتقن المواضيع التي ذكرتها (سارجع بعد قليل لكلمه اتقن) ، بعد ذلك توجه الى مفهوم البرمجه الموجهه للكائنات Object Oreinted Programming ، ومن هنا ستبدأ البرمجه الحقيقه بالسي++ ، اي الاستفاده من لغه سي++ بكل معني الكلمه ،

بعد تعلمك لكل هذا ، مازلت في بدايه الطريق !! ، فهناك خوارزميات Algorithms معينه يجب تعلمها واتقانها فتفيدك في البرمجه .. ايضا مواضيع هياكل البيانات Data Structure وطرق البحث والترتيب وما الى ذلك ...

بعد ذلك انت ايضا في البدايه .. اي تعلمت اللغه على اصولها ،، ولكن بقى تطبيقها الفعلي ، مثلا الدخول في عالم برمجه الالعاب ، او برمجه الشبكات ، او برمجه الهاردوير (بالسي) ،،،

في ذلك الوقت يمكنك تعلم مواضيع اخرى مثل دوال API ، او اتقان مثلا MFC ... وكل ذلك بالسي ++ ...

اووه ، لا انسى نظام ليونكس ،، فيمكنك البرمجه به بالسي++ (لا تنسى ان السي كتبت لاجل يونكس) ، والبرمجه في كل الانظمه سواء وندوز و ليونكس او يونكس بالسي++ او السي واحده لانها لغه Portable اي منتقله ، والبرنامج الذي يعمل على واحد من هذه الانظمه يعمل على الاخر بكل بساطه .. الا اذا استخدمت داول غير قياسيه Not Standard ، مثلا داول شركه بورلاند Borland ، زي getch و clrscr ووو ..... عندها لا يعمل البرنامج ابدا ،

نعود الى موضوع اتقان اللغه ، فيمكنك ذلك من خلال قراءه الكتب ، حل العديد من الامثله ، مشاهده برامج اخرى كتبها اناس اكثر خبره ..

اخيرا ، حتى ما اكون دوشت راسك على الفاضي ، حاول قراءه كتاب عن اللغه وانصحك باحد هذين الكتابين /
tech yourself c++ in 21 days (وهناك نسخه باللغه العربيه مترجمه)
object orineted Programming in c++ , by robet lafor
وهو ممتاز بكل ما تحمله الكلمه من معنى ...

واذا كنت ضعيف بالانجليزي ، حاول تتعلمها

ابضا هناك كتاب عربي اسمه الاكسير ،، وموجود في الانترنت ، وصراحه يمدحوه كثير من الناس ، انا منزله عندي وما شفته ابدا

تحياتي ،، واتمنى اني ما اكون طولت عليك ... واي استفسار ؟؟
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
EH@B

عضو جديد...}


avatar


مُساهمةموضوع: رد: دوره فى لغه السى الدرس الاول   الجمعة مايو 22, 2009 10:44 am

الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://a7la-3alam.gid3an.com/forum.htm
 
دوره فى لغه السى الدرس الاول
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج نت :: :::: المنتديات التقنيـــــه :::: :: لغات البرمجه :: لغه السى و السى++و السى#-
انتقل الى: