Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore مشاركة الحاسوب الاول الثانوي

مشاركة الحاسوب الاول الثانوي

Published by Deema.alhalabi81, 2021-08-28 08:44:47

Description: مشاركة الحاسوب الاول الثانوي

Keywords: حاسو,ب

Search

Read the Text Version

‫يتم إ�عادة تدوير النفايات ا إللكترونية في البلدان المتقدمة وا�ستخدامها في ال�صناعات‬ ‫التجديدية‪ ،‬مما ي�سبب مخاطر كبيرة للعمال ب�سبب ر�شح المواد ال�سامة من المعادن الثقيلة‪،‬‬ ‫لذلك ف�إن �إعادة تدوير هذه النفايات و�إدارتها يتم بحذر �شديد‪ .‬ومع ذلك ف�إننا نواجه م�شكلة‬ ‫تزايد هذه النفايات ب�شكل كبير مع ت�سارع التكنولوجيا والمتغيرات التي تواكبها ‪ ،‬ا ألمر الذي‬ ‫دعا إ�لى �ضرورة معرفة الطريقة ال�صحيحة لتعامل ا إلفراد مع هذه النفايات‪.‬‬ ‫ومن طرق التعامل ال�صحيح مع النُفايات ا إللكترونية‪:‬‬ ‫‪ - 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‬‬

#i‫‏‬nclude <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 std‬‏‪u‬‬ ‫)( ‪ int main‬‏‬ ‫{‬ ‫;‪int a‬‬ ‫;‪loat b‬‏‪f‬‬ ‫;‪char c‬‬ ‫;‪string d‬‬ ‫;‪ in>> a‬‏‪c‬‬ ‫;‪cin>> b‬‏‬ ‫;‪ in >>c‬‏‪c‬‬ ‫;‪ in>> d‬‏‪c‬‬ ‫;‪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>>b‬‏‪c‬‬ ‫;‪ =a+b‬‏‪c‬‬ ‫;‪cout <<\"Addition=\\t\"<<c <<endl‬‬ ‫;‪eturn 0‬‏‪r‬‬ ‫}‬ ‫وعند تنفيذ البرنامج �سيظهر م ؤ��شر الف�أرة على �شا�شة المخرجات منتظراً من الم�ستخدم‬ ‫إ�دخال قيم للمتغيرات‪ ،‬ثم ال�ضغط على مفتاح لاإدخال(‪ ،)Enter‬بعدها �سيقوم الحا�سوب‬ ‫بتخزين القيم المدخلة في المتغيرات ‪ ،a٫b‬و إ�يجاد ناتج مجموعهما وطباعة الناتج‪ ،‬فيظهر‬ ‫الناتج كما ي�أتي‪:‬‬ ‫‪98‬‬


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook