Professional Documents
Culture Documents
المحتوى
الصفحة الموضوع
6 الباب األول :لغات البرمجة
7 .1لغات البرمجة
7 .2تصنيف لغات البرمجة
8 لغات برمجة ذات مستوى منخفض Low Level Languages
9 لغات برمجة ذات مستوى عالي High Level Languages
11 لغات الجيل الرابع Fourth Generation Languages
12 اللغات الطبيعية أو لغات الجيل الخامسNatural Language
11 لغات اإلنترنت Internet Language
11 الباب الثاني :هياكل البيانات المتقدمة
16 .1مفهوم هياكل البيانات
17 .2أهمية هياكل البيانات
18 .1أنواع هياكل البيانات
19 .4أشهر هياكل البيانات
28 الباب الثالث :البرمجة الشيئية
29 .1مقدمة
13 .2معنى البرمجة الشيئية OOP
11 .1المقارنة بين أسلوب البرمجة الهيكلية والكائنية
11 .4بعض المفاهيم األساسية في البرمجة الشيئية
19 .1مزايا البرمجة الشيئية
3 تطبيقات في برمجة الحاسب
الصفحة الموضوع
43 الباب الرابع :االتصال بقواعد البيانات
41 .1تعريف قواعد البيانات
41 .2نظم قواعد البيانات
42 .1مكونات نظم قواعد البيانات
41 .4نظم إدارة قواعد البيانات
41 .1مكونات قاعدة البيانات
41 .6مبادئ تصميم قواعد البيانات
41 .7أدوات البحث لالتصال بقواعد البيانات
49 الباب الخامس :بيئة تطبيقات االنترنت
13 .1اإلنترنت Internet
13 .2مميزات شبكة األنترنت
11 .1خدمات اإلنترنت
17 .4تطبيقات اإلنترنت
18 .1عملية برمجة تطبيقات اإلنترنت
19 .6لغات برمجة تطبيقات اإلنترنت
61 الباب السادس :وجهة التطبيق الرسومية
62 .1واجهات التطبيق الرسومية
61 .2مزايا واجهات التطبيق الرسومية
61 .1لغات البرمجة لواجهات التطبيق الرسومية
61 .4الفرق بين واجهة األنترنت وواجهة التطبيق الرسومية
تطبيقات في برمجة الحاسب 4
الصفحة الموضوع
61 الباب السابع :حل المشكالت Problem Solving
66 Program Development Steps .1خطوات صياغة وتطوير البرامج
73 Flow Charts .2مخططات سير العمليات
83 الباب الثامن :أساسيات البرمجة بلغة C++
81 .1مقدمة
81 .2تشغيل المترجم (برنامج) للغة C++
81 .1هيكل البرنامج
91 .4أنواع البيانات األساسية
132 الباب التاسع :جمل التحكم Control Statements
131 .1مقدمة
131 .2جملة الشرط If Statement
136 .1جملة الشرط if …. Else
139 .4جملة switch
116 الباب العاشر :الحلقات التكرارية Looping
117 .1مقدمة
117 .2حلقة التكرار For
127 .1حلقة التكرار While
113 .4حلقة التكرار Do … While
112 .1التحكم بالحلقات
5 تطبيقات في برمجة الحاسب
الصفحة الموضوع
142 الباب الحادي عشر :المصفوفات Array
141 .1المصفوفات ذات البعد الواحد One-Dimensional Arrays
111 .2المصفوفات ذات البعدين Two-Dimensional Arrays
161 معجم مصطلحات
162 تدريبات
236 المراجع
تطبيقات في برمجة الحاسب 6
الباب األول
لغات البرمجة
الموضوع:
.1لغات البرمجة
الباب األول
لغات البرمجة
.1لغات البرمجة:
سميت بهذا االسم ألنه أصبح بإمكان المبرمج كتابة البرنامج دون معرفة
تفاصيل كيفية قيام الحاسب بهذه العمليات ،كمواقع التخزين وتفاصيل
الجهاز الدقيقة ،وتعبيرات لغات المستوى العالي هي تعبيرات شبيهة إلى
درجة كبيرة باللغة الطبيعية التي يستخدمها اإلنسان في حياته للتواصل،
والتخاطب مع اآلخرين.
ومن مميزات اللغات العليا التي تميزها من لغات المستوى البسيط ،باإلضافة
إلى ما سبق ،أن هذه اللغات غير مرتبطة بجهاز معين .أي يمكننا تنفيذ
البرنامج المكتوب بلغة من لغات المستوى العالي ،كالفورتران أو الكوبول أو
تطبيقات في برمجة الحاسب 01
البيسك على أكثر من جهاز ،كما يمكن استخدام أكثر من لغة ترجمة على
حاسب معين .كذلك ،فإن اكتشاف األخطاء وتصحيحها أصبح أكثر سهولة
بسبب سهولة قراءة البرامج وتتبعها وفهمها.
تسمى اللغات كالكوبول والفورتران والبيسك باللغات العليا الموجهة نحو
إجراءات الحل ،Procedure - Oriented Languages ،وهي اللغات
التي يعطي فيها المبرمج التعليمات خطوة خطوة.
ويمر البرنامج المكتوب بلغات المستوى العالي بثالث مراحل قبل أن يكون
جاه اًز للتنفيذ:
-1الترجمة : Translationتحويل البرنامج المكتوب بلغة المستوى العالي إلى
لغة اآللة .
ربط الروتينات المكتبية الكائنة بالمكتبة ،والتعليمات -2الربط :Linking
الضرورية بالبرنامج.
-1التحميل : Loadingيقوم البرنامج بتحميل شفرة الهدف والروتينات المكتبية،
والتعليمات على الذاكرة الرئيسة بغرض التنفيذ.
وكانت اللغات تصنف حسب قوتها إلى لغات أعمال ،أو لغة علمية أو
لغات مبتدئين ،وفي وقتنا الحاضر ،فإن معظم اللغات يمكن استخدامها
بكفاءة في تطبيق أنواع التطبيقات كافة ،ومن أشهر لغات المستوى العالي
لغة السي . C
00 تطبيقات في برمجة الحاسب
سميت بهذا االسم نسبة إلى الجيل التي ظهرت فيه ،مثل هذه اللغات التي
تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ،فما كان
يتطلب مئات األسطر من لغة بيسك أو اآلالف من لغة كوبول باستخدام
عدد بسيط من األسطر في هذه اللغات ،تمتاز هذه اللغات بعدة مزايا:
.1إنها لغة موجهة للنتائج أي إن المبرمج يهتم بطلب ما يريده من الحاسب،
دون أن يوجهه لكيفية القيام بذلك.
تطبيقات في برمجة الحاسب 02
ويقصد بها لغة اإلنسان أي إيجاد لغة مبرمجة نستطيع بها توجيه الحاسب
للقيام بما نريد من أعمال ،وذلك باستخدام التعبيرات الشائعة (اطبع تقري اًر
يحوي اسم الطالب والدرجة) ،فالمستخدم ما عليه سوى طباعة األمر أو
إمالئه للحاسب الذي يلبي الطلب.
03 تطبيقات في برمجة الحاسب
فالمستخدم يستطيع إمالء النص وكتابته بعبارات متعدد تحمل المعنى نفسه،
كأن يقول (اطبع االسم والدرجة لجميع الطالب) أو (اطبع اسم الطالب
ودرجة االختبار للجميع) ،فالطلبان لهما المعنى نفسه ،وإن اختلفا في
الصياغة ،فلغات البرمجة هذه قادرة على فهم تراكيب الجمل المختلفة ،وإن
اختلفت اللهجات أو كان هناك أخطاء لغوية ،وإذا لم يفهم الحاسب المقصود
يقوم بتقديم أسئلة لمزيد من الوضوح والوصول إلى الهدف.
واألبحاث في مجال اللغات الطبيعية هو من المجاالت التي يبحثها علم
الذكاء االصطناعي . AIإذ إن فهم اللغة الطبيعية يحتاج إلى كثير من
الخبرات والعالقات في ربط الجمل وتحليل كل جملة الستنتاج المعنى
الصحيح ،ومن ثم تقديم رد الفعل المناسب.
لغات اإلنترنت:
الباب الثاني
الموضوع:
الباب الثاني
هياكل البيانات
ٍ
بمعدل هائل نتجت مشاكل كثيرة تعقيدا والبيانات تزداد
نظر ألن التطبيقات تزداد ً
ًا
ٍ
برمجية ذات ٍ
حلول يتم مواجهتها في التطبيقات وتقوم األبحاث بمحاو ٍ
الت إليجاد
ٍ
كفاءة عالية مثل هياكل البيانات .
تسمح هياكل البيانات للمبرمجين بإدارة البيانات بالطرق األكثر فعالية والتي
تعزز أداء الخوارزمية .وتسمح بتنفيذ نهج علمي على األنظمة التقليدية .عندما
يتعلق األمر بجوانب مثل سرعة المعالجة أو المعالجة أو الطلبات المتعددة
والبحث من خالل العديد من السجالت ،فإن هياكل البيانات تثبت فائدتها.
وأيضا تسمح باالستخدام الفعال للذاكرة .وتعمل هياكل البيانات على تحسين
عادة في المواقف التي تتضمن معالجة
ً تأثير
استخدام الذاكرة ،ويحدث هذا ًا
مجموعات بيانات ضخمة.
هياكل البيانات قابلة إلعادة االستخدام بحيث يمكن دمجها كحزمة
) (packageواحدة في مكتبة ،ويمكن استخدام هذه المكتبات في مواقف
مختلفة من قبل مختلف أصحاب المصلحة حسب الحاجة.
مما يسمح للمستخدم بتحديد بنية البيانات
إنها تتيح حلوًال متعددة لمشكلة معينةّ ،
التي ستحل المشكلة بأفضل طريقة.
تطبيقات في برمجة الحاسب 08
تعد المصفوفات من بين أقدم وأهم هياكل البيانات ويتم استخدامها بواسطة
أيضا لتنفيذ العديد من هياكل البيانات
كل برنامج تقري ًبا .يمكن استخدامها ً
األخرى ،مثل القوائم المرتبطة.
بعض تطبيقات المصفوفة:
ورقة األسئلة البسيطة عبارة عن مجموعة من األسئلة المرقمة مع تخصيص
بعض العالمات لكل منها .تُستخدم المصفوفات ثنائية األبعاد (المصفوفات
ثنائية األبعاد) ،المعروفة باسم المصفوفة ،في معالجة الصور .يتم
أيضا في معالجة الكالم ،حيث تكون كل إشارة كالم عبارة عن
استخدامه ً
مصفوفة.
ب -قائمة مرتبطة List
القائمة المرتبطة هي مجموعة من المعلومات /البيانات مرتبطة ببعضها
غالبا ما تسمى
غالبا ما تسمى البيانات بالعقدً .
البعض بواسطة مراجعً .
المراجع روابط أو مؤشرات .يمكن للعقد تخزين أي نوع من البيانات (عدد
صحيح ،عدد عشري ،سلسلة) .على عكس المؤشرات في المصفوفات ،
ال يمكن زيادة المؤشرات الموجودة في القائمة المرتبطة أو إنقاصها (الجمع
والطرح).
20 تطبيقات في برمجة الحاسب
مرتبطة.
جديد في األعلى فقط .يسمى هذا النوع من الوصول إلى البيانات “Last
أيضا بقوائم : LIFO
In First Out”.هذا هو السبب في تسمية الحزم ً
يمكن إجراء ثالث عمليات على مكدسات:
إدخال (“دفع”) عنصر في كومة.
حذف (“ظهرت”) عنصر من المكدس.
عرض محتويات العنصر األعلى في المكدس (“نظرة خاطفة”).
بعض تطبيقات المكدس:
. تحويل infixإلى تعبيرات postfix
يتم تنفيذ عمليات التراجع واإلعادة من خالل الحزم.
يتم تحليل الصيغ في اللغات باستخدام مكدسات.
يتم استخدام المكدس في العديد من األجهزة االفتراضية مثل JVM
). (Java Virtual Machine
د -الطوابير Queues
قائمة االنتظار هي بنية بيانات خطية ،يتم فيها إدراج العناصر من طرف
يسمى “الذيل” ويتم حذف العناصر الموجودة من الطرف اآلخر المسمى
“الرأس” .يسمى هذا النوع من عملية وضع العناصر وإزالتها “First In
” First Outوبالتالي فإن قائمة االنتظار هي بنية FIFOيتم فيها إخراج
جدا على قائمة
العنصر الذي تم إدخاله أوالً أوالً .من األمثلة الشائعة ً
23 تطبيقات في برمجة الحاسب
الحجز ،وما إلى ذلك .يتم تقديم أول شخص في الصف الذي يذهب أوالً
أوالً بينما يتم تقديم آخر شخص في الصف األخير.
عقدة إلى أخرى بعدة طرق مختلفة .تتكون الشجرة من عقد (تحتوي على
البيانات) وحواف تربط العقد.
من أجل إجراء أي عملية على شجرة ،تحتاج إلى الوصول إلى العقدة
أيضا
المحددة .تسمى عملية الوصول إلى عقدة من أعلى عقدة (تسمى ً
الجذر) اجتياز الشجرة.
هناك ثالثة أنواع من عمليات اجتياز األشجار:
: Inorder أوال وقبل كل شيء تتم زيارة العقدة اليسرى أو الشجرة
الفرعية اليسرى ،ثم تتم زيارة الجذر ،و ًا
أخير تتم زيارة العقدة اليمنى أو
الشجرة الفرعية اليمنى.
تطبيقات في برمجة الحاسب 26
الطلب المسبق :أوالً وقبل كل شيء تتم زيارة الجذر ،ثم تتم زيارة
العقدة اليسرى أو الشجرة الفرعية اليسرى ،و ًا
أخير تتم زيارة العقدة اليمنى
أو الشجرة الفرعية اليمنى.
الطلب الالحق :أوالً وقبل كل شيء تتم زيارة العقدة اليسرى أو الشجرة
الفرعية اليسرى ،ثم العقدة اليمنى أو الشجرة الفرعية اليمنى ،و ًا
أخير
تتم زيارة الجذر.
بعض تطبيقات الشجرة:
يستخدم محلل XMLخوارزميات الشجرة.
يتم استخدام خوارزمية قائمة على القرار في التعلم اآللي والتي تعمل
على خوارزمية الشجرة.
أيضا هياكل بيانات الشجرة للفهرسة.
تستخدم قواعد البيانات ً
أيضا هياكل الشجرة.
يستخدم خادم اسم المجال )ً (DNS
ز -جدول تجزئة
جدول التجزئة هو مصفوفة حيث يشير كل فهرس إلى قائمة مرتبطة على
أساس قيمة التجزئة .قيمة التجزئة هي قيمة تحددها دالة تجزئة .تحدد دالة
بناء على البيانات التي تخزنها .يسمح هذا بالوصول إلى
التجزئة قيمة فريدة ً
دائما مكان البحث عن البيانات.
البيانات في وقت ثابت ألن الكمبيوتر يعرف ً
27 تطبيقات في برمجة الحاسب
الباب الثالث
البرمجة الشيئية
الموضوع:
مقدمة .1
الباب الثالث
البرمجة الشيئية
تتعدد لغات البرمجة التي تم تطويرها حتى اليوم .وكل واحدة من هذه اللغات
تعد مناسبة أكثر من غيرها حسب طبيعة التطبيق الذي يتم من أجله كتابة
البرنامج فهناك لغات تناسب التطبيقيات الهندسية ،وأخرى تناسب التطبيقات
التجارية وهكذا .ولكن السمة المشتركة لمعظم هذه اللغات مثل
( ) C,PASCAL,FORTRAN,BASICهو إنها تستخدم األسلوب التقليدي
للبرمجة .وهذا األسلوب يعتمد على تحديد الدقيق لترتيب تنفيذ األوامر وإجراء
العمليات.
أما في البرمجة الشيئية يوجد اختالف حيث ان تنفيذ األوامر يتببع التسلسل
المنطقي .فلم يعد على المبرمج أن يحدد أسلوب األستجابة لطلبات المشغل.
ولكن بدل من هذا فإن المشغل يستطيع عن طريق الضغط على ازرار معينة
على الشاشة ان يحصل على استجابة لما يريده .وذلك ألن كل فعل من المشغل
يتسبب في حدوث حدث معين وهذا بدوره يدفع برنامج معين أو جزء من برنامج
تطبيقات في برمجة الحاسب 31
إلى العمل علما بأن هذا البرنامج أو الجزء المراد تشغيله يكون مكتوبا مسبقاً
ومرتبطاً بهذا الحدث.
فمثال إذا ضغط المشغل على زر معين إلجراء عملية حسابية فإن ضغط
على هذا الزر يتسبب في حدوث ( حدث الضغط على الزر) وهذا بدوره
يجعل البرنامج يقوم بتنفيذ الجزء الخاص بإجراء العملية الحسابية .
عبارة عن أسلوب جديد في البرمجة من حيث وحدة بناء البرنامج ومن حيث
الخصائص الجديدة التي يسمح بها هذا األسلوب حيث يعتبر وحدة بناء البرنامج
هو الصف Classالذي يتكون من البيانات ومعها الدوال (العمليات ) التي
على هذه البيانات .تعني البرمجة المرئية حاجة المستخدم إلى إنشاء تطبيقاته
الخاصة تحت نظام ويندوز ،إذ إنه البد له من لغة برمجة جيدة تعينه على
إنشاء تلك التطبيقات وتعتبر فيجوال بيسك من اللغات العالمية العالية المستوى،
والتي تتميز بالسهولة في االستخدام ،ويجد فيها المبرمجون غايتهم لكتابة معظم
التطبيقات العاملة تحت .كما إنها أداة قوية وفعالة لتطوير تطبيقات متوافقة مع
بيئة ويندوز التي توفر بيئة تطوير متكاملة سهلة االستخدام يمكن من خاللها
إنشاء الحلول في زمن قياسي عن طريق فلسفة البرمجة المرئية.
ولهذا الغرض ولتحقيق السهولة والبساطة ،تم تصمم الشاشات ونوافذ البرنامج
عن طريق نقرات وتحريكات خفيفة بالفأرة.
30 تطبيقات في برمجة الحاسب
يمكنك أن تطعم القطة ولكن ال يمكنك التحكم مباشرًة في كمية الجوع عند هذه
القطة .وهنا حاالت ) (statesللقطة قد تم انشائها أنها خاصه (private
كالمزاج ) (moodوالجوع ) (hungerوالطاقة )(energy )variables
وعندها أيضا methodتسمى )( meawوهي الوحيده القادره على أن تنفذها
ال يمكن ألي فئه ) (classأخرى أن تقول لها أن تنفذها.
وما يقدرون على فعله (الفئات االخرى) يتم تعريفه في public methods
كالنوم) ( sleepواللعب ) )( ( playواإلطعام ))( (feedكل واحد منهم يمكن
له تغيير حالته الداخليه (الحاله الخاصه بفئته) بطريقة ما ويمكن أيضاً أن
يستدعي )( meawوبهذا يكون قد تحقق التواصل ما بين الحاالت الخاصه
والطرق العامة ) (the private state and public methodsوهذا هو
مبدأ التغليف)(Encapsulation
ثانيا :التجريد Abstraction
يمكن أن يتم اعتبار مبدأ التجريد ) (Abstractionهو امتداد لمبدأ التغليف
) (Encapsulationغالبا ما تكون البرامج في التصميم المبني على األشياء
) (object-oriented designكبيرة للغاية واألشياء ) (objectsالمنفصله
تتواصل مع بعضها البعض كثي ار لذلك يكون الحفاظ على قاعدة بيانات كهذه
لسنوات أمر صعب مع وجود تغييرات طوال هذه السنوات.
والتجريد ) (abstractionهو المبدأ الذي يهتم لتسهيل حل هذه المشكله.
تطبيقات في برمجة الحاسب 34
الباب الرابع
الباب الرابع
تعرف قواعد البيانات بأنها مجموعة من البيانات المرتبطة وذات الصلة مرتبة
بطريقة معينة بحيث يمكن البحث فيها وتحديثها بسهولة ويتم فيها تحاشي
تكرار البيانات .إضافة إلى تميز هذه البيانات باستقالل نسبي عن البرامج
المسئولة عن المعالجة الخاصة بهذه البيانات ،وتشكل االستقاللية عن
البرامج نقطة هامة يستفاد منها عند تطوير األنظمة ،وإعـادة الهيكلة عند
الحاجة إلى متطلبات جديدة أو بناء نظام جديد.
وتعرف قواعد البيانات الرقمية على الشبكة بأنها " :مجموعة من البيانات
المرتبطة والمنظمة في الصورة االلكترونية التي يمكن الدخول عليها
ومعالجتها بواسطة برمجيات كمبيوتر متخصصة" .
.2نظم قواعد البيانات Systems Database:
نظام قاعدة البيانات هو نظام إحصائي للحفظ والتسجيل .بمعنى آخر هو
نظـام يستخدم الكمبيوتر الغرض العام منه هو تخزين البيانات والسماح
للمستخدمين باسترجاع وتحديث هذه البيانات عند الحاجة إليها.
تطبيقات في برمجة الحاسب 42
تتكون نظم قواعد البيانات من عدة مكو نات ،تتجمع ،لتشكل منظومة
متكاملة ومترابطة على النحو التالي:
البيانات :Dataتعتبر البيانات النقطة التي تعمل حول محورها جميع
مكونـات أنظمـة قواعـد البيانـات ،والبيانات يتم إدخالها وتخزينها جميعاً
في قاعدة بيانات فردية في األنظمة األكبر سوف يكون كل منهما
متداخال ومتشاركا.
األجهزة وملحقاتها : Hard Wareأن مكونات األجهزة وملحقاتها
ويعرف نظام إدارة قاعدة البيانات بأنه عبارة عن ( :برنامج وظيفته إجراء
المالءمـة بـين قاعدة البيانات والمستخدم حيث يدير هذا النظام كل متطلبات
أعمال قاعدة البيانات) ،وبهذا يبقى المستخدم بمعزل عن التفاصيل الفيزيائية
لملفات قاعدة البيانات ولموضـعها وتنـسيقها وهي تطوير لنظم إدارة الملفات
مثل هذه النظم التي تتحكم في هيكل أو بناء قاعدة البيانـات فضال عن
التحكم في سبل الوصول للبيانات المخزنة في قاعدة البيانات.
.5مكونات قاعدة البيانات:
الكتاب الذي يريده ،بمجرد معرفة بعض الكلمات في هـذه الكتب والبحث
عنها ،وتنقسم أدوات البحث إلى:
أ .محركات البحث :Search engineهي البرنامج الذي يبحث في
فهرس ما يحتوي على ماليين الصفحات للحصول على وثـائق مطابقة
لموضوعات البحث ،ثم يقوم بتصنيفها.
وتتكون محركات البحث من أربعة مكونات رئيسية:
oالبرنامج اآللي (الروبوت( : Robotsهي برامج كمبيوتر تجوب
أنحاء الـشبكة العنكبوتيـة والمواقع المختلفة عبر الوصالت من وصلة
إلى أخرى تجمع معلومات إلضافتها في قاعـدة البيانات الخاصة
بالمحرك ،وكذلك تبحث عن المحدث من الصفحات .
oقاعدة بيانات :حيث تشكل جميع البيانات المخزنة حول صفحات
الويب وتتضمن مجموعـة بيانات الصفحات التي تم التعرف عليها
من قبل الروبوت وكذلك تستقبل المواقع المضافة عن طريق
الناشرين أنفسهم .
oالمفهرس :يقوم برنامج الفهرسة بفحص المعلومات المخزنة في
قاعـدة البيانـات وينـشئ جداول تحتوي قوائم مرتبة أبجديا بالكلمات
الرئيسية الهامة داخل الصفحات التي تم العثـور عليها من الروبوت
(بعد تصفية الكلمات الشائعة) لكي تستخدم لمطابقة السجالت.
oبرنامج االسترجاع :هو برنامج للتفاعل مع الباحث عبر االنترنت
يتيح له أن يستعلم عـن كلمات معينة داخل الفهرس حيث يجلب له
47 تطبيقات في برمجة الحاسب
الباب الخامس
بيئة تطبيقات األنترنت
.1اإلنترنت Internet
.2مميزات شبكة األنترنت
.3خدمات اإلنترنت
.4تطبيقات اإلنترنت
.5عملية برمجة تطبيقات اإلنترنت
.6لغات برمجة تطبيقات اإلنترنت
تطبيقات في برمجة الحاسب 51
الباب الخامس
بيئة تطبيقات األنترنت
.1اإلنترنت Internet
ربط شبكة اإلنترنت ما بين ماليين الشبكات الخاصة والعامة في المؤسسات األكاديمية
والحكومية ومؤسسات األعمال وتتباين في نطاقها ما بين المحلي والعالمي وتتصل
بتقنيات مختلفة ،من األسالك النحاسية واأللياف البصرية والوصالت الالسلكية ،كما
تتباين تلك الشبكات في بنيتها الداخلية تقني ًا وإداري ًا ،إذ تدار كل منها بمعزل عن
األخرى المركزياً وال تعتمد أياً منها في تشغيلها على األخريات.
وتحمل شبكة اإلنترنت اليوم قد اًر عظيماً من البيانات والخدمات ،ربما كان أكثرها
شيوعاً اليوم صفحات النصوص الفائقة المنشورة على ِ
الويب ،كما أنها تحمل خدمات
وتطبيقات أخرى مثل البريد وخدمات التخاطب الفوري ،وبرتوكوالت نقل
الملفات ،واالتصال الصوتي وغيرها.
وكمثل الطفرات في وسائل االتصال عبر التاريخ أضحت لشبكة اإلنترنت اليوم آثا ار
اجتماعية وثقافية في جميع بقاع العالم ،وقد أدى ذلك إلى تغيير المفاهيم التقليدية
لعدة مجاالت مثل العمل والتعليم والتجارة وبروز شكل آخر لمجتمع المعلومات.
-3خدمات اإلنترنت:
هو وسيلة لتبادل رسائل رقمية عبر الشبكة أو غيرها من شبكات حاسب متواصلة.
في بداياته كان التراسل بالبريد يوجب دخول كال من الراسل والمرسل إليه إلى الشبكة
في الوقت ذاته لتنتقل الرسالة بينهما آليا ،كما هو الحال في محادثات التراسل اللحظي
53 تطبيقات في برمجة الحاسب
المعروفة اليوم ،إال أن البريد اإللكتروني الحقا أصبح مبنيا على مبدأ التخزين والتمرير،
حيث تُحفظ الرسائل الواردة
بريد صناديق في
المستخدمين ليطلعوا عليها
في الوقت الذي يشاؤون.
الشكل المقابل يوضح طريقة
عمل البريد من خالل
خطوات مرقمة ،فعندما تريد
إرسال رسالة فإنها تحتاح
إلى برنامج عميل مثل Microsoft outlookوتضع عنوان المستقبل وبعد أن تضغط
زر إرسال يقوم برنامج العميل بتنسيق الرسالة على هيكل بريد إلكتروني ويكون على
صيغة معينة وبعدها يقوم البرنامج بإرسال الرسالة بواسطة بروتوكول إرسال البريد
البسيط )إلى عميل اإلرسال( خادم الرسائل MTAوهو هناsmtp.a.org
وهو يبحث عن العنوان b.orgفيقوم بمراسلة سيرفرns.b.org
يقوم الخادم ns.b.orgبإرسال عنوان موزع البريد ) (Mail exchangeويكون
غالبا mx.b.orgإلى خادم a.org
يقوم a.orgبإرسال الرسالة إلى mx.b.orgبواسطة بروتوكول SMTP
يقوم mx.b.orgبوضع الرسالة في صندوقPOP
يقوم بجلب الرسالة بواسطة النظام ) POP3بروتوكول مكتب البريد من صندوق
بريده).
تطبيقات في برمجة الحاسب 54
يمكننا تعريف التخزين السحابي على أنه عبارة عن أجهزة حاسب ضخمة تحتوي على
مساحة تخزين هائلة يقوم المستخدمون برفع ملفاتهم عليها ليتم تخزينها ،كما تقوم
الشركات بإنشاء برامج عليها وهو ما يصطلح عليه بالحوسبة السحابية فأنت مثال
عندما تكون بحاجة لبرنامج الوورد تقوم بتحميله على جهاز الحاسب الخاص بك حتى
تتمكن من استخدامه أما في الحوسبة السحابية فتقوم شركة مايكروسوفت بتحميل
برنامج الوورد على خوادم Serversالشركة ثم تقوم بإطالق هذا البرنامج على موقعها
اإللكتروني حتى يتمكن جميع المستخدمين الذين يملكون حسابات في خدمة التخزين
السحابي الخاصة بها من استخدام هذا البرنامج ،وبهذا لن تكون مضط ار لحمل جهاز
الحاسب معك في كل تنقالتك حيث يمكن االتصال من أي جهاز حاسب ودخول
حسابك على شركة التخزين السحابي لتقوم بالبدء في استخدام هذه البرامج ،باإلضافة
إلى وصولك إلى ملفاتك التي قمت بتخزينها في الخوادم.
و تجدر اإلشارة إلى وجود نوعين من خدمات التخزين السحابي :واحدة مجانية و
أخرى يمكن استخدامها مقابل دفع مبلغ مالي دفعة واحدة أو بشكل شهري أو سنوي.
ويجب التذكير أن جميع ملفاتكم التي يتم رفعها على الشركة ال يمكن لغيرك االطالع
عليها إال إذا قمت بمنح بيانات حسابك إلى شخص آخر .ألن الشركات التي تقدم
هذه الخدمات ،عندما تقوم بالتسجيل لديها ،تقوم بمنحك مساحة تخزينية خاصة
بك ،ال يمكن أن يصل إليها أي شخص آخر فتصبح وكأنها جهاز الحاسب الخاص
بك.
55 تطبيقات في برمجة الحاسب
ترغب في تخزين الصور فقط دون مشاركتها فيمكنك االحتفاظ بها في مواقع
التخزين السحابي األخرى.
تدفع مقابل ما تستخدمه فقط.
ال تحتاج الشركات إلى شراء عتاد جديد – قرص صلب جديد مثال ,-وبذلك تقلص
حجم قسم تكنولوجيا المعلومات لديها.
تقلل من تكاليف صيانة البيانات ،كالنسخ االحتياطي.
مرونة عالية في المساحة حيث تستطيع زيادة أو تقليص مساحة التخزين دون
الحاجة إلى شراء أقراص صلبة جديدة.
الحوسبة السحابية تسمح لك بالوصول إلى جميع تطبيقاتك وخدماتك من أي مكان
و في أي زمان عبر اإلنترنت ،ألن المعلومات ليست مخزنة على قرصك الصلب
بل على أجهزة الشركة المقدمة للخدمة.
تخفيض التكاليف على الشركات ،حيث لم يعد من الضروري شراء أسرع أجهزة
حاسب آلي أو أفضلها من حيث الذاكرة أو أعالها من حيث مساحة القرص
الصلب ،بل يمكن ألي جهاز الحاسب عادي وباستخدام أي متصفح للويب
الوصول للخدمات السحابية التي تستخدمها الشركة (تحرير مستندات ،تخزين
ملفات ،تحرير صور .. ،إلخ).
ضمان عمل الخدمة بشكل دائم ،حيث تلتزم الشركة المقدمة لخدمة التخزين
السحابي بالتأكد من أن الخدمة تعمل على مدار الساعة بأفضل شكل ممكن.
البنى التحتية الضخمة التي تقدمها الخدمات السحابية للقيام
االستفادة من ُ
باالختبارات والتجارب العلمية .فبعض الحسابات المعقدة تحتاج إلى سنوات
إلجرائها على أجهزة الحاسب اآللي العادية ،بينما تتيح شركات مثل جوجل وآمازون
سحاباتها المؤلفة من آالف الخادمات المرتبطة بعضها ببعض إلجراء مثل هذه
العمليات الحسابية في دقائق أو ساعات.
57 تطبيقات في برمجة الحاسب
برمجة تطبيقات األنترنت ليست بالعملية الكالسيكية ،بل تعتبر من أعقد العمليات،
ولكن الصعوبة التي يجدها المبرمج في عملية برمجة تطبيقات األنترنت ومحتوى الذي
تعرضه تأتي بالعديد من الفوائد منها:
)1عملية برمجة تطبيقات األنترنت توفر للمبرمج الرؤى الشخصية التي يتمكن من
خاللها من اخراج االبداع واألفكار الجديدة التي لديه.
)2في عملية برمجة تطبيقات األنترنت يكون المبرمج قد وفر على نفسه عناء
التحديث الدائم لتطبيقات األنترنت ،السيما تطبيقات األنترنت التي يتم تزويدها
بمحتوى مستمر ليعرض عليها ،فكل ما يتم بعد عملية البرمجة هو وضع المحريين
للمحتوى ،وإعطاء المبرمج أمر النشر ،ومن ثم يقوم التطبيق نفسه بالتحديث حالة
التطبيق.
)1عملية برمجة تطبيقات الويب تأتي ضمن أهدافها التسهيل على الجماهير من
الوصول إلى المعلومات المطلوبة .فنجد أن تطبيقات األنترنت ذات قابلية القراءة
المتقدمة تكون ذات سرعة في إظهار العناوين بمجرد البحث عنها في محرك
قوقل.
)4تعطي عملية برمجة تطبيقات األنترنت الجماهير إمكانية القيام بالنسخ واللصق
والحفظ للمحتوى المنشور.
)1يمكن االعتماد على عملية برمجة تطبيقات األنترنت في الوصول إلى تحسين
محركات البحث من قبل المبرمجين.
)6المبرمج المتميز يقوم بعملية استغالل برمجة تطبيقات األنترنت من الناحية
الشكلية إلى جانب مضمون البرمجة نفسها .وذلك من خالل قيام المبرمج بإعطاء
التطبيق تصميمات جمالية وألوان جذابة.
59 تطبيقات في برمجة الحاسب
من أهم األمور التي تنبني عليها البرمجة بشكل عام ،هي لغات البرمجة ،إذ يقوم
المبرمج بعملية اتباع لخصائص إحدى لغات البرمجة وكتابة األوامر للحصول في
النهاية على التطبيقات ،وفي عملية برمجة تطبيقات األنترنت ،و كذلك تعد لغات
البرمجة من محددات تقديم الدعم لتطبيقات األنترنت ،والمبرمج المتميز يقوم بعملية
االختيار واالستخدام الصحيحة لهذه اللغات ،ومن أهم اللغات المستخدمة في عملية
برمجة تطبيقات األنترنت:
تطبيقات في برمجة الحاسب 61
الباب السادس
واجهة التطبيق الرسومية
الباب السادس
واجهة التطبيق الرسومية
تمثل ميزة واجهة التطبيق الرسومية في التحسن الكبير في قابلية االستخدام بالنسبة
للشخص العادي ،تستفيد ميزات واجهة التطبيق الرسومية من االستعارات المألوفة،
مثل السحب واإلفالت ) (drag-and-dropلنقل الملفات ،واستخدام الرموز المألوفة،
مثل سلة المهمالت للملفات المحذوفة ،مما يخلق بيئة تكون فيها عمليات الكمبيوتر
بديهية ويسهل إتقانها دون أي الممارسة المسبقة أو المعرفة بآالت الحوسبة أو اللغات،
تعد تطبيقات واجهة المستخدم الرسومية ذاتية الوصف ،وعادة ما تكون التعليقات
شجع اإلشارات المرئية قابلية االكتشاف وتوجهها.
فورية ،وتُ ّ
في حين أن هناك العديد من لغات البرمجة المرئية المختلفة مع مزاياها الفريدة لتطوير
تصميم واجهة التطبيق الرسومية ،يمكن اعتبار ) (C#أو ) (Javaخيارين مفضلين
نظر لقدرتهما على تشغيل واجهات المستخدم الرسومية في وقت واحد في المتصفح
ًا
وتطبيق سطح مكتب ،تتضمن الخيارات األخرى ) (Pythonو
) (HTML/JavaScriptو ( .) C / C++
تشير واجهة مستخدم األنترنت ،أو واجهة المستخدم الرسومية المستندة إلى الويب،
إلى التفاعل بين المستخدم والبرنامج الذي يعمل على خادم ويب ،حيث تكون واجهة
المستخدم هي متصفح الويب ويتم تنزيل صفحة الويب وعرضها ،تتيح تقنيات مثل
تطبيقات في برمجة الحاسب 64
الباب السابع
حل المشكالت
Problem Solving
الباب السابع
حل المشكالت
Problem Solving
يجب عند صياغة البرنامج اتباع قواعد صيانة لغة البرمجة المستخدمة
حيث ان لكل لغة برمجة قواعد خاصة بها وال يعمل البرنامج اذا كان
هنالك اخطاء امالئية او اخطاء في قواعد اللغة .Syntax Errors
ث .اختبار البرنامج وتصحيح األخطاء Program Debugging and Testing
أمثلة :
تطبيقات في برمجة الحاسب 72
73 تطبيقات في برمجة الحاسب
تطبيقات في برمجة الحاسب 74
c^2
75 تطبيقات في برمجة الحاسب
تطبيقات في برمجة الحاسب 76
77 تطبيقات في برمجة الحاسب
تطبيقات في برمجة الحاسب 78
79 تطبيقات في برمجة الحاسب
تطبيقات في برمجة الحاسب 81
الباب الثامن
أساسيات البرمجة بلغة C++
The basics of programming in C++
الموضوع:
.1مقدمة
.3هيكل البرنامج
الباب الثامن
أساسيات البرمجة بلغة C++
The basics of programming in C ++
.1مقدمة:
تعتبر لغة C++من أشهر اللغات التي تتمتع بطابع القوة والمرونة إلنتاج
أسرع برامج وأفضلها أداءاً .وعلى الرغم من وجود العديد من لغات البرمجة
األخرى إال أنها تفتقر شمولية لغة C++وقوتها ،فاللغة C++تتميز بقابليتها
على معالجة التطبيقات الكبيرة والمعقدة ،والقوة في صيانة البرامج المكتوبة
بها مما يوفر وقتاً في تصميم البرامج وتطويرها.
أسلوب البرمجة الكائنية Object Oriented تعتمد اللغة C++
) ،Programming (OOPوالذي تم تطويره بسبب قيود كانت أساليب
البرمجة القديمة المتمثلة في اللغات اإلج ارئية تفرضها على المبرمجين.
نختار من هذه الشاشة كما هو موضح القائمة Fileثم بعد ذلك نختار من
القائمة Newلتظهر لنا الشاشة التالية:
83 تطبيقات في برمجة الحاسب
اآلن ستظهر لنا شاشة كتابة البرنامج (الكود) كالشكل التالي ،ثم نقوم بكتابة
البرنامج (الكود).
التعليقات : Comments
//This program will display a message on the
screen.
يبدأ هذا السطر من البرنامج بالشرطة المزدوجة ( )//الدالة على أن بقية
السطر عبارة عن تعليق ) ،(commentتضاف التعليقات إلى البرامج
لتساعد المبرمج أو أي شخص آخر قد يحتاج إلى قراءة البرنامج على فهم
ما الذي يفعله البرنامج ،لذا من المستحسن أن يبدأ كل برنامج في لغة C++
بتعليق يوضح الغرض الذي من أجله كتب البرنامج.
تستخدم الشرطة المزدوجة ( )//إذا كان التعليق يمتد لسطر واحد فقط line
. comment
هنالك نوع آخر من التعليقات يتيح لنا كتابة تعليقات تمتد إلى عدة أسطر
نستطيع كتابة التعليق السابق على الصورة:
/* Program 1-1:
This program will display a message on the screen
*/
القلم ،وعندما تريد أن تصنع صندوقاً خشبياً فإنك بحاجة إلى أدوات هي
(مطرقة و منشار و مسامير و الخشب) و الـ iostreamهو عبارة عن
ملف اسمه iostream Input Output Streamو يعني مجاري الدخل
والخرج أو تيار الدخل و الخرج و الحقة هذا الملف هي h Headerو
تعني رأسي و هذا الملف الرأسي iostreamيحوي على األدوات الالزمة
لتنفيذ عمليات الدخل التي تتم من الفأرة أو لوحة المفاتيح و غيرها من أدوات
الدخل ،وتستخدم لتنفيذ عمليات الخرج مثل الشاشة و غيرها من أدوات
الخرج ،وبالتالي كلما أردت أن تكتب برنامج يستخدم أدوات الدخل أو الخرج
فإنك بحاجة إلى األدوات الموجودة في الملف iostreamحتى يعمل
البرنامج بشكل صحيح ،لذلك يجب عليك أن تضيفه إلى كل برامجك التي
ستكتبها الحقاً ،ورأيت كيف تتم اإلضافة عن طريق الكلمة المفتاحية
includeو باستخدام اإلشارة هاش #و األقواس > < ونكتب بداخل هذه
األقواس اسم الملف الذي نريد إضافته إلى برنامجنا ،وتسمى هذه الملفات
الرأسية باسم المكتبات أي أنت اآلن قمت بإضافة المكتبة iostreamإلى
برنامجك.
األقواس بعد تشير إلى أن mainهي عبارة عن دالة ،قد يحتوى برنامج
C++على أكثر من دالة إحداهما بالضرورة هي.main
يبدأ تنفيذ البرنامج من الدالة mainحتى لو لم تكن هي األولى في سياق
البرنامج.
يتم حصر جسم الدالة mainباألقواس } {.
مثال:
// Output
>#include <iostream
) ( int main
;using namespace std
{
89 تطبيقات في برمجة الحاسب
{
;int A, B, sum
;"cout <<"Enter first number\n
;cin >> A
;"cout <<"Enter second number \n
;cin >> B
;sum= A+B
;cout <<"sum="<<sum<<endl
;return 0
}
مخرجات البرنامج :
Enter first number
7
Enter second number
2
sum= 9
.4أنواع البيانات األساسية:
عند كتابة البرنامج ،نقوم بتخزين المتغيرات في ذاكرة الحاسب لدينا ،ولكن يجب
على الحاسب أن يعرف نوع البيانات التي نريد تخزينها فيها ،حيث أنه لن يشغل
نفس مقدار الذاكرة لتخزين رقم بسيط من تخزين حرف واحد أو عدد كبير ،وأنها
لن تفسر بنفس الطريقة.
تطبيقات في برمجة الحاسب 92
يتم تنظيم الذاكرة في أجهزة الحاسب لدينا بالبايت ،البايت هو الحد األدنى من
العوامل الحسابية:
وظيفتها األداة
للطرح أو كأشاره سالبة -
للجمع +
للضرب *
للقسمة /
لباقي القسمة الصحيحة %
للنقصان بمقدار 1 --
للزيادة بمقدار 1 ++
أولويات التنفيذ للعمليات الحسابية:
هذه القاعدة مهمة في فهم وترتيب أولويات العمليات الحسابية في التعبيرات
والمعامالت الحسابية ،كما يجريها وينفذها الحاسب ،وتنص القاعدة على أن
األولوية األولى تعطى للعمليات الموجودة بين القوسين ومن اليسار إلى
اليمين ،وبالنسبة للعمليات الحسابية فالرفع إلى الس أوال ،والضر (أو القسمة)
ثانيا ،والجمع (أو الطرح) أخي اًر والمثال التالي يوضح القاعدة:
تطبيقات في برمجة الحاسب 96
ألن الجمع داخل األقواس يجري أوالً حسب األولوية ثم يقسم Aعلى نتيجة
القوس.
مثال:
العملية الرابعة :تقسم Bعلى نتيجة العملية الثالثة وتصبح النتيجة كمية
واحدة.
العملية الخامسة :تطرح نتيجة العملية الرابعة من Aوتصبح النتيجة كمية
واحدة.
عوامل التعيين الحسابي:
باستعمال عوامل التعيين الحسابي يمكن إعادة كتابة تعبير مثل:
x= x+3على النحو x+=2
يأخذ عامل التعيين الحسابي = +القيمة الموجودة على يمينه ويضيفها إلى
المتغير الموجود على يساره .هناك تعيين حسابي لكل من العومل الحسابية
التالية:
a+= b → a= a+ b
a-= b → a= a- b
a*= b → a= a* b
a/= b → a= a/ b
a%= b → a= a% b
مثال :ما مخرجات البرنامج التالي عندما . n=20
>#include<iostream
;using namespace std
) ( int main
{
;int n
تطبيقات في برمجة الحاسب 98
cin >> n;
cout<< “ n after adding 5 = “ << a+= 5 <<endl;
cout<< “ n after a subtracting 5 = “ << a-= 5
<<endl;
cout<< “ n after dividing by 5 = “ << a/= 5
<<endl;
cout<< “ n after multiplying by 5 = “ << a*= 5
<<endl;
cout<< “ n mod 5 = “ << a %= 5 <<endl;
return 0;
}
20 مخرجات البرنامج إذا أدخلنا
20
n after adding 5 = 25
n after a subtracting 5 = 15
n after dividing by 5 = 4
n after multiplying by 5 = 100
n mod 5 = 0
: عوامل التزاید والتناقص
لزيادة- - و+ + أنها تستعمل األداتين الحسابيتينC++ من مزايا لغة
: والمثال التالي يبين طريقة االستعمال، 1 أو إنقاصها بمقدار1 القيم بمقدار
99 تطبيقات في برمجة الحاسب
#include <iostream>
using namespace std;
int main()
{
int n = 4, k = 2;
cout << ++n << endl;
cout << n << endl;
cout << n++ << endl;
cout << n << endl;
cout << -n << endl;
cout << n << endl;
cout << -- n << endl;
cout << n << endl;
cout << n --<< endl;
cout << n << endl;
return 0;
}
تطبيقات في برمجة الحاسب 011
العوامل المنطقية:
يمكن العمل على القيم صحيح/خطأ بواسطة العوامل المنطقية ،كما موضح
في الجدول التالي:
يكون التعبير )&&( andصحيحاً فقط إذا كان التعبيرين الموجودان على
جانبي العامل && صحيحين بينما يؤدي العامل )||( orإلى نتيجة صحيحة
إذا كان أحد التعبيرين أو كليهما صحيحاً ،العامل )!( notيعكس تأثير
المتغير الذي يليه أي أن التعبير !Aصحيح إذا كان المتغير Aخطأ
والعكس.
تطبيقات في برمجة الحاسب 012
الباب التاسع
.1مقدمة
.4جملة switch
013 تطبيقات في برمجة الحاسب
الباب التاسع
عادة يتم تنفيذ األوامر حسب تسلسل ورودها في البرنامج ،ويسمى هذا بالتنفيذ
التتابعي ) .( Sequential Executionلكننا سنتعرض لبعض أوامر C++
والتي تجعل التنفيذ ينتقل ألمر أخر قد ال تكون التالية في تسلسل البرنامج،
ويسمى هذا بنقل التحكم .Transfer of control
تنقسم أوامر التحكم في C++إلى قسمين :أوامر التحكم الشرطية والتي سوف
نعرضها في هذا الباب ،والنوع الثاني وهو أوامر التحكم التك اررية والتي سنعرضها
في الباب التالي.
) if ( Expression
{
;Statements
;Statements
;…..
}
تطبيقات في برمجة الحاسب 014
يقوم أمر ifالشرطية هنا ،بنقل تسلسل تنفيذ البرنامج إلى الجملة
statement1عندما يتحقق الشرط Conditionوتكون نتيجته ، trueوإذا
لم يتحقق الشرط ،أي تكون النتيجة ،falseفإن التنفيذ ينتقل فو ار إلى الجملة (
أو سلسلة الجمل ) statment2ويعد استعمال elseفي C++اختياريا ،أي
يمكن حذفها دون أن تتأثر الجملة الشرطية تركيبا واداء ويكون شكلها العام على
النحو التالي:
;if (condition) statement1
;else statment2
وفي هذه الحالة ستنفذ الجملة statement1أن تحقق الشرط conditionوإال
فإن التنفيذ ينتقل إلى سطر C++التالي لجملة . if
مثال:
>#include <iostream
;using namespace std
) ( int main
{
;int num1 , num2
"cout << " Enter two integers, and I will tell you\n
;" <<" the relation ships they satisfy:
;cin >> num1>> num2
)if (num1== num2
;cout << num1 << " is equal to " << num2 << endl
015 تطبيقات في برمجة الحاسب
if (num1!= num2)
cout << num1 << " is not equal to " << num2 << endl;
if (num1< num2)
cout << num1 << " is less than " << num2 << endl;
if (num1> num2)
cout << num1 << " is greater than " << num2 << endl;
if (num1<= num2)
cout << num1 << " is less than or equal to " << num2
<< endl;
if (num1>= num2)
cout << num1 << " is greater than or equal to " <<
num2
<< endl;
return 0;
}
num2=7 ،num1=3 مخرجات البرنامج عندما ندخل
Enter two integers , and I will tell you
The relation ships they satisfy: 3 7
3 is not equal to 7
3 is less than 7
3 is less than or equal to 7
تطبيقات في برمجة الحاسب 016
#include <iostream>
using namespace std;
int main ()
{
int x;
017 تطبيقات في برمجة الحاسب
cin>>x;
if (x>=0)
cout<<x;
else
cout<<-x;
return 0;
}
: لتكون مخرجات البرنامجX=10 في المثال أعاله سوف ندخل الرقم
10
. m يقبل القسمة علىn أكتب برنامج لتحديد إذا كان العدد:مثال
# include <iostream>
using namespace std;
int main ()
{
int m,n;
cout<<"enter two numbers :";
cin>>m>>n;
if (m%n == 0)
cout<<"n divided by m";
else
cout<<"n not divided by m";
return 0; }
تطبيقات في برمجة الحاسب 018
:مخرجات البرنامج
enter two numbers 5 3
n not divided by m
إلى راتب الموظف إذا كان يقل عن راتبه% 8 اكتب برنامج يضيف:مثال
إذا كان راتبه أكثر من ذلك؟% 3 جنيه و3000 عن
# include <iostream>
using namespace std;
int main (){
float salary;
cout<<"ENTER SALARY";
cin>>salary;
if (salary<3000)
salary=salary+(salary*0.08);
else
salary=salary+(salary*0.03);
cout<<"NEW_salary="<<salary;
return 0;}
:مخرجات البرنامج
Enter salary :2500
New_salary=2700
Enter salary :5000
New_salary=5150
019 تطبيقات في برمجة الحاسب
:switch جملة.4
;break
;"default: cout<<" error
;return 0
}
}
case 1:
;"cout<<"\n the value is one
;break
case 2:
;"cout<<"\n the value is two
case 3:
;"cout<<"\n the value is three
; break
;return 0
}
}
مخرجات البرنامج:
the value is two
the value is three
مثال :أكتب برنامج للعمليات البنكية للتحكم في عمليات السحب النقدي واإليداع
واالستعالم عن الرصيد وإغالق الحساب والخروج من نظام الصراف.
(نفرض أن حساب المستخدم يحتوي على 1000جنية )
في هذا البرنامج يوجد خمس عمليات هم :
-1استعالم ()q -2ايداع()d -1سحب ()w
-1خروج ()e -4اغالق ()c
># include <iostream
;using namespace std
003 تطبيقات في برمجة الحاسب
int main ()
{
int balance,amount ;
char ch;
balance=1000;
cout<<"\n Withdrawal (w) " ;
cout<<"\n Deposit (d)" ;
cout<<"\n Query (q) " ;
cout<<"\n Close (c) " ;
cout<<"\n Exit (e) " ;
cout<<"\n Enter your selection : " ;
cin>>ch;
switch (ch)
{
case 'w':
{
cout<<"Enter your amount :" ;
cin>>amount;
if (amount<= balance)
{
balance = balance - amount;
cout<<"\n new balance : "<<balance;
}
else
cout<<"your balance is not enough";
تطبيقات في برمجة الحاسب 004
}
break;
case 'd':
{
cout<<"Enter your amount :";
cin>>amount;
balance = balance + amount;
cout<<"\n your balance : "<<balance;
}
break;
case 'q':
{
cout<<"\n your balance : "<<balance;
}
break;
case 'c':
{
cout<<"Take the cash";
balance = 0;
cout<<"\n your balance : "<<balance;
}
break;
case 'e':
{
cout<<"Thank you";
005 تطبيقات في برمجة الحاسب
}
break;
}
Return 0;
}
: تنفيذ البرنامج
Withdrawal (w)
Deposit (d)
Query (q)
Close (c)
Exit (e)
Enter your selection : w
Enter your amount : 200
New balance : 800
تطبيقات في برمجة الحاسب 006
الباب العاشر
الحلقات التكرارية Looping
الموضوع:
.1مقدمة
.2حلقة التكرار For
.1حلقة التكرار While
.4حلقة التكرار Do … While
.1التحكم بالحلقات
األمر Continue
األمر break
األمر ) (exit
األمر goto
007 تطبيقات في برمجة الحاسب
الباب العاشر
الحلقات التكرارية
.1مقدمة:
عددا من أساليب التكرار (حلقات) التي تستخدم لتكرار أجزاء
توفر لغة ً C++
من البرنامج قدر ما تدعو الحاجة ،لتحديد عدد مرات تكرار الحلقة تفحص
كل حلقات C++ما إذا كان تعبير ما يساوى صحيح ( )trueأو خطأ (
)falseيبلغها هذا ما إذا كان عليها التكرار مرة إضافية أخرى أو التوقف
فور .هنالك ثالثة أنواع من حلقات التكرار في لغة C++هم :
ًا
.1حلقة التكرار For
.2حلقة التكرار While
.1حلقة التكرار Do … While
{
cout<<"Enter the number:";
cin>>num;
if(num<0)
ncount++;
}
cout<<"ncount="<<ncount;
return 0;
}
:مخرجات البرنامج
Enter the number: -8
Enter the number:5
Enter the number:-7
Enter the number:-6
Enter the number:4
Enter the number:5
Enter the number:8
Enter the number:7
Enter the number:-9
Enter the number:2
ncount= 4
تطبيقات في برمجة الحاسب 022
في البرنامج أعاله تم تعريف متغيرين iو jتتزايد قيمهم بنفس القيمة (ألنهم
في حلقة واحدة) و في كل قيمة جديدة لهما يتم حساب مجموع القيمتين حتى
تتوقف الحلقة عندما تصبح iأكبر من . 5
025 تطبيقات في برمجة الحاسب
: المتداخلةfor حلقات
: المتداخلة الشكل العام التاليfor تأخذ الحلقات
for (initial-value; condition; increment)
for (initial-value; condition; increment)
for (initial-value; condition; increment)
statements;
: ما مخرجات البرنامج التالي:مثال
#include<iostream>
using namespace std;
int main( )
{
int i,j;
for (i=1 ; i<3;++i)
{
for (j=1 ; j<4;++j)
cout << i*j<<"\t" ;
}
return 0;
}
:مخرجات البرنامج
1 2 3 2 4 6
تطبيقات في برمجة الحاسب 026
#include<iostream>
using namespace std;
int main( )
{
int i,j;
for (i=1 ; i<=4; i++)
{
for (j=1 ; j<=i; j++)
cout << "*";
cout << "\n";
}
return 0;
}
027 تطبيقات في برمجة الحاسب
توفر حلقة whileتكرار فعل جزء من البرنامج إلى أن يتغير شرط ما.
الشكل العام لحلقة : while
{ ) while ( Condition
)statement(loop body
تطبيقات في برمجة الحاسب 028
step
}
الشكل التالي يوضح طريقة عمل حلقة :while
ملحوظة :
-إذا تم االستغناء عن stepوكانت قيمة الـ Conditionصواب فهذا
يؤدي إلى دوران ال نهائي.
-يجب تعريف عداد لجملة whileخارجها وإعطاء قيمة أولية ويفضل
أن يكون قيمة جملة whileمباشرة.
مثال :اكتب برنامج بلغة C++يحسب قيمة المعادلة التالية:
1 2 3 99
S= + + + ⋯ +
2 3 4 100
>#include<iostream
;using namespace std
029 تطبيقات في برمجة الحاسب
int main( )
{
double s,x;
s=.5;
x=2.0;
while(x<=99)
{
s=s+x/(x+1.0);
x=x+1.0;
}
cout<<"s= "<<s<<endl;
return 0;
}
:تنفيذ البرنامج
S=94.8126
ملحوظة :
-يجب تعريف عداد وإعطاء قيمة أولية قبل جملة do whileفهو الذي
سوف يتغير قيمته إما بالزيادة أو النقصان بواسطة استخدام .step
-يجب أن تنتهي جملة do whileبفاصلة منقوطة (;) .
-سيتم تنفيذ الجملة أو الجمل التابعة لجملة do whileمرة واحدة على
األقل.
-إذا كان هناك أكثر من جملة مراد تكررها يجب وضعها ضمن } {.
مثال :اكتب برنامج بلغة C++يقوم بطباعة األعداد من 1إلي. 10
باستخدام do.. while
>#include<iostream
;using namespace std
تطبيقات في برمجة الحاسب 032
( )int main
{
;int c = 1
do
{
;" "<<cout << c
;c++
;)}while (c <= 10
;return 0
}
مخرجات البرنامج:
1 2 3 4 5 6 7 8 9 10
.5التحكم بالحلقات:
تعمل الحلقات عادة بشكل جيد إال أننا في بعض األوقات نحتاج للتحكم بعمل
الحلقات ،األوامر go to ، exit ، break ، continueتوفر هذه المرونة
المطلوبة.
األمر : continue
تعيد العبارة continueالتنفيذ إلى أعلى الحلقة.
الشكل التالي يوضح كيفية عمل العبارة : continue
033 تطبيقات في برمجة الحاسب
يقوم بحساب القسمة لعددين وتكرر تنفيذ عمليةC++ اكتب برنامج بلغة:مثال
القسمة أكثر من مرة وإذا كان القاسم يساوي صفر فإنه يطلب من البرنامج
.إدخال قاسم ومقسوم جديدين
#include<iostream>
using namespace std;
int main) (
{
int dividend , divisor;
char ch;
do
{
cout << "Enter dividend:\n ";
cin>>dividend;
cout<< "Enter divisor:\n ";
cin>>divisor;
if( divisor == 0)
{
cout<<" Divisor can't be zero\n" ;
continue;
}
cout <<"Quotient is: "<< dividend/divisor;
cout<<" Do another (y/n)?\n";
cin>>ch;
}
035 تطبيقات في برمجة الحاسب
Enter dividend:15
Enter divisor:0
Divisor can't be zero
Do another (y/n)?n
ما عدا التي تقبل100 إلى1 اكتب برنامج يطبع جميع األعداد من:مثال
بدون باق6 ، 4 ، 2 القسمة على
#include <iostream>
using namespace std;
int main()
{
int number;
for (number=1; number<=20;++ number)
{
if (number%2) // for ood values
تطبيقات في برمجة الحاسب 036
;continue
)else if (number%4
;continue
)else if (number%6
;continue
else
;"cout<< number<<"\t
}
;return 0
}
مخرجات البرنامج:
1 3 5 7 9 11 13 15 17 19
األمر : break
وظيفة األمر breakهي إيقاف بنية أو حلقة تكرار عند تحقق شرط أو شروط
معينة ،وعند تنفيذها يتم القفز إلى سلسلة الجمل التالية للبنية أو حلقة التكرار،
وتستعمل breakأيضا في إيقاف حلقة التكرار الالنهائي ،أو الخروج منها إلى
الجمل التي تليها.
الشكل التالي يوضح كيفية عمل العبارة : break
037 تطبيقات في برمجة الحاسب
#include <iostream>
using namespace std;
int main()
{
float number, sum = 0.0;
// test expression is always true
while (true)
{
cout << "Enter a number: ";
cin >> number;
if (number != 0.0)
{
sum += number;
}
else
{
// terminates the loop if number equals 0.0
break;
}
039 تطبيقات في برمجة الحاسب
}
cout << "Sum = " << sum;
return 0;
}
:مخرجات البرنامج
Enter a number: 5
Enter a number:7
Enter a number:3
Enter a number:-8
Enter a number:3
Enter a number:0
: exit( ) األمر
.تعمل هذه الدالة على إيقاف (أو الخروج من) البرنامج مباشرة
: مثال
#include <iostream>
using namespace std;
int main()
{
char ch;
تطبيقات في برمجة الحاسب 041
الموضوع:
.1مقدمة
.2المصفوفات ذات البعد الواحد One-Dimensional Arrays
لألسباب الثالثة الواردة أعاله ،جاءت فكرة استعمال متغير جماعي يضم
تحت اسمه عددا من العناصر يسمى بالمتغير الرقمي subscripted
، variableويتم ترقميه بين قوسين مربعين ] [ يوضع بينهما قيمة العداد
المرقم ، subscriptوقد نسميه الدليل indexأحيانا فمثالً:
] a[n] ...a[2], a[1], a[0تابع للمتغير ] [. a
وكل عنصر من هذه العناصر له عنوان في الذاكرة . address
الشكل العام لالعالن عن مصفوفة:
;]Type-specifier array-name[size
{
int n[10];
for (int i=0; i<10;i++) // initialize array
n[i] = 0;
cout << “Element value” << endl;
for (i=0 ; i< 10; i++) // print array
cout <<n[i]<<endl;
return 0;
}
:مخرجات البرنامج
Element value
0
0
0
0
0
0
0
0
0
0
10
20
30
40
50
60
تطبيقات في برمجة الحاسب 048
مثال :اكتب برنامج يقوم بإيجاد مجموع ،ومعدل درجات الطالب في 1مواد
وهذه الدرجات كالتالي 80 , 76 , 80 , 96 , 60 :
>#include <iostream
;using namespace std
) (int main
{
;}int a[5]={ 80 , 76 , 80 , 96 , 60
;int s=0,i
)for(i=0;i<5;i++
;]s=s+a[i
;float avg=s/5
;cout<<s<<endl<<avg<<endl
;return 0
}
مخرجات البرنامج :
392
78
قيمة العنصر
: ملحوظة
وذلك ألننا استخدمنا#include <iomanip> في البرنامج السابق تم إضافة
والذي يعني ضبطsetw(13) التهيئةcout في تهيئة مخرجات األمر
13 أي أن القيمة التي ستتم طباعتها ستكون على بعد13 عرض الحقل عند
.من القيمة التي تمت طباعتها قبلها
int list[10];
for(i=0; i<10; i++){
cout<<"Number"<<" "<<i+1<<"=";
cin>>list[i];}
for(i=0; i<10; i++)
if(max < list[i])
max = list[i];
cout <<"Maximum value=" << max;
return(0);}
:مخرجات البرنامج
Number 1= 5
Number 2= 7
Number 3= 18
Number 4 = 14
Number 5 = 6
Number 6 = 5
Number 7 = 16
Number 8 = 18
Number 9 = 19
Number 10 = 9
Maximum value= 19
055 تطبيقات في برمجة الحاسب
:مخرجات البرنامج
Enter number:5
Enter number:8
Enter number:9
Enter number:10
Enter number:-9
Enter number:82
}
cout<<"The array B=\n";
for ( i=0;i<=2;i++)
for ( j=0;j<=2;j++)
{
cin>>b[i][j];
}
for ( i=0;i<=2;i++)
for ( j=0;j<=2;j++)
{
c[i][j]=a[i][j]+b[i][j];
}
cout<<"the sum=\n";
for( i=0;i<=2;i++)
{
for ( j=0;j<=2;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
return 0;
}
تطبيقات في برمجة الحاسب 058
مخرجات البرنامج:
The array A:
2 3 1
5 6 4
7 8 9
The sum:
7 7 7
7 9 5
7 9 14
مثال :اكتب برنامج بلغة C++لحساب مجموع عناصر الصف الثاني ومجموع
عناصر العمود الثالث في مصفوفة 3×3ويطبع ناتج الجمع.
>#include <iostream
;using namespace std
) (int main
{
;]int a[5][5
;int i,j,sum_r,sum_c
;sum_r=sum_c=0
059 تطبيقات في برمجة الحاسب
cout<<"The array\n";
for ( i=0;i<3;i++)
for ( j=0;j<3;j++)
cin>>a[i][j] ;
for ( i=0;i<3;i++)
sum_c=sum_c+a[i][2];
for ( j=0;j<3;j++)
sum_r=sum_r+a[1][j];
cout<<"sum_r="<<sum_r<<" "<<"sum_c="<<sum_c;
return 0;
}
:مخرجات البرنامج
2 3 5
8 9 2
1 5 8
sum_r=19 sum_c=15
#include <iostream>
using namespace std;
int main( )
{
int i,j,max = 0;
int list[3][3]={{20,13,15},
{19,28,78},
{25,17,5}};
for(i=0; i<3; i++)
for(j=0; j<3; j++)
if(max < list[i][j])
max = list[i][j];
cout <<"Maximum value=" << max;
return(0);
}
:مخرجات البرنامج
Maximum value= 78
060 تطبيقات في برمجة الحاسب
معجم مصطلحات
تطبيقات في برمجة الحاسب
كود صلبHardcode الخوارزميةAlgorithm
الحلقةloop برنامجProgram
حلقة النهائيةEndless loop واجهة برمجة التطبيقاتAPI
التكرارIteration الوسيطةArgument
الكلمات األساسيةKeywords الكود القياسي األمريكي لتبادل المعلوماتASCII
ال شيءNull التعبير المنطقيBoolean
المعاملOperand الخطأBug
عامل التشغيلOperator الحرفCHAR
المتغيرVariable الشيءobject
المؤشرPointer البرمجة الشيئيةOOP
اللغة عالية المستوىHLL الفئةClass
اللغة منخفضة المستوى Low-level programming A األوامرcommand- سطر واجهة
language )line interface (CLI
لغة اآللةMachine language الكودCode
لغة التمييزMarkup language التجميعCompilation
الحزمةPackage العبارات الشرطيةConditionals
وقت التشغيلRuntime الثوابتConstants
الخلفيةBackend نوع البياناتData types
الواجهة األماميةFront-end المصفوفةArray
جانب الخادمServer-side اعالنDeclaration
مصدر البيانات Data Source استثناءException
البيانStatement التعبيرExpression
بناء الجملةSyntax إطار العملFramework
الرمز المميزToken البريد اإللكتروني Email
أيقونة Icon مترجم Compiler
مصفوفة Array مفسر ٌٌInterpreter
ترميز Encoding السحابة اإللكترونية Cloud Computing
تطبيقات في برمجة الحاسب 062
تدريبات
)1ضع عالمة ( ✓ ) أمام العبارات الصحيحة وعالمة ( × ) أمام العبارات الخاطئة:
) ( -1من العمليات التى يستطيع الكمبيوتر أن يقوم بها إدخال البيانات.
) ( -2االتجاه الطبيعى لخريطة التدفق يكون من أعلى إلى أسفل.
) ( -3اليستطيع الكمبيوتر تكرار تنفيذ امر أو مجموعة أوامر عدة مرات.
) ( -4لغة اآللة هى لغة تتكون من رقمين فقط هما ( ) 0 , 1
) ( -5ال يوجد فرق بين المترجم ) (Compilerوالمفسر). (Interpreter
) ( -6تساعد خرائط التدفق بعد رسمها تتبع خطوات الحل الكتشاف األخطاء.
) ( -7يتم انشاء التصنيف ) ( Classمن الكائن) . (Object
) -8المترجم يقوم بتحويل البرنامج بالكامل إلى لغة اآللة قبل أن يبدأ فى تنفيذ (
أى أمر.
) ( -9من مميزات خرائط التدفق كفاءة إصالح البرنامج .
) ( -11أولى خطوات حل المسألة هى إيجاد العالقات بين المتغيرات.
) ( -11البرنامج عبارة مجموعة من التعليمات (األوامر ).
) ( -12يقوم المفسر بتحويل البرنامج بالكامل الى لغة اآللة.
) -13ل غات البرمجة هى لغات تكتب بالحروف االنجليزية ولكن بقواعد (
تختلف من لغة ألخرى.
) -14من األخطاء الشائعة بين المبرمجين محاولة كتابة البرنامج بدون إعداد (
Algorithmصحيح له
) -15خرائط التدفق من الوسائل الفعالة لتوضيح خطوات حل مشكلة معينة( .
) -16البيانات هى الحقائق المجردة التى يتم تجميعها بواسطة نظام (
المعلومات.
) ( -17الكمبيوتر ال يستطيع إجراء العمليات الحسابية على البيانات .
063 تطبيقات في برمجة الحاسب
) ( -18عند تحقق الشرط فى جملة IFيتم تنفيذ األوامر بعد كلمة ELSE
) ( تسمى لغة اآللة باللغة عالية المستوى -19
) ( مرحلة البرمجة تسبق مرحلة كتابة الخوارزم -21
) الخوارزم هى طريقة لحل المسألة تهدف إلى تقديم الحل على صورة ( -21
خطوات مرتبة ترتيبا منطقيا لتصل الى الحل
) فى البرمجة الشيئية OOPيقسم البرنامج الى وحدات تعرف بالكائنات ( -22
) ( نظام المعلومات يقوم بتجميع وتخزين البيانات فقط -23
) ( لغة البرمجة C++يمكن استخدامها للبرمجة االجرائية -24
) ( من اللغات التي ال تحتاج الى مترجم لغة التجميع -25
) البرمجة هي إعطاء األوامر والتعليمات للحاسب بلغة يفهمها وذلك ألداء ( -26
مهمة معينة
) الحاسب يفهم اللغات منخفضة المستوى فقط بينما يحتاج إلى مترجم ( -27
لفهم اللغات عالية المستوى
) ( تعد لغات البرمجة بالكائنات من اللغات عالية المستوى -28
) ( تستخدم لغة جافا في تطبيقات سطح المكتب -29
) ( جهاز الحاسب اآللي دون برمجة ال فائدة منه -31
) مستخدم البرنامج يتعامل مع الواجهة للبرنامج ،وال تظهر له األوامر ( -31
البرمجية التي كتبها المبرمج
) يمكن تمثيل العالقة بين الطالب و المدرسين في مثال قاعدة بيانات ( -32
المدرسة
) ( المكون االساسي ألي قاعدة بيانات التاريخ والوقت -33
) ( تتمثل البيانات األساس للمعلومات -34
) الربط Linkingهو يقوم البرنامج بتحميل شفرة الهدف والروتينات ( -35
المكتبية ،والتعليمات على الذاكرة الرئيسة بغرض التنفيذ.
) ( -36يتكون السجل من مجموعة من الملفات
) ( -37لغات الجيل الخامس هي اللغات التي تتصف بقلة التعليمات التي يكتبها
المبرمج لتحقيق هدف ما
تطبيقات في برمجة الحاسب 064
) ( -38لغة HTMLوهي إحدى اللغات المستخدمة إلنشاء صفحات الويب
www
) -39هياكل البيانات تستخدم للتحكم في توزيع البيانات والتعرف على (
معين في الذاكرة.
ٍ ق
طبيعتها وبنائها األساسي بنس ٍ
) -41هياكل البيانات الديناميكية كالجداول والسجالت) ، (recordsوعند (
حد أعلى لحجم البيانات المدخلة . التصريح بها يجب تعيين ٍ
) ( -41المصفوفة هي أبسط أنواع بنية البيانات.
) ( -42قائمة االنتظار هي بنية بيانات غير خطية
) ( -43يتم ترتيب حزم البيانات في االتصال بتنسيق قائمة االنتظار
) -44الرسم البياني هو بنية بيانات خطية حيث يمكن للمرء أن ينتقل من عقدة (
إلى أخرى بعدة طرق مختلفة.
) ( -45الشجرة هي واحدة من أقوى هياكل البيانات وأكثرها تقد ًما.
) -46البرمجة الشيئية OOPقابلة إلعادة االستخدام ،حيث يمكن استخدام (
)(objectsعبر برمجيات متعددة .
) نظام إدارة قاعدة البيانات عبارة عن برنامج وظيفته إجراء المالءمـة ( -47
بـين قاعدة البيانات والمستخدم .
) الجدول عنصر محدد داخل السجل ويرتبط بنوعية خاصة من ( -48
المعلومات.
) الشكل (النموذج) Formيستخدم الستخالص بيانات محددة من جدول ( -49
ما.
) التخزين السحابي عبارة عن أجهزة حاسب ضخمة تحتوي على مساحة ( -51
تخزين هائلة يقوم المستخدمون برفع ملفاتهم عليها ليتم تخزينها
065 تطبيقات في برمجة الحاسب
.1ال يكتشفها الحاسب وتظهر عند تنفيذ البرنامج على عينه من البيانات
فنحصل على نتائج خاطئه او غير متوقعة.
أRun-Time Errors-
بSyntax Errors -
جـLogical Errors -
دNot Error -
.6تظهر عند تنفيذ البرنامج مثل عدم حجز مساحة كافية للمدخالت او
الدخول في دوران بال نهاية.
أRun-Time Errors-
بSyntax Errors -
جـLogical Errors -
دNot Error -
.7في هذه المرحلة تتم كتابة وصف تفصيلي لصياغة البرنامج.
أ -اختبار البرنامج وتصحيح األخطاء
ب -صياغة البرنامج
جـ -تصميم البرنامج
د -تحديد وتعريف المشكلة
.8يعرف البرنامج على انه
أ -من اللغات المتعدمة لكتابة البرامج
ب -مفهوم متبع لكتابة البرامج بلغة االله
جـ -سلسلة من االوامر مكتوبة بلغة برمجية معينة لتنفيذ مهمة محددة
د -مجموعة من االوامر تكتب لوتنفذ داخل الحسب االلي
067 تطبيقات في برمجة الحاسب
ب -الخوارزمية
جـ -البرنامج
د -فهم المسألة وتحديد عناصرها
.14مثال على اسم صحيح للمتغيرات
أC*B -
بA23 -
جـIf -
د2DF -
.11هي مجموعة من المتغيرات لها االسم نفسه ونوع البيانات نفسه ويتم
تعريفها في جملة واحدة
أ -المصفوفة
ب -الثابت
جـ -االدوات
د -ال شئ مما سبق
، M = 2 * 6 + 9 .16ما نتيجة تنفيذ العملية االتية على جهاز الحاسب
أ22 -
ب12 -
جـ21 -
د11 -
.17ما هي الدالة الوحيدة التي يجب أن تحتويها جميع برامج C ++؟
) ( main أ-
بvoid ( ) -
069 تطبيقات في برمجة الحاسب
system ( ) -جـ
start ( ) -د
؟C ++ ما ناتج البرنامج التالي بلغة.18
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
char s1[6] = “Hello”;
char s2[6] = “World”;
char s3[12] = s1 + “ “ + s2;
cout<<s3;
return 0;
}
Hello-أ
World-ب
Error-جـ
Hello World -د
؟C ++ ما ناتج البرنامج التالي بلغة.19
int x = 8;
// x = 3;
cout<<x<<endl;
3 -أ
8 -ب
Error -جـ
X -د
؟temp ما هو نوع المتغير.23
var temp = 14.55;
تطبيقات في برمجة الحاسب 071
أdouble -
بboolean -
جـstring -
دinteger -
.21ما هو بديل x = x + 5؟
;x+=5 أ-
;x=y+5 ب-
;x-=4 جـ-
x=+5 د-
.22ما ناتج البرنامج التالي بلغة C ++؟
)for (int n=10; n>0; n- -
{
;if (n==4) continue
} ;cout<<n<<endl
10,9,8,7,6,4,3,2,1 أ-
10,9,8,7,6,5,4,3,2,1 ب-
10,9,8,7,6,5,3,2,1 جـ-
10,9,8,7,6,5,4,3,2,1,0 د-
.21تستخدم دالة .......لعرض المعلومات على الشاشة.
printf أ-
بscanf -
جـreadline -
if د-
070 تطبيقات في برمجة الحاسب
....................................1
.1توثيق البرنامج
.2تصميم البرنامج
....................................2
.1اختبار البرنامج
....................................3
.4صياغة البرنامج
....................................4
.1تحديد وتعريف المشكلة
....................................5
تطبيقات في برمجة الحاسب 081
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 084
...................................................................... .1
...................................................................... .2
...................................................................... .3
...................................................................... .4
#include <iostream>
using namespace std;
int main()
{
int n = 6, k = 4;
cout << ++n << endl;
cout << n << endl;
cout << n++ << endl;
cout << n << endl;
cout << -n << endl;
cout << n << endl;
087 تطبيقات في برمجة الحاسب
)6اكتب برنامجـاً بلغة C++يقوم بحساب سعة (حجم) خزان مكعب الشكل
إذا علمت أن ارتفاع الخزانات ثابت و يساوي 2متر.
حيث ان حجم الخزان = الطول × العرض × االرتفاع
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
)7اكتب برنامج بلغة C++يقوم بتحويل مبلغ یدخله المستخدم بالجنية
المصري إلى ما يعادله بالدوالر األمريكي ،إذا علمت أن
الدوالر=18.9جنية.
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
089 تطبيقات في برمجة الحاسب
..........................................................................
..........................................................................
..........................................................................
)2اكتب برنامج بلغة C++يضيف %10إلى ارتب الموظف إذا كان راتبه
يقل عن 2000جنيه و %5إذا كان راتبه أكثر من ذلك ،ويطبع الراتب
بعد اإلضافة.
..........................................................................
..........................................................................
..........................................................................
)3اكتب برنامج بلغة C++يحسب زكاة مبلغ ما یدخله المستخدم علماً أن
الزكاة ال تجب في أقل من 2000جنية.
حيث أن زكاة المال = المبلغ المدخر × %2.5
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 091
)4اكتب برنامج بلغة C++يحدد إذا كان العدد الذي یدخله المستخدم سالباً
أم موجباً أم صفر.
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
)5اكتب برنامج بلغة C++يقوم المستخدم بإدخال عدد صحيح فإذا كان
العدد موجب وزوجي يقوم بطباعة العبارة " "Positive and evenوإذا
كان غير ذلك يقوم بطباعة " ." Error
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
090 تطبيقات في برمجة الحاسب
)6اكتب برنامج بلغة C++يقوم بإدخال عددین صحيحين وثم طباعة العدد
األكبر.
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
)7أكتب برنامج يق أر عددین ويطلب من المستخدم إدخال رمز العملية
الحسابية ثم يجري هذه العملية على العددین ؟
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 092
1
22
333
4444
55555
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 094
)4اكتب برنامج يطبع جميع األعداد من 1إلى 100ما عدا التي تقبل
القسمة على 5 ، 2بدون باق.
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 098
Array المصفوفات
:) ما مخرجات البرامج التالية1
#include<iostream>
…………………………………
using namespace std;
int main( ) …………………………………
{ …………………………………
int x[4], y[4]; …………………………………
for (int i=0;i<4;i++) …………………………………
{ …………………………………
x[i]=i; …………………………………
y[i]=i*i; …………………………………
cout<<endl<<x[i]<<" "<<y[i]; …………………………………
} …………………………………
cout<<endl; …………………………………
} …………………………………
…………………………………
#include<iostream> …………………………………
using namespace std; …………
…………………………………
int main( ) …………………………………
{ …………………………………
int array[2][3] =
…………………………………
{ {1, 2, 3}, {4, 5, 6} };
int i, j, s=0; …………………………………
for (i = 0; i < 2; i++) …………………………………
{ …………………………………
for (j = 0; j < 3; j++) …………………………………
cout<<array[i][j] <<" "; …………………………………
} …………………………………
s=array[0][2]+array[1][1]; …………………………………
cout<<"\n The result="<<s; …………………………………
return 0;} …………………………………
…………………………………
…………
099 تطبيقات في برمجة الحاسب
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 211
)6في احد الفصول الدراسية كانت نتائج ثالثة طالب كما هو موضح بالجدول
التالي:
الفيزياء الرياضيات لغة C++
78 80 77 الطالب األول
87 90 80 الطالب الثاني
80 90 89 الطالب الثالث
المطلوب :كتابة برنامج بلغة C++إلدخال درجات الثالث طالب للثالث مواد
دراسية ثم طباعتها .
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
تطبيقات في برمجة الحاسب 214
المراجع
1. Harvey Deitel and Paul Deite, " C++ How to program ",
2012.
7.
، 79 مجلة لغـةةةةةةةةةة العـةةةةةةةةةصةةةر ع، قواعد البيانات ووظائفها وأنماطها، أحمد خيري
2117، األهرام للكمبيوتر واالنترنت واالتصاالت، القـاهرة