يتم إ�عادة تدوير النفايات ا إللكترونية في البلدان المتقدمة وا�ستخدامها في ال�صناعات التجديدية ،مما ي�سبب مخاطر كبيرة للعمال ب�سبب ر�شح المواد ال�سامة من المعادن الثقيلة، لذلك ف�إن �إعادة تدوير هذه النفايات و�إدارتها يتم بحذر �شديد .ومع ذلك ف�إننا نواجه م�شكلة تزايد هذه النفايات ب�شكل كبير مع ت�سارع التكنولوجيا والمتغيرات التي تواكبها ،ا ألمر الذي دعا إ�لى �ضرورة معرفة الطريقة ال�صحيحة لتعامل ا إلفراد مع هذه النفايات. ومن طرق التعامل ال�صحيح مع النُفايات ا إللكترونية: - 1تجنب �إلقاء النفايات الكهربائية وا إللكترونية في الحاويات و�أماكن جمع النفايات المنزلية. - 2يف�ضل التخل�ص من الأجهزة الكهربائية وا إللكترونية من خلال �شركات متخ�ص�صة في التعامل مع النفايات ا إللكترونية؛ ألن أ�جزا ًء من هذه الأجهزة فيها مواد خطرة و�سامة ،فلابد من �أن تخ�ضع لمبادئ التعامل مع النفايات الخطرة وال�سامة. - 3يجب العمل على و�ضع إ�طار ت�شريعي ينظم ويدير قطاع التعامل مع النفايات ا إللكترونية والكهربائية وتوابعها ،للتخفيف من المخاطر الناجمة عن �سوء التعامل معها ،في ظل عدم وجود �آلية منهجية وملمو�سة لجمع النفايات ا إللكترونية والكهربائية وغياب الخبرات الفنية إلعادة تدويرها ومعالجتها. � - 4ضرورة �إر�ساء نظام إلعادة تدوير النفايات ا إللكترونية في الأردن ،وتوعية المواطنين إلقامة نظام لجمع هذه النفايات ،وف�صلها بطريقة ت�ساعد البلديات على �إعادة تدويرها ب�صفتها الجهة الم�س ؤ�ولة عن جمع النفايات والتخل�ص منها ،ويتم ذلك بو�ضع آ�ليات منا�سبة للفرز والجمع و إ�عادة التدوير والمعالجة والتخل�ص منها أ�و ت�صديرها خارج البلاد للمعالجة. - 5ا�ستخدام مواد �أقل �ُسمية في الت�صنيع ،با إل�ضافة إ�لى العمل على ت�صنيع وا�ستيراد المواد التي يمكن �إعادة تدويرها ،وفق معايير وموا�صفات المعدات الكهربائية وا إللكترونية وذلك بهدف مكافحة التلوث البيئي. - 6ت�شجيع ا�ستخدام التكنولوجيا ال�سليمة بيئي ًا ،والمنا�سبة إلعادة التدوير ،وزيادة القدرة على تر�شيد ا�ستخدام الطاقة ،وبالتالي تقليل توليد ال ُّنفايات. 49
ﻧﺎﻗﺶ ﺷﺎرك ﻓﻜﺮ {هناك قلة وعي حول �لمخاطر �لناجمة عن �لنفايات �لكهربائية و� إللكترونية بين جميع فئات �لمجتمع ،في ظل غياب حملات �لتوعية بكيفية �لتعامل ب أامان مع �ل ُّنفايات �لكهربائية و�لإلكترونية.z ناق�ض مع زملائك في �لمجموعة �لفقرة �ل�صابقة ،مقترح ًا بع�ض �لإجر�ء�ت �لو�جب تنفيذها من �لجهات �لمعنية ،لتحقيق هذه �لغاية. �صجل ما تو�صلت �إليه في ملف �لمجموعة. اﺑﺤﺚ م�صتعين ًا بال�صبكة �لعنكبوتية �بحث عما يمكن �أن ي�صببه ق ّلة �لوعي حول �لنفايات �للكترونية من �آثار كارثية على �لبيئة و�ل�صحة ،وناق�ض ما تو�صلت �إليه مع زملائك. ثانيًا :الحو�صÑة ال†îصراء )(Green Computing ا ¿Eالمحاف¶ة على البيÄة ل Jكو¿ فقط بال¶æافة والحØا® على �لأ�صجار وغيرها ،بل يوجد �أمور تقنية أ�ي�صا ت�صهم في �لتلوث �لبيئي كالتخل�ض من �أجهزة �لحا�صوب ومكوناته و�لمو�د �لتي ت�صنع منها و�لتي ت�صتهلك �لطاقة و�لمو�رد ،وللتقليل من �لتلوث �لبيئي ظهرت �لحو�صبة �لخ�صر�ء فما هي �لحو�صبة �لخ�صر�ء? وكيف تطورت? وما �أهد�فها? - 1مفهوم الحو�صÑة ال†îصراء �لحو�صبة �لخ�صر�ء هي � إلجر�ء �ل�صحيح في �لتطبيق �أو �لت�صنيع أ�و �ل�صتخد�م �أو�لتخل�ض من �أجهزة �لحا�صوب وملحقاته بكفاءة وفعالية وباأقل تاأثير �صار على �لبيئة. - 2مراحل ت£ور الحو�صÑة ال†îصراء ظهر هذ� �لمفهوم في �لوليات �لمتحدة �لأمريكية بم�صروع {نجمة �لطاقة zعام 1992 بدعم من وكالة حماية �لبيئة ،وقد ��صتهر هذ� �لم�صروع عندما تبنته �صركات ت�صنيع أ�جهزة 50
�لحا�صوب ،وبد�أت باإطلاق منتجات تدعم هذه �لخا�صية، وقد �نتقل �لم�صروع لح ًقا إ�لى أ�وروبا و�آ�صيا ،وغال ًبا ما ت�صع �ل�صركات �لد�عمة للمو�صوع �صعار �لنجمة على منتجاتها كما يظهر بال�صكل (.)24 -1 - 3اأهدا ±الحو�صÑة ال†îصراء �ل�صكل (� :)24-1صعار م�صروع هناك مجموعة من � ألهد�ف و�ل�صيا�صات �لتي ت�صعى نجمة �لطاقة. �لحو�صبة �لخ�صر�ء إ�لى تحقيقها� ،صنذكر بع�صها فيما ياأتي: أ� -ت�صمي��م �لمكون��ات �لحا�صوبي��ة لتك��ون ذ�ت تاأثير �صديق للبيئة وذلك بتقليل �لمو�د �لقابلة للإا�صعال في �لمنتجات � إللكترونية �لم�صنعة. ب -رف��ع قابلي��ة �لمنتج��ات �لم�صنع��ة إلع��ادة �لتدوير، و�لتحل��ل �لحي��وي للمنتج��ات �لتالف��ة ومخلف��ات �لت�صنيع. ج� -رفع فعالية ��صتهلاك �لمنتج للطاقة و�لتقليل من فقدها خلال دورة حياته ،و��صتخد�مه بطريقة توفر ��صتهلاك �لطاقة. ومن اآليات تقليل ا�صتهÓك ال£اقة ما يلي: � . 1إمكانية �لتحكم في مجموعة حو��صيب من خلال جهاز مركزي و�حد ،ويف�صل ��صتخد�م جهاز �لحا�صوب �لمحمول بد ًل من �لحا�صوب �لمكتبي. . 2تغيير مزود�ت �لطاقة �لقديمة للاأجهزة �لمنزلية باأخرى جديدة بحي ُث تعمل ب�صكل فعال أ�كثر وذلك بتقليل ن�صبة �لطاقة �لمفقودة على �صكل حر�رة ب�صكل كبير. ُ . 3ت ّعد بطاقات �لفيديو ووحد�ت معالجة �لر�صومات وخ�صو�ص ًا �لثلاثية � ألبعاد منها ،أ�كثر �أجز�ء أ�جهزة �لحا�صوب ��صتهلا ًكا للطاقة ،فا ألف�صل �ل�صتغناء عنها وتغييرها بالأنو�ع �لحديثة � ألقل ��صتهلاك ًا للطاقة. 51
. 4تغيير �ل�صا�صات �لقديمة ب�صا�صات (� )LCDلحديثة؛ ألنها �أقل ��صتهلاك ًا للطاقة ،ول تحتوي على كميات ر�صا�ض كبيرة و�لذي يعتبر م�صر للبيئة. � . 5حر�ض على إ�غلاق جهاز �لحا�صوب بعد �لنتهاء من �لعمل ،كما �أن هناك بع�ض أ�نظمة �لت�صغيل تقوم آ�ل ًيا بالتحكم باإطفاء بع�ض �لمكونات � إللكترونية ،كما في �ل�صا�صات. � . 6صر�ء أ�جهزة �إلكترونية موفرة للطاقة ،و�لحر�ض على �لعمل بخ�صائ�ض توفير �لطاقة ،و�لعمل على �إعادة تدوير �لمخلفات �أو تطويرها. - 4الجديد في عالم الحو�صÑة ال†îصراء فيما يلي بع�ض �لأمثلة على منتجات �صديقة للبيئة: أا -لوح��ة مفاتي��ح Tصم�صية �صديقة للÑي��Äة لاأجهõة أابل :حيث Jتمي�� õباEمكانية الربط بي��KÓK øة أاجه Iõف» الوâb نف�ص��ه بو��صطة (�لبلوت��وث) كما تتمت��ع �لبطارية �لمدمج��ة بلوحة �لمفاتي��ح وباإمكانية �صحنها عن طري��ق �أ�صعة �ل�صم�ض �أو �ل�ص��وء �ل�صناعي لمدة ثماني �صاعات متو��صلة من �ل�صتخد�م �ليوم��ي ،وم��دة ثلاث �صه��ور في حال��ة � إل�صاءة �لمنخف�صة. ب -فTÓص ميموري ( :)Flash memoryوهي وحدة تخزين م�صنوعة من مو�د قابلة لإعادة �لتدوير. ج� -م�صÑاح م�صع ( :)LEDربما يكون أ�على كلفة من �لم�صابيح �لعادية ،لكنها �أقل ��صتهلاكا للكهرباء، وتخدم م�دة �أط��ول �أرب��ع م�ر�ت إ�ل�ى ع�صر من �لم�صابيح �لتقليدية. 52
øMɰûdG ô¡¶j ájGóÑdG »a :ÇQGƒ£∏d …ƒb øMɰT - O ácôëH øµdh ,…OÉ`Y »Fƒ°V ±É°ûc ¬fÉC ch ÉjÓîdG øe Oó`Y ∞∏îdG »a ô¡¶j ᣫ°ùH Ωƒ≤àd ¢†©ÑdG É¡°†©H ¥ƒa á°UGôàªdG á«°ùª°ûdG ≈∏Y πª©J ºK AÉHô¡c ≈dGE á«Fƒ°†dG ábÉ£dG πjƒëàH ¿GC πÑb ±É°ûµdG 𪩫d ,á«∏NGódG ájQÉ£ÑdG øë°T .√ô«Zh ∫ƒªëªdG ∞JÉ¡dG πãe ¬H §ÑJôj »LQÉN RÉ¡L …CG ≈dGE ábÉ£dG ôjó°üàH GC óÑj ¥QƒdG ∑Ó¡à°SG π∏≤J :áÄ«ÑdG á≤jó°U á©HÉ£dG - `g äGOGóYEGh ø«¡LƒdG ≈∏Y áYÉÑ£dG ∫ÓN øe ≈dEG ábÉ£dGh ôÑëdG ∑Ó¡à°SG π«∏≤Jh ô«aƒJ ó«°ùcCG »fÉK RÉZ çÉ©ÑfG øe π∏≤Jh ,ô«Ñc óM .¿ƒHôµdG ﻧﺎﻗﺶ ﺷﺎرك ﻓﻜﺮ äÉMGôàb’G ¢†©H Ωóbh ,AGô°†îdG áѰSƒëdG πÑ≤à°ùe ¢ûbÉf ∂àYƒªée OGôaGC ™e ¿hÉ©àdÉH .Ók Ñ≤à°ùe É¡«∏Y ¿ƒµJ ¿CG ™bƒàªdG .áYƒªéªdG ∞∏e »a ¬«dGE â∏°UƒJ Ée πé°S اﺑﺤﺚ :»J’B G øY åëHG âfôàf’E G áµÑ°T ΩGóîà°SÉHh ,∂àYƒªée OGôaGC ™e ¿hÉ©àdÉH ¢SQódG »a ôcòJ ºd áÄ«Ñ∏d á≤jó°U äÉéàæe - .∂æµ°S á≤£æe »a ¬eGóîà°S’ ák ≤jôW ìôàbGh ,¿OQ’C G »a AGô°†îdG áѰSƒë∏d »∏©a ≥«Ñ£J - .áYƒªéªdG ∞∏e »a ¬«dGE â∏°UƒJ Ée πé°S 53
أﺳﺌﻠﺔ اﻟﻔﺼﻞ - 1ما �لمق�صود بال ُّنفايات � إللكترونية ،و�ذكر مثا ًل عليها. � - 2ذكر ثلاثة �أمثلة على منتجات �إلكترونية �صديقة للبيئة. - 3و�صح �لعلاقة بين �لنفايات � إللكترونية و�لحو�صبة �لخ�صر�ء. � - 4ذكر �لطرق �ل�صحيحة للتعامل مع �ل ُّنفايات � إللكترونية. - 5علل ما يلي: �أ -يجب تغيير �ل�صا�صات �لقديمة ب�صا�صات LCDحديثة. ب -تجنب إ�لقاء �لنفايات � إللكترونية في أ�ماكن جمع �لنفايات �لمنزلية. � -6ملاأ �لفر�غ في مايلي: أ� � -لحو�صبة �لخ�صر�ء هي . .................. ب -من ��صتخد�مات لوحة �لمفاتيح �ل�صم�صية . .................. ج� -من �أهد�ف �لحو�صبة �لخ�صر�ء . ...............2 . ...............1 د -من مخاطر �ل ُّنفايات � إللكترونية . ...............2 . ..............1 � -7ذكر �أهم ّي ًة و�حدة لكل من: �أ � -لم�صباح �لم�صع. ب� -لطابعة �صديقة �لبيئة. ج� -فلا�ض ميموري م�صنوعة من مو�د قابلة للتدوير. 54
أﺳﺌﻠﺔ اﻟﻮﺣﺪة - 1ع ّرف �لم�صطلحات �لآتية: �أ � -صيانة �لحا�صوب. ب � -ل�صيانة �لوقائية. ج� � -لحو�صبة �لخ�صر�ء. - 2علل ما يلي: أ� �� -صتخد�م أ�نظمة �لت�صغيل متعددة �لم�صتخدمين ومتعددة �لمهام في �أجهزة �لخو�دم �لحا�صوبية. ب -تعدد أ�نو�ع أ�نظمة �لت�صغيل لأجهزة �لحا�صوب �للوحية. ج� � -أهمية تحديث نظام �لت�صغيل ب�صكل م�صتمر. د -عمل �صيانة وقائية لجهاز �لحا�صوب ،يطيل من �لعمر �لت�صغيلي له. ه� �� -صتخد�م مادة �لتنظيف ( )Foam Cleanerلتنظيف �أجهزة �لحو��صيب. و -يعتبر �لغبار و�ح ًد� من �لأ�صباب �لرئي�صة في تعطل جهاز �لحا�صوب. ز -ت�صبب بع�ض �لفيرو�صات �أ�صر�ر مادية لجهاز �لحا�صوب. ح -عدم �إلقاء جهاز �لحا�صوب �للوحي �لتالف في حاوية �لنفايات. - 3لماذ� كانت أ�جهزة حا�صوب �لجيل �لأول كبيرة �لحجم وبطيئة �ل�صرعة? - 4عد Oو�ضائل ربط الها ∞Jالمحمو∫ بجهاز الحا�ضوب. - 5لماذ� يعد �لقر�ض �ل�صلب ذو �ل�صرعة (� ) RPM 7200أف�صل من (?)RPM 4500 � - 6ذكر ثلاثة �أمور يجب أ�خذها بعين �لهتمام عند �صر�ء جهاز حا�صوب لوحي. 55
- 7أ� ُّي �أجهزة �لحا�صوب أ�ن�صب للا�صتخد�م في كل من �لحالت � آلتية: نوع جهاز الحا�صوب الا�صتîدام الرقم 1ت�صفح � إلنترنت ،و�ل�صتخد�م �لمنزلي. 2ت�صفح � إلنترنت خارج �لمنزل. 3عمل �لأبحاث �لعلمية. � 4لتعلم � إللكتروني لطلاب �ل�صفوف � أل�صا�صية �لدنيا. � 5لتعلم � إللكتروني لطلاب �ل�صفوف �لثانوية. 6لعب �لألعاب � إللكترونية عبر �ل�صبكة. � 7لتو��صل �لمرئي مع � ألهل. 8عمل ك�صوفات محا�صبية. 9ت�صميم �لمو�قع � إللكترونية. 10تحرير مقاطع �لفيديو. 11ت�صميم �لمن�صور�ت � إللكترونية. � - 8ذكر خم�صة إ�جر�ء�ت يقوم بها �لم�صتخدم لإطالة �لعمر �لت�صغيلي لجهاز �لحا�صوب. � - 9ذكر ثلاثة من � إلجر�ء�ت �لوقائية �لتي ت�صتخدمها مع جهاز �لحا�صوب �للوحي. - 10عدد خم�ًصا من �آليات تقليل ��صتهلاك �لطاقة. 56
ﺗﻘﻮﻳ ٌﻢ ذاﺗ ﱞﻲ بعد Oرا�ضت∂ الوحد Iالأولى ,أاcمل �ضل ºالتقدير ا Bل »Jلتقوي ºن�Øض∂ Pاً Jيا ومعرفة pنقاط ال�ضع∞ لديك محاول �إيجاد �لحلول �لمنا�صبة: أ��صتطيع �أن: ممتاز جيد Vصعيف الا�صتîدام الرقم �أع ّرف مر�حل تطور �لحا�صوب �لتاريخية. 1 �أم ّيز بين أ�نو�ع �أجز�ء �لحا�صوب �لمختلفة. 2 �أ�صتطيع قر�ءة عرو�ض مو��صفات �لحو��صيب. 3 �أع ّرف نظام �لت�صغيل. 4 أ�ع ّدد مهام نظام �لت�صغيل. 5 �أع ّرف أ�نو�ع نظام �لت�صغيل بالعتماد على �لم�صتخدمين وطبيعة �ل�صتخد�م. 6 �أم ّيز بين أ�نظمة �لت�صغيل �لخا�صة بالأجهزة �للوحية. 7 أ�ح ّدث نظام ت�صغيل ( )Windowsبنجاح. 8 � 9أع ّرف أ�همية �ل�صيانة. َ 10أ� ُقو ُم بعمل �صيانة وقائية مادية لجهاز �لحا�صوب. أ�ع ّدد أ�هم �لأعطال �لتي ت�صيب جهاز �لحا�صوب 11 وكيفية علاجها. 12أ�ع ّرف مفهوم �لحو�صبة �لخ�صر�ء. � 13أ�صتطيع �أن �أتعامل مع �لنفايات � إللكترونية. � 14أع ّدد أ�هد�ف �لحو�صبة �لخ�صر�ء. 57
اﻟﻮﺣﺪة اﻟﺜﺎﻧﻴﺔ البرمجة بلغة C++ تنبع �أهمية �لبرمجة في حياتنا في أ�نها ُت�صتخ َدم في بناء �لبر�مج و�لتطبيقات �لحا�صوبية �لتي ت�صاعد �لأفر�د على �لقيام ب أاعمالهم �لمختلفة .فالبرمجة هي �لأ�صا�س في بناء وتنفيذ جميع �لتطبيقات �لحا�صوبية �لتي من خلالها نبني �لبر�مج �للازمة لحل �لم�صاكل �لتي نحتاج لحو�صبتها .وتعتمد �لبرمجة على طرق و أ��صاليب علمية تخ�صع لقو�ع َد و أ��ص�ٍس محدد ٍة ،وتعتبر ف ًنا في �لوقت نف ِ�صه ،كما �أنها فن يعتمد على ذوق �لمبرمج وقدرته على ترتيب �لأفكار وحل �لم�صاكل بطرق مخت�صرة. و�صتتعرف في هذه �لوحدة برمجة �لحا�صوب با�صتخد�م لغة �لبرمجة ،C+ +حيث �إن لغة C+ +تعتبر من أ�هم لغات �لبرمجة و�أكثرها �نت�صا ًر� لقدرتها �لعالية في �لتعامل مع مكونات �لحا�صوب �لمادية ،مما ينعك�س على �صرعة تنفيذ �لعمليات �لبرمجية. ويتوق™ من الطالب في نهاية هذه الوحدة أان: يتعر َف بيئة �لتطوير ومكوناتها �لأ�صا�صية وكيفية ��صتخد�مها في �لكتابة و�لحفظ وتنفيذ �لبر�مج بلغة �لبرمجة .C+ + يتعرف رموز لغة �لبرمجة C+ +و أ�نو�ع �لبيانات � أل�صا�صية �لخا�صة بها. ي�صتخد َم جمل �لطباعة بلغة �لبرمجة .C+ + يتعرف طريقة �إدر�ج �لملاحظات في لغة �لبرمجة .C+ + يتعرف كيفية �إن�صاء �لمتغير�ت و�لثو�بت بلغة �لبرمجة .C+ + ي�صتخدم جمل � إلدخال بلغة �لبرمجة .C+ + يتعرف �لتعابير �لح�صابية للغة �لبرمجة .C+ + يتعرف �لتعابير �لمنطقية للغة �لبرمجة .C+ + يطبق جمل �لختيار �ل�صرطية للتحكم في �صير تنفيذ �لبرنامج بلغة �لبرمجة .C+ + ي�صتخدم جمل �ل َّتكر�ر .for 59
الف�صل ا ألول مقدمة في لغة البرمجة C+ + تعرفت في ال�صف العا�شر خطوات حل الم�شكلة ح�سب الأ�س�س العلمية للو�صول إ�لى حلول منا�سبة و إ�عطاء ا ألوامر للحا�سوب حتى يقوم بتنفيذها ب�شكل �صحيح ليعطي النتيجة المطلوبة .كما تعرفت أ�نه لا بد من وجود لغة للتخاطب مع الحا�سوب والتفاعل معه إلنجاز عمل معين ،وهو ما يعرف بلغة البرمجة والتي تتكون من مجموعة من الكلمات والرموز والقواعد المحددة والتي يجب على الم�ستخدم �أن يتبعها بدقة ألن مخالفتها �ست ؤ�دي �إلى أ�خطاء ولن ي�ستطيع الحا�سوب فهمها وتنفيذ المهام المطلوبة منه ،وتختلف هذه التعليمات والأوامر من لغة برمجية �إلى �أخرى ح�سب قواعد كتابة كل لغة .و�ستتعرف في هذا الف�صل �إلى لغة البرمجة .C+ + ن�شاط ( :)1-2خطوات حل الم�شكلة بالتعاون مع أ�فراد مجموعتك ،وبالاعتماد على ما تعلمته في ال�صف العا�شر نفذ الآتي: • عدد خطوات حل الم�شكلة (الم�س�ألة). • طبق خطوات حل الم�شكلة ال�سابقة إليجاد م�ساحة مثلث. �سجل ما تو�صلت �إليه في ملف المجموعة. البرمجة في حياتنا مركز المياه والطاقة والبيئة هو أ�حد مراكز الجامعة ا ألردنية ،والذي يعنى بكل ما يتعلق من �أبحاث في هذه المجالات ،قرر مدير المركز لاا�ستعانة بمبرمج من مركز الحا�سب في الجامعة ليقوم بعمل برامج حا�سوبية ت�ساعد وت�سهل عملية البحث وعمل الباحثين في المركز. �أر�سل مركز الحا�سوب في الجامعة ا ألردنية أ�حد �أف�ضل المبرمجين لديه وهو المبرمج ماهر، والذي اقترح على مدير المركز أ�ن يقوم ب�أداء هذه البرامج الحا�سوبية على لغة C+ +لما لها من قدرة على تنفيذ المعادلات الح�سابية المعقدة ب�سرعة �أكبر من اللغات البرمجية ا ألخرى ،وقرر المبرمج ماهر أ�ن ي�ستخدم برمجية Code::Blocksلتنفيذ برامجه عليها ،فما هي لغة C++؟ وكيف يتم التعامل مع برمجية Code::Blocks؟ 60
�أو اًل :التعريف بلغة البرمجة C+ + لغ��ة البرمجة C+ +هي إ�حدى لغ��ات البرمجة ا ألكثر �شيو ًعا ،ب��د�أ تطويرها كامتداد للغة ،C وتتمي��ز ب أ�ن تعليماتها أ�قرب ما تكون إ�لى لغ��ة ا إلن�سان ،وهذا ما يجعل عملية البرمجة �أكثر �سرعة و�سهولة. وبيئة التطوير المتكاملة (ُ )IDE-Integrated Development Environmentت�ستخدم لكتابة برامج لغة C++؛ لأنه يتم من خلالها كتابة التعليمات البرمجية الخا�صة بلغة ،C++والتحقق من ا ألخطاء، وبناء الم�شروع واختباره ،و من �أ�شهر هذه البرمجيات .Codelite,Code::Blocks,Visual Studio و�سنتعرف في هذا الف�صل �إلى برنامج ،Code::Blocksوهو برنامج مجاني وحجمه منا�سب ،ويتم تحميله من خلال موقعه الر�سمي .http://www.codeblocks.org ثانيًا :ت�شغيل برمجية Code ::Blocks عند ت�شغيل برمجية Code :: Blocksاتبع الخطوات ا آلتية: -1انقر على زر ابد�أ ( )Start -2اختر جميع البرامج ()All Programs -3اختر برمجية ( )Code::Blocksعندها تظهر ال�شا�شة الرئي�سة ،المو�ضحة في ال�شكل (.)1-2 2 1 4 3 5 6 ال�شكل ( :)1-2ال�شا�شة الرئي�سة لبرمجية Code::Blocksب إ��صدارها رقم .13.12 61
ثالثًا :مكونات ال�شا�شة الرئي�سة تتكون ال�شا�شة الرئي�سة لبرمجية Code::Blocksمن الأجزاء ا آلتية: � -1شريط العنوان ()Title Bar وهو ال�شريط الذي يت�ضمن ا�سم البرمجية وعنا�صر التحكم بالنافذة من ت�صغير �أو تكبي ِر أ�و �إغلاق. � -2شريط اللوائح ( )Menu Bar يحتوي على مجموعة من اللوائح ،وتحتوي كل لائحة على مجموعة من ا ألوامر ،وي�ؤدي كل �أمر وظيفة معينة. -3أ��شرطة ا ألدوات ()Tools Bars تحتوي هذه ا أل�شرطة على مجموعة من ا ألدوات ،ت�ؤدي كل منها وظيفة معينة ،ومن �أهمها �شريط .Compiler -4إ�دارة ملفات الم�شروع ()Project Files Management تقوم بعر�ض الملفات المتعلقة بالبرنامج الذي تعمل عليه ،وت�سهل التنقل بينها في حالة تع ُّدد الملفات. -5حيز العمل ()Work Area المكان الذي تظهر فيه أ�وامر البرنامج وجمله أ�ثناء كتابته أ�و بعد ا�سترجاعه. -6منطقة ا إلعلام ()Notification Area هي المنطقة التي تعر�ض لك الأخطاء التي وقعت فيها أ�ثناء كتابتك للبرنامج. ن�شاط ( :)2-2ت�شغيل برمجية Code::Blocks بالتعاون مع أ�فراد مجموعتك نفذ الآتي: • �شغل برمجية .Code::Blocks • تعرف إ�لى ا ألجزاء الرئي�سة لل�شا�شة. • ا�ستعر�ض اللوائح ومحتوياتها. • تعرف �إلى أ��شرطة ا ألدوات وقم ب�إخفائها و�إظهارها. �سجل ما تو�صلت �إليه في ملف المجموعة. 62
راب ًعا :البدء بم�شروع جديد -1اختر الأمر Newمن لائحة ،Fileثم اختر أ�مر .Project � -2سيظهر ال�شكل ( ،)2-2اختر منه Console Application ال�شكل ( :)2-2البدء بم�شروع جديد. -3انقر زر -4انقر زر للبدء بم�شروع جديد� ،ستظهر نافذة جديدة. �سيظهر ال�شكل ( )3-2للاختيار بين لغتي الـ Cأ�و الـ ,C++اختر الـ .C++ ال�شكل ( :)3-2لااختيار بين لغ َتي الـ Cأ�و الـ .C++ 63
فيظهر ال�شكل ( )4-2ليتم من خلاله تحديد ا�سم الم�شروع وموقع -5انقر زر تخزينه. ال�شكل ( :)4-2نافذة تحديد ا�سم الم�شروع وموقع تخزينه. � ،ستظهر نافذة جديدة انقر ز ر فتظهر ال�شا�شة الرئي�سة لبرمجية -6انقر ز ر Code::Blocksكما في ال�شكل ( )5-2وقد تم إ�ن�شاء م�شروع جديد با�سم .first program ال�شكل ( :)5-2م�شروع جديد با�سم .first program 64
في نافذة �إد�رة ملفات �لم�صروع نلاحظ ظهور مجلد خا�س بالم�صروع با�صم ،Sourcesوهو �لذي ي�صم جميع ملفات �لم�صروع ،ويت�صمن ملف main.cppوهو �لملف �لرئي�صي ،وعند �لنقر عليه يظهر برنامج في حيز �لعمل قد كتب بلغة �لبرمجة C ++وهو برنامج يقوم بطباعة جملة Hello worldعند تنفيذه .لحظ أ�ن �إمتد�د ملفات C++هو .cpp خام�اًصا :الهيكل العام أل… برنامج بلغة C++ مقدمة �لبرنامج: وظيفته ��صتدعاء مكتبة iostream >#include < iostream (� )input output streamلخا�صة بجمل �لإدخال ;using namespace std وجمل �لإخر�ج. �لبرنامج: )( int main ويت�صمن ما يلي: { )( :int mainهي �لد�لة �لرئي�صة �لمكونة لجميع بر�مج ;cout <<\"Hello world!\"<<endl لغة C++وهي أ�هم د�لة في �لبرنامج و�أ�صا�س �لبرنامج. ;return 0 { :رمز بد�ية أ�و�مر �لبرنامج } أ�و�مر :C++تكتب بحروف �صغيرة. وتنتهي كل جملة من جمل C++بالفا�صلة �لمنقوطة (;). ; � :return 0إعلان نهاية �لبرنامج. } :رمز نهاية أ�و�مر �لبرنامج. ﺍﺑﺤﺚ بالتعاون مع �أفر�د مجموعتك �بحث عن دللة كل جزء من �أجز�ء مقدمة �لبرنامج � آلتية: >#include <iostream �صجل ما تو�صلت �إليه في ملف �لمجموعة. ;using namespace std 65
�صاد�ًاصا :بناء وتنفيذ البرنامج بناء �لبرنامج ( )Buildهي عملية �لت أاكد من �صلامة �لبرنامج من �لأخطاء عن طريق �لنقر على من �صريط أ�دو�ت � Compilerأو �ختر �أمر Buildمن لئحة � Buildأو زر بناء �لبرنامج بال�صغط على مفتاحي . Ctrl+F9 بعد �لتاأكد من �صلامة �لبرنامج من �لأخطاء ،يمكن تنفيذه ( )Runللح�صول على �لنتائج وذلك بالنقر على زر تنفيذ �لبرنامج من �صريط �أدو�ت Compilerأ�و �ختر أ�مر Runمن لئحة � Buildأو بال�صغط على مفتاحي ،Ctrl+ F10فتظهر �لنتيجة في �صا�صة �لمخرجات .ويو�صح �ل�صكل (� )6-2صا�صة �لمخرجات عند تنفيذ ملف .main.cppوللرجوع �إلى �ل�صا�صة �لرئي�صة ��صغط أ� ّي مفتاح على لوحة �لمفاتيح. �ل�صكل ( :)6-2ناتج تنفيذ ملف .main.cpp ﺍﺑﺤﺚ بالتعاون مع أ�فر�د مجموعتك �بحث عن طريقة لبناء �لم�صروع وتنفيذه بخطوة و�حدة. �صجل ما تو�صلت �إليه في ملف �لمجموعة. 66
ن�شاط (:)3-2البدء بم�شروع جديد وتنفيذه بالتعاون مع أ�فراد مجموعتك نفذ الآتي: • �أن�شىء م�شرو ًعا با�سم .Hello C++ • ا�ستعر�ض الهيكل العام ل َبرنامج .main.cpp • عدل جملة الطباعة بحيث يطبع عبارة \" \" Hello C++بد ًال من \".\"Hello world • احفظ التعديلات. • قم ببناء الم�شروع وتحقق من �سلامته من الأخطاء. • نفذ البرنامج. • �أغلق الم�شروع. �سجل ما تو�صلت إ�ليه في ملف المجموعة. البرمجة في حياتنا ا�ستخدم المبرمج ماهر الخطوات ال�سابقة إلن�شاء برنامج �أ ّولي بلغة ،C ++على أ�ن يقوم بالتعديلات عليه حتى ي�صل إ�لى ال�شكل المطلوب. 67
ﺃﺳﺌﻠﺔ ﺍﻟﻔﺼﻞ -1ما �لخطو�ت �للازمة إلجر�ء ك xل مما ياأتي: �أ � -إن�صاء ملف جديد ب -بناء �لبرنامج ج� -تنفيذ �لبرنامج د -حفظ �لبرنامج ه� � -إنهاء �لعمل و�لخروج من برنامج Code::Blocks -2ما �لفرق بين بناء �لبرنامج ( )Buildوتنفيذ �لبرنامج (.)Run � -3ذكر وظيفة ك xل من � ألدو�ت �لمدرجة في �لجدول � آلتي: وظيفة الأداة الأداة -4حدد دللة كل جزء من �أجز�ء برنامج لغة � C++آلتية: ()����������������������������������������������������������������������������������� : int main ; ����������������������������������������������������������������������������������� : return 0 ����������������������������������������������������������������������������������� : { ����������������������������������������������������������������������������������� : } 68
الف�صل الثاني الطباعة على �شا�شة المخرجات البرمجة في حياتنا طلب مدير مركز المياه والطاقة والبيئة من المبرمج ماهر ،أ�ن يظهر تروي�سة المركز في نتائج كل برنامج ي�صنعه ،والتروي�سة تحتوي على ا�سم المركز وا�سم مجال التجربة ( مياه ، طاقة ،بيئة) ،والتاريخ (اليوم وال�شهر). فما هي التعليمات التي �سي�ستخدمها المبرمج إلنجاز هذه المهمة؟ أ�و اًل :جملة الطباعة cout ُت�ستخدم جملة coutلطباعة الثوابت ،والمتغيرات ،وناتج العمليات الح�سابية على �شا�شة المخرجات،ويجب تحديد ما يراد طباعته بعد �إ�شارة (>>) ،وال�صيغة العامة الآتية تو�ضح جملة الطباعة .cout ال�صيغة العامة لجملة الطباعة ( )coutهي: ;cout<< data or variables حيث �إن: :coutالأمر الم�ستخدم لطباعة المخرجات على ال�شا�شة ،وهي كلمة محجوزة. >> :رمز الطباعة ،التي تف�صل بين ما يراد طباعته من بيانات ومتغيرات. :Data or variablesالبيانات والمتغيرات التي �سوف تطبع على ال�شا�شة. وت�ستخدم علامات التن�صي�ص (\" ) في لغة C++من �أجل طباعة الجمل الن�ص ّية ،والتي يجب أ�ن تبد�أ وتنتهي بعلامات التن�صي�ص ،و إ�ذا لم تو�ضع علامات التن�صي�ص للجملة الن�صية في �أمر الطباعة ،ف�سوف ي�ؤدي إ�لى ظهور �إ�شارة الخط�أ عند بناء البرنامج ،وال�شكل ( )7-2يو�ضح ا�ستخدام علامات التن�صي�ص في أ�مر الطباعة. 69
>#include <iostream ;using namespace std )(int main { ;cout<<\"Hello world!\" <<endl ;return0 } هذا البرنامج يقوم بطباعة جملة ن�ص ّية واحدة فقط ،كما هو مو�ضح في �شا�شة المخرجات الآتية: ال�شكل ( :)7-2برنامج يطبع جملة ن�صية. ُت�ستخدم الأعداد مبا�شرة في جملة الطباعة� ،سوا ٌء �أكانت الأعداد �صحيحة أ�م تحتوي على فا�صلة َع�شرية ،وال�شكل ( )8-2يو�ضح طباعة ا�سم طالب وعمره في نف�س ال�سطر. 70
>#include< iostream ;using namespace std )( int main { ;cout<<\" Fisal Fahed \"<<15<<endl ;return0 } هذا البرنامج يقوم بطباعة جملة ن�ص ّية والعدد ( )15على ال�سطر نف�سه ،كما هو مو�ضح في �شا�شة المخرجات الآتية: ال�شكل ( : )8-2برنامج يطبع جملة ن�صية وعد ًدا. لاحظ أ�ن �أمر طباعة الرقم منف�صلة عن أ�مر طباعة الن�ص بعلامة (>>) .ولاحظ أ�ي�ضا أ�ن في جملة الطباعة \" \"Fisal Fahedتم �إ�ضافة فراغ بعد �آخر حرف؛ حتى يظهر عمر الطالب بعي ًدا بمقدار فراغ واحد عن لاا�سم ،ولا يظهر ملا�ص ًقا له. وي�ستخدم �أمر ( )End Line) (endlفي جملة الطباعة إلنهاء �سطر الطباعة والبدء من �سطر جديد ،وهو ي�شبه أ�مر ( )Enterفي برامج معالجة الن�صو�ص. 71
ثانيًا :رموز تن�سيق مخرجات الجمل الن�صية Escape Sequence ت�س ّمى الرموز الخا�صة التي ت�ستخدم في تن�سيق مخرجات الجمل الن�صية بـ Escape Sequence؛ ألنها تقطع ت�سل�سل طباعة �سل�سلة الرموز المتتابعة المكونة للجمل الن�صية ،وتتكون من رمزين، الرمز الأول (\\ ) Backslashوالرمز الثاني يدل على الأمر المراد تنفي ُذه ،والجدول ()1-2 يو�ضح هذه الرموز ووظائفها. الجدول ( :)1-2رموز تن�سيق مخرجات الجمل الن�صية. الوظيفة Escape Sequence �سطر جديد ،ينتقل الم ؤ��شر إ�لى بداية �سطر جديد. \\n حقل ،ينتقل الم ؤ��شر إ�لى الحقل الذي يليه. \\t العودة للخلف ،ينتقل الم�ؤ�شر إ�لى بداية ال�سطر الحالي. \\r ي�صدر �صوت الملاحظة الخا�ص بنظام الت�شغيل. \\a يطبع رمز (\\) على ال�شا�شة. \\\\ يطبع رمز ( ' ) على ال�شا�شة. '\\ يطبع رمز ( \" ) على ال�شا�شة. '\\ يو�ضح ال�شكل ( )9-2ا�ستخدامات رموز التن�سيق المختلفة ،فالبرنامج يطبــــع جملـــة C++ Language for 11th classويتخللها رموز التن�سيق المختلفة. 72
#include <iostream> using namespace std; int main() { cout<< \"C++Language \\n for 11th class.\"<<endl; cout<< \"C++Language \\t for 11th class.\"<<endl; cout<< \" \\\"C++Language \\\"for 11th class.\"<<endl; cout<< \"\\' C++Language \\' for 11th class.\"<<endl; cout<< \"C++Language \\\\ for 11th class.\"<<endl; cout<< \"C++Language for 11th\\r class.\"<<endl; return 0; } و أ�ث ُر هذه الرموز على،هذا البرنامج يقوم بطباعة جملة ن�ص ّية تتخللها رمو ُز التن�سيق المختلفة : كما هو مو�ضح في �شا�شة المخرجات ا آلتية،المخرجات . برنامج يو�ضح ا�ستخدامات رموز التن�سيق:)9-2( ال�شكل 73
ملحوظة لاحظ أ� ّن �أمر الطباعة cout<< \"C++Language for 11th\\r class.\"<<endl; :تظهر نتائجه كا آلتيclass. guage for 11th :؛ وهذا ألن رمز التن�سيق � \\rأعاد الم�ؤ�شر إ�لى بداية ال�سطر وقام بطباعة الرموز الجديدة فوق الرموز القديمة ،ولهذا تجد ب أ�ن الأحرف التي حذفت من الجزء الأول هي بمقدار عدد الأحرف التي كتبت بعد العودة إ�لى بداية ال�سطر. ن�شاط ( :)4-2جمل الطباعة 1 بالتعاون مع أ�فراد مجموعتك ن ّفذ الآتي: • نفذ البرنامج ال�سابق على جهاز الحا�سوب. • أ�عد كتابة البرنامج بدون ا�ستخدام �أمر نهاية �سطر endl • �أعد كتابته با�ستخدام جملة طباعة واحدة. • احفظ البرنامج الجديد في ملف المجموعة. تعر�ض �شا�شة المخرجات 80خانة في كل �سطر ،فمن الممكن كتابة جملة تحتوي على �أحرف و أ�رقام ورموز مختلفة ت�صل إ�لى 80خانة ،وتقوم لغة C++بالانتقال تلقائيا إ�لى ال�سطر الذي يليه إ�ذا تجاوز عدد الرموز ،80وتق�سم �شا�شة المخرجات �إلى 10حقول ،كل حقل ي�ساوي م�ساحة 8خانات وهذه الحقول ُت�ستخدم في تنظيم المخرجات على ال�شا�شة ،و ُي�ستخدم رمز التن�سيق ( )\\tمن أ�جل لاانتهاء من الحقل الحالي ولاانتقال إ�لى الحقل الــذي يليــه ،وال�شكــل ( )10-2يو ّ�ضح ا�ستخدام ( )\\tفي جمل الطباعة. 74
>include <iostream# ;using namespace std )(int main { ;cout<< \"123456789\"<<endl ;cout<< \"A\\tB\"<<endl ;cout<< \"AB\\tC\"<<endl ;cout<< \"ABCDE\\tF\"<<endl ;return 0 } هذا البرنامج يظهر كيف �أن الحروف التي كتبت بعد ( )\\tانتقلت إ�لى الحقل الثاني ،وكما هو مو�ضح في �شا�شة المخرجات ا آلتية: ال�شكل ( :)10-2ا�ستخدام ( )\\tفي جملة الطباعة. 75
ن�شاط ( :)5-2الطباعة في الحقول بالتعاون مع أ�فراد مجموعتك نفذ ا آلتي: • اكتب برنام ًجا بلغة C++يظهر النتائج كما في �شا�شة المخرجات ا آلتية: • ماذا تلاحظ؟ احفظ البرنامج في ملف المجموعة. البرمجة في حياتنا ن ّفذ المبرمج ماهر ما طلب منه بكتابة البرنامج ا آلتي: >include <iostream# ;using namespace std )(int main { ;cout<< \"Water٫ Energy and Environment Center. \"<<endl ;cout<< \"Section\\t: \\ \"Water\\\".\"<<endl ;cout<< \"Date\\t: 2016-10-24 .\"<<endl ;return 0 } والذي كان ناتجه: 76
ثالثًا� :إ�ضافة الملاحظات بداخل البرنامج ت�ستخدم إ��شار َتي ( Slash Slash )//إل�ضافة ملاحظة �إلى البرنامج ،فاذا كانت الملاحظة أ�كثر من �سطر ف�إنها تبد أ� ب إ��شارتي (❋ )/وتنتهي ب إ��شارتي ( ،)❋/ومن الممكن أ�ن تكتب الملاحظة في أ�ي مكان في البرنامج ،وهي جملة غير تنفيذية أ�ي لا يتم تنفيذها عند بناء البرنامج وتنفيذه ،ولا يوجد لها �أ ّي �أثر على �شا�شة المخرجات ،وال�شكل ( )11-2يو�ضح ذلك. /* -------------------------------------------------- This Program to Show the comments. by 11th Computer Book Team -------------------------------------------------------*/ >include <iostream# ;using namespace std )(int main { ;//cout<< \"Hello world!\"<<endl ;cout<< \"C++ Language \";//<<endl ;cout <<1 <<2 /* <<3 <<4 */ <<5<< endl ;cout<< \"/* This comment will work * / \"<<endl ;cout<< \"// This comment will work \"<<endl ;return 0 } هذا البرنامج يظهر �أثر ا�ستخدام الملاحظات داخل البرنامج ،وكيف أ�ن ما كتب على�شكل ملاحظة ي�ستثنى من التنفيذ ،كما هو مو�ضح في �شا�شة المخرجات ا آلتية: ال�شكل ( :)11-2برنامج يظهر ا�ستخدام الملاحظات. 77
ن�شاط ( :)6-2جمل الطباعة 2 بالتعاون مع �أفراد مجموعتك نفذ جمل الطباعة الآتية ،ث ّم �أجب عن ا أل�سئلة التي تليها: >#include <iostream ;using namespace std )(int main { ;/* 1 */ cout<< \"Date: 2016 - 10 -24\" <<endl ;/* 2 */ cout<< \"Date:\" << \" 2016 -10 - 24 \" <<endl ;/* 3 */ cout<< \"Date: \" << \"2016 -10 - 24 \" <<endl ;/* 4 */ cout<< \"Date: \" << 2016 << \" -10 -24\" <<endl ;/* 5 */ cout<< \"Date: \" << 2016 << \"-\" << 10 << \"-\" << 24 <<endl ;/* 6 */ cout<< \"Date: \" << 2016 - 10 -24<<endl ;return 0 } • ما الفر ُق في الناتج بين الجملة 1و2؟ • ما الفرق في الناتج بين الجملة 1و3؟ • ما الفرق في الناتج بين الجمل 5،4،3،1؟ • ما ناتج الجملة 6؟ • ما تف�سيرك لناتج الجملة 6؟ �سجل ما تو�صلت إ�ليه في ملف المجموعة. 78
ناقش شارك فكر بالتعاون مع أ�فراد مجموعتك عد �إلى ال�شكل ( )11-2وناق�ش ا آلتي: -ما فائدة الملاحظة في البرنامج؟ -لماذا لم يتم تنفيذ جملة الطباعة ا ألولى؟ -لماذا لم ينزل �سطر في جملة الطباعة الثانية؟ -لماذا لم تطبع جميع الأعداد في جملة الطباعة الثالثة؟ -لماذا ظهرت نتائج جمل الطباعة الرابعة والخام�سة؟ -ما الفائدة من الملاحظة �إذا ت ّم �إر�سال هذا البرنامج إ�لى مبرمج آ�خر؟ �سجل ملاحظاتك في ملف المجموعة. البرمجة في حياتنا َي�ستخدم المبرمج ماهر الملاحظة لتوثيق بع�ض المعلومات داخل البرامج التي يكتبها ،فهو يد ّون ما يقوم به البرنامج ومن قام بكتابته داخل البرنامج كملاحظة ،حتى يتم لاا�ستعانة به عند ال�ضرورة .لذلك ع ّدل البرنامج الذي كتبه �ساب ًقا و أ��ضاف الملاحظات عليه ليظهر كما ي�أتي: */ ----------------------------------------- This program: Print the basic information by: Maher ----------------------------------------- */ > #include <iostream ;using namespace std )(int main { // Basic Information ;cout<< \"Water, Energy and Environment Center.\" <<endl ;cout<< \"Section\\t: \\\"Water\\\".\" <<endl ;cout<< \"Date\\t: 2016 - 24 -10.\" <<endl ;return 0 } 79
ﺃﺳﺌﻠﺔ ﺍﻟﻔﺼﻞ : لطباعة �لجمل � آلتيةC ++ �كتب برنام ًجا بلغة-1 • This is a 'book'. • What is it? • What is your address? • That’s a good idea. • That is exactly what we want to learn. • I open the \"door\". • I need to look at your car. • I prefer to go to school. • Which is faster a train / a bus? • I eat breakfast at 8:00 a.m. • 2016 \\ 12 • He said: \"Be Patient\" • The characters 'C' and 'D'. • Amman \\ Aqaba \\ Amman. • 'A' 'h' 'm' 'a' 'd' . �كتب برنام ًجا يطبع ��صمك من ثلاثة مقاطع-2 ) ك ُّل و�حدة على �صطرBook٫Pen٫School( �كتب برنام ًجا يطبع �لكلمات �لثلاث �لآتية-3 .endl �منفرد من غير ��صتخد� ٍم ل . �كتب برنام ًجا يظهر �صوت �لملاحظات بنظام �لت�صغيل-4 . �طبع ��صم مدر�صتك بين علام َتي �لتن�صي�س-5 80
-6اكتب برنامجا يطبع الجدول الآتي بحي ُث يظهر كل َع ُمود في حقل م�ستقل. No Student Mark 1 Abed 99 2 Omar 98 3 Mawada 98 4 Ali 97 5 Noor 95 -7علل ما ي�أتي: �أ -كتابة الملاحظات في البرنامج. ب -ا�ستخدام Escape Sequenceفي البرنامج. -8اطبع الجمل ا آلتية على �سطر واحد بحيث تطبع كل جمل ٍة من بداية ال�سطر: • I Like a book • Get your • Eat 81
الف�صل الثالث المتغيرات و أ�نواع البيانات البرمجة في حياتنا طلب ق�سم المياه في مركز الدرا�سات من المبرمج ماهر �أن يقوم بت�صميم برنامج لحل معادلات الت�سارع ا آلتية: المعادلة باللغة الانجليزية المعادلة باللغة العربية ع=2ع + 1ت ز v2 = v1 + at �س=ع1ز 0.5 +ت ز2 x = v1t + ½ at2 ع = 22ع 2 + 21ت �س v22 = v12 + 2 a x حيث �أن: Which: ع =1ال�سرعة لاابتدائية. v1 = initial velocity. v2 = final velocity. ع =2ال�سرعة النهائية. a = acceleration. ت = الت�سارع. x = displacement. �س = الم�سافة. t = time. ز = الزمن ما ا ألوامر والخطوات التي �سي�ستخدمها المبرمج لحل المعادلات؟ �أو اًل :المتغيرات ()Variables هي أ��سماء تمثل مواق َع في الذاكرة ذات قي ٍم قابلة للتغير أ�ثنا َء تنفيذ البرنامج ،و ُيعطى ك ُّل متغير ا�سم فريد ولا يتكرر �ضمن البرنامج ،ويحدد نوع المتغير حجم الذاكرة التي �سوف تخ�ص�ص له. -1أ��سماء المتغيرات هنالك عدة �شروط يجب الالتزام بها عند اختيار أ��سماء المتغيرات وهي: أ� -يجب أ�ن يبد أ� ا�سم المتغير بحرف من حروف اللغة ا إلنجليزية (� ) A-Z, a - zأو رمز ال�شرطة ال�ُّسفلية (.Under score )- 82
ب � -أن لا يحتوي ا�سم المتغير على الرموز الخا�صة والفراغات ،با�ستثناء ال�شرطة ال�ُّسفلية ( )-و إ��شارة الدولار(.)$ جـ -أ�ن لا يكون ا�سم المتغير من كلمات لغة C++المحجوزة. د -يتكون ا�سم المتغير من �أ ّي عدد من حروف اللغة الإنجليزية� ،أو رمز ال�شرطة ال�سفلية ،أ� ِو الأرقام .في حال عدم لاالتزام بت�سمية المتغيرات بالطريقة ال�سابقة� ،سوف تظهر ر�سالة الخط�أ ولن يتم تنفيذ البرنامج ،والجدول ( )2-2يظهر بع�ض أ��سماء المتغيرات غير المقبولة في لغة .C++ الجدول ( :)2-2بع�ض �أ�سماء المتغيرات غير المقبولة في لغة C++ �سبب الخط�أ في الت�سمية ا�سم المتغير لم يبد�أ بحرف �أو رمز ()- يحتوي على رمز (!) 2Speed !Yahoo لم يبد�أ بحرف أ�و رمز ( )-ويحتوي على رمز ( )+ورمز ()# #C++ لم يبد�أ بحرف �أو رمز ( )-ويحتوي على رمز (\") ”“Time يحتوي على رمز (=) و (^) A=B^5 يحتوي على رمز (@) _ XY35@90 ملحوظة لغة C++تفرق بين الحرف الكبير وال�صغير في اللغة ا إلنجليزية (ح�َّسا�سة لحالة الحروف الكبيرة وال�صغيرة) ،وا أل�سماء ا آلتية تعتبر جمي ُعها مختلف ًة من ِوجهة نظر لغة ،C++مع �أ ّنها تتك ّون من الحروف نف ِ�سها: Speed, speed, SPEED, sPeed, SpEED � -2أنواع المتغيرات تق�ّسم المتغيرات ح�سب نوع البيانات المخزنة فيها ،وتحتوي لغة C++على عدد كبير من �أنواع البيانات المختلفة منها ا ألعداد ال�صحيحة ،والأعداد الك�سرية ،والرموز ،والجمل الن�ص ّية ،والقيم المنطقية .والجدول ( )3-2يو ّ�ضح بع�ض هذه ا ألنواع. 83
الجدول ( :)3-2أ�نواع البيانات ( )Data Typeفي لغة .C++ الا�ستخدام النوع للأعداد ال�صحيحة. int للأعداد الك�سرية. float ل ألعداد الك�سرية ال�ضخمة التي تتجاوز المليار. double لرموز اللغة المكونة من خانة واحدة. char string للجمل الن�صية. bool للعمليات المنطقية (�صح ،خط أ�). يت ّم حجز مواقع للمتغيرات في ذاكرة الحا�سوب بالاعتماد على نوع البيانات الم�ستخدمة للمتغيرات وذلك للتقليل قدر ا إلمكان من حجز مواقع في الذاكرة دون الحاجة لها ،فنوع ()char الذي يخزن رم ًزا واح ًدا فقط لا يحتاج لأكثر من ( )1byteمن الذاكرة ،بينما ا ألعداد ال�صحيحة ( )intف�إنها تحتاج �إلى ( )4byteمن الذاكرة .وال�شكل ( )12-2يو�ضح حجم أ�نواع البيانات بوحدة التخزين البايت ( )byteالتي يتم حجزها في مواقع الذاكرة ،م�ستخد ًما الأمر ( )، sizeof الذي يقوم بح�ساب حجم نوع البيانات التي تم حجزها في الذاكرة و�إظهار الناتج مبا�شرة. <include <iostream# ;using namespace std ()int main { ;cout<< \"Size of bool : \" <<sizeof(bool) <<endl ;cout<< \"Size of char : \" <<sizeof(char) <<endl ;cout<< \"Size of int : \" <<sizeof(int) <<endl ;cout<< \"Size of float : \" <<sizeof(float) <<endl ;cout<< \"Size of double : \" <<sizeof(double) <<endl ;cout<< \"Size of String 1: \" <<sizeof(\"A\") <<endl ;cout<< \"Size of String 2: \" <<sizeof(\"H2O\") <<endl ;return0 } 84
ناتج تنفيذ �لبرنامج: �ل�صكل ( :)12-2حجم �لبيانات بوحدة �لتخزين بايت .Byte ومن �ل�صكل (� )12-2صوف تلاحظ باأن نوع �لبيانات (� )stringلمخ�ص�س للجمل �لن�صية يتم تحديد حجمه في �لذ�كرة بالعتماد على عدد �لرموز �لم�صتخدمة في �لجملة �لن�ص ّية .ولكن �لحجم بالبايت �لظاهر على �صا�صة �لمخرجات في �ل�صكل (ُ )12-2يظهر ب أان �لحجم يزد�د بمقد�ر و�حد على عدد �لرموز ،ففي جملة \"� \"Aأظهرت �لمخرجات ب أان �لحجم بالبايت ي�صاوي 2ولي�س 1وفي جملة \" \"H2Oأ�ظهرت �لمخرجات ب أان �لحجم بالبايت ي�صاوي 4ولي�س ،3 وهذ� لأن لغة C++تقوم باإ�صافة رمز مخفي في نهاية كل جملة ن�ص ّية يعبر عنها بكلمة ()NULL؛ ألن ( )NULLتقوم باإعلام �لبرنامج ب أان �لجملة �لن�ص ّية قد �نتهت. ﺍﺑﺤﺚ بالتعاون مع �أفر�د مجموعتك نفذ � آلتي: � -بحث عن أ�نو�ع بيانات Data Typesغير مذكورة في �لف�صل. �صجل ما تو�صلت �إليه في ملف �لمجموعة. 85
حجم البيانات:)7-2( ن�شاط :بالتعاون مع �أفراد مجموعتك نفذ البرنامج ا آلتي #include <iostream> using namespace std; int main() { cout<< \"Size of 1 \\t: \" <<sizeof(1) <<endl; cout<< \"Size of 1.0f \\t: \" <<sizeof(1.0f) <<endl; cout<< \"Size of 1.0 \\t: \" <<sizeof(1.0) <<endl; cout<< \"Size of 1000 \\t: \" <<sizeof(1000) <<endl; cout<< \"Size of 99.9f \\t: \" <<sizeof(99.9f) <<endl; cout<< \"Size of 99.9 : \" <<sizeof(99.9) <<endl; cout<< \"Size of 'C' \\t: \" <<sizeof('C') <<endl; cout<< \"Size of \"C\" \\t: \" <<sizeof(\"C\") <<endl; return 0; } . ثم قم ببناء البرنامج وتنفيذه،10 • ع ّدل على الأعداد في البرنامج بزيادة .ث ّم قم ببناء البرنامج وتنفيذه،Z في البرنامج واجعله الحرفC • غ ّير الحرف • ماذا تلاحظ على الأحجام؟ هل تغ ّيرت؟ لماذا؟ .�سجل ما تو�صلت �إليه في ملف المجموعة 86
-3كلمات لغة C++المحجوزة الكلمات المحجوزة هي كلمات لها معنى خا�ص بالن�سبة للحا�سوب حيث يقوم الحا�سوب بتنفيذ ا ألوامر المناظرة لمعاني هذه الكلمات .ومن الأمثلة عليها في لغة :C++ كلمات لغة C++المحجوزة ثانيًا� :إ�سناد قيم للمتغيرات ()Assigned Values يتم إ��سناد قيم المتغيرات بطريقتين :الأولى ب�شكل مبا�شر �أثناء كتابة البرنامج و ُت�س َّمى إ��سناد قيمة للمتغير ،Assigned Valuesوالثانية من خلال جمل ا إلدخال ( )cinالتي �سوف تتعرف �إليها في الف�صل القادم. يتم �إ�سناد القيم للمتغيرات بطريقتين: - 1ا إل�سناد بعد �إن�شاء المتغيّر و ُت�ستخ َدم هذه الطريقة بعد إ�ن�شاء المت ّغير وفي أ� ّي مكان في البرنامج ،وت�سمح لغة C++بتغير قيمة المتغير في �أ ّي �سطر من البرنامج ،و ُت�ستخدم هذه الطريقة بكثرة لتعديل قيم المتغيرات �أثناء تطبيق البرنامج .كما يو ّ�ضح ال�شكل (.)13-2 87
#include <iostream> :ناتج تنفيذ البرنامج using namespace std; int main() { // Integer int i; int j; int k; // Float float f; float h; // Character char a; char b; // Assigned Value i = 1; j = -5; k = 80; f = 2.22; h = -7.5; a = ' S '; b = ' M '; cout<<i<<\"\\t\" << j << \"\\t\" << k <<endl; cout<< f << \"\\t\" << h <<endl; cout<< a << \"\\t\" << b <<endl; return 0; } . إ��سناد القيم للمتغيرات بعد الإن�شاء:)13-2( ال�شكل 88
-2ا إل�سناد عند الإن�شاء و ُت�ستخد ُم هذه الطريقة لإعطاء المتغير قيمة أ�ولية وعند �إن�شائه لأول م ّره ،وال�شكل ()14-2 يو�ضح ذلك. >#include <iostream ناتج تنفيذ البرنامج: ;using namespace std )(int main { // Integer ;int i = 1 ;int j = -5 ;int k = 80 // Float ;float f = 2.22 ;float h = -7.5 // Character ; ' char a = ' S ; ' char b = ' M ;cout<<i<< \"\\t\" << j << \"\\t\" << k <<endl ;cout<< f << \"\\t\" << h <<endl ;cout<< a << \"\\t\" << b <<endl ;return 0 } ال�شكل (� :)14-2إ�سناد القيم للمتغيرات عند الإن�شاء. 89
ومن الممكن �إ�سناد القيم للمتغيرات في �أي �سطر من البرنامج حتى و إ�ن تم �إ�سناد قيم أ�ولية لها عند ا إلن�شاء. ثالثًا :تعريف �أكثر من متغير دفعة واحدة لتعريف عدة متغيرات من النوع نف ِ�سه ،يتم الف�صل بين أ��سماء المتغيرات بفا�صلة عادية (،),كما في ال�شكل (.)15-2 >#include <iostream ;using namespace std )( int main { // Integer ;int i, j, k // Float ;float f, h // Character ;char a, b // Assigned Value ;i = 1 ;j = -5 ;k = 80 ;f = 2.22 ;h = -7.5 ;'a = 'S ;'b = 'M ;cout<<i<< \"\\t\" << j << \"\\t\" << k <<endl ;cout<< f << \"\\t\" << h <<endl ;cout<< a << \"\\t\" << b <<endl ; return 0 } 90
:ناتج تنفيذ البرنامج . تعريف عدة متغيرات من النوع نف ِ�سه:)15-2( ال�شكل .)16-2( كما في ال�شكل. ومن الممكن إ��سنا ُد قي ٍم للمتغيرات أ�ثناء تعريفها مرة واحدة # include <iostream> using namespace std; int main () { //Integer int i = 1, j = -5, k = 80; //Float float f = 2.22, h = -7.5; //Character char a = 'S', b = 'M'; cout<<i<< \"\\t\" << j << \"\\t\" << k <<endl; cout<< f << \"\\t\" << h <<endl; cout<< a << \"\\t\" << b <<endl; return 0; } 91
ناتج تنفيذ البرنامج: ال�شكل ( :)16-2تعريف عدة متغيرات من النوع نف�سه و إ��سناد قيم لها عند ا إلن�شاء. البرمجة في حياتنا قام المبرمج ماهر بتعريف المتغيرات اللازمة لحل معادلات الحركة التي طلبت منه ،كما هو مو�ضح تال ًيا .و�سوف تتعرف في الدرو�س القادمة كيفية كتابة وحل المعادلات في لغة .C++ */ ----------------------------------------- This program: Prints the basic information by: Maher ----------------------------------------- */ >#include <iostream ;using namespace std )( int main { ;float s1 = 0, s2 = 0, a = 0, d = 0, t = 0 // Basic Information ;cout<< \"Water, Energy and Environment Center.\" <<endl ;cout<< \"Section\\t: \\\"Water\\\".\" <<endl ;cout<< \"Date\\t: 2016-10-24.\" <<endl ;return 0 } 92
ناتج تنفيذ البرنامج: ن�شاط ( :)8-2طباعة المتغيرات بدون إ��سناد قيم لها بالتعاون مع �أفراد مجموعتك نفذ البرنامج ا آلتي: >#include <iostream ;using namespace std )(int main { ;int i, j ;float f, h ;cout<< \"int\\t: \" <<i<< \"\\t\" << j <<endl ;cout<< \"float\\t: \" << f << \"\\t\" << h <<endl ;return 0 } • ما ناتج تنفيذ البرنامج؟ • قارن ناتج تنفيذ البرنامج مع ناتج زملائك من المجموعات ا ألخرى؟ • ما تف�سيرك لهذا الناتج؟ �سجل ما تو�صلت إ�ليه في ملف المجموعة. 93
ﺃﺳﺌﻠﺔ ﺍﻟﻔﺼﻞ � -1ذكر �أربع ًة من �أنو�ع �لبيانات في لغة .C++ -2ح ّدد أ� vيا من �لمتغير�ت �لآتية مقبول في لغة ،C++و أ� ُّي �لمتغير�ت غير مقبول مع بيان �ل�صبب؟ مقبولZ/ير مقبول ال�صبب إاPا كان المتغير Zير مقبول ا�صم المتغير Door PSP_5 7_Starts )_(bad -W Y<7<5 _2025 20_25 www@abcd #street -3علل� :إمكانية تعريف �لمتغير bبالحجم �ل�صغير و Bبالحجم �لكبير في لغة .C++ � -4كتب برنام ًجا يقوم بفح�س حجم �لبيانات �لآتية: ’‘W ’‘A -0.750 5.5 101 2016 805010 long double long char ”1122334455 “Speed Test” “Good Book ”“a\\” “\\n ’‘+ -5ح ّدد نوع �لبيانات � آلتية: النوع البيانات النوع البيانات -90.95 55 6421 1.0 ”“Good Day ’‘H ”“A True ”“5060 False -6ع ّرف �لمتغير�ت � آلتية وهي من نوع �لأعد�د �ل�صحيحة م َع �إ�صناد قيمة �صفر لها عند � إلن�صاء: .GoX, Speed, Times, Car_Doors -7ع ّرف �لمتغير�ت � آلتية وهي من نوع �لأعد�د �لك�صرية مع �إ�صناد قيمة 2.5لها بعد � إلن�صاء: W, Light, Space, Area5, Q8_2100 94
: اكتب برنامجا لطباعة المتغيرات التالية-8 int x = 5, y = 99, w = -90; float a = 0.1, b = 50.5, c = -6.901; char s = ‘?’, t = ‘a’, r = ‘r’; : �أوجد الخط�أ في الجمل الآتية مع ذكر ال�سبب-9 الجملة �سبب الخط�أ : �أوجد ناتج تنفيذ البرامج ا آلتية-10 Int a = 5; float w = ‘A’; char a = ‘a’ char w = “$”; int z = 1, y; x = 3; booL b; int INT = -6 x = 5 int; _int _a = 99; flOt w = -260.5; string s = ‘Liberally nice place’; string a = ‘\\\\’; #include <iostream> #include <iostream> using namespace std; using namespace std; int main() int main() { { int x = 10٫ y = -20; int x٫ y; float w = -0.5; x = 10; char a = 'A'; y = -20; cout<< \"Integer : \"; string a = \"Integer\"; cout<< x <<endl; cout<< a << \" : \" << x << y <<endl; cout<< \"Float : \"; return 0; cout<< w <<endl; } cout<< \"Char : \"; cout<< a <<endl; return 0; } 95
الف�صل الرابع جملة ا إلدخال ()cin البرمجة في حياتنا و ّ�ض َح البا ِح ُث �أ�سامة للمبرمج ماه ٍر ،ب أ�ن هنالك قي ًما للمتغيرات �سوف يتم إ�دخالها من لوحة المفاتيح ،وقي ًما أ�خرى �سوف يتم ح�سابها من خلال البرنامج ،فالقيم التي �سوف يتم �إدخالها من لوحة المفاتيح هي ال�سرعة الابتدائية والزمن والت�سارع ،والبرنامج �سوف يقوم بح�ساب ال�سرعة النهائية ومقدار لاإزاحة. المعادلة باللغة الانجليزية المعادلة باللغة العربية ع=2ع + 1ت ز v2 = v1 + at x = v1t + ½ at2 �س=ع1ز 0.5 +ت ز2 Which: v1 = initial velocity. حيث �إن: v2 = final velocity. ع =1ال�سرعة الابتدائية. a = acceleration. x = displacement. ع =2ال�سرعة النهائية. t = time. ت = الت�سارع. �س = الم�سافة. ز = الزمن. فما هي ل أاوامر التي �َسي�ستخدمها المبرمج ماهر إلدخال قيم المتغيرات من خلال لوحة المفاتيح؟ �أو ًال :التعريف بجملة ا إلدخال cin ت�ستخدم جملة لاإدخال ( )cinإلدخال قيم للمتغيرات في �شا�شة المخرجات عند تنفيذ البرنامج عن طريق لوحة المفاتيح. 96
وال�صيغة العامة لجملة الإدخال ( )cinهي: ;cin>>variable-name حيث �إن: :cinلاأمر الم�ستخدم إلدخال البيانات إ�لى البرنامج عن طريق لوحة المفاتيح ،وهي كلمة محجوزة. << :رمز ل إادخال الذي يف�صل بين المتغيرات. � :variable-nameأ�سماء المتغيرات المطلوب إ�دخال قيم لها في �شا�شة المخرجات ،ويجب �أن تكون معرفة قبل جملة لاإدخال في البرنامج. وعند تنفيذ جملة لإادخال يتوقف البرنامج وتظهر إ��شارة م�ؤ�شر الف أ�رة على �شا�شة المخرجات، والتي تدل على انتظار �إدخال البيانات .وعندها لا بد للم�ستخدم من إ�دخال قيمة �أو أ�كثر ح�سب عدد المتغيرات في جملة لإادخال،ومف�صول بينها بفراغ ومن ثم ال�ضغط على مفتاح لإادخال ( )Enterأ�و �إدخال كل قيمة على �سطر منف�صل؛ مما ي�ؤدي إ�لى تخزين القيم المدخلة في المتغيرات الموجودة في جملة لإادخال ،وبعدها يتابع الحا�سوب تنفيذ بقية جمل البرنامــج .وال�شكــل ( ) 17-2يو ّ�ضح عملية إ�دخال قيم للمتغيرات المختلفة. يو ّ�ضح البرنامج لاآتي عملية �إدخال قيم للمتغيرات المختلفة. >#include <iostream ; sing namespace stdu )( int main { ;int a ;loat bf ;char c ;string d ; in>> ac ;cin>> b ; in >>cc ; in>> dc ;cout << a<<\"\\t\"<<b<<\"\\t\"<<c<<\"\\t\"<<d<< endl ;return 0 } 97
ناتج التنفيذ هو: ال�شكل (� :)17-2إدخال قيم للمتغيرات المختلفة. ثانيًا :ا�ستخدام جملة الإدخال في كتابة برامج C++ تمكن جملة ل إادخال ( )cinالم�ستخدم عند تنفيذها من تزويد الحا�سوب بالبيانات اللازمة إلجراء عملية المعالجة المطلوبة ،ويو ّ�ضح ال�شكل ( )18-2إ�دخال عددين �صحيحين �إلى الحا�سوب با�ستخدام جملة لإادخال ،cinثم �إيجاد مجموعهما وطباعة الناتج. > include <iostream# ;using namespace std )( int main { ;int a,b,c ; in>>a>>bc ; =a+bc ;cout <<\"Addition=\\t\"<<c <<endl ;eturn 0r } وعند تنفيذ البرنامج �سيظهر م ؤ��شر الف�أرة على �شا�شة المخرجات منتظراً من الم�ستخدم إ�دخال قيم للمتغيرات ،ثم ال�ضغط على مفتاح لاإدخال( ،)Enterبعدها �سيقوم الحا�سوب بتخزين القيم المدخلة في المتغيرات ،a٫bو إ�يجاد ناتج مجموعهما وطباعة الناتج ،فيظهر الناتج كما ي�أتي: 98
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290