ما الجديد
ستار دي في بي | StarDVB

أهلاً وسهلاً بك من جديد في ستار دي في بي StarDVB. تم في الاونة الاخيرة تطوير وتخصيص الموقع ليشمل IPTV و SMART TV بشكل أوسع من السابق. إذا كنت مسجل سابقا يمكنك الدخول باسم المستخدم السابق نفسه، وإن كنت غير مسجل مسبقاً، يمكنك التسجيل الان. نرحب بمشاركاتك واقتراحاتك في أي وقت، نتمنى لك وقتاً ممتعاً معنا.

دروس لتعلم C++ language

sonaiko

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

الصور مرفقة بملف.

شباب أريد آراء. اذا لم أجد متابعة سأتوقف عن النشر لأن آراءكم تهمني thumb:

تعلم البرمجة بلغة السي بلس بلس C++ ( 1 ) :


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

لماذا نتعلم لغات البرمجة ؟

تعلم لغات البرمجة أمر أساسي و ضروري للوصول الى استخدام أمثل لجهاز الحاسوب. فالحاسوب أسرع و أكثر دقة من الانسان بكثير. فمثلا ، لو طلب منك طباعة جميع الأعداد من 1 الى 10000 تحت بعضها ، فإنك ستحتاج الى وقت طويل يصل الى ساعات لكتابتها باستخدام معالج نصوص. الا أنك تستطيع فعل ذلك بثوان قليلة باستخدام لغات البرمجة لتأمر الحاسوب بطباعتها بنفسه. كذلك لو طلب منك أن تحدد أيها أكبر ، 220/125 أو 270/170 فإنك تحتاج الى آلة حاسبة لتحصل على اجابة صحيحة. إلا أن الحاسوب قادر على تحديد ذلك و ما أصعب منه بثوان قليلة بأكبر قدر من الدقة. إذن الحاسوب أسرع و أكثر دقة. لم يتبق سوى أن نتعلم كيف نجعله يطيع أوامرنا.

لماذا لغة السي بلس بلس بالتحديد ؟

اخترنا لغة السي بلس بلس ، و ليس غيرها كالبيسك أو الجافا ، ببساطة لأنها تعتبر أم لغات البرمجة ذات المستوى العالي. فجميع لغات البرمجة تصبح سهلة التعلم اذا ما استطاع الشخص فهم لغة السي بلس بلس. حتى أن بعض لغات البرمجة تم بناؤها بواسطة السي بلس بلس و كذلك الويندوز لما تتمتع به هذه اللغة من قوة. و تعتبر لغة السي بلس بلس إحدى لغات المستوى الثالث أو المستوى العالي كونها أقرب الى لغة الإنسان. و لفهم هذا علينا أن نرجع الى الخلف بضعة سنوات. فقبل عشرات السنين كانت لغات البرمجة تكتب بالطريقة التي يفهمها جهاز الحاسوب و هي الواحد و الصفر 111001010. فقد تكون العبارة السابقة تأمر الحاسوب باظهار نص على الشاشة ، لكن لا أحد من البشر يمكن أن يفهم ماذا تعني الا بصعوبة بالغة. و تم تطوير لغة البرمجة الى ما تسمى لغة التجميع ، التي أصبحت أكثر وضوحا للإنسان فمثلا MOV AL,BL يقوم بنقل المعلومات من مكان الى مكان و هذا واضح من أمر MOV الموجود في التعليمة و الذي يعني بالعربية انقل. الا أن البرامج الطويلة تصبح معقدة الى درجة كبيرة في لغة الأسمبلي (التجميع) و يصعب فهمها ، فتم تطوير جيل ثالث أو مستوى ثالث من لغات البرمجة و منها لغة السي بلس بلس التي يسهل على الانسان فهمها مثل X = A + B. و لغة السي هي تطوير للغة الأصلية الأي A التي تطورت للغة ال B و من ثم تم تطويرها الى لغة السي. و لغة السي بلس بلس هي تطوير للغة السي فتم اضافة ميزات جديدة في السي بلس بلس لم توجد في لغة السي.

كيف يعمل جهاز الحاسوب ؟

قبل أن نبدأ بلغة السي بلس بلس علينا الحديث قليلا عن كيفية عمل جهاز الحاسوب ، كي نحصل على فهم أكبر للغة السي بلس بلس. يتصل المعالج الدقيق لجهاز الحاسوب بالذاكرة الرئيسة ، و التي يتعامل معها بشكل مباشر. أي برنامج يجب أن بنفذه المعالج الدقيق يجب أن يتواجد في الذاكرة الرئيسة و الا فإن البرنامج لن ينفذ. و وضع البرنامج في الذاكرة الرئيسة ليس بالمسألة السهلة فإن الذاكرة لا تحوي سوى الأرقام التي يفهمها جهاز الحاسوب الواحد و الصفر ، فكيف يمكن وضع تعليمة كاملة مثل X = A + B في الذاكرة ؟ هنا يجب تحويل التعليمة الى مجموعة من الواحد و الأصفار التي تمثل التعليمة ، فقد تكون 11000010 تعني X = A + B و 11101100 تعني تعليمة أخرى. أي أن ترتيب الواحد و الصفر في التعليمة يجعل معناها يختلف. و لن نتطرق الى كيفية التحويل ، فالتحويل يمر بمراحل عدة قبل وصول التعليمة الى الواحد و الصفر ، و هذا أمر شديد التعقيد. كل ما علينا معرفته هو أنه تتوفر برامج مخصصة للقيام بعملية تحويل التعليمات الى الواحد و الصفر ، و يجب استخدام أحد هذه البرامج للبرمجة بلغة السي بلس بلس. أحد البرامج المشهورة هي Microsoft Visual Studio الذي سنتحدث عنه بعد قليل.



البرنامج الأول :

الشكل رقم (1) يبين برنامج سي بلس بلس. لا داعي للذعر ان لم تستطع فهم أي شيء في الصورة ، كل ما عليك هو أن تنظر اليها و تقرأ البرنامج كي يصبح مألوفا لديك. البرنامج المكتوب يطبع Al Madeenah Newspaper على الشاشة و لا شيء سوى ذلك. قبل أن أوضح كيف يعمل البرنامج ، حاول أن تشغله بنفسك. الآن شغل برنامج Visual Studio 6 على جهازك و اتبع الخطوات التالية المرفقة بالصور:
1. اضغط على New. شكل رقم (2)
2. من انافذة التي تظهر لديك ، اختر File من الزاوية العليا اليسرى كما يظهر في الصورة ، ثم اختر C/C++ Header file. شكل رقم (3)
3. في المربع على اليمين ، و تحت اسم File Name اكتب Test.cpp كما يظهر في الصورة. ثم اضغط OK. شكل رقم (4)
4. اطبع البرنامج الموجود في الصورة الأولى كما هو في المساحة البيضاء.
5. اضغط على كلمة Build ثم Compile Test.cpp كما هو واضح في الصورة.شكل رقم (5)
6. اضغط Yes مرتين عندما تظهر لك الرسالة التي تسألك. ثم اضغط F7.
7. الآن اضغط Cntrl + F5 على لوحة المفاتيح و شاهد كيف يطبع الحاسوب الجملة.

قد تبدو لك الخطوات السابقة مملة و بطيئة ، الا أنها غاية في السهولة عندما تعتاد عليها.

لنبدأ العمل :

الآن لنبدأ العمل الحقيقي بالتعرف على لغة السي بلس بلس. انظر الى الصورة رقم (6) ثم اقرأ شرح الأجزاء المشار اليها:
1. هذا السطر يعتبر قاموس الحاسوب. فجهاز الحاسوب لا يعلم شيئا من الانجليزية التي كتبنا بها برنامجنا. لذا فهذا السطر يعتبر كالقاموس الذي يرجع اليه الحاسوب ان لم يفهم شيئا معينا في البرنامج. المزيد من التوضيح حول هذا السطر سنقدمه في حلقات متقدمة.
2. هذا السطر يعلن بداية البرنامج. عند تنفيذ البرنامج فإن اول ما يبحث عنه الحاسوب هو هذا السطر ليبدأ بتنفيذ ما بعده. لا تقلق بمعنى كلمة void فسيتم شرحها لاحقا.
3. هنا كما ترى جملة انجليزية 100% ليس لها علاقة بلغة البرمجة. كما أن لونها أخضر مميز. تسمى هذه الجملة جملة التعليق ، يستطيع المبرمج فيها كتابة ما يشاء دون أن يؤثر على عمل البرنامج. و لتمييز جملة التعليق ، تبدأ هذه الجملة دائما بالشرطتين المائلتين // . و هذا يخبر الحاسوب أن ما بعد هاتين الشرطتين هو تعليق تجاهله و اقفز لما بعده. جملة التعليق مفيدة جدا لأنها توضح العمل الذي يقوم به البرنامج. كذلك تسهل عملية متابعة البرنامج و تطويره و تزيد من سرعة بناء البرامج خاصة اذا كلف في العمل فريق كامل للبرمجة و ليس مبرمج واحد فقط. الحاسوب يتجاهل هذه الجملة و يقفز الى ما بعدها.

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

4. هذه هي التعليمة الحقيقية التي تأمر الحاسوب بطباعة الجملة على الشاشة. يبدأ الحاسوب بقراءة الجملة من اليسار الى اليمين. فيقرأ الحاسوب كلمة cout فلا يفهم معناها فيرجع للقاموس الموجود بالسطر الأول من البرنامج و يفتحه ليفهم معنى تلك الكلمة. و عندما يجدها يدرك أنها أمر للحاسوب باظهار نص ما على الشاشة. أي نص؟ إنه النص الموجود بين علامتي تنصيص. فيحمل الحاسوب ذلك النص و يطبعه على شاشة كما هو دون حتى المحاولة لفهم معناه. لذلك يمكنك كتابة ما تريد بين علامتي التنصيص ليطبعه الحاسوب. جرب الآن كتابة اسمك بين علامتي التنصيص ، و اتبع الخطوات التي شرحت سابقا لتشاهد نتيجة التغيير الذي قمت به.
لاحظ في نهاية الجملة وجود الفاصلة المنقوطة. هذه الفاصلة مهمة جدا جدا في البرنامج فهي تخبر الحاسوب أين ينتهي السطر الذي يعني نهاية التعليمة. فكما قلت سابقا الحاسوب لا يهتم بالفراغات و يقفز عنها ، لذا وجود الفاصلة مهم لكي ينتبه الحاسوب الى انتهاء التعليمة و يقفز الى التعليمة التي تليها. و في مثالنا هذا ينتهي البرنامج عند هذه التعليمة.

لقد تعرفت الآن الى ماهية السي بلس بلس ، و البيئة التي يعمل عليها ، بل و قمت بكتابة برنامجك الأول. في الدروس القادمة سنمر على المزيد من التفاصيل التي ستجعلك أكثر خبرة بلفة السي بلس بلس.
 

المرفقات

  • 1.rar
    70.5 KB · المشاهدات: 37
التعديل الأخير:

mahmoud

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

sonaiko

ستار جديد
فقط ثلاث ردود؟؟ هل الكل يعرف سي بلس بلس هنا؟؟؟؟ غريب!!
جهزت الدرس الثاني لكن شكلكم مش مهتمين!
 

ReMad

ستار جديد
بالعكس نحن جدا مهتمون و فخورون بوجودك في هذا المنتدى

أرجوك استمر
 

sonaiko

ستار جديد
تعلم البرمجة بلغة السي بلس بلس C++ ( 2 ) :

ملخص الدرس الماضي:

تتواصل المدينة مع قرائها بنشر سلسلة دروس لتعليم لغة السي بلس بلس،. لغة البرمجة الأكثر أهمية في عالم الحاسوب. في الدرس الماضي تعرفت على كيفية عمل الحاسوب ، و ماهية لغات البرمجة و ما ترتيب السي بلس بلس بينها. كذلك تعرفت على بيئة برمجة السي بلس بلس و هي برنامج Microsoft Visual Studio الذي يمكننا من البرمجة بلغة السي بلس بلس. و أيضا قمت ببناء برنامجك الأول الذي يظهر اسم Al Madeenah Newspaper على الشاشة ، و تعرفت على مجموعة التعليمات التي استخدمت لبنائه.

البيانات ، التعليمات ، الشاي و النار !

لا تنزعج لأنني لم أبدأ مباشرة بالبرنامج الثاني ، فهذا أمر أساسي جدا كي تصبح محترفا في البرمجة. في الدرس الماضي تعلمنا كيف أن ذاكرة الحاسوب ضرورية جدا و لا يعمل الحاسوب بدونها. ففيها تخزن التعليمات التي يقوم الحاسوب بتنفيذها و فيها أيضا تخزن البيانات. تختلف البيانات عن التعليمات اختلافا كبيرا. و لتوضيح ذلك فلنأخذ مثالا عن طريقة تحضير الشاي! فمثلا طريقة عمل الشاي ، تسخين الماء ثم وضع الشاي و سكبه في الكأس ، كل هذا يسمى طريقة أو تعليمة أو أمر لكيفية عمل الشاي ، و هذه التعليمة تستخدم بيانات هي الشاي نفسه ، الابريق ، النار و الكأس! أي أن البيانات هي عبارة عن المواد الخام التي تجري عليها التعليمة. الآن لنطرح مثالا أكثر عملية. X = A + B. هنا آمر الحاسوب بجمع A و B و وضع الناتج في X. لا تقلق ان وجدت صعوبة في فهم العملية ، فأنت ما زلت بالداية و سنتطرق لهذا بالتفاصيل لاحقا. المهم ، أن تأمر الحاسوب بجمع العددين ، هذه هي التعليمة. أما A B X فهؤلاء هم البيانات التي يتعامل معها الحاسوب. و بعد عملية الجمع ، يخزن الحاسوب القيمة الجديدة في X. كيف و أين؟ في الذاكرة. الحاسوب يقوم بتخصيص مكان في الذاكرة يستخدم فقط ل X و مكان آخر ل B فقط و هكذا لكل البيانات. انظر الى الشكل رقم 1. الحاسوب يرتب البيانات بطريقة معينة ، لكن كي نسهل على انفسنا يمكن تخيل أنها مرتبة تحت بعضها كما في الشكل. و كأن الذاكرة عبارة عن خزانة فيها عدة جوارير، كل جرار يوضع فيه شيء واحد فقط. فلا يمكن وضع X في جرار A و لا B في جرار X. و هذا يسهل على حاسوب حفظ البينات. فعندما يريد قيمة X مباشرة يذهب الى هذا الجرار و يقرأ ما فيه. و هكذا. الشكل رقم 2 يبين الذاكرة و القيم التي تحملها. انظر جيدا الى الشكل ، هذا يعني أن قيمة A هي 10 قيمة B هي 20 و X هي مجموعهما 30. لا تقلق بكيف وصلت هذه القيم الى الذاكرة ، سأشرح هذا بعد قليل. هام جدا : اذا أحسست نفسك لم تفهم ما سبق ، أعد قراءته من جديد فهو جزء مهم جدا قبل مواصلة الجزء التالي.

ما هي أوامر التخزين في الذاكرة ؟


الآن اريد أن آمر الحاسوب بجمع عددين. هذه تعليمة. لنعد الى مثال الشاي. قبل أن تقرأ تعليمة كيف تعمل الشاي ، يجب أن تتوافر لديك المواد نفسها ، الشاي و النار و الابريق و الكأس ، أليس كذلك؟ هنا نفس الشيء. قيل أن آمر الحاسوب بجمع A و B مع بعضهما علي أن أحضرهما للحاسوب كي يستخدمها (هذا كشرائي للشاي و الابريق). كيف احضرهما للحاسوب ؟ بتخزينهما بالذاكرة! كيف أخزنهما بالذاكرة؟ أمر بسيط جدا هو كالتالي. int A; . لنبدأ بفهم الأمر جزءا جزءا. الفاصلة المنقوطة في النهاية كما شرحت في الدرس السابق مهمة جدا و يجب أن تنتهي بها أي تعليمة. A هو الاسم الذي نريد التخزين به ، أي اننا أمرنا الحاسوب بتخصيص مكان (جرار) في الذاكرة فقط يكون ل A. اما int فهي اختصار لكلمة integer بالانجليزية ، و معناها عدد صحيح. وبالتالي يكون المعنى الكامل للتعليمة : يا حاسوب خصص مكان في الذاكرة ل A حيث A عدد صحيح. هنا مباشرة يقوم الحاسوب بتخصيص مكان في الذاكرة ل A. تذكر هنا أننا وعدنا الحاسوب أن A سيكون عدد صحيح ، ولا شيء غير ذلك. سيغضب الحاسوب و يعترض ان اردنا وضع عدد غير صحيح في A. سنرى كيف ذلك لاحقا.



كيف أغير قيم البيانات التي قمت بتخزينها في الذاكرة؟

هذا أمر بسيط. تريد الآن أن تغير قيمة A الى 10 على سبيل المثال. بسيطة. فقط اكتب A = 10; . أمر سهل جدا. الحاسوب يذهب الى الذاكرة ، يشطب القيمة القديمة ل A ، و يضع مكانها 10. الآن اينما تتواجد A تكون قيمتها 10.
اشارة = هذه مهمة جدا. لكن سأتحدث عنها بالتفصيل لاحقا. فقط افهم الآن أنك تعين قيمة جديدة ل A بواسطتها.

البرنامج الثاني:

أنت الآن جاهز للبرنامج الثاني. أنعش ذاكرتك و قم بتشغيل Microsoft Visual Studio و اتبع الخطوات السابقة لتكون جاهزا لطباعة البرنامج الموجود في الشكل رقم 3. اتبع الخطوات السابقة كي تنفذ البرنامج ، و شاهد ما يظهره لك على الشاشة قبل أن تقرأ الشرح الكامل للبرنامج هنا. طبعا أنت الآن تألف الشكل الخارجي للبرنامج لأنني شرحته في الدرس السابق. السطر الأول int A; يأمر الحاسوب بتخصيص مكان في الذاكرة ل A و يعده بأن يستخدم للأعداد الصحيحة فقط. السطر الثاني يعين القيمة 10 ل A. السطر الثالث يأمر الحاسوب بتخزين مكان ل B و أيضا عدد صحيح. السطر الرابع يعين القيمة 20 ل B. السطر الرابع يستخدم للاظهار على الشاشة. يظهر الحاسوب قيمة A ، ثم في السطر الخامس يظهر قيمة B. الآن عدل البرنامج ليصبح كما في الشكل رقم 4 ، ثم قم بتنفيذه. انظر ماذا يظهر لك على الشاشة ، ثم اقرأ الشرح الكامل لكل تعليمة هنا.

1. هذا هو القاموس الذي يبين للحاسوب معنى الأوامر التي تكتبها.

2. هنا بداية البرنامج. الحاسوب يبدأ بتنفيذ الأوامر بعد هذا السطر.

3. هنا تأمر الحاسوب بتخصيص مكان ل A وهو عدد صحيح. لاحظ أن هناك اختلافا بين هذا السطر ، و السطر الأول من البرنامج السابق. هذا السطر يحوي أمر زائد وهو = 10. هنا أنت تأمر الحاسوب بتخصيص مكان ل A كعدد صحيح ، و تأمره أيضا بوضع القيمة 10 فيه. لاحظ أن هذا السطر قد قام بتنفيذ ما قام به سطرين في البرنامج السابق. كذلك الأمر بالنسبة للسطر التالي ، يحفظ مكان في الذاكرة ل B و يعين القيمة 20 له.

4. هذا السطر يقوم بالطباعة. لكن لاحظ هنا أن الحاسوب قام بطباعة جملة Value of A is قبل أن يطبع قيمة A. و ذلك لأن هذه الجملة موضوعة بين علامتي التنصيص ، فيأخذ الحاسوب الجملة كما هي دون أن يفكر في معناها. يبدأ الحاسوب التنفيذ من اليسار الى اليمين ، يقرأ cout ، لا يفهم الحاسوب معناها ، لكن من القاموس المتوفر يفهم أنها أمر طباعة. ينتقل لليمين ، يطبع الجملة كما هي ، ثم ينتقل لليمين ، يرى A. هنا يتوقف الحاسوب ، يذهب الى مكان A في الذاكرة ، و يطبع قيمة A و ليس حرف A. لو أردنا طباعة الحرف A لوضعناه بين علامتي تنصيص “A”. ينتقل الحاسوب الآن الى اليمين ، يرى endl ، هذه تأمر الحاسوب بالانتقال الى سطر جديد. حاول الغاءها و انظر ماذا يحصل. عند الوصول للفاصلة المنقوطة يعلم الحاسوب بانتهاء التعليمة فينتقل للتعلمية التي تليها.

5. نفس السطر الرابع لكن B و ليس A.

6. هذا السطر يظهر ناتج الجمع. لاحظ أن الجملة بين علامتي التنصيص طبعت كما هي ، لكن عندما وصل الحاسوب الى جملة A + B ، فإنه لم يطبعها ، لكنه قرأ من الذاكرة قيمة A و قرأ قيمة B ثم جمع القيمتين لأنك تأمره بالجمع. لو غيرت الجمع الى طرح B – A فإنه يطرح و يظهر الاجابة على الشاشة.

انتهيت الآن من البرنامج الثاني. في الدرس القادم ستكون قادرا على انشاء برامج أكثر تعقيدا. حاول تغيير قيم A و B لترى على ماذا ستحصل.
 

المرفقات

  • 2.rar
    20.4 KB · المشاهدات: 3

sonaiko

ستار جديد
كيف تبرمج بلغة السي بلس بلس (3) :

ملخص الدرس الماضي :

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

المتغيرات : أكياس الفواكة !

عندما تسمع باسم المتغيرات فإنك قد تشعر أن الموضوع معقد. دعني أريحك و أقول لك أنك الآن تعرف المتغيرات بل و تعاملت معها أيضا بنفسك. في الدرس الماضي عرفت البيانات عن طريق جملة int A; . هذا الأمر يخصص مكان في الذاكرة ل A. و هنا المفاجأة. A تعتبر هنا متغيرا من المتغيرات. و كذلك B التي استخدمتها في الدرس السابق. كلمة متغير تعني أنه ذو قيمة متغيرة ، و بالانجليزية variable. و سيمت كذلك لأنك قادر على أن تضع أي قيمة في المتغير تريدها ، و يمكن أن تغير القيمة هذه فيما بعد لأي قيمة تريدها. انظر الى الشكل رقم 1 الذي يبين برنامجا ، ثم انظر الى الشكل رقم 2 الذي يمثل الذاكرة :

1. التعليمة الأولى في الشكل رقم 1 تأمر الحاسوب بتخصيص مكان للمتغير X الذي سيكون عبارة عن عدد صحيح فقط. و من الشكل رقم 2 نلاحظ أن الخطوى الأولى التي قام بها الحاسوب هي تخصيص المكان في الذاكرة.
2. التعليمة الثانية في الشكل رقم 1 تأمر الحاسوب بتخصيص مكان للمتغير Y و هو عدد صحيح فقط. و من الشكل رقم 2 نلاحظ أن الخطوى الثانية التي قام بها الحاسوب هي تخصيص المكان في الذاكرة.
3. التعليمتين الثالثة و الرابعة تعين قيمتين للمتغيرين X Y. نلاحظ في الشكل 2 أن الخطوة الثالثة هي تخزين هاتين القيمتين كل في مكانها عند المتغير الخاص بها. X فيها 30 و Y فيها 70.
4. التعليمة التالية تحفظ مكان في الذاكرة ل Z و هو عدد صحيح فقط.
5. هنا آمر الحاسوب بجمع العددين X و Y ووضع النتاج في Z. عند تنفيذ هذه العملية ، يقوم الحاسوب بقراءة ما يحويه جارور X في الذاكرة ، و قراءة ما يحويه جارور Y في الذاكرة ، جمع المحتويين ثم تخزينه في جارور Z. سأتحدث أكثر عن العمليات الحسابية في حيتها.

الآن انظر الى متممة البرنامج في الشكل رقم 1. نفس العملية السابقة لكن تم تغيير القيم الموجودة في كل من المتغيرات X و Y و بالتالي تغير قيمة المتغير Z نظرا لأنه يساوي Y ناقص X. هذا دليل على قدرتنا على التحكم بقيم المتغيرات و تغييرها متى نشاء ، لهذا سميت بالمتغيرات. الشرط الوحيد على المتغيرات هو ضرورة الالتزام بنوع التغير. نوع المتغير؟ ما هذا؟؟!! هذا هو الوعد الذي قطعته مع الحاسوب ، في الدرس السابق. عندما تأمر الحاسوب بجملة int x; فأنت تقول له يا حاسوب احفظ لي مكانا في الذاكرة للمتغير x ، و أعدك أنني لن أدخل فيه قيمة سوى الأعداد الصحيحة فقط لا غير. لذا عليك الالتزام بهذا الوعد و هو يسمى نوع المتغير. هناك أنواع عديدة من المتغيرات ، الأعداد الصحيحة ، الكسرية ، الحروف ، و حتى المتغيرات المنطقية. كل متغير يمكن تمثيله بكيس من أكياس الفواكه ، فكل كيس يحمل نوعا معينا من الفواكه و هو نوع واحد و محدد ، إلا أنه قد يحوي عددا متغيرا من الحبات في الداخل. فكيس التفاح قد يحوي 10 تفاحات ، أو 5 أو 7 ، لكنه يبقى كيس تفاح! الكيس هو المتغير ، التفاح هو نوع المتغير ، و عدد الحبات هي قيمة هذا المتغير.

أنواع المتغيرات

كما قلت المتغيرات أنواع عديدة. منها الأعداد الصحيحة و منها الأعداد الكسرية و منها الحروف. سأتحدث اليوم عن الأعداد الصحيحة و الكسرية و أترك الحروف لدروس قادمة. انظر الى الشكل رقم 3 الذي يبين برنامجا يتم فيه التعامل مع المتغيرات الصحيحة و الكسرية. لاحظ أن المتغيرات الكسرية قد تقبل وضع قيمة صحيحة بها. اطبع البرنامج و شاهد ما سيظهره على شاشتك. السطر الأول يعرف متغيرا من نوع الأعداد الصحيحة و يضع القيمة – 10 (سالب عشرة) فيه. لاحظ أن هذا النوع من المتغير يقبل الأعداد السالبة. السطر الثاني يعرف متغيرا من نوع الأعداد الكسرية float و يضع القيمة 20.4 فيه. هذا النوع يقبل الأعداد السالبة أيضا. السطر الثالث يعرف متغيرا من نوع double و يضع فيه القيمة 5.135 . ما الفرق بين double و float؟ كلاهما يحمل قيم كسرية. لكن ال double يكون أكثر دقة في اظهار العدد العشري من ال float و الحجم الذي يحجزه في الذاكرة يكون أكبر. لا تقلق بهذا الشأن حاليا. السطر الرابع يعرف متغيرا من نوع أعداد صحيحة ، لكن مسبوق بكلمة unsigned. هذا يعني أن هذا المتغير لن يقبل الأعداد السالبة أبدا.

البرنامج الثالث

انظر الى الشكل رقم 4. هذا الشكل يحوي برنامجا يقوم بجمع 3 أعداد و ايجاد الوسط الحسابي لها (المعدل).

1. هذا السطر يعرف ثلاث متغيرات دفعة واحدة. من الممكن كتابة كل منها على حدى ، أو يمكن كتابتها على سطر واحد تفصل بينها الفاصلة.
2. هنا تعريف للمتغير من نوع double. تم استخدام هذا المتغير لأن المعدل لثلاثة أرقام قد يكون عددا كسريا كما هو في المثال. لاحظ أن اسم المتغير قد يكون أي كلمة بالانجليزية.
3. تعيين قيم المتغيرات.
4. العملية الحسابية التي تحسب المعدل. تجمع الأعداد x y z ثم نقسمها على 3 و نضع الناتج في average.

السطر التالي يظهر الناتج على الشاشة. ستلاحظ ظهور 18.3333 على الشاشة و هو معدل الأرقام الثلاثة. لو كان average من نوع عدد صحيح و ليس كسري ، فإن الحاسوب سيهمل الجزء العشري من المعادلة ، و سيظهر الجزء الصحيح منها فقط. كذلك لاحظ أن عملية القسمة كانت على 3.0 و ليس على 3. ذلك لإخبار الحاسوب بأن عملية القسمة تحوي أعداد كسرية و أنا مهتم بها. حاول تغيير قيم x y z و انظر النتائج الجديدة التي تظهر على الشاشة.

حاول تعديل هذا البرنامج ليعطيك معدل أربع أعداد ، الرابع هو عدد كسري. عدل البرنامج الآن ليعطيك معدل خمس أعداد الخامس هو عدد صحيح غير سالب. هل برنامجك يسبه البرنامج في الشكل رقم 5 ؟
 

المرفقات

  • 3.rar
    39.8 KB · المشاهدات: 3
أعلى