41
Omer Ahmed Saeed Omer Ahmed Saeed 1-2 ي ل ي ل الد ف ل م ل ا#include <iostream.h> ة غ ل ر ب ت ع ت ة غ ل ر ب ت ع ت++ C ها ت ا ي ت ك مد عد ت ها و م ج ح ر كب ل+ ك ل ، ود ة غ ل م خ ض1 ا ها ت ا ي ت ك مد عد ت ها و م ج ح ر كب ل+ ك ل ، ود ة غ ل م خ ض1 ا ات ف ل م ل ا ة 4 اب ي ك بل4 م عا ت ل م ا 4 ت يا4 = مج4 م ا رب ب اءC ش نF ل ا لا خ= ن4 ما4 ه ع مل4 م عا ت ل د ا 4 ي ع ات ف ل م ل ا ة 4 ب ا ي ك بل4 م عا ت ل م ا 4 ت يا4 = مج4 م ا رب ب اءC ش نF ل ا لا خ= ن4 ما4 ه ع مل4 م عا ت ل د ا 4 ي ع ة ي س1 را ل وا ة 4 ي ل ي ل الد ة ي س1 را ل وا ة 4 ي ل ي ل الدHeader Files = ن مي ض ت ل ا ات ف ل م بً ا ض ي1 ا ي م س ن= ن مي ض ت ل ا ات ف ل م بً ا ض ي1 ا ي م س نInclude Files ة غ ل ي ف+ ك ل م د ت ي ة غ ل ي ف+ ك ل م د ت ي++ C ة ي ل ا ي ل ا ارة ي ع لل ا لا خ= ن م ة ي ل ا ي ل ا ارة ي ع لل ا لا خ= ن م: ي ل ي ل الد ف ل م ل ل ا ي م ج ت ي 4 ن ع ت ي ل ي ل الد ف ل م ل ل ا ي م ج ت ي 4 ن ع تiostream.h ي ن ح وت س حا ل ا رة ك ا ى د لF ا ي ن ح وت س حا ل ا رة ك ا ى د لF ا= راج خF لال وا ا دخF لا ا ب اصة ح ل ا ات ي ل م ع ل ا مة ج ر ب و1 ا ة رف مع م ج ر مب ل ل ي ن س ت ي= راج خF لال وا ا دخF لا ا ب اصة ح ل ا ات ي ل م ع ل ا مة ج ر ب و1 ا ة رف مع م ج ر مب ل ل ي ن س ت ي د 44444 مدب ت لم ا44444 سة ا44444 ل ف44444 ل م ل ا ا ن= هد1 44444 ا ظ44444 لاح ب د 44444 مدب ت لم ا44444 سة ا44444 ل ف44444 ل م ل ا ا ن= هد1 44444 ا ظ44444 لاح ب. . h ار ل44444 ض ت ح اار ل44444 ض ت ح اheader file = ن لي ي ت ل ا غة م ا خ د ي ع س مد ج ر ا م عاد د: اعد

1-2 الملف الدليلي

  • Upload
    zalika

  • View
    66

  • Download
    0

Embed Size (px)

DESCRIPTION

1-2 الملف الدليلي. #include . تعتبر لغة ++ C أضخم لغة، وذلك لكبر حجمها وتعدد مكتباتها عند التعامل معها من خلال إنشاء برنامج ما يتم التعامل بكتابة الملفات الدليلية والرأسية Header Files تسمي أيضاً بملفات التضمين Include Files يتم ذلك في لغة ++ C من خلال العبارة التالية :. - PowerPoint PPT Presentation

Citation preview

Page 1: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

الملف الدليلي1-2

#include <iostream.h>

تعت�بر لغ�ة تعت�بر لغ�ة++C أض�خم لغ�ة، وذل�ك لك�بر حجمه�ا وتع�دد أض�خم لغ�ة، وذل�ك لك�بر حجمه�ا وتع�دد مكتباتهامكتباتها

عن��د التعام��ل معه��ا من خالل إنش��اء برن��امج م��ا يتم عن��د التعام��ل معه��ا من خالل إنش��اء برن��امج م��ا يتموالرأسية الدليلية الملفات بكتابة والرأسية التعامل الدليلية الملفات بكتابة Headerالتعامل

Files التضمين بملفات 1 أيضا تسمي التضمين بملفات 1 أيضا تسمي Include Files

يتم ذلك في لغة يتم ذلك في لغة++Cمن خالل العبارة التالية من خالل العبارة التالية :

تع�ني تحمي�ل المل�ف ال�دليلى تع�ني تحمي�ل المل�ف ال�دليلىiostream.h إلى ذاك�رة إلى ذاك�رة الحاسوب حتى الحاسوب حتى

يتس��نى للم��ترجم معرف��ة أو ترجم��ة العملي��ات الخاص��ة يتس��نى للم��ترجم معرف��ة أو ترجم��ة العملي��ات الخاص��ة باإلدخال واإلخراجباإلدخال واإلخراج

نالح�ظ أن ه�ذا المل�ف ل�ه اس�م التمدي�د نالح�ظ أن ه�ذا المل�ف ل�ه اس�م التمدي�د ..h اختص�ار ل�� اختص�ار ل�� header file اعداد د: عمر احمد سعيد

جامعة النيلين

Page 2: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

تع��ني أن الم��ترجم يب��دأ البحث عن المل��ف ال��دليلي في تع��ني أن الم��ترجم يب��دأ البحث عن المل��ف ال��دليلي في األساس�ي ال�ذي يح�وي ك�ل األساس�ي ال�ذي يح�وي ك�ل (folder)(folder) الفه�رس أو المجل�دالفه�رس أو المجل�د includeinclude الملفات الدليلية ويسميالملفات الدليلية ويسمي

بعالم�تي االقتب�اس " " فيب�دأ بعالم�تي االقتب�اس " " فيب�دأ ><><عن�د اس�تبدال العالم�تين عن�د اس�تبدال العالم�تين البحث ب�الفهرس الح�الي )ال�ذي يح�وى المل�ف المص�در( البحث ب�الفهرس الح�الي )ال�ذي يح�وى المل�ف المص�در( ويصبح على النحو التاليويصبح على النحو التالي#include "iostream.h"#include "iostream.h"

في كلت�ا الح�التين فس�يتم تنفي�ذ البرن�امج ولكن االختي�ار في كلت�ا الح�التين فس�يتم تنفي�ذ البرن�امج ولكن االختي�ار المناس�ب يس�رع للم�ترجم من خالل تحدي�د موق�ع المل�ف المناس�ب يس�رع للم�ترجم من خالل تحدي�د موق�ع المل�ف . . الدليليالدليلي

التي تحصر اسم > <ماذا تعني العالمتين ؟ <iostream.h>الملف الدليلى

التي تحصر اسم > <ماذا تعني العالمتين ؟ <iostream.h>الملف الدليلى

اعداد د: عمر احمد سعيد جامعة النيلين

Page 3: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

التعليقات 1-3Comments

التعلي��ق ه��و عب��ارة عن مالحظ��ة أو معلوم��ة تكتب في التعلي��ق ه��و عب��ارة عن مالحظ��ة أو معلوم��ة تكتب في البرنامج لتوضح فهم معين أو فكرة محددةالبرنامج لتوضح فهم معين أو فكرة محددة عن�د تنفي�ذ البرن�امج يق�وم الم�ترجم بتجاه�ل ه�ذه التعليق�ات عن�د تنفي�ذ البرن�امج يق�وم الم�ترجم بتجاه�ل ه�ذه التعليق�اتأثن�اء عملي�ة التنفي�ذ، مم�ا يع�نى أن أي تعب�ير تكتب�ه فه�و ص�حيح أثن�اء عملي�ة التنفي�ذ، مم�ا يع�نى أن أي تعب�ير تكتب�ه فه�و ص�حيح ..حتى لو كان من الناحية اللغوية خطأحتى لو كان من الناحية اللغوية خطأألن هنال�ك ص�يغ مح�دده تتيحه�ا لغ�ةألن هنال�ك ص�يغ مح�دده تتيحه�ا لغ�ة C++ C++ تس�تطيع من تس�تطيع من -: -: خاللها فقط أن تكتب التعليق وهما صيغتانخاللها فقط أن تكتب التعليق وهما صيغتانالصيغة األولى

1 بين C C ورثته�ا من لغ�ة أل�ورثته�ا من لغ�ة أل� 1 بين وهي أن يك�ون التعلي�ق محص�ورا وهي أن يك�ون التعلي�ق محص�وراالعالماتالعالمات /* */ /* */

اعداد د: عمر احمد سعيد جامعة النيلين

Page 4: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

ومثال لذلك //**This is my first program to calculate the This is my first program to calculate the area of the circle with C++)area of the circle with C++) * *// +C+C هذه الصيغة تجعل استخدام أسلوب التعليقات في أل�هذه الصيغة تجعل استخدام أسلوب التعليقات في أل�مرن وسهل حيث إنها تتيح كتابة أي تعليق في أي عدد مرن وسهل حيث إنها تتيح كتابة أي تعليق في أي عدد ++

1 بين العالمات 1 بين العالماتمن األسطر شريطة أن يكون محصورا */ */ من األسطر شريطة أن يكون محصورا */ */

:الصيغة الثانية

1 بعالم�ة // وينتهي بنهاي�ة الس�طر وال 1 بعالم�ة // وينتهي بنهاي�ة الس�طر وال أن يك�ون التعلي�ق مبت�دئا أن يك�ون التعلي�ق مبت�دئايتعدى ذلك، ومثال لذلكيتعدى ذلك، ومثال لذلك//This Program Will Display Message//This Program Will Display Message

أوأو///This is my first program to/This is my first program to//calculate the area of the circle//calculate the area of the circle

اعداد د: عمر احمد سعيد جامعة النيلين

Page 5: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

Variables المتغيرات 1-4

تفق كل لغات البرمجة في الحد األدنى على أربع أنواع تفق كل لغات البرمجة في الحد األدنى على أربع أنواع من البيانات هيمن البيانات هي

11,-,-1,5,3501,5,350األعداد الرقمية أي األعداد الصحيحة مثل األعداد الرقمية أي األعداد الصحيحة مثل , , 0.50.5األعداد الحقيقية أي التي بها خانة عشرية مثل األعداد الحقيقية أي التي بها خانة عشرية مثل

46.8746.87 , ,3.143.14البيانات الرمزيةالبيانات الرمزيةcharacters characters ونعني بها كل مفاتيح ونعني بها كل مفاتيح

الطباعة من حروف وعالمات وأرقام )مخزنة كأنها حروف الطباعة من حروف وعالمات وأرقام )مخزنة كأنها حروف وليست أعداد(وليست أعداد(

البيانات المنطقيةالبيانات المنطقية (Logical)(Logical) أوأو (Boolean)(Boolean) وهي التي وهي التيتأخذ فقط قيمتي خطأ أو صوابتأخذ فقط قيمتي خطأ أو صواب

اعداد د: عمر احمد سعيد جامعة النيلين

Page 6: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

floating األعداد العائمة )الحقيقيةpoint

تخزن األعداد الحقيقية في جزأين من الكلمةتخزن األعداد الحقيقية في جزأين من الكلمة الج��زء األول يخ��زن في��ه الكس��ر ويس��مى المانتيس��االج��زء األول يخ��زن في��ه الكس��ر ويس��مى المانتيس��ا (mantissa)(mantissa) أو الخانات الكسرية المؤثرةأو الخانات الكسرية المؤثرة الجزء الثاني فيخزن فيه القوةالجزء الثاني فيخزن فيه القوة

والج�دول والج�دول ++C++C هنال�ك ثالث�ة أن�واع من األرق�ام العائم�ة فيهنال�ك ثالث�ة أن�واع من األرق�ام العائم�ة في..التالي يوضح ذلكالتالي يوضح ذلك

اعداد د: عمر احمد سعيد جامعة النيلين

Page 7: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

اInteger Numbers) األعداد الصحيحة

هنال�ك أن�واع مختلف�ة لإلعالن عن األع�داد الص�حيحة تختل�ف هنال�ك أن�واع مختلف�ة لإلعالن عن األع�داد الص�حيحة تختل�ف في حجم مواض���ع التخ���زين المخصص���ة لك���ل ن���وع وفي في حجم مواض���ع التخ���زين المخصص���ة لك���ل ن���وع وفي إمكانية تمثيل األعداد السالبةإمكانية تمثيل األعداد السالبة

لغة في الصحيحة األعداد من أنواع ثالثة لغةهنالك في الصحيحة األعداد من أنواع ثالثة ++C++C هنالك ..والجدول التالي يوضح ذلكوالجدول التالي يوضح ذلك

اعداد د: عمر احمد سعيد جامعة النيلين

Page 8: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

characters البيانات الرمزية

يتم تمثيل الحروف حسب نظم الترميز المعروفة مثليتم تمثيل الحروف حسب نظم الترميز المعروفة مثل

نظ��ام آس��كينظ��ام آس��كي(ASCII)(ASCII) ه��و النظ��ام التش��فير القياس��ي ه��و النظ��ام التش��فير القياس��ياألمريكي للمعلوماتاألمريكي للمعلوماتابسدك ابسدكنظام أم (EBCDIC)(EBCDIC) نظام بي آي نظام أمهو بي آي نظام (IBM)(IBM) هو يختل��ف عن النظ��ام األول في أن��ه يب��دأ بترم��يز الح��روف يختل��ف عن النظ��ام األول في أن��ه يب��دأ بترم��يز الح��روف الص�غيرة ثم الح�روف الكب�يرة ثم األرق�ام أم�ا النظ�ام األول الص�غيرة ثم الح�روف الكب�يرة ثم األرق�ام أم�ا النظ�ام األول فيق��وم بترم��يز األرق��ام ثم الح��روف الكب��يرة ثم الح��روف فيق��وم بترم��يز األرق��ام ثم الح��روف الكب��يرة ثم الح��روف الصغيرةالصغيرة

يتم تخ�زين األح�رف في متغ�يرات من الن�وعيتم تخ�زين األح�رف في متغ�يرات من الن�وع ++C++C في لغ�ةفي لغ�ةchar char كما يليكما يلي::

char ch;char ch;اعداد د: عمر احمد سعيد

جامعة النيلين

Page 9: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

(Boolean)البيانات المنطقية

يتم تمثيل البيانات المنطقية بثنائية واحدة فقط عندما يتم تمثيل البيانات المنطقية بثنائية واحدة فقط عندما تكون قيمتها واحد تعنى صحيح أو حقيقية وعندما تكون تكون قيمتها واحد تعنى صحيح أو حقيقية وعندما تكون قيمتها صفر تعني خطا . وهنالك بعض المعامالت التي قيمتها صفر تعني خطا . وهنالك بعض المعامالت التي , AND, OR , NOT , AND, OR , NOT)) تطبق علي الحدود البوليانية مثلتطبق علي الحدود البوليانية مثل

XORXOR) ) وتسمي بالمعامالت المنطقية أي تعيد قيمة بوليانية وتسمي بالمعامالت المنطقية أي تعيد قيمة بوليانيةكما في الجدول التاليكما في الجدول التالي

اعداد د: عمر احمد سعيد جامعة النيلين

Page 10: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

نحت�اج لتخ�زين المعلوم�ات نحت�اج لتخ�زين المعلوم�ات ++C++C عن�د كتاب�ة أي برن�امج بلغ�ةعن�د كتاب�ة أي برن�امج بلغ�ةال�واردة للبرن�امج في ذاك�رة الحاس�وب تحت عن�اوين يطل�ق ال�واردة للبرن�امج في ذاك�رة الحاس�وب تحت عن�اوين يطل�ق عليه�ا أس�ماء المتغ�يرات وبم�ا أن أن�واع المعلوم�ات الم�راد عليه�ا أس�ماء المتغ�يرات وبم�ا أن أن�واع المعلوم�ات الم�راد تخزينه��ا تك��ون ع��ادة مختلف��ة مث��ل القيم الحقيقي��ة أو تخزينه��ا تك��ون ع��ادة مختلف��ة مث��ل القيم الحقيقي��ة أو الص��حيحة أو الرمزي��ة فإنن��ا نحت��اج أن نعلم الم��ترجم في الص��حيحة أو الرمزي��ة فإنن��ا نحت��اج أن نعلم الم��ترجم في بداي�ة البرن�امج عن أن�واع المتغ�يرات ال�تي نري�د اس�تخدامها بداي�ة البرن�امج عن أن�واع المتغ�يرات ال�تي نري�د اس�تخدامها 1 1فمثال ::فمثال

نع�رف المتغ�ير ب�ذكر االس�م ون�وع البيان�ات ال�تي يمكن أن نع�رف المتغ�ير ب�ذكر االس�م ون�وع البيان�ات ال�تي يمكن أن xيحمله�ا ه�ذا المتغ�ير من أي سلس�لة تحت�وي على أح�رفxيحمله�ا ه�ذا المتغ�ير من أي سلس�لة تحت�وي على أح�رف letterletter yتح�تي xأو خ�ط x x أو خ�طx تح�تيyأو أرق�ام بش�رط أن ال بش�رط أن ال (_)underscore(_)underscore أو أرق�ام يبدأ اسم المتغير برقميبدأ اسم المتغير برقم

تف��رق بين الح��روف األبجدي��ة الص��غيرة و تف��رق بين الح��روف األبجدي��ة الص��غيرة و ++C++C أن لغ��ةأن لغ��ة1 1الكب�يرة ،فمثال تتعام�ل كمتغ�يرات مختلف�ة تتعام�ل كمتغ�يرات مختلف�ة Var ,var , VAR Var ,var , VAR الكب�يرة ،فمثال1 1تماما اعداد د: عمر احمد سعيد ..تماما

جامعة النيلين

Page 11: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

يمكن تعري��ف المتغ��يرات في أي مك��ان في البرن��امج لكن يمكن تعري��ف المتغ��يرات في أي مك��ان في البرن��امج لكن يجب تعريفه�ا قب�ل اس�تعمالها، كم�ا يمكن تعري�ف المتغ�يرات يجب تعريفه�ا قب�ل اس�تعمالها، كم�ا يمكن تعري�ف المتغ�يرات ال�تي تنتمي إلي نفس الن�وع في س�طر واح�د، بش�رط أن ال�تي تنتمي إلي نفس الن�وع في س�طر واح�د، بش�رط أن نفص�ل بينه�ا بفاص�لة، واألمثل�ة التالي�ة توض�ح نم�اذج لتبي�ان نفص�ل بينه�ا بفاص�لة، واألمثل�ة التالي�ة توض�ح نم�اذج لتبي�ان . .كيفية تعريف المتغيرات أو اإلعالن عنهاكيفية تعريف المتغيرات أو اإلعالن عنها

int a,b,c;int a,b,c;

short int i;short int i;

short i; // same as "short int short i; // same as "short int

double f,g;double f,g;

float k,l;float k,l;

اعداد د: عمر احمد سعيد جامعة النيلين

Page 12: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

عبارتي اإلدخال واإلخراج 1-5البيانات

لكتاب�ة لكتاب�ة ( (C outC out تق�رأتق�رأ))coutcout عب�ارةعب�ارة ++C++C تس�تخدم لغ�ةتس�تخدم لغ�ةلق�راءة لق�راءة ( ( C inC in تق�رأتق�رأ) ) cincin المعلوم�ات علي الشاش�ة وعب�ارةالمعلوم�ات علي الشاش�ة وعب�ارة1 العبارة التالية 1 العبارة التاليةالمعلومات من لوحة المفاتيح. فمثال المعلومات من لوحة المفاتيح. فمثال

cin>>var1;cin>>var1;

تخ�زن ال�رقم ال�ذي يكتب�ه المس�تخدم من لوح�ة المف�اتيح في تخ�زن ال�رقم ال�ذي يكتب�ه المس�تخدم من لوح�ة المف�اتيح في لوحة المفاتيحلوحة المفاتيح cincin حيث يمثل الكائنحيث يمثل الكائن var1var1 متغير يسميمتغير يسمييمكن اس��تخدام عام��ل الحص��ول ع��دة م��رات في نفس يمكن اس��تخدام عام��ل الحص��ول ع��دة م��رات في نفس 1 1العبارة مثال العبارة مثال

cin>>var1>>var2>>var3;cin>>var1>>var2>>var3;

Page 13: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

()main الدالة 1-6لغة البرنامج في أهم مقومات الدوال من لغةتعتبر البرنامج في أهم مقومات الدوال من ++C++C تعتبر ونج�د أن البرن�امج يمكن أن يت�ألف من دال�ة واح�دة أو أك�ثر ونج�د أن البرن�امج يمكن أن يت�ألف من دال�ة واح�دة أو أك�ثر وان�ه الب�د لك�ل دال�ة من اس�م ي�دل عليه�ا عن�د اس�تخدامها وان�ه الب�د لك�ل دال�ة من اس�م ي�دل عليه�ا عن�د اس�تخدامها .. واستدعائهاواستدعائها

الدال�ةالدال�ة main()main()له�ا خصوص�يتها في لغ�ةله�ا خصوص�يتها في لغ�ة C++ C++ ف�إن الم�ترجم ف�إن الم�ترجم1 لتنفي�ذها، أم�ا إذا لم تكن موج�ودة 1 لتنفي�ذها، أم�ا إذا لم تكن موج�ودة يبحث عن ه�ذه الدال�ة أوال يبحث عن ه�ذه الدال�ة أوال..توضح ذلكتوضح ذلك Error Message Error Message فستظهر رسالة خطأفستظهر رسالة خطأ

األق��واس ال��تي تلي الدال��ةاألق��واس ال��تي تلي الدال��ة main()main() فهي تع��ني أن ه��ذا فهي تع��ني أن ه��ذااالس��م ه��و اس��م لدال��ة فب��دون ه��ذه األق��واس يترجمه��ا االس��م ه��و اس��م لدال��ة فب��دون ه��ذه األق��واس يترجمه��ا الم�ترجم علي أس�اس إنه�ا اس�م لمتغ�ير، فله�ذا تعت�بر ه�ذه الم�ترجم علي أس�اس إنه�ا اس�م لمتغ�ير، فله�ذا تعت�بر ه�ذه 1 1األقواس مهمة جدا .. األقواس مهمة جدا –الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 14: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

()main الدالة 1-6الدال�ةالدال�ة main()main() 1 هي 1 هي أو ال�دوال األخ�رى له�ا قيم�ة راجع�ة غالب�ا أو ال�دوال األخ�رى له�ا قيم�ة راجع�ة غالب�احقيق��ة قيم��ة الدال��ة فيتم إرج��اع ه��ذه القيم��ة من خالل حقيق��ة قيم��ة الدال��ة فيتم إرج��اع ه��ذه القيم��ة من خالل أم��ا ال��دوال ال��تي ليس له��ا قيم��ة راجع��ة أم��ا ال��دوال ال��تي ليس له��ا قيم��ة راجع��ة ، ،returnreturnاألم��راألم��ر أو قب��ل اس��م الدال��ة نكتب كلم��ةأو قب��ل اس��م الدال��ة نكتب كلم��ة return 0 return 0 فنس��تخدمفنس��تخدمvoidvoidالتي تعني أن هذه الدالة ليس لها قيمة راجعةالتي تعني أن هذه الدالة ليس لها قيمة راجعة الدال�ةالدال�ة األمثل�ة التالي�ة توض�ح نم�اذج لتبي�ان كيفي�ة تعري�فاألمثل�ة التالي�ة توض�ح نم�اذج لتبي�ان كيفي�ة تعري�ف main()main(). .

main()main()

{{

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

}}

void main ()} . . . . . . . . . . . . . . . {

int main ()} . . . . . . . . . .

return 0 {

Page 15: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 1-1مثـــال )

//This Program Will Display Message //This Program Will Display Message

#include >iostream.h< #include >iostream.h<

main()main()

{{

cout >> "welcome to C++ " ;cout >> "welcome to C++ " ;

}}

)نظ�ام )نظ�ام DosDosيعم�ل في بيئ�ة يعم�ل في بيئ�ة ++ ++ CCإذا ك�ان مح�رر لغ�ة إذا ك�ان مح�رر لغ�ة التش�غيل( س�وف يق�وم الحاس�وب بتنفي�ذ البرن�امج ويع�ود التش�غيل( س�وف يق�وم الحاس�وب بتنفي�ذ البرن�امج ويع�ود

1 للمحرر 1 للمحررسريعا سريعا–الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 16: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

تتك�ون ب�رامج لغ�ة تتك�ون ب�رامج لغ�ةCC++++ من عب�ارات أو من عب�ارات أو جم����ل وتنتهي ك����ل عب����ارة بالفاص����لة جم����ل وتنتهي ك����ل عب����ارة بالفاص����لة

".".;;المنقوطة "المنقوطة "

تتكون األسماء في لغة تتكون األسماء في لغةCC++++ بأي بأي طول نريده من الرموز شريطة أن يبدأ طول نريده من الرموز شريطة أن يبدأ

أو "_" ، أو "_" ، a-za-z أو أو A-ZA-Zاالسم بحرف من االسم بحرف من �6363لكن المترجم يكتفي فقط بأول لكن المترجم يكتفي فقط بأول � رمزا رمزا

.

تتك�ون ب�رامج لغ�ة تتك�ون ب�رامج لغ�ةCC++++ من عب�ارات أو من عب�ارات أو جم����ل وتنتهي ك����ل عب����ارة بالفاص����لة جم����ل وتنتهي ك����ل عب����ارة بالفاص����لة

".".;;المنقوطة "المنقوطة "

تتكون األسماء في لغة تتكون األسماء في لغةCC++++ بأي بأي طول نريده من الرموز شريطة أن يبدأ طول نريده من الرموز شريطة أن يبدأ

أو "_" ، أو "_" ، a-za-z أو أو A-ZA-Zاالسم بحرف من االسم بحرف من �6363لكن المترجم يكتفي فقط بأول لكن المترجم يكتفي فقط بأول � رمزا رمزا

.–الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 17: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

ولكن إذا أردت تث��بيت المخرج��ات علي الشاش��ة ولكن إذا أردت تث��بيت المخرج��ات علي الشاش��ة ح��تى يتس��نى ل��ك مش��اهدتها م��ا علي��ك إال إض��افة ح��تى يتس��نى ل��ك مش��اهدتها م��ا علي��ك إال إض��افة إلي نهاي�ة البرن���امج وهي تحت�اج إلى إلي نهاي�ة البرن���امج وهي تحت�اج إلى ()getch()getch عب�ارةعب�ارة >include >conio.h<#include >conio.h#الملف الدليلىالملف الدليلى..المثال التالي يوضح هذا المفهومالمثال التالي يوضح هذا المفهوم

( 2-1مثـــال )

#include >iostream.h< #include >iostream.h< #include >conio.h <#include >conio.h <main()main(){{ cout >> "welcome to C++ " ;cout >> "welcome to C++ " ; getch();getch();إخراج {{

البرنامج–الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 18: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

الثوابت 1-71 ثابت�ة1 عن�د كتاب�ة برامجن�ا ، وه�ذه 1 ثابت�ة1 عن�د كتاب�ة برامجن�ا ، وه�ذه قد نحت�اج أن نس�تخدم قيم�ا قد نحت�اج أن نس�تخدم قيم�االقيم��ة ثابت��ة أينم��ا اس��تخدمت ض��من البرن��امج وال يج��وز القيم��ة ثابت��ة أينم��ا اس��تخدمت ض��من البرن��امج وال يج��وز تع�ديلها )وإال س�وف نحص�ل علي رس�الة خط�أ من الم�ترجم( تع�ديلها )وإال س�وف نحص�ل علي رس�الة خط�أ من الم�ترجم( 1 عن�د حس�اب معادل�ة ال�دائرة فإنن�ا نحت�اج إلى قيم�ة 1 عن�د حس�اب معادل�ة ال�دائرة فإنن�ا نحت�اج إلى قيم�ة فمثال فمثال

لتعري�ف الث�وابت في لغ�ةلتعري�ف الث�وابت في لغ�ةوهي قيم�ة ثابت�ة ووهي قيم�ة ثابت�ة و C++ C++ نس�تخدم نس�تخدم:: الصيغة التاليةالصيغة التالية

const ConstType >ConstName< = >value<;const ConstType >ConstName< = >value<;

::حيث أنحيث أنConstTypeConstTypeيمثل نوع الثابت مثليمثل نوع الثابت مثل intint

ConstNameConstName يمثل اسم الثابت)يخضع لنفس قواعد يمثل اسم الثابت)يخضع لنفس قواعدتسمية المتغيرات(تسمية المتغيرات(

Value Value قيمة الثابت والتي يجب ان تتالءم مع نوع الثابتقيمة الثابت والتي يجب ان تتالءم مع نوع الثابت –الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 19: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

مثال لذلكمثال لذلك

const float pi = 3.14;const float pi = 3.14;

const int maxint = 12345;const int maxint = 12345;

const int x = 10;const int x = 10;

const char ch=’a’;const char ch=’a’;

يج�وز أن نعلن عن أك�ثر من ث�ابت إذا ك�انوا من نفس الن�وع يج�وز أن نعلن عن أك�ثر من ث�ابت إذا ك�انوا من نفس الن�وع واحدة مثال لذلكواحدة مثال لذلك constconst بعبارةبعبارة

const const

float pi = 3.14 ,float pi = 3.14 ,

x = 1000.5;x = 1000.5;

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 20: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

واح�دة واح�دة constconst وال يج�وز أن نعلن عن أك�ثر من ث�ابت بعب�ارةوال يج�وز أن نعلن عن أك�ثر من ث�ابت بعب�ارةإذا كانوا من أنواع مختلفة والمثال التاليإذا كانوا من أنواع مختلفة والمثال التالي

const const

float pi = 3.14 ,float pi = 3.14 ,

int x = 10;int x = 10;

" " ;;ينتج عن�ه خط�أ، وذل�ك ألن جمل�ة الث�ابت لم تنتهي بعالم�ة "ينتج عن�ه خط�أ، وذل�ك ألن جمل�ة الث�ابت لم تنتهي بعالم�ة " وعند تصحيح هذا الخطأ كما في الشكل التاليوعند تصحيح هذا الخطأ كما في الشكل التاليconst const

float pi = 3.14 ;float pi = 3.14 ;

int x = 10;int x = 10;

متغ�ير متغ�ير x x يعم�ل البرن�امج بص�ورة ص�حيحة ولكن يعت�بر أنيعم�ل البرن�امج بص�ورة ص�حيحة ولكن يعت�بر أن ، ،عادي وليس ثابت وبالتالي يسمح البرنامج بتعديلهعادي وليس ثابت وبالتالي يسمح البرنامج بتعديله

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 21: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

طريق�ة أخ�ري للتص�ريح عن الث�وابت ورثته�ا طريق�ة أخ�ري للتص�ريح عن الث�وابت ورثته�ا ++C++C تعتم�د لغ�ةتعتم�د لغ�ةوذل�ك وذل�ك DEFINE #DEFINE# ويتم ذل�ك من خالل الموج�هويتم ذل�ك من خالل الموج�ه C C من لغ�ةمن لغ�ة1 للصيغة التالية 1 للصيغة التاليةوفقا وفقا

#DEFINE ConstName Value;#DEFINE ConstName Value;

مثال لذلكمثال لذلك

#DEFINE float pi = 3.14;#DEFINE float pi = 3.14;

#DEFINE int maxint = 12345;#DEFINE int maxint = 12345;

#DEFINE int x = 10;#DEFINE int x = 10;

#DEFINE char ch=’a’;#DEFINE char ch=’a’;

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 22: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

White الفراغات البيضاء 1-8Space

يتخطى الم�ترجم ك�ل الفراغ�ات الموج�ودة بالبرن�امج يتخطى الم�ترجم ك�ل الفراغ�ات الموج�ودة بالبرن�امج أي يمكن أن تتج���زأ العب���ارات إلى ع���دة اس���طر أي يمكن أن تتج���زأ العب���ارات إلى ع���دة اس���طر ويمكن أن نكتب ع���دد من العب���ارات في س���طر ويمكن أن نكتب ع���دد من العب���ارات في س���طر واح�د، نس�تفيد من ه�ذه الم�يزة عن�د تنظيم برنامجن�ا. واح�د، نس�تفيد من ه�ذه الم�يزة عن�د تنظيم برنامجن�ا. إال أن هنال��ك ح��االت ال يمكن اس��تخدام الفراغ��ات إال أن هنال��ك ح��االت ال يمكن اس��تخدام الفراغ��ات بصورة مطلقة وهيبصورة مطلقة وهي

( الملف�ات الدليلي�ةInclude Files ال�تي ينبغي )ان تكون في سطر واحد.

الث�وابت الحرفي�ة ال�تي له�ا ط�ول مح�دد وه�ذهالفراغ�ات تحس�ب ض�من الط�ول المص�رح ب�ه في

الثوابت الحرفية. التعليق�ات ال�تي تس�تخدم النم�ط الث�اني ال�ذي

.ينتهي بنهاية السطر–الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 23: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

وعليه فان هذه الجملةconst float Pi = 3.1415926;

يمكن أن تكتب علي النحو التاليconst

float

Pi

= 3.1415926 ;

جملة واحدة تتجزأ إلى عدد من الجمل

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 24: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

Escape سالسل الهروب 1-9Sequence

سالس��ل اله��روب هي عب��ارة عن رم��وز تؤك��ل له��ا مه��ام سالس��ل اله��روب هي عب��ارة عن رم��وز تؤك��ل له��ا مه��ام ع�دد من سالس�ل ع�دد من سالس�ل ++C++C مح�دده ض�من البرن�امج، وتض�م لغ�ةمح�دده ض�من البرن�امج، وتض�م لغ�ةهروب كما هو مبين في الجدول التاليهروب كما هو مبين في الجدول التالي

من أك��ثر السالس��ل من أك��ثر السالس��ل "t""\t\" وو "n" "\n\"تعت��بر سالس��ل اله��روبتعت��بر سالس��ل اله��روب1 1استخداما استخداما

Escape Sequenceالوظيفة

سطر جديد )النزول إلى السطر التالي(

\n

t\لترك مسافة طولها حقل واحد

\\\الستخدام عالمة

\’’الستخدام عالمة

\““الستخدام عالمة

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 25: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

Manipulators المؤثرات 1-10

>>>>الم�ؤثرات هي عب�ارة عن أدوات تس�تخدم م�ع عالم�ة الم�ؤثرات هي عب�ارة عن أدوات تس�تخدم م�ع عالم�ة من اج��ل الت��أثير علي ش��كل المخرج��ات والج��دول الت��الي من اج��ل الت��أثير علي ش��كل المخرج��ات والج��دول الت��الي ..++C++C يوضح بعض المؤثرات المستخدمة في لغةيوضح بعض المؤثرات المستخدمة في لغة

سطر جديد )النزول إلى السطر التالي( أي له نفس تأثير سلسلة

n\الهروب End Lineendl

لترك مسافة كافية إلظهار قيمة معينة من خالل تحديد عرض

عبارة عن Nالحقل المناسب و عدد صحيح يمثل عرض الحقل

المطلوب ويحتاج هذا المؤثر إلى iomanip.hالملف الدليلي

Set Widthsetw(N)

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 26: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

1 إخراج العبارة التالية 1 إخراج العبارة التاليةفمثال فمثال

cout>>"Ahmed">>endl>>"Khalid”>>endl;cout>>"Ahmed">>endl>>"Khalid”>>endl;

يكون علي النحو التالييكون علي النحو التالي

AhmedAhmed

KhalidKhalid

وإخراج العبارة التاليةوإخراج العبارة التالية

cout>>"Ahmed">>setw(20)>>"Khalid”>>endl;cout>>"Ahmed">>setw(20)>>"Khalid”>>endl;

يكون علي النحو التالييكون علي النحو التالي

Ahmed Ahmed KhalidKhalid

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 27: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

العمليات الحسابية وعمليات 1-11

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

..المسالة المراد برمجتهاالمسالة المراد برمجتهاأوًالO : العمليات الحسابية

ويمكن أن نلخصها في الجدول التاليويمكن أن نلخصها في الجدول التالي

ي�بين الج�دول العملي�ات الحس�ابية المألوف�ة باإلض�افة إلى ي�بين الج�دول العملي�ات الحس�ابية المألوف�ة باإلض�افة إلى العام�ل الخ�امس وه�و عام�ل ب�اقي القس�مة ال�ذي يس�مي العام�ل الخ�امس وه�و عام�ل ب�اقي القس�مة ال�ذي يس�مي modulusmodulus المعاملالمعامل

b

aorba

+C التعبير بلغة +

الرمز التعبير الجبريالحسابي

اسم العملية

a+ba+b+الجمع

a-ba-b-الطرح

a*bab*الضرب

a/b/القسمة

a % bA mod b%باقي القسمة

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 28: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

ثانياO : عمليات المقارنةتج��ري عملي��ات المقارن��ة بين قيم��تين وت��ؤدي إلي تج��ري عملي��ات المقارن��ة بين قيم��تين وت��ؤدي إلي 1 لم�ا ك�انت علي�ة عملي�ة 1 لم�ا ك�انت علي�ة عملي�ة نتيج�ة ص�حيحة أو خط�أ وفق�ا نتيج�ة ص�حيحة أو خط�أ وفق�ا..المقارنة، الجدول التالي يبين ذلكالمقارنة، الجدول التالي يبين ذلك

يح��دث خط��أ قواع��دي عن��دما نض��ع فراغ��ات بين يح��دث خط��أ قواع��دي عن��دما نض��ع فراغ��ات بين الرم����������وز المع����������برة عن العملي����������ات الرم����������وز المع����������برة عن العملي����������ات

أو عن��دما نكتبه��ا بص��ورة أو عن��دما نكتبه��ا بص��ورة >=,<=,==,!=>=,<=,==,!=التالي��ة:التالي��ة:1 عن=> => معكوسة مثلمعكوسة مثل 1 عنبدال بدال <=<=..

b

aorba الرمزالمعنىمثال لذلك

D==Cيساوي==

C!=Dال يساوي= !

C>Dاكبر من<

C<Dاصغر من>

C>=Dاكبر من أو يساوي=<

C<=Dاصفر من أو يساوي=>

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 29: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

ثالثاO : أولويات العمليات

يق��وم م��ترجم اللغ��ة بتط��بيق القواع��د األولوي��ة يق��وم م��ترجم اللغ��ة بتط��بيق القواع��د األولوي��ة المس��تخدمة في الج��بر في العملي��ات الحس��ابية المس��تخدمة في الج��بر في العملي��ات الحس��ابية 1 األتي 1 األتيوعمليات المقارنة وذلك وفقا :: وعمليات المقارنة وذلك وفقا

يتم حس�اب العملي�ات الموج�ودة داخ�ل األق�واس يتم حس�اب العملي�ات الموج�ودة داخ�ل األق�واس1، وإذا ك��انت األق��واس متداخل��ة يتم حس��اب 1، وإذا ك��انت األق��واس متداخل��ة يتم حس��اب أوال أوال1 وإذا ك���انت األق���واس 1 وإذا ك���انت األق���واس األق���واس المتداخل���ة أوال األق���واس المتداخل���ة أوال 1 1 متراص�ة يتم حس�ابها من اليس�ار إلى اليمين فمثال متراص�ة يتم حس�ابها من اليس�ار إلى اليمين فمثال يتم في التعبير التالييتم في التعبير التالي

cout>>(((3+4)%(21/6))+2);cout>>(((3+4)%(21/6))+2);

يتم حس��اب الض��رب والقس��مة وب��اقي القس��مة يتم حس��اب الض��رب والقس��مة وب��اقي القس��مة1 ولهم نفس األولوي��ة ويج��ري حس��اب ه��ذه 1 ولهم نفس األولوي��ة ويج��ري حس��اب ه��ذه ثاني��ا ثاني��ا1 يتم في 1 يتم في العملي��ات من اليس��ار إلى اليمين . فمثال العملي��ات من اليس��ار إلى اليمين . فمثال التعبير التاليالتعبير التالي

cout>>17%3*6/4;cout>>17%3*6/4;–الجزء األول Cأساليب البرمجة بلغة ++

د. عمر أحمد سعيد

Page 30: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

يبين الج��دول الت��الي أولوي��ات العملي��ات الحس��ابية يبين الج��دول الت��الي أولوي��ات العملي��ات الحس��ابية ..وعمليات المقارنةوعمليات المقارنة

العمليات المعنىالتجميعية

من اليسار إلى اليمين

()األقواس

من اليسار إلى اليمين

الضرب،القسمة،باقي القسمة

%,/,*

من اليسار إلى اليمين

+,-الجمع ، الطرح

من اليسار إلى اليمين

<<,>>إدخال، إخراج

من اليسار إلى اليمين

>,>=,<,<=المقارنة

من اليسار إلى اليمين

==,!=المساواة

من اليمين إلى اليسار

=االسناد

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 31: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

Increment and الزيادة والنقصان 1-12Decrement

الزي�ادة أو النقص�ان تع�ني إض�افة أو ط�رح واح�د من المتغ�ير الزي�ادة أو النقص�ان تع�ني إض�افة أو ط�رح واح�د من المتغ�ير علي ال��ترتيب، وكم��ا ه��و معل��وم يمكن أن نع��بر عن ه��ذا علي ال��ترتيب، وكم��ا ه��و معل��وم يمكن أن نع��بر عن ه��ذا :: المفهوم من خالل التعبيرين التاليينالمفهوم من خالل التعبيرين التاليين x=x+1 ; x=x+1 ; x=x-1 ;x=x-1 ;1 أخ�رى للتعب�ير عن الزي�ادة أو النقص�ان ++C++ C تتيح لغ�ةتتيح لغ�ة 1 أخ�رى للتعب�ير عن الزي�ادة أو النقص�ان طرق�ا طرق�ا هيهي

x++ ; // (زيادة بعدية) ++x ; // (زيادة قبلية)

بينم�ا التعب�ير الت�اليبينم�ا التعب�ير الت�الي x=x+1 x=x+1 وهي تع�ادل أو تك�افئ التعب�يروهي تع�ادل أو تك�افئ التعب�يرx=x-1 x=x-1 يعادل أو يكافئ التعابير التاليةيعادل أو يكافئ التعابير التالية x-- ; // x-- ; // ((نقصان بعدينقصان بعدي)) --x ; // --x ; // ((نقصان قبلينقصان قبلي))تنف��ذ معظم ال��برامج ال��تي نس��تخدمها عملي��ات حس��ابية تنف��ذ معظم ال��برامج ال��تي نس��تخدمها عملي��ات حس��ابية

وعملي��ات مقارن��ة ويتح��دد ذل��ك من طبيع��ة المش��كلة أو وعملي��ات مقارن��ة ويتح��دد ذل��ك من طبيع��ة المش��كلة أو ..المسالة المراد برمجتهاالمسالة المراد برمجتها

b

aorba

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 32: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

ونع��ني بالزي��ادة أو النقص��ان القبلي إتم��ام عملي��ة ونع��ني بالزي��ادة أو النقص��ان القبلي إتم��ام عملي��ة الزي���ادة أو النقص���ان أوال ومن ثم تنفي���ذ العملي���ة الزي���ادة أو النقص���ان أوال ومن ثم تنفي���ذ العملي���ة المطلوب���ة س���واء1 ك���انت طباع���ة أو غيره���ا من المطلوب���ة س���واء1 ك���انت طباع���ة أو غيره���ا من العملي�ات ، بينم�ا الزي�ادة أو النقص�ان البع�دي يقتض�ي العملي�ات ، بينم�ا الزي�ادة أو النقص�ان البع�دي يقتض�ي 1 ثم إج��راء الزي��ادة أو النقص��ان 1 ثم إج��راء الزي��ادة أو النقص��ان إتم��ام العملي��ة أوال إتم��ام العملي��ة أوال1 1ثانيا ..ثانيامثال يوضح مفهوم الزيادة القبليةمثال يوضح مفهوم الزيادة القبليةx=5;x=5;cout<<++x; //output :6cout<<++x; //output :6

الن عملي��ة الن عملي��ة 66نج��د أن إخ��راج ه��ذه الش��فرة ه��و نج��د أن إخ��راج ه��ذه الش��فرة ه��و 1 ثم إج��راء عملي��ة طباع��ة قيم��ة 1 ثم إج��راء عملي��ة طباع��ة قيم��ة الزي��ادة تتم أوال الزي��ادة تتم أوال1، ولكن في المثال التالي 1، ولكن في المثال التاليالمتغير ثانيا ::المتغير ثانياx=5;x=5;cout<<x++; //output :5cout<<x++; //output :5

1 ثم من 55تتم عملي�ة طباع�ة قيم�ة المتغ�ير وهي تتم عملي�ة طباع�ة قيم�ة المتغ�ير وهي 1 ثم من أوال أوالبع�د ذل�ك تتم عملي�ة الزي�ادة للمتغ�ير دون طباعته�ا بع�د ذل�ك تتم عملي�ة الزي�ادة للمتغ�ير دون طباعته�ا

55وعليه يكون إخراج الشفرة وعليه يكون إخراج الشفرة

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 33: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

،،اإلجابة علي السؤال هي النفياإلجابة علي السؤال هي النفي

x x هيهيxx ليس لها معني ، قيمةليس لها معني ، قيمة **x**x الن عبارةالن عبارة نفس��ها الن الواح��د ه��و عنص��ر أو قيم��ة محاي��دة نفس��ها الن الواح��د ه��و عنص��ر أو قيم��ة محاي��دة ال ال C C ++++ للض�رب وك�ذلك القس�مة ، وبالت�الي ف�ان لغ�ةللض�رب وك�ذلك القس�مة ، وبالت�الي ف�ان لغ�ة.. تدعم هذا المفهومتدعم هذا المفهوم

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

مفه�وم الض�رب البع�دي والقبلي ؟ مفه�وم الض�رب البع�دي والقبلي ؟++++CCهل ت�دعم لغ�ة هل ت�دعم لغ�ة بأح���د بأح���د ;;x=x*1x=x*1أي ه���ل يمكن أن نع���بر عن اإلج���راء أي ه���ل يمكن أن نع���بر عن اإلج���راء

الطريقين :الطريقين :; **x; **x //// ))ضرب بعديضرب بعدي(( // ; x**// ; x** ))ضرب قبليضرب قبلي((

مفه�وم الض�رب البع�دي والقبلي ؟ مفه�وم الض�رب البع�دي والقبلي ؟++++CCهل ت�دعم لغ�ة هل ت�دعم لغ�ة بأح���د بأح���د ;;x=x*1x=x*1أي ه���ل يمكن أن نع���بر عن اإلج���راء أي ه���ل يمكن أن نع���بر عن اإلج���راء

الطريقين :الطريقين :x** ;x** ; //// ((ضرب بعديضرب بعدي)) **x ; //**x ; // ((ضرب قبليضرب قبلي))

Page 34: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

،،اإلجابة علي السؤال هي النفياإلجابة علي السؤال هي النفيالن طريق�ة الزي�ادة أ و النقص�ان ج�اءت لتقلي�ل عملي�ة التك�رار الن طريق�ة الزي�ادة أ و النقص�ان ج�اءت لتقلي�ل عملي�ة التك�رار ت��دعم ه��ذا ت��دعم ه��ذا CC++++ تخي��ل إذا ك��انتتخي��ل إذا ك��انت ، ،CC++++ والكتاب��ة في لغ��ةوالكتاب��ة في لغ��ة بالص�ورة التالي�ةبالص�ورة التالي�ة ;x=x+4;x=x+4 المفه�وم فأنن�ا نع�بر عن اإلج�راءالمفه�وم فأنن�ا نع�بر عن اإلج�راءx+++++;x+++++; لكن لحس��ن الح��ظ تمتل��ك لغ��ةلكن لحس��ن الح��ظ تمتل��ك لغ��ة ++++CC ط��رق من ط��رق من1 نع��بر عن اإلج��راء 1 نع��بر عن اإلج��راءاج��ل االختص��ار وتقلي��ل التك��رار فمثال اج��ل االختص��ار وتقلي��ل التك��رار فمثالx=x+10;x=x+10; بالص�ورة التالي�ةبالص�ورة التالي�ة x+=10;x+=10; وبص�ورة عام�ة نع�بر وبص�ورة عام�ة نع�بروينطب�ق ه�ذا وينطب�ق ه�ذا ;x+=a;x+=a بالص�ورة التالي�ةبالص�ورة التالي�ة ;x=x+a;x=x+a عن اإلج�راءعن اإلج�راء

االختص�ار علي كاف�ة العملي�ات األخ�رى مث�ل الط�رح والقس�مة االختص�ار علي كاف�ة العملي�ات األخ�رى مث�ل الط�رح والقس�مة ::والضرب وباقي القسمة وذلك من خالل األتيوالضرب وباقي القسمة وذلك من خالل األتي;x-=a;x-=a بالصورة التاليةبالصورة التالية ;x=x-a;x=x-a نعبر عن اإلجراءنعبر عن اإلجراء;x*=a;x*=a بالصورة التاليةبالصورة التالية ;;x=x*ax=x*a نعبر عن اإلجراءنعبر عن اإلجراء;x/=a;x/=a بالصورة التاليةبالصورة التالية ;x=x/a;x=x/a نعبر عن اإلجراءنعبر عن اإلجراء–الجزء األول Cأساليب البرمجة بلغة ++;x%=a;x%=a بالصورة التاليةبالصورة التالية ;x=x%a;x=x%a نعبر عن اإلجراءنعبر عن اإلجراء

د. عمر أحمد سعيد

مفهوم الزيادة أو النقصان بقيمة غير مفهوم الزيادة أو النقصان بقيمة غير ++++CCهل تدعم لغة هل تدعم لغة 1 هل يمكن أن نعبر عن اإلجراء 1 هل يمكن أن نعبر عن اإلجراء الواحد ؟ مثال ;;x=x+2x=x+2الواحد ؟ مثال

بأحد الطريقين :بأحد الطريقين : XX++++++; ; ++++++ ; x ; x

مفهوم الزيادة أو النقصان بقيمة غير مفهوم الزيادة أو النقصان بقيمة غير ++++CCهل تدعم لغة هل تدعم لغة 1 هل يمكن أن نعبر عن اإلجراء 1 هل يمكن أن نعبر عن اإلجراء الواحد ؟ مثال ;;x=x+2x=x+2الواحد ؟ مثال

بأحد الطريقين :بأحد الطريقين : XX++++++ ; ; ++++++x ; x ;

Page 35: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 5-1مثـــال )1 ووضح إخراجه أدرس البرنامج التالي جيدا

البرنامج يوضح تأثير الزيادة القبلية والبعدية للمتغيرx

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>void mainvoid main()(){{ int x=10;int x=10; cout<<x<<endl;cout<<x<<endl; cout<<++x<<endl;cout<<++x<<endl; cout<<x<<endl;cout<<x<<endl; cout<<x++<<endl;cout<<x++<<endl; cout<<x<<endl;cout<<x<<endl; getch();getch();}}

اإلخراجاإلخراج

Page 36: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 6-1مثـــال )وضح إخراج

البرنامج

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>void mainvoid main()(){{ int x=10;int x=10; cout<<x<<endl;cout<<x<<endl; x+=5;x+=5; cout<<x<<endl;cout<<x<<endl; x-=3;x-=3; cout<<x<<endl;cout<<x<<endl; x/=4;x/=4; cout<<x<<endl;cout<<x<<endl; x*=7;x*=7; cout<<x<<endl;cout<<x<<endl; x%=6;x%=6; cout<<x<<endl;;cout<<x<<endl;; getch();getch();}}

اإلخراجاإلخراج

Page 37: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 7-1مثـــال )يقوم بحساب مساحة الدائرة ++C أكتب برنامجاO بلغةعلماO بان مساحتها تحسب وفقاr O التي نصف قطرها

. للمعادلة

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>const float pi=3.14;const float pi=3.14;void mainvoid main()(){{

float Area , r;float Area , r; cout<<"\nEnter the radius ";cout<<"\nEnter the radius "; cin>>r;cin>>r; Area= pi*r*r;Area= pi*r*r; cout<<"Area ="<<Area; cout<<"Area ="<<Area; getch();getch();}}

2rarea

اإلخراجاإلخراج

Page 38: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 8-1مثـــال )يقوم بحساب مساحة أي ++C أكتب برنامجاO بلغة

علماO بان b وقاعدته aمثلث قائم الزاوية ارتفاعه. مساحة المثلث تحسب وفقاO للمعادلة التالية

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>void mainvoid main()(){{

float Area, a, b;float Area, a, b; cout<<"\nEnter the value of a :";cout<<"\nEnter the value of a :"; cin>>a;cin>>a; cout<<"\nEnter the value of b : ";cout<<"\nEnter the value of b : "; cin>>b;cin>>b; Area= a*b/2;Area= a*b/2; cout<<"Area = "<<Area;cout<<"Area = "<<Area; getch();getch();}}

abarea2

1

اإلخاإلخراجراج

Page 39: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 9-1مثـــال )يقوم بحساب مساحة أي ++C أكتب برنامجاO بلغة

علماO بان مساحة المثلث تحسب a,b,ca,b,c مثلث أضالعه. وفقاO للمعادلة التالية

حيث

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>void mainvoid main()(){{ float Area, a, b, c, s;float Area, a, b, c, s; cout<<"\nEnter the value of a : ";cout<<"\nEnter the value of a : "; cin>>a;cin>>a; cout<<"\nEnter the value of b : ";cout<<"\nEnter the value of b : "; cin>>b;cin>>b; cout<<"\nEnter the value of c : ";cout<<"\nEnter the value of c : "; cin>>c;cin>>c; s= (a + b + c)/2;s= (a + b + c)/2; Area= sqrt(s*(s-a)*(s-b)*(s-c));Area= sqrt(s*(s-a)*(s-b)*(s-c));

cout<<"Area = "<<Areacout<<"Area = "<<Area;; getch();getch();}}

اإلخاإلخراجراج

))()(( csbsassarea 2

cbas

Page 40: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

اس�تخدمنا اح�د ال�دوال المكتبي�ة الج�اهزة في اللغ�ة اس�تخدمنا اح�د ال�دوال المكتبي�ة الج�اهزة في اللغ�ة ال�تي تق�وم بحس�اب الج�زر ال�تي تق�وم بحس�اب الج�زر sqrt(n)sqrt(n) وهي الدال�ةوهي الدال�ة

ال�تربيعي للع�دد وس�وف ي�أتي ش�رح ال�دوال المكتبي�ة ال�تربيعي للع�دد وس�وف ي�أتي ش�رح ال�دوال المكتبي�ة الج�اهزة من خالل دراس�ة ال�دوال في ه�ذا الكت�اب الج�اهزة من خالل دراس�ة ال�دوال في ه�ذا الكت�اب

وتحت��اج ه��ذه الدال��ة إلي المل��ف وتحت��اج ه��ذه الدال��ة إلي المل��ف ب��إذن الل��ه تع��اليب��إذن الل��ه تع��الي<math.h><math.h> الدليليالدليلي

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

Page 41: 1-2 الملف الدليلي

Omer Ahmed SaeedOmer Ahmed Saeed

( 10-1مثـــال ) أكتب إخراج البرناامج التالي

–الجزء األول Cأساليب البرمجة بلغة ++ د. عمر أحمد سعيد

#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>void mainvoid main()(){{

cout<<"*\n**\n***\n****\n*****";cout<<"*\n**\n***\n****\n*****"; getch();getch();}}

اإلخاإلخراجراج