بسم هللا الرحمن الرح م النسخة الثان ة 4134/33 مازن الرونة للتواصل هاتف :

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "بسم هللا الرحمن الرح م النسخة الثان ة 4134/33 مازن الرونة للتواصل هاتف :"

Transcript

1 بسم هللا الرحمن الرح م النسخة الثان ة 4134/33 1

2 الفهرس الصفحة الموضوع المقدمة اإلهداء لمحة تار خ ة عشر نصابح للنجاح * المتغ رات وأنواع الب انات المتغ رات واالعالن عنها وتسم تها الشكل العام لبرنامج ++c *دوال اإلدخال واإلخراج ف لغة ++c *المعامالت الحساب ة والمنطق ة ومعامالت الز ادة والنقصان *الجمل الشرط ة ف ++c جملة الشرط if جملة الشرط else) (if جملة الشرط( if (if else جملة الشرط (switch) *الدوارات loops الدوارة for الدوارة while الدوارة do while *المصفوفات arrays المصفوفات األحاد ة المصفوفات الرمز ة المصفوفات الثناب ة خصابص المصفوفة المربعة الموضوع *السجالت structures *الدوال functions الدوال المكتب ة دوال المستخدم أمثلة متنوعة على ما سبق *المؤشرات pointers اإلعالن عن المؤشرات العمل ات على المؤشرات المؤشرات والمصفوفات المؤشرات والدوال *السالسل الرمز ة strings اإلعالن عن السالسل الرمز ة الدوال الت تتعامل مع السالسل الرمز ة الدالة strlen() الدالة strcat() الدالة strcpy() الدالة strcmp() الدالة strlwr() الدالة strupr() برامج عامة الملحق األول نماذج اختبارات الختام الصفحة

3 3

4 املقدمة: الحمد هلل رب العالم ن والصالة والسالم على س د الخلق أجمع ن وبعد قمت بطباعة هذا الكتاب ف لغة البرمجة ++c نظرا للحاجة الملحة لكتاب ساعد زمالب الطالب والمبتدب ن ف فهم البرمجة باستخدام هذه اللغة وعلى الرغم من كثرة المراجع ف هذا المجال إال أنن لم أجد المرجع المناسب الذي توافق مع مقرر جامعة ذمار وذلك ألن المؤلف ن لتلك المراجع درسونها ف جامعات أخرى ودول أخرى وف مراحل دراس ة مختلفة لذلك قمت بجمع وشرح البرامج الت درستها ف مستوى أول وقد حاولت بذل ما أستط ع من الجهد ف سب ل تحق ق الفابدة العامة والخاصة ل ولزمالب الطالب باإلضافة الى بعض أسبلة امتحانات مقرر المادة ف العمل والنظري وال أمانع من التعد ل على هذا الكتاب أو اإلضافة ال ه من قبل أي شخص ملك الخبرة الكاف ة ف لغة ++c وذلك لتطو ر النسخة القادمة من هذا الكتاب وعلى كل من جد ف رأ ه تعد ل أو إضافة الى هذا الكتاب التواصل مع على الرقم التال : أو البر د اإللكترون : mazen_rawna2007@yahoo.com هذا الكتاب ليس جماني اسم الكتاب: الطريق السهل الحتراف البرمجة بلغة ++c الكاتة: مازن عباس عبدهللا الرونة - املهنة: طالب ف جامعة ذمار- كل ة الحاسبات ونظم المعلومات - مستوى ثان قسم العلوم سعر الكتاب : دعوة صاحلة يف ظهر الغية 4

5 اإلهداء:- أهدي هذا العمل املتواضع اىل: والدي ووالدت أطال هللا بقابهما أساتذة مادة البرمجة د. خالد الحس ن )مدرس النظري( أ. خالد الطاهري )مدرس العمل - أ. اسم ن المخالف )مدرس العمل -الفصل األول( كادر التدر س ف كل ة الحاسبات الى كل من علمن حرفا زمالب الطالب والطالبات كل من حاول تعلم البرمجة الفصل الثان (

6 6

7 "لمحة تار خ ة":- ال خفى على المتتبع لتطور لغات البرمجة أنها ومنذ بناء أول حاسوب الكترون قد مرت بمراحل تطور هابلة. فمنذ الحرب العالم ة الثان ة تم استخدام الحاسوب إلجراء العمل ات الحساب ة المعقدة فقد استخدمت لغة اآللة بإ عازاتها األول ة لكتابة أول برنامج قوم بهذه الحسابات وكانت اإل عازات تكتب بلغة األصفار والواحدات ones) (zeros & وبعدها بفترة قص رة تم تطو ر لغة اآللة الى لغة كانت إ عازاتها أقرب الى اللغة اإلنجل ز ة مما ساعد على سهولة كتابة البرامج المعقدة أطلق على اللغة الجد دة)لغة التجم ع( وبعدها ظهر ج ل جد د من اللغات مثل لغة (BASIC) ولغة (BASCAL) أطلق عل ها لغات المستوى العال وف سبع ن ات القرن العشر ن ظهرت لغة C لتشكل مع لغة (BASCAL) أسلوبا جد دا ف كتابة البرامج أطلق عل ها بالبرمجة المه كلة وف عام 1981 تم تصم م لغة ++C المنبثقة من لغة C وأصبحت لغة ++C من أهم اللغات واسعة االنتشار ف ذلك الوقت وتعتبر لغة ++C الجسر الرابط ب ن لغات المستوى الواطا. 1- اجعل من البرمجة مادة ممتعة تلجأ ال ها ف وقت الفراغ أو كلما أصبت بالضجر والبد من فهم موضوعات البرمجة أوال بأول. 2- ال تقل ال أستط ع بل قل سأحاول مهما كان البرنامج الذي طلب منك صعبا. 3- عند البدء ف البرنامج ركز على المسألة المطلوب حلها وافهمها ج دا وقم بتجزبة المشكلة الكب رة الى عدة مشاكل صغ رة ثم قم بحل كل مشكلة صغ رة على انفراد. 4- ركز على طر قة حل المسألة واذا تعددت األدوات ال تهتم أي األدوات ستستخدم اذا كانت تؤدي الغرض المطلوب وال تهتم بطر قة كتابة البرنامج بل ركز على حل المسألة ببساطة 5- اذا وجدت صعوبة ف حل مسألة ما حاول مرات أخرى وبطرق مختلفة وإذا أخبرك المترجم بخطأ ما حاول معرفة الخطأ واجعل من المحاوالت متعة وتشو ق ال اكراه. 6- اذا عجزت عن حل مسألة عجزا تاما فال مانع من إستشارة زمالبك أو من هم أكثر خبرة منك وال تأخذ ش ء لم تفهمه بل ناقش الش ء حتى تفهمه وال تتخذ مساعدة أحدهم مالذا لك كلما طلب منك كتابة برنامج بل جوز المساعدة ف حاالت الضرورة فقط وحاول االعتماد على نفسك ف كل ش ء. 7- اذا وجدت طر قة أخرى للحل ال تترك طر قتك ألن ذلك تسبب ف فقدان الثقة بالنفس فلكل مبرمج طر قته ف البرمجة. 8- ال تتردد ف كتابة وتجربة أي برنامج خطر ف بالك مهما كان صغ را أو كب را فال وجد أفكار ساذجة أو مستح لة فهذا أسهل طر ق لإلبداع. 9- ثق بقدراتك وال تسمح ألي ش ء أن هز ثقتك بنفسك. 11 ن- تابج االمتحانات ال تعبر بالضرورة عن مستو ات الطالب - خاصة ف البرمجة- بل مقدار العمل والثقة بالنفس واالعتماد على النفس وأخ را القدرة على حل المسابل ه الت تحدد مستو ات الطالب. 7

8 عند تعلم أي لغة جد دة- طب ع ة كانت أم لغة حاسوب فإن ذلك تطلب معرفة أساس ات وقواعد تلك اللغة مثل الحروف األبجد ة وقواعد القراءة والكتابة وك ف ة دمج الحروف مع بعها لتكو ن الكلمة وك ف ة ص اغة الجمل - أساس ات لغة البرمجة ++c 1- الحروف :letters تشمل حروف األبجد ة اإلنجل ز ة الكب رة والصغ رة {A,B,C,,,,Z,a,b,c,,,,z} 2- األرقام :numbers تشمل األرقام العشر ة {9,...0,1,2} 3- الرموز الخاصة :special characters تشمل الرموز الموضحة ف الجدول التال 4- الكلمات المحجوزة :reserve words وه كلمات معرفة مسبقا لدى مترجم لغة ++c وال جوز للمبرمج استخدام هذه الكلمات ف غرض غ ر المخصص لها 8

9 المتغ رات :variables المتغ رات ه أسماء لمواقع ف الذاكرة تستخدم للداللة على ق مة مع نة تستخدم داخل البرنامج وكل متغ ر جب أن علن عنه قبل إستخدامه ف البرنامج -اإلعالن والتصر ح عن المتغ رات :- تم اإلعالن عن المتغ رات أوال بتحد د نوع المتغ ر هل هو من النوع الحق ق real numbers أو الصح ح integer numbers أو الطب ع natural numbers أو الحرف characters وغ رها من األنواع ولكل نوع حجم محدد مكن معرفته من خالل العامل( sizeof(type ثم بتسم ة المتغ ر بإسم خضع لشروط التسم ة التال ة :- 1- أن بدأ بأحد الحروف األبجد ة الكب رة أو الصغ رة أو الرمز _ underscore فال جوز أن بدأ االسم برقم 2- أن ال حتوي إسم المتغ ر على رمز من الرموز مثل ) / * - < > + : " # $ % )& وغ رها من الرموز 3- أن ال حتوي اسم المتغ ر على الفراغ 4- أن ال ز د طول اسم المتغ ر عن 32 رمز 5- أن ال كون إسم المتغ ر من الكلمات المحجوزة االستخدام لإلعالن عن متغ رات من النوع الصح ح لإلعالن عن متغ رات من النوع الكسري لإلعالن عن متغ رات من النوع الصح ح أكبر من لإلعالن عن متغ رات من النوع الكسري أكبر من لإلعالن عن المتغ رات الرمز ة أمثلة عن التصر ح عن المتغ رات المثال int x; float x; double x; long int x; long float x; char x; التعب ر int float double long int long float char أ- اإلعالن عن متغ ر من النوع الصح ح; x int ب-من النوع الكسري; x float ج- من النوع الصح ح أكثر من ;x long int د- من النوع الكسري أكثر من ;x long float أمثلة إضاف ة اإلدخال المباشر 9

10 1- int x=5; 2- float x= long int x= long float x= double x=1000 أما اذا كان المتغ ر ثابت وال نر د تغ ر ق مته أبدا ف تم االعالن عنه باستخدام الكلمة const ثم تحد د نوع المتغ ر وعند تغ ر ق مته بأي شكل ال تم تنف ذ البرنامج و تم االعالن عن الثابت بايπ كما ل pi=3.14 const float #include<header files.h> {program body} ++c الشكل العام للبرنامج المكتوب بلغة ح ث include :ه جمله لتضم ن المكتبات )ملفات الترو سة )header files والمكتبات تستخدم لتعر ف الدوال المستخدمة ف البرنامج و :main ه الدالة الرب سة الت كتب البرنامج بداخلها والت تم تحم لها الى الذاكرة الرب س ة ram عند تشغ ل البرنامج أو العمل عل ه أما :program body هو جسم البرنامج أي الدوال والتعل مات الت كتبها المبرمج ل قوم البرنامج بالعمل المطلوب والجدول التال لتوض ح أهم المكتبات واستخدامها استخدامها لتعر ف دوال اإلدخال واإلخراج input & output functions لتعر ف دوال نظام dos لتعر ف دوال الر اض ات لتعر ف دوال السالسل الحرف ة لتعر ف دوال اإلدخال واإلخرج الخاصة بلغة c لتعر ف دوال الرسومات لتعر ف دوال الوقت اسم المكتبة iostream conio math string stdio graphics time وسم ت المكتبة iostream بهذا اإلسم ح ث input=i وoutput=o وstream تعن نهر أي نهر تعل مات اإلدخال واإلخراج ومن دوال اإلدخال واالخراج التابعة لمكتبة iostreamه دالة اإلدخال cin ودالة اإلخرج coutومن الدوال التابعة لمكتبة conio دالة تثب ت شاشة المخرجات getch() وكذلك دالة مسح الشاشة clrscr() ومن الدوال التابعة لمكتبة math دالة القوة pow(x,y) وكذلك دالة الجذر الترب ع sqrt(x) ومن الدوال التابعة لمكتبة stdio دالة اإلدخال scanf وكذلك دالة االخراج printf 11

11 تستخدم دوال اإلدخال إلدخال ق مة متغ ر مع ن ثم إجراء العمل ات الحساب ة والمنطق ة عل ه ودوال اإلدخال ه cin لإلدخال غ ر المرتب وتقع هذه الدالة ضمن المكتبة iostream و كون الشكل العام لهذه الدالة كما ل scanf هو إسم متغ ر مع ن وكذلك الدالة variable ح ث cin>>variable وتقع ضمن المكتبة stdio والدالة الت تهمنا ف اإلدخال ه الدالة cin أما ف اإلخراج)الطباعة( سنستخدم الدالة cout وشكلها العام كما ل cout<<variable ولطباعة الجمل التعر ف ة نستخدم الدالة cout<< ثم نكتب الجمل المراد طباعتها على شاشة المخرجات ب ن عالمت تنص ص مزدوجة "mazen abas" مالحظة: البد أن تنته كل تعل مة (instruction) c++ بفارزة منقوطة ) ; ( ف البرنامج المكتوب بلغة *أول برنامج و قوم بطباعة أي جملة world" "welcome to ++c {cout<<"welcome to c++ world";} أوال قمنا بتضم ن المكتبة iostream لتعر ف الدالة cout ثم فتحنا الدالة الرب س ة main وكتبا البرنامج وهو دالة cout ثم الجملة المطلوب طباعتها ب ن عالمت تنص ص مزدوجة ثم أنتهى البرنامج بفارزة منقوطة وأغلقنا الدالة الرب س ة main وعند تنف ذ البرنامج على المترجم تكون المخرجات كما ف الشكل التال 11

12 *برنامج قوم بقراءة رقم صح ح وطباعته واإلدخال مباشر)عند التعر ف( {int x=5; cout<<x;} وعند تنف ذ الكود على المترجم تكون المخرجات كما ل : *برنامج إلدخال رقم حق ق عن طر ق المستخدم وطباعته {float x; cout<<"enter the value of x"; cin>>x; cout<<"the number is "<<x;} أوال قمنا بتعر ف عدد x من النوع الحق ق ثم قمنا بطباعة جملة تعر ف ة تأمر المستخدم بإدخال ق مة x بإستخدام الدالة cout ثم استخدمنا جملة اإلدخال cin إلدخال ق مة المتغ ر x ثم استخدمنا جملة الطباعة cout لطباعة ق مة x المدخلة وعند إدخال الق مة 7.5 تكون المخرجات كما ل : 12

13 *برنامج قوم بقراءة حرف من األبجد ة اإلنجل ز ة وطباعته {char x='a'; cout<<x;} A عند تنف ذ البرنامج على المترجم تكون المخرجات كما ل وبنفس الطر قة ف حالة اإلدخال عن طر ق المستخدم المعامالت الحساب ة ف لغة ++c ه نفس معامالت الر اض ات ح ث ستخدم المعامل "+" للجمع مثل x=a+b والمعامل "-" ستخدم للطرح مثل x=a-b والمعامل "*" ستخدم للضرب x=a*b والمعامل "/" ستخدم للقسمة مثل x=a/b وف جم ع الحاالت السابقة استخدمنا معامل اإلسناد"=" إلسناد الق م للمتغ ر x أما المعامالت المنطق ة ه أكبر من مثل a>b ح ث a أكبر من b وكذلك المعامل أصغر من مثل a<b ح ث a أصغر من b أما معامالت الز ادة مثل ++a و a++ و 1=+a وa=a+1 وف جم ع الحاالت السابقة الز ادة بمقدار 1 أما 2=+a و a=a+2 وتكون الز ادة بمقدار 2 وهكذا جدول العمل ات الحساب ة واألدوات المستخدمة ف ها العمل ة للجمع للطرح للقسمة باق القسمة للضرب للز ادة بمقدار واحد للنقصان بمقدار واحد األداة + - / % *

14 أولو ة تنف ذ العمل ات الحساب ة 1- األقواس 2- األسس 3- الضرب والقسمة وباق القسمة أ هما تأت أوال من ال سار 4- الجمع والطرح أ هما أت أوال من ال سار المعامالت العالق ة العمل ة Y من Xأكبر Y أصغر من X Y أكبر من أو ساوي X Y أصغر من أو ساوي X Y ساوي X Y ال ساوي X الرمز الر اض X>Y X<Y X Y X Y X=Y X Y الرمز ف X>Y X<y X>=Y X<=Y X=Y X!=Y الحاسوب أما أولو ة العمل ات العالق ة فه بنفس ترت ب الجدول من أعلى الى أسفل المعامالت المنطق ة العمل ة AND OR NOT األداة)الرمز( &&! 14

15 المعامالت الخاصة بالبت: العامل )الرمز( الحدث & AND OR ^ XOR ~ ONE'S COMPLEMENT >> SHIFT RIGHT << SHIFT LEFT الثوابت الرمز ة المستخدمة ف عمل ات االخراج العمل والوصف ارجاع الق مة المطبوعة مسافة واحدة الى الخلف للنزول الى سطر جد د ز ح الق مة) 8 مسافات أفق ة( بعد آخر عمل ة طباعة طباعة عالمة االقتباس المزدوجة طباعة عالمة االقتباس المفردة طباعة خط مابل صوت تنب ه إلظهار عالمة االستفهام الرمز \b \n \t \" \' \\ \a \? *برنامج قوم بإدخال عدد ن a,b عن طر ق المستخدم ثم جمعهما و سند ناتج الجمع للمتغ ر c و طبع ناتج الجمع {int a,b,c; cout<<"enter a : "; cin>>a; cout<<"enter b : "; cin>>b; c=a+b; cout<<"the sum is "<<a<<" + "<<b<<"= "<<c;} 15

16 *برنامج قوم بإدخال عدد ن x&y ثم جمعهما و ضربهما و طبع و نقص من ق مة x بمقدار 1 و ز د ق مة y بمقدار 1 و طبع الق مت ن الجد دة {int x,y; cout<<"enter x : "; cin>>x; cout<<"enter y : "; cin>>y; cout<<"x+y="<<x<<"+"<<y<<" = "<<x+y; cout<<"\nx*y="<<x<<"*"<<y<<" = "<<x*y; x--; y++; cout<<"\nthe new x= "<<x; cout<<"\nthe new y= "<<y;} 1- جملة الشرط if :إذا تحقق الشرط تم تنف ذ ما بعد الشرط وإذا لم تحقق نتقل المعالج الى التعل مة التال والشكل العام هو statement; if(condition) ح ث : if جملة الشرط و condition :الشرط المطلوب تحققه لتنف ذ ما بعده و :statement التعل مة الت تم تنف ذها إذا تحقق الشرط 16

17 large مثال: برنامج إلدخال رقم صح ح وإذا كان الرقم أكبر من 11 وإن لم كن كذلك توقف البرنامج طبع {int y; cout<<"enter the value of y : "; cin>>y; if(y>10) cout<<"large";} مكن أن تكرر استخدام if بقدر الحاجة ف برنامج واحد كما ف المثال وهو برنامج قوم بإدخال رقم و ختبرأذا كان أصغر من 11 طبع "small" وإذا كان الرقم ساوي 11 طبع "equal" وإذا كان الرقم أكبر من 11 طبع "large" وعند تعدد جمل if تم اختبار جم ع الشروط وال توقف التنف ذ عند تحقق أحدها {int y; cout<<"enter the value of y : "; cin>>y; if(y<10) cout<<"small"; if(y==10) cout<<"equal"; if(y>10) cout<<"large"; } إذا تحقق شرط if تم تنف ذ التعل مة الت تل ها الى الفارزة المنقوطة ; )تعل مة واحدة فقط( وإذا أردنا تنف ذ عدة تعل مات معا فإننا نجعلها داخل حاصرت ن {instructions} وكذلك مكن أن تتداخل جمل والمثال التال وهو if ف نفس البرنامج وذلك ف حالة تعدد الشروط 17

18 *برنامج قوم بإدخال عدد صح ح و ختبر شرط ن األول إذا كان عدد موجب وإذا تحقق الشرط األول ختبر الشرط الثان وهو هل هو عدد زوج إذا تحقق الشرطان طبع جملة "true" {int x; cout<<"enter the number : "; cin>>x; if(x>=0) {if(x%2==0) cout<<"true";}} و مكن االستغناء عن if المتداخلة بإستخدام المعامل && if(x>=0 && x%2==0) و كون الشرط كما ل 4- جملة الشرط else) if ):تقوم هذه الجملة الشرط ة باختبار شرط مع ن إذا تحقق الشرط تم تنف ذ التعل مة الت بعد if وإذا لم تحقق الشرط تم تنف ذ التعل مة الت بعد else الشكل العام لجملة else) (if if(condition) statement1 else statement2 ح ث : condition شرط مع ن و :statement1 التعل مة الت تم تنف ذها إذا تحقق الشرط وstatement2 : التعل مة الت تم تنف ذها إذا لم تحقق الشرط و كون عدد مرات استخدام if ف حالة استخدام else بعدد الشروط مطروح منه واحد والبرنامج التال مثال لجملة else) (if *برنامج قوم بإخال عدد صح ح و ختبر إذا كان العدد زوج طبع " even "وإذا كان فردي طبع" odd " {int x; cout<<"enter the number : "; cin>>x; if(x%2==0) cout<<"even"; else cout<<"odd";} 18

19 *برنامج قوم بإدخال عدد و ختبر العدد إذا كان موجب طبع" positive " وإذا كان العدد سالب طبع" negative " {int x; cout<<"enter the number : "; cin>>x; if(x>=0) cout<<"positive"; else cout<<"negative";} 5- جملة الشرط if) (if else تشبه else) (if تقر با ف عملها والشكل العام لجملة( if (if else كما ل : if(condition1) statement1; else if(condition2) statement2; else statement3; ح ثcondition1 هو الشرط األول وstatement1 ه التعل مة الت تم تنف ذها إذا تحقق الشرط األول وcondition2 هو الشرط الثان وstatement2 ه التعل مة الت تم تنف ذها إذا تحقق الشرط الثان أما statement3 فه التعل مة الت تنفذ إذا لم تحقق أحد الشرط ن السابق ن والبرنامج التال مثال لجملة( if (if else *برنامج قوم بإدخال عدد ن x & y ثم قارن ب ن العدد ن هل هما متساو ان أم أن أحدهما أكبر من اآلخر {int x,y; cout<<"enter the value of x : "; cin>>x; cout<<"enter the value of y : "; cin>>y; if(x>y) cout<<"x is larger then y because "<<x<<">"<<y; else if(x<y) cout<<"x is smaller then y because "<<x<<"<"<<y; else cout<<"x is equal y because "<<x<<"="<<y;} 19

20 4- جملة الشرط)اإلختبار(( switch ) :إن عمل جملة switch مشابه لعمل جملة (if switch مع قل ل من السهولة الت ستظهر ف بعض األمثلة أما الشكل العام لجملة else) switch(variable) فهو كما ل {case 1:statement1;break; case2:statement2;break; default:statement3;break;} ح ثvariable متغ ر من النوع الصح ح أو الحرف وcase1 ه شرط أو ق مة مع نة للمتغ ر وstatement1 ه التعل مة الت ستنفذ ف حالة تحقق الشرط األولcase1 و default فه شرط معناه إذا لم تحقق أي من الشروط السابقة أماbreak فه تستخدم للخروج من جملة switch ف حالة تحقق أي حالة من الحاالت السابقة واألمثلة كما ل *برنامج قوم بإدخال عدد صح ح من 1 الى 9 عن طر ق المستخدم و طبع الرقم بالحروف اإلنجل ز ة وإذا كان خارج هذا المدى طبع" undefined " هناك أداة شرط أخرى وه كما ل {int x; cout<<"enter the value of x : "; cin>>x; switch(x) {case 1:cout<<"one";break; case 2:cout<<"two";break; case 3:cout<<"three";break; case 4:cout<<"four";break; case 5:cout<<"five";break; case 6:cout<<"six";break; case 7:cout<<"seven";break; case 8:cout<<"eight";break; case 9:cout<<"nine";break; default:cout<<"undefined";break;}} 21 condition? statement1 : statement2;

21 إذا تحقق الشرط تم تنف ذ statement1 والبرنامج التال مثال على هذه األداة وإذا لم تحقق الشرط تم تنف ذ statement2 *برنامج قوم بإدخال عدد ن x & y ثم قارن ب نهما أ هما أكبر {int x,y; cin>>x>>y; x>y? cout<<"x > y" : cout<<" y > x";} المبرمج ف تكراره الدوارات ه جمل تستخدم لتكرار إجراء محدد رغب وه ثالث جمل ه while) (for while do الدوارة :- for ولها حد أدنى وحد أعلى ومقدار ز ادة أو نقصان محدد وشكلها العام كما ل : -1 for(i=a;i<b;i++) statement; ح ث a هو الحد األدنى وb هو الحد األعلى وstatement ه التعل مة المرغوب ف تكرارها و++ i مقدار الز ادة بمقدار 1 وقد تكون الز ادة بمقدار 1 بعدة أشكال منها ++i أو 1=+i أو i++ وكذلك النقصان بمقدار -- 1 i أوi-=1 أو -- i وقد تكون الز ادة بمقدار 2 أو 3 أو بمقدار ما تر د والبرنامج التال مثال للدوارة for وهو برنامج قوم بطباعة األعداد الزوج ة من 1 الى 111 {for(int i=1;i<=100;i++) if(i%2==0) cout<<i<<" ";} 21 ف المثال السابق الحد األدنى هو 1 ح ث 1=i والحد األعلى هو 111 ألن 100=>i ومقدار الز ادة هو 1 ح ث ++i و بدأ البرنامج من 1 و ختبر هل العدد زوج أم فردي فال طبع الرقم 1 ثم زداد بمقدار 1 و كون 2=i و ختبر العدد 2 فهو زوج ف طبعه وهكذا حتى صل إلى 111 وتكون شاشة المخرجات كما ل :

22 *برنامج سمح بإدخال 31 أرقام و ختبر كل عدد هل هو زوج أم فردي {int x,i; for(i=1;i<=10;i++) {cout<<"enter the number : "; cin>>x; if(x%2==0) cout<<"even\n"; else cout<<"odd\n";} } وكما هو واضح ف المثال السابق إذا أردنا تكرار أكثر من تعل مة البد من وضع التعل مات المطلوب تكرارها ب ن حاصرت ن{ instructions } و مكن أن تتداخل الدوارة for وعندئذ تسمى for المتداخلة كما ف البرنامج التال : for *برنامج طبع األرقام من 3 الى 31 المتداخلة خمس مرات كل مرة ف سطر جد د بإستخدام {for(int i=0;i<=4;i++) {for(int j=1;j<=10;j++) {cout<<j<<" ";} cout<<"\n";} } ظهر ف البرنامج السابق أن الدوارة الثان ة j=1;j<=10;j++) for(int تقوم بطباعة األعداد من 3 الى 31 ف كل مرة تنفذ الدوارة األولى ح ث أن الدوارة الثان ة تابعة لألولى وعند تنف ذ الكود السابق على المترجم تكون المخرجات كما ف الشكل التال : 22

23 1 *برنامج طبع األرقام من 111 تنازل ا الى عند تنف ذ الكود السابق تكون شاشة المخرجات كما ل {int i; for(i=100;i>0;i--) cout<<i<<" ";} إدخال for ف دوارة ال نهاب ة for(;;) {statement;} الدوارة while لها حد أدنى تم تحد ده قبل الوصول الى الدوارة ولها حد أعلى ومقدر ز ادة أو نقصان والشكل العام لها كما ل int j=a; while(condition) {statement; j++;} -2 23

24 ح ث الحد األدنى j=a و statement ه التعل مة أو التعل مات المطلوب تكرارها ومقدار الز ادة ++j 1 *برنامج طبع األحرف اإلنجل ز ة الكب رة من A الى Z {char x='a'; while(x<='z') {cout<<x<<" "; x++;} } عند تنف ذ الكود على المترجم تكون المخرجات كما ل : while *برنامج للتحو ل من النظام العشري الى النظام الثناب باستخدام {int x; cin>>x; while(x>0) {cout<<x%2; x=x/2;}} إدخال while ف دوارة ال نهائ ة تم بالطر قة التال ة int a=1; while(a>0) {statement; a++;} مالحظة: تستخدم التعل مة التال : break; للخروج من أي دوارة كما ف البرنامج 24

25 *برنامج الحاسبة سمح بإجراء عدد ال نهائ من العمل ات الحساب ة الالنهائ ة باستخدام while #include<conio.h> {int i=1,x,y; char a,b; while(i>0) {cout<<"enter the first number : "; cin>>x; cout<<"enter the operation : "; cin>>a; cout<<"enter the second number : "; cin>>y; switch(a) {case '+':cout<<x+y<<"\n";break; case '-':cout<<x-y<<"\n";break; case '*':cout<<x*y<<"\n";break; case '/':cout<<x/y<<"\n";break; default: cout<<"undefined\n";break;} cout<<"do you want to continue? (Y/N)"; cin>>b; if(b=='y') {clrscr();continue;} else {cout<<"goodboy";break;} } } الدوارة :do-while تقوم هذه الدوارة بنفس العمل الذي تقوم به while وما م زها أنه تم تنف ذ العمل المطلوب مرة واحدة على األقل قبل إختبار الشرط والشكل العام لها كما ل : do {statement;} while(condition);

26 *برنامج قوم بإدخال عدد وإذا كان أصغر من 111 طبع األرقام من الرقم المدخل الى 111 وإذا كان أكبر من 111 طبع العدد نفسه فقط {int x; cin>>x; do {cout<<x<<" "; x++;} while(x<=100);} نوع من أنواع الب انات الت تحتوي على أكثر من عنصر وتحمل نفس اإلسم بترق م بدأ من الصفر بدل من a,b,c,d,e نعرف مصفوفة من 5 عناصر [5]x وعناصرها ه x[0],x[1],x[2],x[3],x[4] أ- المصفوفات األحاد ة *برنامج لقراءة مصفوفة أحاد ة وطباعتها ادخال مباشر { int x[5]={1,2,3,4,5},i; for(i=0;i<5;i++) cout<<x[i]<<"\t";} الشرح: عند التعر ف نعرف المصفوفة كأي متغ ر اخر خضع لقواعد التسم ة ثم نحدد عدد عناصر المصفوفة جوارها ب ن عالمت ] [ ثم أدخلنا العناصر ادخال مباشر واستخدمنا دوارة تتنفذ بعدد عناصر المصفوفة وتطبع عنصر ف كل دورة ثم" t \" لالزاحة األفق ة وعند التنف ذ تكون شاشة المخرجات كما ف الشكل المجاور للكود 26

27 *برنامج قوم بإدخال مصفوفت ن مصفوفة ناتج الجمع أحاد ت ن إدخال مباشر ثم جمعهما و طبع {int x[5]={1,2,3,4,5},y[5]={1,2,3,4,5}, i, m[5]; for(i=0;i<5;i++) {m[i]=x[i]+y[i]; cout<<m[i]<<"\t";} } الشرح: قمنا بتعر ف ثالث مصفوفات أحاد ة x وyوmوعرفنا كذلك i الذي استخدمناه عداد داخل الدوارة ثم استخدمنا دوارة إلدخال عناصر المصفوفة األولى ودوارة إلدخال عناصر المصفوفة الثان ة ودوارة ثالثة خاصة بالمصفوفة m الت تجمع عناصر المصفوفت ن األولى والثان ة وتطبع مصفوفة ناتج الجمع وبتغ ر اشارة الجمع مكن اجراء العمل ات الحساب ة البس طة على المصفوفات للطرح نستخدم وللضرب * وللقسمة / وعند ادخال االرقام من 5-1 لكل من المصفوفت ن االولى والثان ة تكون شاشة المخرجات كما ف الشكل المجاور للكود *برنامج قوم بقراءة مصفوفت ن أحاد ت ن و نسخ األولى الى الثان ة { int x[9]={1,2,3,4,5,6,7,8,9},y[9]={12,3,6,2,1,4,6,8,64},i; for(i=0;i<9;i++) { y[i]=x[i]; cout<<y[i]<<"\t";} } الشرح: x قوم هذا البرنامج بإدخال مصفوفت ن تتكون كل منهما من 9 عناصر اسم االولى x والثان ة y ادخال مباشر وعناصر y تختلف عن عناصر بنسخ عناصر x الى y وعندما نطبع عناصر y تكون نفس عناصر x عند تنف ذ البرنامج تكون شاشة التنف ذ كما ف الشكل أعاله ثم قوم 27

28 *برنامج قوم بقراءة مصفوفة أحاد ة ثم طبع المصفوفة و طبع مجموع عناصر المصفوفة { int x[5]={1,2,3,4,5},i,y=0; for(i=0;i<5;i++) { y=y+x[i]; cout<<x[i]<<"\t";} cout<<"\n the sum="<<y;} the sum=15 الشرح: قمنا بتعر ف مصفوفة أحاد ة تتكون من 5 عناصر وأدخلناها إدخال مباشر وعرفنا كذلك العداد i للدوارة وعرفنا y بق مة تساوي (0) المحا د الجمع وداخل الدوارة تتغ ر ق مة y ف كل دورة ح ث y=y+x[i] ف الدورة االول y=0+1 وف الثان 1+2=y وف الثالثة 3+3=y وف الرابعة 6+4=y وف الخامسة 10+5=y ثم قوم بطباعة عناصر المصفوفة x و خرج من الدوارة و طبع ق مة y ناتج جمع عناصر المصفوفة و كون ناتج تنف ذ البرنامج كما ف الشكل المجاور للكود وبتغ ر ق مة y الى (1) المحا د الضرب وتغ ر عمل ة الجمع الى ضرب مكن ا جاد مضروب عناصر اي مصفوفة { int x[5]={1,2,3,4,5},i,y=1; for(i=0;i<5;i++) { y=y*x[i]; cout<<x[i]<<"\t";} cout<<"\n the mul="<<y;} the mul=120 28

29 *برنامج إلدخال مصفوفة أحاد ة عن طر ق المستخدم و عكس ترت ب المصفوفة {int x[5],i; cout<<"enter the components of array\n"; for(i=0;i<5;i++) cin>>x[i]; cout<<"\n"; for(i=4;i>=0;i--) cout<<x[i]<<"\t";} الشرح: عند التنف ذ على المترجم وإدخال األرقام من 1-5 المخرجات كما ف الشكل المجاور للكود تصاعد ا الى ق م المصفوفة كون شكل كل ما قمت بفعله هو أوال بدأت ق مة العداد i من )4-1( ثم أثناء اإلخراج عكست الدوارة ح ث بدأت ق مة العداد i آخر موقع ف المصفوفة الى أول موقع من )1-4( *برنامج لقراءة مصفوفة أحاد ة مكونة من 11 عناصر من األعداد الحق قة أو الصح حة وإ جاد أصغر ق مة ف المصفوفة وطباعتها {int x[10]={10,90,20,80,30,70,40,60,50,100},min,i; min=x[0]; for(i=0;i<10;i++) 10 if(x[i]<min) min=x[i]; cout<<min;} الشرح: قمنا بإدخال مصفوفة من 11 عناصر إدخال مباشر وعرفنا متغ رmin ثم أسندنا له ق مة أول عنصر ف المصفوفة min=x[0]; وباستخدام الدوارة و if الشرط قمنا بمقارنة min بجم ع عناصر المصفوفة عندما كون أي عنصر أصغر من min نقل ق مة العنصر للمتغ ر min وبعد انتهاء الدوارة طبعنا أصغر ق مة وه الرقم )11( 29

30 *وبعكس الشرط if(x[i]<min) ا ىل if(x[i]>max) وبنفس الخطوات السابقة مكن إ جاد أكبر عنصر ف المصفوفة *برنامج ترت ب مصفوفة أحاد ة تصاعد ا من األصغر الى األكبر {int x[10]={45,75,34,78,98,77,63,49,59,43},i,j,t; for(i=0;i<10;i++) for(j=0;j<10;j++) if(x[i]<x[j]) { t=x[j]; x[j]=x[i]; x[i]=t;} for(i=0;i<10;i++) cout<<x[i]<<"\t";} *برنامج قوم بإدخال مصفوفة عن طر ق المستخدم من 5 عناصر ثم بحث عن أصغر ق م ف ها و طبع أصغر ق مة وثان أصغر ق مة { int x[5],i,j,min1,min2; cout<<"enter the components of array\n"; for(i=0;i<5;i++) cin>>x[i]; min1=min2=x[0]; for(i=0;i<5;i++) if(x[i]<min1) {min2=min1; min1=x[i];} cout<<"\n"<<min1<<"\t"<<min2;} 31 الشرح: قوم هذا البرنامج بإدخال عناصر مصفوفة من 5 عناصر ثم إعطاء ق م ابتداب ة للمتغ ر ن min1 & min2 وه تساوي ق مة أول عنصر ف المصفوفة ثم بحث عن أصغر عنصر ف المصفوفة و سنده للمتغ ر min1 ب نما حتفظ المتغ ر min2 بالق مة قبل األخ رة للمتغ ر min1 ثم طبع الق م

31 وبعكس اإلشارة ف الشرط السابق من( if(x[i]<min1 الى if(x[i]>min1) مكن إ جاد أكبر ق مت ن --المصفوفات الرمز ة إلدخال كلمة وطباعتها البد من اإلعالن عن مصفوفة من نوع char ثم تحد د حجمها ح ث +1 letters size=number of مثل x[6]="mazen"; char ح ث أن number of letters هو عدد حروف الكلمة بشرط أن ال تحتوي المصفوفة على فراغات فإذا احتوت على فراغ فإن ما بعد الفراغ تم إهماله وس تم معالجة مشكلة الفراغ الحقا ف درس المؤشرات والسالسل الحرف ة وف المثال السابق كان اإلدخال مباشر ب ن عالمت تنص ص مزدوجة وتكون طباعتها بذكر اسمها دون تحد د حجمها كما ل cout<<x; *برنامج إلدخال اإلسم األول والثان واللقب إدخال مباشر وطباعتها عند إدخال االسم األول" mazen " { char name1[10],name2[10],lastname[10]; cout<<"enter the first name"; cin>>name1; cout<<"\nenter the second name"; cin>>name2; cout<<"\nenter the last name"; cin>>lastname; cout<<"\nyour name is : "<<name1<<" "<<name2<<" "<<lastname; } واالسم الثان "abbass" والثالث "rawna" تكون شاشة المخرجات كما ف الشكل التال انظر الملحق األول فقرة رقم 4 "تابع المصفوفات الرمز ة" mazen abbass rawna قبل االنتقال الى المصفوفات الثنائ ة ب المصفوفات الثناب ة: تتكون من مجموعة صفوف ومجموعة أعمدة و تم اإلعالن عن المصفوفات ثناب ة البعد كما ل : int x[3][3]; or int x[3][3]={12,3,4,54,7,83,86,11,65}; التعر ف السابق كان باإلدخال المباشر مرة واألخرى باإلدخال عن طر ق المستخدم ح ث تم تحد د عدد كل من الصفوف واألعمدة جوار اسم المصفوفة أما حجم المصفوفة ف ساوي عدد الصفوف مضروبا ف عدد األعمدة ف المصفوفات الثناب ة البد أن تسبق كل عمل ة إدخال أو إخراج بدوارت ن األولى لألعمدة والثان ة للصفوف مثل: 31

32 1 -إدخال عناصر المصفوفة x الت تتكون من 3 صفوف و 3 أعمدة for(i=0;i<3;i++) for(j=0;j<3;j++) cin>>x[i][j]; for(i=0;i<3;i++) {for(j=0;j<3;j++) {cout<<x[i][j]<<"\t";} cout<<"\n";} 2- إخراج)طباعة( عناصر المصفوفة x الت تتكون من 3 صفوف و 3 أعمدة طبعا أثناء اإلخراج البد من إجراء بعض التنس قات متل "t\" أو "n\" أو الحاصرت ن {} *برنامج قوم بقراءة مصفوفة ثناب ة تتكون من 3 صفوف و 3 أعمدة وطباعتها { int x[3][3]={1,2,3,4,5,6,7,8,9},i,j; for(i=0;i<3;i++) {for(j=0;j<3;j++) {cout<<x[i][j]<<"\t";} cout<<"\n";} } *برنامج إلدخال مصفوفة مكونة من 4 صفوف و 5 أعمدة وطباعتها ح ث أن عدد عناصر المصفوفة ساوي عدد الصفوف مضروبا ف عدد األعمدة أي 4*5=21 {int x[4][5],i,j; for(i=0;i<4;i++) for(j=0;j<5;j++) cin>>x[i][j]; cout<<"\n\n"; for(i=0;i<4;i++) {for(j=0;j<5;j++) {cout<<x[i][j]<<"\t";} cout<<"\n";}} 32

33 21 عند تنف ذ البرنامج على المترجم وإدخال عناصر المصفوفة األرقام من 1 المخرجات كما ف الشكل التال تكون الى خصابص المصفوفة الثناب ة الت عدد الصفوف i ف ها مساو ا لعدد األعمدة j أي المصفوفة المربعة index =i=j ح ث index هو عدد الصفوف أو عدد األعمدة القطر الرب س : رقم الصف ساوي رقم العمود )i==j( القطر الثانوي: )i+j==index-1) ما فوق القطر الرب س رقم الصف أصغر من رقم العمود )i<j( ما تحت القطر الرب س رقم الصف أكبر من رقم العمود )i>j( ما فوق القطر الثانوي (i+j<=index-2) ما تحت القطر الثانوي (i+j>=index) أمثلة على المصفوفة المربعة : *برنامج لقراءة مصفوفة من 5 صفوف و 5 القطر الرب س أي أن الشرط if(i==j) أعمدة )25 عنصر( وطباعتها وتصف ر {int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) {if(i==j) cout<<"0"<<"\t"; else cout<<x[i][j]<<"\t";} cout<<"\n";}} عند تنف ذ البرنامج تكون عناصر القطر الرب س كلها أصفار كما ف الشكل التال : 33

34 *برنامج لطباعة القطر الرب س فقط {int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) {if(i==j) cout<<x[i][j]; else cout<<" ";} cout<<"\n";} } عند تنف ذ الكود السابق على المترجم تكون المخرجات ه عناصر القطر الرئ س كما ف الشكل التال *برنامج لتصف ر ما فوق القطر الرب س أي أن الشرط( if(i<j { int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { if(i<j) cout<<"0"<<"\t"; else cout<<x[i][j]<<"\t";} cout<<"\n";}} 34

35 عند تنف ذ البرنامج على المترجم تم تصف ر كل الق م الواقعة فوق القطر الرب س وتكون المخرجات كما ف الشكل التال *برنامج لتصف ر عناصر ما تحت القطر الرب س أي أن الشرط if(i>j) {int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) {if(i>j) cout<<"0"<<"\t"; else cout<<x[i][j]<<"\t";} cout<<"\n";} } عند تنف ذ الكود السابق تم تصف ر المخرجات كما ف الشكل التال : كل العناصر الواقعة تحت القطر الرب س وتكون 35

36 برنامج لتصف ر القطر الثانوي وطباعة بق ة عناصر المصفوفة كما ه : { int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { if(i+j==4) cout<<"0"<<"\t"; else cout<<x[i][j]<<"\t";} cout<<"\n";}} عند تنف ذ الكود السابق على المترجم تم تصف ر عناصر القطر الثانوي وتكون مخرجات البرنامج كما ف الشكل التال *برنامج لطباعة عناصر القطر الثانوي فقط أي أن الشرط if(i+j==index-1) { int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { if(i+j==4) cout<<x[i][j]; else cout<<" "; } cout<<"\n";}} 36

37 عند تنف ذ الكود السابق على المترجم تم طباعة عناصر القطر الثانوي فقط *برنامج لتصف ر عناصر ما فوق القطر الثانوي وطباعة بق ة المصفوفة كما ه { int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { if(i+j<=3) cout<<"0"<<"\t"; else cout<<x[i][j]<<"\t";} cout<<"\n";}} عند تنف ذ الكود على المترجم تكون المخرجات كما ف الشكل التال : 37

38 *برنامج لتصف ر عناصر ما تحت القطر الثانوي وطباعة بق ة العناصر كما ه أي أن الشرط if(i+j>=index) { int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { if(i+j>=5) cout<<"0"<<"\t"; else cout<<x[i][j]<<"\t";} cout<<"\n";}} وعند تنف ذ الكود على المترجم تم تصف ر عناصر ما تحت القطر الثانوي المخرجات كما ف الشكل التال وتكون *برنامج لطباعة وجمع عناصر المصفوفة وطباعة ناتج الجمع { int x[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int i,j,y=0; for(i=0;i<5;i++) {for(j=0;j<5;j++) { y=y+x[i][j]; cout<<x[i][j]<<"\t";} cout<<"\n";} cout<<"\nthe sum is "<<y;} 38

39 عند تنف ذ البرنامج السابق على المترجم تكون المخرجات كما ف الشكل التال *برنامج إلدخال مصفوفت ن أحاد ت ن [5]y [5]x & حجم كل منهما 5 عناصر و دمجهما ف مصفوفة أحاد ة ثالثة [10]z حجمها 11 عناصر ثم طبع جم ع المصفوفات {int x[5]={10,20,30,40,50},y[5]={60,70,80,90,100},z[10],i; for(i=0;i<5;i++) {z[i]=x[i]; z[i+5]=y[i];} cout<<"the array x\n"; for(i=0;i<5;i++) cout<<x[i]<<"\t"; cout<<"\nthe array y\n"; for(i=0;i<5;i++) cout<<y[i]<<"\t"; cout<<"\nthe array z\n"; for(i=0;i<10;i++) cout<<z[i]<<"\t";} قوم البرنامج السابق بتحو ل مصفوفت ن أحاد ت ن الى مصفوفة أحاد ة عند تنف ذ الكود السابق تكون المخرجات كما ل : 39

40 *برنامج لتحو ل مصفوفة أحاد ة [10]z تتكون من 11 [5]x و [5]y تتكون كل منهما من 5 عناصر عناصر الى مصفوفت ن أحاد ت ن {int z[10]={1,2,3,4,5,6,7,8,9,10},x[5],y[5],i; for(i=0;i<5;i++) {x[i]=z[i]; y[i]=z[i+5];} cout<<"the array z\n"; for(i=0;i<10;i++) cout<<z[i]<<"\t"; cout<<"the array x\n"; for(i=0;i<5;i++) cout<<x[i]<<"\t"; cout<<"\nthe array y\n"; for(i=0;i<5;i++) cout<<y[i]<<"\t";} عند تنف ذ الكود السابق على المترجم تكون المخرجات كما ل 41

41 نوع جد د من أنواع الب انات قوم المستخدم بإنشابه مثله مثل int & float & char وغ رها ولكن السجالت )التراك ب( مكن أن تحتوي على نوع واحد من األنواع السابقة أو عدة أنواع أو حتى جم عها و تم اإلعالن عن السجل قبل الدالة الرب س ة main وذلك بإستخدام كلمة struct ثم تسم ة السجل بإسم مع ن خضع لقواعد التسم ة المعروفة مسبقا و تم داخل السجل اإلعالن عن المتغ رات دون إجراء أي عمل ات حساب ة أو منطق ة والشكل العام للسجالت كما ل مثال: struct structure_name {first variable; second variable;}; 21 تم اإلعالن عن سجل (student) الكشف ودرجات مادت ن كما ل : حتوي على إسم الطالب من حرف ورقمه ف struct student {char name[20]; int number; float subject1,subject2}x; أما اإلعالن عن متغ ر( x ) من نوع السجل ف تم بطر قت ن األولى: بذكر إسم المتغ ر قبل إنهاء السجل بعد إغالق الحاصرة وقبل الفرزة المنقوطة كما ف المثال السابق باللون األحمر أما الطر قة الثان ة : فتتم داخل الدالة main وذلك بذكر اسم السجل كنوع ب ان ثم المتغ ر x كما ل ;x student وف كلتا الطر قت ن نالحظ أن المتغ ر x من نوع student وله إسم ورقم ف الكشف ودرجة المادة األولى ودرجة المادة الثان ة وال نذكر اسم السجل داخل الدالة main اال عند اإلعالن عن متغ ر من نوع السجل فقط أما إدخال ب انات المتغ ر x من نوع السجل student ف تم بذكر اسم المتغ ر ثم نقطة).( ثم الب ان المطلوب مثل االسم أو الرقم كما ل cin>>x.name; cin>>x.number; cout<<x.name; cout<<x.number; وكذلك عمل ة اإلخراج بنفس الطر قة 41

42 و ستفاد من السجالت عندما كون المطلوب إدخال نفس الب انات لعدد كب ر من األشخاص ح ث تم اإلعالن عن مصفوفة من نوع السجل حجمها هو عدد األشخاص المطلوب إدخال ب اناتهم *برنامج قوم بإدخال الب انات التال ة )االسم- درجة الر اض ات- درجة اللغة اإلنجل ز ة درجة البرمجة( ل 31 طالب ثم حساب المعدل الكل لكل طالب وطباعة جم ع الب انات لجم ع الطالب struct std {char name[20]; int sub1,sub2,sub3; float rate;}; {std x[30]; for(int i=0;i<30;i++) {cout<<"\nenter the "<<i+1<<" student name : "; cin>>x[i].name; cout<<"\nenter the "<<i+1<<" math deg : "; cin>>x[i].sub1; cout<<"\nenter the "<<i+1<<" engli deg : "; cin>>x[i].sub2; cout<<"\nenter the "<<i+1<<" prog deg : "; cin>>x[i].sub3; x[i].rate=(x[i].sub1+x[i].sub2+x[i].sub3)/3;} cout<<"name is math deg engli deg prog deg rate is\n"; for(i=0;i<30;i++) {cout<<x[i].name<<"\t\t"<<x[i].sub1<<"\t\t"<<x[i].sub2<<"\t\t" <<x[i].sub3<<"\t\t"<<x[i].rate<<"\n";}} الشرح: قمت باإلعالن عن مصفوفة الطالب X من نوع السجل std حجمها هو 31 أي عدد الطالب ثم بإستخدام الدوارة for قمت بإدخال ب انات كل طالب 42

43 *تمر ن :- برنامج نظام بنك ل 51 زبون بح ث تكون ب انات الزبون ه )االسم األول رقم الهاتف رص ده الكل - الرص د المسحوب-الرص د المتبق ( struct clnt {char name[20],tel[15]; long int account,taked,rem;}; void {clnt x[50]; int i,j; for(i=0;i<50;i++) {j=i+1; cout<<"enter the name of "<<j<<" client : "; cin>>x[i].name; cout<<"enter the telephone of "<<j<<" client : "; cin>>x[i].tel; cout<<"enter the money of "<<j<<" client : "; cin>>x[i].account; cout<<"enter the taked money of "<<j<<" client : "; cin>>x[i].taked; x[i].rem=x[i].account-x[i].taked;} cout<<"name\t tel\t money\t taked\t remained\n"; for(i=0;i<50;i++) { cout<<x[i].name<<"\t "<<x[i].tel<<"\t "<<x[i].account<<"\t "<<x[i].taked<<"\t "<<x[i].rem<<"\n";} } 43

44 c++ أ-الدوال المكتب ة الق اس ة Standard Library Functions ه الدوال المبن ة داخل ا ( functions (built-in الت تأت مع مترجم لغة وه كث رة جدا وتقع كل مجموعة منها داخل مكتبة محددة مثل استخدامها لتعر ف دوال اإلدخال واإلخراج input & output functions لتعر ف دوال نظام dos لتعر ف دوال الر اض ات لتعر ف دوال السالسل الحرف ة لتعر ف دوال اإلدخال واإلخرج الخاصة بلغة c لتعر ف دوال الرسومات لتعر ف دوال الوقت اسم المكتبة iostream conio math string stdio graphics time وغ رها من المكتبات أما ك ف ة استدعاء الدوال المكتب ة داخل البرنامج ف تم كما ل : 1- تحد د وتضم ن الملف الذي حتوي على الدالة المستخدمة و تم ذلك من خالل األمر (#include) 2- استدعاء الدالة و تم ذلك بكتابة اسم الدالة الصر ح والذي جب أن طابق االسم الموجود داخل الملف الذي حوي هذه الدالة 3- معرفة عدد المعلمات أو الوسابط (parameters) لكل دالة. 4- نوع الق مة الت تع دها الدالة x *برنامج قوم برفع العدد x ألس 2 math الت تقع ف المكتبة pow أي قوم بإ جاد مربع العدد الدالة باستخدام #include<math.h> {int x; cout<<"enter x : "; cin>>x; cout<<pow(x,2);} 44

45 x عند تنف ذ الكود السابق وإدخال الرقم 11 للمتغ ر تكون المخرجات كما ل : الشرح: أوال قمت بإدخال ق مة x ثم استخدمت الدالة pow(x,2) لرفع المتغ ر x الى الرتبة الثان ة فالدالة pow تستقبل متغ ر ن pow(x,y) ح ث y هو الرتبة المطلوبة وبنفس الطر قة مكن إ جاد المكعب sqrt *برنامج إلدخال عدد x ثم قوم بإ جاد الجذر الترب ع له الدالة باستخدام #include<math.h> {int x; cout<<"enter x : "; cin>>x; cout<<sqrt(x);} عند تنف ذ الكود السابق تكون المخرجات كما ل ب- دوال المستخدم :User-defined functions ه الدوال الت قوم المبرمج بكتابتها إلنجاز مهمة مع نة. والدالة هنا عبارة عن مجموعة من التعل مات المتسلسلة الت تشكل بمجموعها الهدف من استخدام الدالة و ستفاد من الدوال ف سهولة تتبع البرنامج ف حالة وجود أخطاء وكذلك كون البرنامج أكثر ترت با كما ف د استخدام الدوال ف تقل ل عدد أسطر البرنامج أما كتابة الدالة ف لغة ++c فتأخذ الص غة التال ة: Return_value_type function_name (parameter list) { body of the function return value; } 45

46 ح ث أن return_value_type هو نوع الق مة المرجعة وقد تكون الق مة المرجعة من نوع int أو float أو char أو غ رها وقد تكون الدالة ال تع د ق مة فتكون من نوع void وال صح كتابة الجمل التعر ف ة وكذلك عمل ات اإلدخال واإلخراج ف الدوال الت ترجع ق م return values functions و function_name هو اسم الدالة وفق قواعد تسم ة المتغ رات و parameter list ه قابمة بعدد المعلمات )المتغ رات( وأنواعها و body of the function هو جسم الدالة أي التعل مات واألوامر الت تحدد عمل الدالة و return value ه الق مة المرجعة وإذا كانت الدالة من نوع void فال وجد ق مة مرجعة و تم استدعاء الدالة بذكر اسمها داخل الدالة الرب س ة أو أي دالة أخرى أمثلة على الدوال المبن ة عن طر ق المستخدم *برنامج قوم بإدخال عدد ن x & y من النوع الصح ح عن طر ق المستخدم و طبع ناتج الجمع باستخدام الدوال int sum(int x, int y) {int m; m=x+y; return m;} {int a,b; cout<<"enter a : "; cin>>a; cout<<"enter b : "; cin>>b; cout<<sum(a,b); الشرح: عرفنا دالة من نوع int ألنها ترجع ق مة من نوع int وأسم ناها sum وه تستقبل متغ ر ن من نوع int وتسند جمعهما لمتغ ر آخر من نفس النوع ثم ترجع الدالة ناتج الجمع أما داخل الدالة الرب س ة main فقد عرفنا متغ ر ن من نوع int كما ف الدالة sum وأدخلنا ق مهما وأستدع نا الدالة sum لتنفذ عملها عل هما 46

47 b a عند إدخال الرقم 5 للمتغ ر و 3 للمتغ ر تكون المخرجات كما ل : وبنفس الطر قة مكن إجراء عمل ة الطرح والضرب والقسمة *برنامج الحاسبة قوم بالعمل ات األربع باستخدام الدوال و سمح االستخدام بقدر ما ر د المستخدم ف باالستمرار int sum(int x,int y) {int m=x+y; return m;} int sub(int x,int y) {int m=x-y; return m;} int mul(int x,int y) {int m=x*y; return m;} int div(int x,int y) {int m=x/y; return m;} {int a,b; char c,d; for(;;) {cout<<"enter a : "; cin>>a; cout<<"enter the operation : "; cin>>c; 47

48 cout<<"enter b : "; cin>>b; switch(c) { case'+':cout<<"the result is "<<sum(a,b);break; case'-':cout<<"the result is "<<sub(a,b);break; case'*':cout<<"the result is "<<mul(a,b);break; case'/':cout<<"the result is "<<div(a,b);break; default:cout<<"undefined operation";break;} cout<<"\ndo you want to continue? (Y/N)"; cin>>d; if(d=='y') {continue; cout<<"\n";} else {cout<<"\ngoodboy";break;}}} *برنامج سمح للمستخدم بإدخال عدد من النوع الكسري float وإذا كان الجزء الكسري أكبر من أو ساوي 0.5 فإن البرنامج ز د الجزء الحق ق بمقدار واحد وإذا كان الجزء الكسري أصغر من 0.5 ضل الجزء الحق ق كما هو أي أن البرنامج قوم بعمل ة التقر ب فعند إدخال 7.5 أو 7.6 طبع البرنامج الرقم 8 وعند إدخال 7.4 أو 7.3 طبع الرقم 7 البرنامج باستخدام الدوال 48 int func(float x) {int y=x; if(x-y>=0.5) return (y+1); else return y;} {float a; cin>>a; cout<<func(a);}

49 *برنامج قوم بإدخال عدد من النوع الصح ح ثم قوم بإ جاد مضروبة ح ث أن مضروب العدد 5 هو 1*2*3*4*5 و ساوي 120 باستخدام الدوال long int fact(int x) {int i; long int y=1; for(i=x;i>0;i--) y=y*i; return y;} {int a; cout<<"enter the number : "; cin>>a; cout<<fact(a);} الشرح: قمت بتعر ف دالة من نوع long int حتى تع د أرقام كب رة وه تستقبل عدد واحد x ثم عرفنا متغ ر 1=y ومتغ ر i=x ثم جعلنا دوارة تبدأ من i=x وتنته عند 1=i وتتناقص بمقدار 1 وف كل دورة y=y*i ح ث أن كل من i & y تتغ ر ق مته ف كل دورة وبالتال تم ا جاد المضروب وعند إدخال العدد 6 للمتغ ر x تكون المخرجات كما ل ألن 720=1*2*3*4*5*6 49

50 *برنامج قوم بإدخال عدد x من النوع الصح ح int ثم طبع مجموع األعداد من 1 الى x مثل عند ادخال العدد 5 طبع 15 ألن 15= باستخدام الدوال int summation(int x) {int y=0,i; for(i=1;i<=x;i++) y=y+i; return y;} {int a; cout<<"enter the number : "; cin>>a; cout<<summation(a);} 0 الشرح : الفكرة ف برنامج المجموع ه نفس فكرة المضروب فقط قمت بتغ ر ق مة المتغ ر 0=y بدال من 1=y ألن ف الجمع المحا د الجمع هو والمحا د الضرب هو 1 عند إدخال العدد للمتغ ر a تكون المخرجات كما ل 111 ألن 5050=100+,,,,,,,

51 *برنامج باستخدام الدوال قوم بإدخال عدد ن x & y ثم جمع األعداد من x الى y و طبع ناتج الجمع مثال عند ادخال العدد ن (4,9) طبع الرقم 39 ألن =39 int some_from_to(int x,int y) {int i,z=0; for(i=x;i<=y;i++) z=z+i; return z;} {int a=4,b=9; cout<<some_from_to(a,b);} عند تنف ذ الكود السابق تكون المخرجات كما ل *برنامج بحث عن العامل المشترك األكبر( g_c_d ) ب ن رقم ن x & y ثم طبعة مثل عند ادخال العدد ن (40,50) طبع الرقم 31 ألنه العامل المشترك األكبر int g_c_d(int x,int y) {int i; for(i=x;i>0;i--) if(x%i==0&&y%i==0) break; return i;} {int a=40,b=50; cout<<g_c_d(a,b);} عند تنف ذ الكود السابق تكون المخرجات كما ل 51

52 "0" العدد األول هو: العدد الذي ال قبل القسمة إال على نفسه أو على الواحد *برنامج سمح بإدخال عدد ثم ختبر إذا كان أول طبع "1" وإذا كان غ ر أول طبع int prime(int x) {if(x== 2 x==3 x==5 x==7) return 1; else if(x%2==0 x%3==0 x%5==0 x%7==0) return 0; else return 1;} {int i,a; for(i=0;i<10;i++) {cin>>a; cout<<prime(a); cout<<"\n";}} *برنامج قوم بإدخال عدد ن x & y ثم بحث عن عامل مشترك و ختصرهما مثل عند ادخال العدد ن (200/600) طبع العدد (1/3) ألن =1 و 3= void reduce(int x,int y) {int i; for(i=x;i>0;i--) {if(x%i==0 && y%i==0) break;} cout<<x/i<<"/"<<y/i;} {int a,b; cout<<"enter a : "; cin>>a; cout<<"enter b : "; cin>>b; reduce(a,b);} 52

53 *برنامج سمح بإدخال رقم من 1 الى 9 ثم طبع اسم الكوكب ف المجموعة الشمس ة مرتبا من األقرب الى الشمس باستخدام الدوال void func(int x) {switch(x) {case 1: cout<<"it is a Mercury\n";break; case 2: cout<<"it is a Venus\n";break; case 3: cout<<"it is a Earth\n";break; case 4: cout<<"it is a Mars\n";break; case 5: cout<<"it is a Jupiter\n";break; case 6: cout<<"it is a Saturn\n";break; case 7: cout<<"it is a Uranus\n";break; case 8: cout<<"it is a Neptune\n";break; case 9: cout<<"it is a Pluto\n";break; default: cout<<"error\n";} } {int a,i; for(i=0;i<9;i++) {cout<<"enter the number a planet : "; cin>>a; func(a);}} *برنامج قوم بإدخال عدد ن a & b من النوع float ثم بادلهما بالق م باستخدام الدوال 53 void swap(float x,float y) {float z; z=x; x=y; y=z; cout<<"a="<<x; cout<<"\tb="<<y;} {float a=7.5,b=3.5; cout<<"befor the swap a="<<a<<"\tb="<<b; cout<<"\nafter the swap "; swap(a,b);}

54 الشرح: قمت بتعر ف المتغ ر z وأسندت له ق مة x القد مة ل حتفظ بها ثم أسندت ق مة y للمتغ ر x ح ث x=y ثم نقلت ق مة x القد مة للمتغ ر y ح ث y=z وهكذا تمت عمل ة المبادلة باستخدام متغ ر إضاف وعند تنف ذ الكود السابق تكون المخرجات كما ل float ه i & j & k ثم رتبها تصاعد ا باستخدام الدوال *برنامج قوم بإدخال 3 ق م من نوع void sort3(float x,float y, float z) {float a,b,c; if(x>y) {a=x;b=y;} else {a=y;b=x;} if(a>z) {c=a;a=z;z=c;} if(a>b) {y=a;x=b;} else {y=b;x=a;} cout<<x<<"\t"<<y<<"\t"<<z;} {float i=3.4,j=7.3,k=4.3; sort3(i,j,k);} عند تنف ذ الكود على المترجم تكون المخرجات كما ل 54

55 * تقوم الدالة المكتب ة pow الت تقع ضمن المكتبة <math.h> برفع درجة أي عدد فمثال x=pow(2,5) تكون ق مة 32=x ألن 2*2*2*2*2=32 أي 2 أس 5 ساوي 32 وكذلك pow(6,2)=36 ألن 36=6*6 وكذلك pow(4,3)=64 ألن 4 أس 3 ساوي 64 المطلوب: إكتب الدالة power(x,y) الت تقوم بعمل الدالة pow int power(int x,int y) {int z=1,i; for(i=0;i<y;i++) z=z*x; return z;} {int a,b; cout<<"enter the number : "; cin>>a; cout<<"enter the power : "; cin>>b; cout<<a<<"^"<<b<<"= "<<power(a,b);} عند تنف ذ الكود السابق على المترجم وإدخال تكون المخرجات كما ل لألساس و 3 لألس )القوة( 6 ألن 6*6*6=216 55

56 *تقوم الدالة المكتب ة sqrt(x) الت تقع ضمن المكتبة <math.h> بإ جاد الجذر الترب ع للمتغ ر (x) اكتب الدالة func الت تقوم بنفس العمل #include<math.h> int func(int x) {int y; y=pow(x,0.5); return y;} {int a; cout<<"enter a : "; cin>>a; cout<<func(a);} عند تنف ذ الكود السابق 49 وإدخال الرقم تكون المخرجات كما ل ألن الجذر الترب ع ل 49=7 *اكتب الدالة root الت تقوم بإدخال عدد ن x & y من نوع int ثم تقوم بإ جاد الجذر y للرقم x مثل root(16,2) س طبع البرنامج الرقم 4 ألن الجذر الترب ع للعدد =

57 int power(float x, float y) {float i,z=1; for(i=y;i>0;i--) z=z*x; return z;} float root(float x, float y) {float i; for(i=x;i>0;i--) if(x==power(i,y)) break; return i;} { float a,b; cout<<"enter the number : "; cin>>a; cout<<"enter the deg of root : "; cin>>b; cout<<root(a,b);} عند ادخال و 6=b تكون المخرجات كما ل : a=64 ألن الجذر السادس للعدد ألن ساوي 2 أس 64=

58 *برنامج قوم بإدخال رقم ثم طبع مربع من النجمات stars أبعاده ه الرقم المدخل فإذا أدخلت الرقم 4 كون عدد النجمات ف الطول 4 وف العرض 4 {int x,i,j; cout<<"enter the size : "; cin>>x; for(i=0;i<x;i++) {for(j=0;j<x;j++) {if(i==0 i==x-1 j==0 j==x-1) cout<<"*"; else cout<<" ";} cout<<"\n";}} الشرح : أوال قمت بإدخال ق مة x وقمت بكتابة دوارت ن for حدهما األعلى هو 1-x أما الشرط فهو إذا كان الصف األول أو الصف األخ ر أو العمود األول أو العمود األخ ر إطبع * وإال إطبع فراغ space وعند إدخال الرقم 5 تكون المخرجات كما ل : 58

59 *برنامج قوم بقراءة مصفوفة [5]x من نوع float حجمها 5 عناصر ثم عكس ترت ب المصفوفة بح ث تكون المصفوفة {float x[5]={5.8,2.6,9.0,3.4,7.1}; int i; for(i=0;i<5;i++) cout<<x[i]<<"\t"; cout<<"\n"; for(i=4;i>=0;i--) cout<<x[i]<<"\t";} وبعد إعادة الترت ب تكون المصفوفة برنامج لقراءة المصفوفة 7.1 ثم جمع عناصرها و طبع ناتج الجمع {float x[5]={5.8,2.6,9.0,3.4,7.1},y=0; int i; for(i=0;i<5;i++) y=y+x[i]; cout<<"the sum = "<<y;} عند تنف ذ الكود السابق على المترجم تكون المخرجات كما ل 59

60 *برنامج لقراءة مصفوفة [5]x من نوع float تتكون من 5 عناصر و قوم بعمل إزاحة من ال سار الى ال م ن بمقدار خطوة واحدة بح ث تكون المصفوفة التال ة كما ل {float x[5]={5.8,2.6,9.1,3.4,7.1},y[5]; int i; y[0]=x[4]; for(i=1;i<5;i++) y[i]=x[i-1]; cout<<"befor\n"; for(i=0;i<5;i++) cout<<x[i]<<"\t"; cout<<"\nafter\n"; for(i=0;i<5;i++) cout<<y[i]<<"\t";} عند تنف ذ الكود السابق تكون المخرجات كما ل 61

61 *برنامج سمح بإدخال عدد x ثم طبع جم ع األعداد الت x قبل القسمة عل ها مثال عند إدخال الرقم 12 سوف طبع األرقام )12,6,4,3,2,1( ألن الرقم 12 قبل القسمة على جم ع هذه األرقام {int x,i; cout<<"enter the number x : "; cin>>x; for(i=x;i>0;i--) if(x%i==0) cout<<i<<"\n";} عند تنف ذ الكود السابق على المترجم وإدخال الرقم 36 للمتغ ر x تكون المخرجات كما ل *برنامج قوم بقراءة مصفوفة من األعداد الصح حة int ثم بحث عن الق م المتكررة و حذفها و بق أحدها فقط )أي هذا البرنامج إلزالة التكرار( 61

62 {int x[10],i,j; cout<<"enter the values : \n"; for(i=0;i<10;i++) cin>>x[i]; cout<<"the values before eliminate repetitive values are \n"; for(i=0;i<10;i++) cout<<x[i]<<"\t"; cout<<"\n"; for(i=0;i<10;i++) for(j=0;j<10;j++) if(x[i]==x[j] && i!=j) x[j]=0; cout<<"\nthe values after the eliminate \n"; for(i=0;i<10;i++) if(x[i]!=0) cout<<x[i]<<"\t"; else cout<<"\t";} عند ادخال المصفوفة التال ة الى البرنامج قوم البرنامج بحذف الق م الت تكررت وه 61 وتكون المخرجات كما ل 11 و 62

63 *برنامج قوم بإ جاد التواف ق والتباد ل npr باستخدام الدوال ncr long int fact(int x) {long int i,y=1; for(i=x;i>0;i--) y=y*i; return y;} long int ncr(int n,int r) {long int m; m=fact(n)/(fact(n-r)*fact(r)); return m;} long int npr(int n,int r) {long int m; m=fact(n)/fact(n-r); return m;} {int a,b; cout<<"enter a : "; cin>>a; cout<<"enter b : "; cin>>b; cout<<"\nncr = "<<ncr(a,b); cout<<"\nnpr= "<<npr(a,b);} عند تنف ذ الكود السابق تكون المخرجات كما ل 63

64 *برنامج قوم بإدخال عدد x من نوع float ثم قوم بتقر ب هذا العدد )طر قة أسهل( int fun(float x) {int y=x+0.5; return y;} {float a; cin>>a; cout<<fun(a);} *برنامج قوم بادخال عدد x من نوع int ثم جمع األعداد من 1 الى أن صل مجموعها أكبر من أو ساوي x عندها رجع آخر عدد جمعه باستخدام الدوال int enough(int x) {int i,y=0; for(i=1;i<x;i++) {y=y+i; if(y>=x) break;} return i;} {int a; cin>>a; cout<<enough(a);} عند ادخال العدد 9 س طبع البرنامج الرقم 4 ألن =11 >=9 وعند ادخال العدد 21 س طبع الرقم 6 ألن =21>=21 64

65 عندما تم اإلعالن عن أي متغ ر ف لغة ++c فإن موقع)عنوان( داخل ذاكرة الحاسوب الرب س ة سوف خصص له ولغة ++c تهتم كث را بتقل ل استهالك الذاكرة وسرعة الوصول الى الب انات المخزنة ف ها لهذا وفرت هذه اللغة م زة جد دة من مزا اها وه استخدام المؤشرات ف الوصول الى الب انات المخزنة من خالل عناو نها والمؤشر هو عبارة عن متغ ر ش ر الى عنوان )موقع( متغ ر آخر علما بأنه ال حتفظ بق مة المتغ ر الذي ش ر ال ه بل بعنوانه - اإلعالن عن المؤشرات: تم اإلعالن عن المؤشرات ف لغة ++c باستخدام النجمة)*( كما ل Data_type *Pointer_name; ح ث أن : Data_type نوع المؤشر و جب أن كون نفس نوع الب انات الت ش ر ال ها علما ان المؤشر خزن موقع ول س ق مة والمؤشر أ ضا له موقع ف الذاكرة ختلف عن الموقع الذي ش ر ال ه و : Pointer_name اسم المؤشر الذي شار به الى عنوان ف الذاكرة أمثلة عن اإلعالن عن المؤشرات 1) int *x; 2)char *x; 3)float *x; 4)int *a,*b; عندما نر د أن نطبع عنوان)موقع( المتغ ر x نكتب & قبل المتغ ر كما cout<<&x; ل وإذا أعلنا عن المؤشر x* فإننا نسند له موقع المتغ ر a كما ل x=&a; وبالتال فإن المؤشر x ش ر الى int *x=&a أو عند التعر ف عنوان المتغ ر a 65

66 كذلك مكن اإلعالن عن المؤشر x* الذي ش ر الى موقع العنصر a بطر قت ن كما ل وكلتا الطر قت ن صح حة وتؤدي نفس الغرض ومن األخطاء الشابعة عند اإلعالن عن المؤشرات اإلعالن التال 1- int a; int *x=&a; 2- int a; int *x; x=&a; int a; int *x=a; االعالن خطأ ألن المؤشر ال أخذ ق م وإنما مواقع )عناو ن( وف هذا اإلعالن تم اعطاء المؤشر ق مة a ول س عنوانه و كون اإلعالن صح ح بالطر قت ن السابقت ن و مكن تغ ر ق مة المتغ ر a من 11 الى 21 باستخدام المؤشرات كما ل int a=10; int *x=&a; *x=20; cout<<a; تصبح ق مة 20=a ح ث أن المؤشر كان ش ر الى ق مة a وتساوي 11 وتم تغ ر الق مة الت بداخل الموقع الذي ش ر ال ه x الى 21 فتتغ ر ق مة 10=a الى 20=a والبد من التأك د على ان المؤشر) x ( ف االعالن *x=&a; int ش ر الى عنوان)موقع( المتغ ر a ف الذاكرة ب نما الموقع ف الذاكرة هو الذي حتفظ بق مة المتغ ر a *برنامج الدخال عدد x من نوع int ادخال مباشر ثم طبع موقعه ف الذاكرة {int x=5; int *a=&x; cout<<a;} عند تنف ذ الكود السابق فان ما س تم طباعته هو عنوان ف الذاكرة ومن المالحظ أنه عند طباعة عنوان فإننا ال نستخدم المعامل)*( 66

67 أما اذا أردنا طباعة الق مة الت ش ر ال ها المؤشر a فان الطباعة ستكون باستخدام المعامل السابق ح ث تم استخدام المعامل)*( عند االعالن عن المؤشر فقط واذا استخدمناه ف البرنامج فان ما س تم طباعته هو ق مة مثال انظر الكود التال : {int x=5; int *a=&x; cout<<*a;} لم تغ ر ف الكود السابق اال اضافة )*( عند الطباعة ولكن المخرجات تكون ه الرقم )5( x *برنامج قوم بقراءة ق مة المتغ ر a ثم قوم بتغ رها باستخدام المؤشر {int a=10; int *x=&a; cout<<a; *x=20; cout<<"\n"<<a;} عند تنف ذ الكود السابق تكون المخرجات كما ل الشرح: أوال قمنا باإلعالن عن المتغ ر a واسندنا له الق مة 11 ثم أعلنا عن مؤشر x ش ر الى المتغ ر a ثم طبعنا الق مة الحال ة للمتغ ر a ثم استبدلنا الق مة الت ش ر ال ها المؤشر x بق مة جد دة ه 21 وبالتال تغ رت ق مة a وطبعنا الق مة الجد دة ف سطر جد د العمل ات على المؤشرات :- قد تجري على المؤشر بعض العمل ات ه : 1- العمل ات الحساب ة : تجري على المؤشر عمل ت الجمع والطرح وناتج عمل ة الجمع أو الطرح عتمد على نوع الب انات الت ش ر ال ها المؤشر فاذا كان لد نا ثالثة مؤشرات متنوعة ه ولنفترض أن هذا المؤشر ش ر الى الموقع *ch; 111 char ولنفترض أن هذا المؤشر ش ر الى الموقع 211 *in; int ولنفترض أن هذا المؤشر ش ر الى الموقع *flo; 311 float - واذا أجر نا العمل ات flo++) (ch++; - in++; - فان المؤشر ch س ؤشر الى الموقع 111 ألن النوع char ستهلك با ت واحد فقط من الذاكرة 67

68 أما المؤشر in فانه س ؤشر الى الموقع 212 ألن النوع int ستهلك 2 با ت والمؤشر flo س ؤشر الى الموقع 314 ألن النوع float ستهلك 4 با ت ف الذاكرة ونفس الكالم سري على معامل النقصان)--( عمل ات االسناد: إذا عرفنا المؤشر ن x و y وقلنا أن x=&a; فان المؤشر x ش ر الى عنوان المتغ ر a واذا قلنا y=x فهذا عن أن كل من x و y ش ران الى الموقع نفسه عمل ات المقارنة : مكن استخدام المعامالت العالق ة مع المؤشرات وبالتأك د عمل ة المقارنة جب أن تكون ب ن مؤشرات تش ر الى متغ رات مثل int x=5,y=3; int *p1=&x,p2=&y; if(p1>p2) cout<<"p1 is a larger then p2"; else if(p1<p2) cout<<"p2 is a larger then p1"; else cout<<"p1 equal p2"; المعامالت الت بالخط األحمر ه المقارنات باإلضافة الى عالمة )==( و (=!) المؤشرات والمصفوفات : أوال : عز زي القارئ قم بتنف ذ الكود التال على المترجم والحظ ماذا س حدث {int x[5]={5,10,15,20,25},i; int *a; a=x; for(i=0;i<5;i++) {cout<<*a<<"\t"; a++;}} ان ما س حدث هو طباعة عناصر المصفوفة وتكون المخرجات كما ل 68

69 الشرح:- قمت باإلعالن عن مصفوفة [5]x ومؤشر a* من نفس النوع ثم قلت أن a=x دون تحد د أي عنصر من x ألن a مؤشر وبهذه الطر قة فان a ؤشر الى موقع أول عنصر من x وكأن قلت a=&x[0] ثم داخل الدوارة for طبعت ما بداخل الموقع المخزون ف المؤشر a وهو 5=[0]x والن المؤشر والمصفوفة من نوع int فان الز ادة بمقدار 1 أي) 2 مواقع( تجعل المؤشر ش ر الى ثان عنصر ف المصفوفة وهو 10=[1]x ++a ثم واصل البرنامج على نفس المنوال الى ان اكتملت الطباعة والمثال التال وضح طرق الز ادة ف المؤشرات عند تنف ذ الكود السابق تكون المخرجات كما ل : {int num[5],i,*p; p=num; *p=10; p++; *p=20; p=&num[2]; *p=30; p=num+3; *p=40; p=num; *(p+4)=50; for(i=0;i<5;i++) cout<<num[i]<<"\t";} الشرح: p=num أي أن المؤشر p ش ر الى موقع العنصر األول و++ p فانه ش ر الى موقع العنصر الثان و p=num[2] ش ر الى العنصر الثالث p=num+3 فان المؤشر ش ر الى العنصر الرابع و p=num تع ده الى العنصر األول و 4+p أي موقع العنصر الخامس 69

70 اكتب برنامج سمح للمستخدم بتحد د حجم مصفوفة سلع تجار ة ثم سمح للمستخدم بإدخال ثمن كل سلعة و ض ف 5% الى الثمن كضر بة مب عات ثم طبع السعر الجد د قد بدأ البعض باإلعالن عن حجم المصفوفة وادخال بإحدى الطرق التال ة int i; cin>>i; int x[i]; ح ث بدأ بإدخال الحجم ثم علن عن المصفوفة وحجمها هو الرقم المدخل لكن هذا الكود لن تنفذ أبدا مهما حاولت...والبعض اآلخر قد قوم بتحد د حجم أقصى للمصفوفة ك 1111 عنصر أو 5111 عنصر أو أكثر كما ل : int x[5000],i,j; cin>>j; for(i=0;i<j;i++) cin>>x[i]; ح ث j هو الحجم المدخل عن طر ق المستخدم صح ح أن هذا الكود س تنفذ و قوم بالعمل المطلوب ولمن ع وبه كث رة مثل أوال : البد من حد أعلى لحجم المصفوفة اذا تجاوزه الحجم المدخل أو وصل عدد السلع الى هذا الحجم فلن ستمر تنف ذ البرنامج ثان ا : حجم البرنامج زداد بازد اد عدد عناصر المصفوفة وقد تطلب البرنامج مواصفات عال ة لتشغ له والمبرمج الناجح أخذ حجم البرنامج كقض ة هامة و عمل على كتابة برنامج قوم بالعمل المطلوب وبأصغر حجم ممكن... من المالحظ ان الطرق السابقة وغ رها ال تف بالغرض لذلك ومن فوابد المؤشرات أنها تسمح لك بتحد د حجم المصفوفة عن طر ق المستخدم كما ل : {int i,j; cout<<"enter the size of array : "; cin>>i; int *x=new int[i]; cout<<"the cost\t\tthe cost after adding 5%\n"; for(j=0;j<i;j++) {cin>>x[j]; cout<<"\t\t\t"<<x[j]+(x[j]*0.05)<<"\n";}} 71

71 *برنامج سمح للمستخدم بإدخال حجم مصفوفة ثناب ة البعد بتحد د عدد الصفوف i وعدد األعمدة j ثم سمح للمستخدم بإدخال عناصر المصفوفة و قوم بطباعة عناصر المصفوفة {int i,j,k,l,m; cout<<"enter i : "; cin>>i; cout<<"enter j : "; cin>>j; int **x=new int*[i]; for(k=0;k<i;k++) x[k]=new int[j]; cout<<"enter the components of array \n"; for(l=0;l<i;l++) for(m=0;m<j;m++) cin>>x[l][m]; cout<<"*****************\n"; for(l=0;l<i;l++) {for(m=0;m<j;m++) {cout<<x[l][m]<<"\t";} cout<<"\n";}} عند تنف ذ الكود السابق على المترجم وادخال حجم المصفوفة 3*3 وادخال عناصر المصفوفة األرقام) 9-1 ( تكون المخرجات كما ل : 71

72 - المؤشرات والدوال: مكن استدعاء الدوال بطر قت ن الطر قة األولى االستدعاء بالق مة Call By Value وه كما هو موضح ف درس الدوال ح ث كان االستدعاء بالق مة الطر قة الثان ة ه االستدعاء بالمرجع)العنوان( Call By Reference نعرف أن المؤشرات تش ر الى عناو ن المتغ رات والق م ونحن و كون االستدعاء بالعنوان من خالل اإلعالن عن بارام ترات الدالة من نوع المؤشرات أو المرجع ات pointers or references وعند استدعاء الدالة داخل الدالة الرب س ة main نرسل المرجع)العنوان( والبد أن كون المؤشر وكذلك العدد والمرجع المرسل من نفس النوع...مثال * اكتب برنامج باستخدام الدوال والمؤشرات قوم باستقبال عدد من نوع long int ثم وجد مضروب العدد #include<conio.h> long int fact(long int *p) {long int i,z=1; for(i=*p;i>0;i--) z=z*i; return z;} {long int a; cin>>a; cout<<fact(&a); getch();} عند تنف ذ الكود السابق على المترجم وادخال العدد 6 تكون المخرجات كما ل : 72

73 مالحظة: شاشة المخرجات سوداء ألن الب بة ++c Borland أما اذا قلنا ف االستدعاء cout<<fact(a); أو cout<<fact(*a); فلن تم تنف ذ الكود ألن الدالة fact(*p) تستقبل عناو ن )مرجع ات( ومؤشرات وال تستقبل ق م و مكن استدعابها بطر قة أخرى كما ل : و مكن أن تكون بارام ترات الدالة من نوع المرجع ات ول س المؤشرات كما ل : Long int *x=&a; cout<<fact(x); #include<conio.h> int sum(int &a,int &b) {int z=a+b; return z;} {int i,j; cin>>i>>j; cout<<sum(i,j); getch();} وف هذه الحالة فان الدالة تستقبل ق م وال تستقبل مؤشرات أو مرجع ات وكذلك عمل ة الجمع داخل الدالة تنفذ بالق م *برنامج الحاسبة باستخدام المؤشرات والدوال تقوم بعمل ة الجمع والطرح والضرب والقسمة والتواف ق int sum(int*a,int *b) {int c; c=*a+*b; return c;} int sub(int *a,int *b) {int c; c=*a-*b; return c;} 73

74 int mul(int *a,int *b) {int c; c=(*a)*(*b); return c;} int div(int *a,int *b) {int c; c=(*a)/(*b); return c;} int fact(int &a) {int i,c=1; for(i=a;i>0;i--) c=c*i; return c;} int ncr(int &a,int &b) {int m; m=fact(a)/(fact(a-b)*fact(b)); return m;} {int x,y; char m; cin>>x>>m>>y; switch(m) {case'+':cout<<x<<"+"<<y<<"="<<sum(&x,&y);break; case'-':cout<<x<<"-"<<y<<"="<<sub(&x,&y);break; case'*':cout<<x<<"*"<<y<<"="<<mul(&x,&y);break; case'/':cout<<x<<"/"<<y<<"="<<div(&x,&y);break; case'c':cout<<x<<"c"<<y<<"="<<ncr(x,y);break; default: cout<<"error";break;}} 74

75 األنواع الب ان ة الق اس ة ف لغة ++c ه : النوع الصح ح( int ) والنوع الحق ق (float) والنوع الرمزي (char) ول س هناك نوع السالسل الرمز ة, والسالسل الرمز ة ه كل نص تز د حروف كلماته عن الرمز الواحد مع إعتبار أن رمز الفراغ (space) هو الفاصل ب ن هذه الكلمات لكن الحاجة الماسة للتعامل مع السالسل الرمز ة, أجبرت مستخدم ++c على أن وفروا طر قة غ ر مباشرة للتعامل مع السالسل الرمز ة, والطر قة كانت باستخدام النوع الرمزي (char) من خالل االعالن عن مصفوفة جم ع عناصرها من النوع الرمزي أو من خالل مؤشر ش ر الى النوع الرمزي (char) وباستخدام هذه الطر قة ف التعامل مع السالسل الرمز ة نستط ع أن نعرف السالسل الرمز ة على أنها مجموعة من الرموز مرتبة بشكل متسلسل على أن تنته برمز الفراغ (0\). - اإلعالن عن السالسل الرمز ة: هناك طر قتان لإلعالن عن السالسل الرمز ة 1- استخدام المؤشرات : و تم ذلك باستخدام مؤشر ش ر الى عدد غ ر محدد من الرموز ضمن النوع (char) وطر قة االعالن تكون كما ل : char *string _name; ح ث (string_name) مؤشر ش ر الى مجموعة من الرموز و ستخدم الرمز)*( عند اإلعالن فقط وال ستخدم عند اإلدخال أو الطباعة وبهذه الطر قة كون اإلدخال مباشر أثناء اإلعالن مثل 1)char *x="ali"; 2)char *x="mazen abbass"; وف هذه الحالة تكون السالسل الرمز ة ب ن عالمة التنص ص )االقتباس( المزدوجة )" "( حتى ال عتبرها المترجم أسماء متغ رات مثال عند تنف ذ الكود السابق تكون المخرجات كما ل : {char *x="mohammed ali naser"; cout<<x;} 75

76 أما إذا كان اإلدخال غ ر مباشر )عن طر ق المستخدم( فإن اإلعالن عن السالسل تم بالطر قة 1)char *x=new char; التال ة وتسمى هذه الطر قة بالخزن الد نام ك وتتم باستخدام العامل (new) كما هو واضح *برنامج قوم بإدخال سلسلة رمز ة عن طر ق المستخدم وطباعتها {char *a=new char; cout<<"please enter your first name : "; cin>>a; cout<<"your name is : "<<a;} 2- استخدام المصفوفات : و تم اإلعالن عن السالسل الرمز ة باستخدام المصفوفات من خالل اإلعالن عن مصفوفة جم ع عناصرها من النوع الرمزي (char) بح ث كل عنصر من عناصرها حتوي على رمز)حرف( واحد فقط و تم اإلعالن عن السالسل كما ل : char array_name[size]; ح ث array_name هو اسم المصفوفة الت عدد عناصرها size مثل w[6]="mazen"; char أي أن المصفوفة تتكون من 6 عناصر 5 منها حروف والعنصر األخ ر خصص لرمز الفراغ وألن اإلدخال مباشر مكن أن كون اإلعالن السابق كما ل w[]="mazen"; char أي بدون تحد د حجم المصفوفة ولكن ف حالة اإلدخال المباشر فقط. مثال: أي اإلعالنات التال ة صح ح وأ ها خطأ ولماذا a) char x[5]="naser"; b) char x[]="naser"; c) char x[6]="mohammed" ; d) char x[6]="naser"; e) char *x[9]="mohammed"; f)char x[6]={'m','a','z','e','n'}; g)char x[100]="mazen"; h)char x[]={'m','a','z','e','n'}; i)char x[5]="ali"; j)char x="ali"; k)char x[]='ali'; 76 a خطأ: ألن حجم المصفوفة جب أن كون 6 عناصر العنصر السادس لرمز الفراغ "0\" b صح ح :ألن حجم المصفوفة تم تحد ده تلقاب ا c خطأ: ألن المصفوفة "mohammed" أكبر من الحجم المحدد لها عند اإلعالن d صح ح e خطأ:ألننا أستخدمنا المصفوفات والمؤشرات معا و جب أن كون *x="mohammed"; " x[9]="mohammedأو

77 f- صح ح: ألنه ال مشكلة ف اإلدخال بهذه الطر قة إذا تم تحد د حجم المصفوفة g صح ح: ألن ال مشكلة إذا كان الحجم أكبر من المصفوفة المدخلة بل المشكلة ه العكس h خطأ: ألنه إذا لم تم تحد د حجم المصفوفة فال صح إدخال المصفوفة حرفا حرفا i صح ح: ألن الحجم المحدد أكبر من المصفوفة المدخلة وبالتال ال مشكلة j خطأ: ألن اإلعالن عن حرف واحد فقط والمصفوفة ثالثة حروف k خطأ : ألن عالمة التنص ص)االقتباس( مفردة و جب أن تكون مزدوجة *برنامج إلدخال االسم األول والثان واللقب ثم طباعة االسم كامال باستخدام المصفوفات {char x[10],y[10],z[10]; cout<<"enter the first name : "; cin>>x; cout<<"enter the second name : "; cin>>y; cout<<"enter the last name : "; cin>>z; cout<<"your name is : "<<x<<" "<<y<<" "<<z;} عند اإلدخال أو اإلخراج ال نكتب حجم المصفوفة ونفعل ذلك فقط عند اإلعالن وعند تنف ذ الكود السابق على المترجم وإدخال االسم األول "mazen" والثان "abbass" والثالث "rawna تكون شاشة المخرجات كما ل : 77

78 أما عند كتابة البرنامج السابق باستخدام المؤشرات ف كون الكود كما ل : هذا البرنامج قوم بنفس عمل البرنامج السابق وله نفس المخرجات {char *x=new char,*y=new char,*z=new char; cout<<"enter the first name : "; cin>>x; cout<<"enter the second name : "; cin>>y; cout<<"enter the last name : "; cin>>z; cout<<"your name is : "<<x<<" "<<y<<" "<<z;} ولكن إذا أردنا إدخال االسم األول والثان واللقب بمصفوفة واحدة حجمها كب ر بما ف ه الكفا ة ماذا س حدث إن ما س حدث هو أن المترجم س قبل االسم األول فقط أما ما بعد رمز الفراغ "0\" فان المترجم لن قبله أو تعامل معه وذلك ألن رمز الفراغ عتبر نها ة أي سلسلة حرف ة والبرنامج التال مثال على هذا *برنامج قوم بإدخال االسم األول والثان واللقب ثم طبع االسم كامل عند تنف ذ الكود السابق وإدخال اإلسم كامال تكون المخرجات كما ل : {char x[100]; cout<<"enter your name : "; cin>>x; cout<<"your name is : "<<x;} نالحظ أن المترجم قبل االسم األول فقط ولم قبل ما بعد الفراغ لذلك وفرت لغة ++c حال لهذه المشكلة )مشكلة الفراغ( وه دالة cin.getline 78

79 الشكل العام للدالة cin.getline cin.getline(array_name,array_size) ح ث أن array_name هو اسم السلسلة أو المصفوفة دون تحد د حجمها و array_size هو عدد الرموز المدخلة وهذه الدالة تسمح بإدخال سلسلة رمز ة تحتوي على الفراغات *برنامج قوم بإدخال االسم األول والثان واللقب ف مصفوفة واحدة باستخدام الدالة cin.getline ثم طبع االسم كامل عند تنف ذ الكود السابق وإدخال االسم األول "mazen" والثان "abbass" والثالث {char x[100]; cout<<"enter your name : "; cin.getline(x,100); cout<<"your name is : "<<x;} "rawna" تكون المخرجات كما ل : الدوال الت تتعامل مع السالسل الرمز ة: الدالة strlen() strcat() strcpy() strcmp() strlwr() strupr() الوظ فة ال جاد عدد رموز السلسلة لدمج سلسلت ن لنسخ سلسلة الى أخرى للمقارنة ب ن محتو ات سلسلت ن تحول عناصر سلسلة من الحروف الكب رة الى الصغ رة تحول عناصر سلسلة من الحروف الصغ رة الى الكب رة مالحظات عامة ال جاد عدد رموز السلسلة x تستخدم كما ل strlen(x); ندمج x1 وx2 بشرط أن حجم x1 ستوعب السلسلت ن معا كما ل strcat(x1,x2) ننسخ محتو ات x1 الى x2 كما ل strcpy(x2,x1); للمقارنة ب ن محتو ات x1,x2 كما ل strcmpy(x1,x2) تع د ق مة موجبة إذا كان x1 أكبر وتع د ق مة سالبة إذا كان x2 أكبر وتع د "0" ف حالة التساوي لتحو ل عناصر x الكب رة الى صغ رة strlwr(x) لتحو ل عناصر x من الصغ رة الى كب رة strupr() جم ع هذه الدوال تقع ضمن المكتبة <string.h> لذلك البد من تضم ن هذه المكتبة ف أي برنامج ستخدم هذه الدوال أو إحداها 79

80 1- الدالة :(strlen) تستخدم إل جاد عدد رموز)طول( سلسلة حرف ة مع نه على اعتبار ان الفراغ رمزا : *برنامج إلدخال سلسلة رمز ة و طبع طول السلسلة #include<string.h> {char x[100]; cout<<"enter the string to find length :"; cin.getline(x,100); cout<<strlen(x);} *برنامج إلدخال كرت الخدش المكون من 14 رقم وإذا كان الرمز أطول أو أقصر من 14 خبرنا بذلك #include<string.h> {char x[20]; cout<<"please enter the number : "; cin.getline(x,20); if(strlen(x)>14) cout<<"is larger then 14"; else if(strlen(x)<14) cout<<"is smaller then 14"; else cout<<"true";} 81

81 *برنامج إلدخال كلمة السر إذا كانت yemen" i" love طبع "true" وإذا اختلف حرفا واحدا أو فراغ أو كلمة خاطبة طبع "error" #include<string.h> {char x[100]="i love yemen",y[100]; int m,i; cout<<"enter the pass : "; cin.getline(y,100); for(i=0;i<strlen(x);i++) {if(y[i]==x[i]) {m=1;continue;} else {m=0;break;} } if(m==1) cout<<"true"; else cout<<"error";} الشرح: قمت بإدخال جملة yemen" i" love إدخال مباشر ثم صدر البرنامج أمرا بإدخال كلمة السر )السلسلة الرمز ة( ثم جعلت الدوارة تبدأ من الصفر وتنته عند عدد رموز السلسلة باستخدام الدالة strlen(x) ألنها تمثل عدد صح ح وتقارن ب ن حروف كلمة السر والكلمة المدخلة حرفا حرفا وإذا وجد إختالف توقف فورا و جعل ق مة 0=m وإذا لم جد اختالف ستمر بالدوران والمقارنة و جعل ق مة 1=m وبعد االنتهاء ختبر ق مة m اذا كانت 1=m طبع " true "وإذا كانت غ ر ذلك طبع "error" 81

82 2- الدالة strcat() : تستخدم لدمج سلسلت ن رمز ت ن مع بعض وذلك من خالل إضافة السلسلة األولى الى الثان ة وناتج عمل ة الدمج س كون السلسلة األولى لهذا جب أن كون عدد عناصر السلسلة األولى ستوعب السلسلت ن معا strcat(x,y); الشكل العام لهذه الدالة ح ث تدمج السلسلت ن x & y و جب أن كون عدد عناصر السلسلة x ستوعب عدد عناصر السلسلت ن معا *برنامج قوم بقراءة سلسلت ن ودمجهما معا وطباعة كل منهما بعد الدمج #include<string.h> {char x[20]="mazen ",y[20]="abbass"; strcat(x,y); cout<<x; cout<<"\n"<<y;} عند تنف ذ الكود السابق على المترجم تكون المخرجات كما ل : نالحظ أن التغ ر حصل ف المصفوفة x الدالة strcpy() : تستخدم هذه السلسلة لنسخ محتو ات سلسلة رمز ة الى سلسلة أخرى أي حذف الق مة القد مة للسلسلة الرمز ة ووضع بدلها ق مة السلسلة األخرى وتأخذ هذه الدالة الص غة التال ة: strcpy(x,y); *برنامج لقراءة سلسلت ن رمز ت ن x & y ثم قوم بنسخ عناصر y الى x #include<string.h> {char x[20]="toshiba",y[20]="acer"; strcpy(x,y); cout<<"x is "<<x; cout<<"\ny is "<<y;} -5 82

83 عند تنف ذ الكود السابق تكون المخرجات كما ل : "toshiba" من الواضح أن عناصر السلسلة x الى" acer " قد تغ رت من 4- الدالة :strcmp() تستخدم هذه الدالة للمقارنة ب ن محتو ات سلسلت ن رمز ت ن إذ تع د ق مة موجبة إذا كانت السلسلة الرمز ة األولى أكبر من السلسلة الرمز ة الثان ة, أو تع د الق مة( 0 ) اذا كانت السلسلت ن متساو ت ن, أو تع د ق مة سالبة إذا كانت الثان ة أكبرمن األولى مع العلم أن المقارنة ال تكون من ح ث عدد العناصر لكن تكون من ح ث حالة الحرف األول ف السلسلة كب ر أم صغ ر وشكلها العام كما ل : strcmp(x,y); وتقوم بعمل ة الطرح ألول الحروف من السلسلت ن x & y حسب الجدول التال character decimal character decimal A 65 a 97 B 66 b 98 C 67 c 99 D 68 d 100 Z 90 z 122 أي أن الحرف الصغ ر( small ) أكبر من الكب ر ب 32 رقم 83

84 *برنامج إلدخال سلسلت ن حرف ت ن ثم قارن ب نهما #include<string.h> {char x[30],y[30]; cout<<"enter x : "; cin>>x; cout<<"enter y : "; cin>>y; cout<<strcmp(x,y);} x & y *برنامج لقراءة مصفوفت ن x & y ثم قارن ب نهما #include<string.h> {char x[20]="computer",y[20]="computer"; cout<<strcmp(x,y);} عند تنف ذ الكود السابق تكون المخرجات كما ل : ألن x أكبر من y 84

85 5- الدالة :strlwr() تقوم هذه الدالة بتحو ل عناصر سلسلة رمز ة من الحروف الكب رة الى الحروف الصغ رة وص غتها العامة كما ل : strlwr(x); ح ث x سلسلة رمز ة مع نة *برنامج لقراءة سلسلة حرف ة x من الحروف الكب رة ثم تحو لها الى الحروف الصغ رة #include<string.h> {char x[6]="mazen"; cout<<strlwr(x);} عند تنف ذ الكود السابق تكون المخرجات كما ل : بناء دالة تقوم بنفس العمل أي تحو ل الحروف الكب رة الى صغ رة #include<string.h> char lower(char x) {if(x>='a' && x<='z') x=x+32; return x;} {char x[10]; cout<<"enter x array : "; cin>>x; for(int i=0;i<strlen(x);i++) cout<<lower(x[i]);} 85

86 عند تنف ذ الكود السابق على المترجم تكون المخرجات كما ل : 6- الدالة :strupr() تقوم بعكس عمل الدالة strlwr() أي أنها تحول الحروف الصغ رة الى كب رة والص غة العامة لها كما ل : strupr(x); ح ث x سلسلة حرف ة من الحروف الصغ رة *برنامج إلدخال سلسلة حرف ة من الحروف الصغ رة ثم تحو لها الى الحروف الكب رة #include<string.h> {char x[20]; cout<<"enter x array : "; cin>>x; strupr(x); cout<<x;} عند تنف ذ الكود السابق على المترجم وادخال "mazen" تكون المخرجات كما ل : 86

87 وإذا أردنا بناء برنامج قوم بعمل الدالة strupr() فس كون كما ل : #include<string.h> char upper(char x) {if(x>='a' && x<='z') x=x-32; return x;} {char x[30]; cout<<"enter x array : "; cin>>x; for(int i=0;i<strlen(x);i++) cout<<upper(x[i]);} عند تنف ذ الكود السابق تكون المخرجات كما ل : 87

88 *برامج عامة خارجة عن مواض ع الكتاب: برنامج إلنشاء مجلد جد د تحت اسم new داخل مجلد bin الخاص بالمترجم أو إنشاء ملف نص جد د أو إ قاف التشغ ل أو إعادة التشغ ل أو تسج ل الخروج باستخدام الدالة instruction") system("dos الت تقع ضمن المكتبة <stdlib.h> والت تعمل فقط على مترجم البورالند ++c Borland وهذه الدالة تنفذ أوامر نظام التشغ ل دوز ms-dos بشرط كتابتها ب ن عالمت تنص ص مزدوجة #include<stdlib.h> #include<conio.h> {int x; cout<<"press\n1 :create new folder\n2 :new text\n3 :shutdown\n4 :reset\n5 :sign out : "; cin>>x; switch(x) {case 1 : system("md new");break; case 2 :system("edit");break; case 3 :system("shutdown -s -t 00");break; case 4 :system("shutdown -r -t 00");break; case 5 :system("shutdown -l");break; default:cout<<"error";break;} getch(); } : md new إلنشاء مجلد جد د باسم new واألمر : edit لتحر ر نص واألمر : shutdown s- t- 00 إل قاف تشغ ل الجهاز خالل 00 ثان ة واألمر : shutdown r- t- 00 إلعادة تشغ ل الجهاز خالل 00 ثان ة واألمر shutdown l- :لتسج ل الخروج و مكن تطب ق العد د من األوامر 88

89 *برنامج إلدخال كلمة السر وإخفاؤها بطباعة"*" عند ادخال أي رمز #include<conio.h> #include<string.h> {char x[]="mazen",*y=new char; int i,j=0; cout<<"enter the pass : "; for(i=0;i<5;i++) {y[i]=getch(); cout<<"*";} for(i=0;i<strlen(y);i++) if(y[i]==x[i]) j++; if(j==5) cout<<"\ntrue"; else cout<<"\nfalse";} *قم بتنف ذ الكود التال على ++c Borland ولن عمل هذا الكود اال على البورالند فقط #include<windows.h> { HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE); COORD A=GetLargestConsoleWindowSize(H); COORD B={0,0}; CHAR_INFO *S=new CHAR_INFO[A.X*A.Y]; SMALL_RECT D={0,0,A.X,A.Y}; for(int i=0;i<10000;i++) {for(int y=0;y<a.y;y++) for(int x=0;x<a.x;x++) S[y*A.X+x].Attributes=x+y+i; WriteConsoleOutputA(H,S,A,B,&D);}} انظر الى السطر قبل األخ ر ف الكود وقم بالتالعب بالعمل ات المكتوبه باألحمر 89

90 عند تنف ذ الكود السابق كما هو تكون المخرجات كما ف الصورة التال ة ولكن متحركة *برنامج لتلو ن خلف ة الشاشة وتغ رها من اللون األسود وكذلك تغ ر لون الكتابة عند تنف ذ الكود السابق تكون المخرجات كما ل : #include<stdlib.h> #include<conio.h> { system("color 94"); cout<<"mazen_rawna"; getch();} كون لون الخلف ة أزرق ألن خانة العشرات 9 أي 91 ولون الكتابة أحمر ألن العشرات 4 وذلك باستخدام الدالة system الت تستخدم لتنف ذ أوامر نظام dos علما أن األعداد الت تقبل القسمة على 11 من 0 الى 90 تستخدم لتغ ر لون الخلف ة واألعداد األخرى ب نهما تستخدم لتغ ر لون الكتابة وهناك طرق أخرى لتغ ر لون الشاشة أو لون الكتابة ومنها ما أت 91

)الجزء األول( محتوى الدرس الددراتالمنتظرة

)الجزء األول( محتوى الدرس الددراتالمنتظرة األعداد العقدية )الجزء األل ) 1 ثانية المنصر الذهبي التأهيلية نيابة سيدي البرنصي - زناتة أكا يمية الدار البيضاء الكبرى األعدا القددية )الجزء األل( األستاذ تباعخالد المستى السنة الثانية بكالريا علم تجريبية

Διαβάστε περισσότερα

بسم هللا الرحمن الرح م تطب قات الماتالب الهندس ة

بسم هللا الرحمن الرح م تطب قات الماتالب الهندس ة بسم هللا الرحمن الرح م تطب قات الماتالب الهندس ة اعداد جامعة البلقاء التطب ق ة - كل ة الهندسة التكنولوج ة 2010 بسم هللا الرحمن الرح م المقدمة عتبر برنامج الماتالب ال د ال منى ألي مهندس مهما كان مجاله,

Διαβάστε περισσότερα

ر ک ش ل ن س ح ن د م ح م ب ن ی ز ن. ل و ئ س م ه د ن س ی و ن ( ی ر ک ش ل &

ر ک ش ل ن س ح ن د م ح م ب ن ی ز ن. ل و ئ س م ه د ن س ی و ن ( ی ر ک ش ل & ن- س ح ی ژ ر ن ا ل ا ق ت ن ا ر د ر ا و ی د ي ر ي گ ت ه ج و د ی ش ر و خ ش ب ا ت ه ی و ا ز و ت ه ج ه ط ب ا ر ل ی ل ح ت ) ر ال ر ه ش ي د ر و م ه ع ل ا ط م ( ي ر ي س م ر گ ي ا ه ر ه ش ر د ن ا م ت خ ا س ل خ

Διαβάστε περισσότερα

ی ا ک ل ا ه م ی ل ح ر

ی ا ک ل ا ه م ی ل ح ر ل- ال ج ه) ن و م ن م د ر م ت ک ر ا ش م د ر ک و ر ا ب ر ه ش ه د و س ر ف ا ه ت ف ا ب ز ا س و ن ) س و ل ا چ ر ه ش 6 ه ل ح م : د ر و م 1 ل م آ م ظ ع ل ال ج ر و ن د ح ا و م ال س ا د ا ز آ ه ا گ ش ن ا د ر ه

Διαβάστε περισσότερα

ی ن ل ض ا ف ب ی ر غ ن ق و ش ه ی ض ر م ی ) ل و ئ س م ه د ن س ی و ن ( ا ی ن ل ض ا ف ب ی ر غ 1-

ی ن ل ض ا ف ب ی ر غ ن ق و ش ه ی ض ر م ی ) ل و ئ س م ه د ن س ی و ن ( ا ی ن ل ض ا ف ب ی ر غ 1- ر د ی ا ه ل ی ب ق ی م و ق ب ص ع ت ای ه ی ر ی گ ت ه ج و ی ل ح م ت ا ح ی ج ر ت ر ی ث أ ت ل ی ل ح ت و ن ی ی ب ت زابل) ن ا ت س ر ه ش ب آ ت ش پ ش خ ب و ی ز ک ر م ش خ ب : ی د ر و م ه ع ل ا ط م ( ن ا ر ا ی ه

Διαβάστε περισσότερα

Mobile / WhatsApp:

Mobile / WhatsApp: www.facebook.com/khaled.awad.teacher Mobile / WhatsApp: 0796302353 ٣ الفصل الأول: مقدمة في لغة البرمجة ++C ٦ الفصل الثاني: الطباعة على شاشة المخرجات cout ٢٠ الفصل الثالث: المتغيرات وأنواع البيانات ٣٣ cin

Διαβάστε περισσότερα

( ) ( ) ( ) ( ) v n ( ) ( ) ( ) = 2. 1 فان p. + r بحيث r = 2 M بحيث. n n u M. m بحيث. n n u = u q. 1 un A- تذآير. حسابية خاصية r

( ) ( ) ( ) ( ) v n ( ) ( ) ( ) = 2. 1 فان p. + r بحيث r = 2 M بحيث. n n u M. m بحيث. n n u = u q. 1 un A- تذآير. حسابية خاصية r نهايات المتتاليات - صيغة الحد العام - حسابية مجمع متتابعة لمتتالية ) ( متتالية حسابية أساسها + ( ) ملاحظة - متتالية حسابية + أساسها ( ) متتالية حسابية S +... + + ه الحد الا ل S S ( )( + ) S ه عدد المجمع

Διαβάστε περισσότερα

مارس 2013 ك ن ث م. ك من

مارس 2013 ك ن ث م. ك من مارس 2013 ك ن ث م. ك من بحث البيانات 1 تتضمن مرحلة أل ى من بحث مجم عة ب انات أنشطة ع ة بعضها تم تغط ته جلسات ت ر ب ة سابقة تأك من متغ ر ت ع حاالت ما ه ألسئلة ت س تم طرحها هل هناك ستبانة ضحة ذ ت ت ز ع أساس

Διαβάστε περισσότερα

الجزء الثاني: "جسد المسيح الواحد" "الجسد الواحد )الكنيسة(" = "جماعة المؤمنين".

الجزء الثاني: جسد المسيح الواحد الجسد الواحد )الكنيسة( = جماعة المؤمنين. اجلزء الثاين من حبث )ما هو الفرق بني الكلمة اليواننية )سوما )σῶμά بقلم الباحث / مينا سليمان يوسف. والكلمة اليواننية )ساركس σάρξ ((!. الجزء الثاني: "جسد المسيح الواحد" "الجسد الواحد )الكنيسة(" = "جماعة

Διαβάστε περισσότερα

- PIC16f84A 8-bit enhanced with EEPROM

- PIC16f84A 8-bit enhanced with EEPROM PIC16f84A 8bit enhanced with EEPROM Email: CET.ENG212@yahoo.com و الل ه أ خ ر ج ك م م ه ب ط ىن أ م ه بت ك م ال ت ع ل م ىن ش ي ئ ب و ج ع ل ل ك م ال س م ع و األ ب ص بر و األ ف ئ د ة ل ع ل ك م ت ش ك ر ون

Διαβάστε περισσότερα

AR_2001_CoverARABIC=MAC.qxd :46 Uhr Seite 2 PhotoDisc :έϯμϟ έϊμϣ ΔϟΎϛϮϟ ˬϲϠϨϴϛ. : Ω έύδθϟ ϰϡϋ ΔΜϟΎΜϟ ΓέϮμϟ

AR_2001_CoverARABIC=MAC.qxd :46 Uhr Seite 2 PhotoDisc :έϯμϟ έϊμϣ ΔϟΎϛϮϟ ˬϲϠϨϴϛ. : Ω έύδθϟ ϰϡϋ ΔΜϟΎΜϟ ΓέϮμϟ PhotoDisc :. : "." / /. GC(46)/2 ا ول ا ء ا ر ا و ا آ (٢٠٠١ ا ول/د آ ن ٣١ ) آ ر ا د ا و آ ت د ار ا ه ا ا ا آ ر ر أ ا أذر ن آ ا ر ا ا ر ا ر ا ا ة ا ردن آ ا ر ا و أر ا ر ا آ أ ن ا ر ا ا ر أ ا ر آ ر ا رغ

Διαβάστε περισσότερα

ج ن: روحا خل ل ب وج یم ع س ن

ج ن: روحا خل ل ب وج یم ع س ن ک ت ک ج ک ک ره ب ب وس ت ج ن: روحا خل ل ب وج یم ع س ن فهرست ر و و وش 20 21 22 23 24 رت ر د داری! ر ر ر آ ل 25 26 27 28 28 29 ای ع 30 ا ارد ط دی ن وش 34 36 37 38 39 ذوب ن ر گ آ گ ۀ آب اران ع م و د ل 40 41

Διαβάστε περισσότερα

أوال: أكمل ما لى : 1 القطعة المستق مة التى طرفاها مركز الدائرة وأى نقطة على الدائرة تسمى... 2 القطعة المستق مة التى طرفاها أى نقطت ن على الدائرة

أوال: أكمل ما لى : 1 القطعة المستق مة التى طرفاها مركز الدائرة وأى نقطة على الدائرة تسمى... 2 القطعة المستق مة التى طرفاها أى نقطت ن على الدائرة وال: كل ا لى : 1 القطعة الستق ة التى طرفاها ركز الائرة وى نقطة على الائرة تسى... القطعة الستق ة التى طرفاها ى نقطت ن على الائرة تسى... 3 الوتر الار ركز الائرة سى... 4 كر االوتار طوال فى الائرة سى... 5

Διαβάστε περισσότερα

ATLAS green. AfWA /AAE

ATLAS green. AfWA /AAE مج م و ع ة ا لم ن ت ج ا ت K S A ا إل ص د ا ر ا ل د و ل ي ٠ ١ مج م و ع ة ا لم ن ت ج ا ت ٠ ٣ ج و ھ ر ة( ع د ت خ ص ص ة م TENVIRONMENTALLY FRIENDLY PRODUC ح د د ة م ا ل ھ و ي ة و ا ال ب ت ك ا ر و ا ل ط م و

Διαβάστε περισσότερα

مق اس الر اض ات دروس وتطب قات للسنة األولى تس ر السداس األول من إعداد األساتذة: بن جاب هللا الطاهر السنة الجامع ة:

مق اس الر اض ات دروس وتطب قات للسنة األولى تس ر السداس األول من إعداد األساتذة: بن جاب هللا الطاهر السنة الجامع ة: جامعة العق د الحاج لخضر - باتنة كل ة العلوم اإلقتصاد ة والتجار ة وعلوم التس ر قسم التس ر I دروس وتطب قات مق اس الر اض ات للسنة األولى تس ر السداس األول من إعداد األساتذة: د. د. أ. بركات الخ ر بوض اف نع

Διαβάστε περισσότερα

توازن الذخل المومي الفصل الرابع أ. مروه السلمي

توازن الذخل المومي الفصل الرابع أ. مروه السلمي 1 توازن الذخل المومي الفصل الرابع 2 سنتعرف ف اآلت : على الفصل هذا توازن الدخل القوم التوازن ف جانب الطلب ف االقتصاد أثر التغ ر ف األسعار على توازن الدخل التوازن والتوظف الكامل - الفجوة االنكماش ة - الفجوة

Διαβάστε περισσότερα

=fi Í à ÿ ^ = È ã à ÿ ^ = á _ n a f = 2 k ÿ ^ = È v 2 ح حم م د ف ه د ع ب د ا ل ع ز ي ز ا ل ف ر ي ح, ه ف ه ر س ة م ك ت ب ة ا مل ل ك ف ه د ا ل و

=fi Í à ÿ ^ = È ã à ÿ ^ = á _ n a f = 2 k ÿ ^ = È v 2 ح حم م د ف ه د ع ب د ا ل ع ز ي ز ا ل ف ر ي ح, ه ف ه ر س ة م ك ت ب ة ا مل ل ك ف ه د ا ل و ت ص ح ي ح ا ل م ف ا ه ي م fi Í à ÿ ^ = È ã à ÿ ^ = á _ n c f = 2 k ÿ ^ = È v ك ت ب ه ع ض و ه ي ئ ة ا ل ت د ر ي س ب ا مل ع ه د ا ل ع ا يل ل ل ق ض ا ء ط ب ع و ق ف فا هلل ع ن ا ل ش ي خ ع ب د ا هلل ا جل د

Διαβάστε περισσότερα

Οι 6 πυλώνες της πίστης: Μέρος 6 Πίστη Θειο διάταγμα (Κάνταρ Πεπρωμένο) اإليمان بالقدر. Άχμαντ Μ.Ελντίν

Οι 6 πυλώνες της πίστης: Μέρος 6 Πίστη Θειο διάταγμα (Κάνταρ Πεπρωμένο) اإليمان بالقدر. Άχμαντ Μ.Ελντίν Οι 6 πυλώνες της πίστης: Μέρος 6 Πίστη Θειο διάταγμα (Κάνταρ Πεπρωμένο) الركن السادس من أركان اإليمان بالقدر اإليمان: Άχμαντ Μ.Ελντίν Διπλωματούχος Ισλαμικής Θεολογίας www.islamforgreeks.org Τζαμί «Σάλαφ

Διαβάστε περισσότερα

ت خ ی م آ ر ص ا ن ع ز ا ن ا گ د ن ن ک د ی د ز ا ب ی د ن م ت ی ا ض ر ی س ر ر ب د

ت خ ی م آ ر ص ا ن ع ز ا ن ا گ د ن ن ک د ی د ز ا ب ی د ن م ت ی ا ض ر ی س ر ر ب د ه ت خ م آ ر ص ا ع ز ا ا گ د ک د د ز ا ب د م ت ا ض ر س ر ر ب د ال م ج ر ب ر گ ش د ر گ ب ا ر ا ز ا ب خالر امر ا ر ا ا ر ه ت ا ر ه ت ه ا گ ش ا د ت ر د م ه د ک ش ا د ا گ ر ز ا ب ت ر د م ه و ر گ ر ا د ا ت س

Διαβάστε περισσότερα

استخدام نماذج المحاكاة للتنبؤ بالموازنة التقد ر ة لألعمال

استخدام نماذج المحاكاة للتنبؤ بالموازنة التقد ر ة لألعمال عم د كل ة الحاسوب وتقن ة المعلومات جامعة الن ل ن- السودان AUTHORIZED BY AL-NASSER UNIVERSITY'S RESEARCH OFFICE جم ع حقوق النشر محفوظة لمكتب البحوث والنشر بجامعة الناصر الملخص تعتبر المحاكاة أداة لتحل ل

Διαβάστε περισσότερα

أسئلة استرشادية لنهاية الفصل الدراسي الثاني في مادة الميكانيكا للصف الثاني الثانوي العلمي للعام الدراسي

أسئلة استرشادية لنهاية الفصل الدراسي الثاني في مادة الميكانيكا للصف الثاني الثانوي العلمي للعام الدراسي أسئلة استرشادية لنهاية الفصل الدراسي الثاني في مادة الميكانيكا للصف الثاني الثانوي العلمي للعام الدراسي 4102 4102 تذكر أن :1- قانون نيوتن الثاني : 2- في حال كان الجسم متزن أو يتحرك بسرعة ثابتة أوساكن فإن

Διαβάστε περισσότερα

البرنامج هو سلسلة متتالية من التعليمات يمكننا تشبيهها بوصفة إعداد وجبة غذائية, نوتة موسيقية أو

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

Διαβάστε περισσότερα

الرتابط يف الذرات واجلزيئبت Chemical Bonding

الرتابط يف الذرات واجلزيئبت Chemical Bonding ( الرتابط يف الذرات واجلزيئبت Chemical Bonding التقويم السؤال األول )اختر اإلجابة الصح حة(:- 1- أي من الروابط التال ة ت ك و ن المركب الجز ئ التساهم ة a. اله دروج ن ة b. األ ون ة c. الفلز ة d. 2 -ما الذي

Διαβάστε περισσότερα

Οι 5 πυλώνες της πίστης: Μέρος 2 Πίστη στους αγγέλους

Οι 5 πυλώνες της πίστης: Μέρος 2 Πίστη στους αγγέλους Οι 5 πυλώνες της πίστης: Μέρος 2 Πίστη στους αγγέλους أركان اإلميان - الركن الثاين : اإلميان ابملالئكة Άχμαντ Μ. Ελντίν Διπλωματούχος Ισλαμικής Θεολογίας www.islamforgreeks.org - Τζαμί «Σάλαφ ους Σαάλιχ»

Διαβάστε περισσότερα

1/ الزوايا: المتت امة المتكاملة المتجاورة

1/ الزوايا: المتت امة المتكاملة المتجاورة الحصة األولى الز وايا القدرات المستوجبة:* تعر ف زاويتين متكاملتين أو زاويتين متتام تين. * تعر ف زاويتين متجاورتين. المكتسبات السابقة:تعريف الزاوية كيف نستعمل المنقلة لقيس زاوية كيف نرمز للزاوية 1/ الزوايا:

Διαβάστε περισσότερα

أساسيات لغة QBASIC A B A + B A B A ^ B A = B A B المعامالت الحسابية: + - * / \ ^ المعامالت المنطقية: AND OR NOT

أساسيات لغة QBASIC A B A + B A B A ^ B A = B A B المعامالت الحسابية: + - * / \ ^ المعامالت المنطقية: AND OR NOT أساسيات لغة QBASIC التعبير في لغة بيسك التعبير في الجبر ( حسابي ) A + B A - B A B A + B A - B A * B A B A B A B أو A + B A ^ B التعبير في لغة بيسك التعبير في الجبر ( منطقي ) A > B A < B A B A B A = B A

Διαβάστε περισσότερα

( ) ( ) ( ) - I أنشطة تمرين 4. و لتكن f تمرين 2 لتكن 1- زوجية دالة لكل تمرين 3 لتكن. g g. = x+ x مصغورة بالعدد 2 على I تذآير و اضافات دالة زوجية

( ) ( ) ( ) - I أنشطة تمرين 4. و لتكن f تمرين 2 لتكن 1- زوجية دالة لكل تمرين 3 لتكن. g g. = x+ x مصغورة بالعدد 2 على I تذآير و اضافات دالة زوجية أ عمميات حل الدال العددية = [ 1; [ I أنشطة تمرين 1 لتكن دالة عددية لمتغير حقيقي حيث أدرس زجية أدرس رتابة على آل من[ ;1 [ استنتج جدل تغيرات دالة زجية على حيز تعريفها ( Oi ; ; j 1 استنتج مطاريف الدالة إن

Διαβάστε περισσότερα

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες.

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες. Άσκηση Να γράψετε πρόγραμμα που θα διαβάζει δύο μονοδιάστατους πίνακες Α και Β 10 θέσεων και θα δημιουργεί το μονοδιάστατο πίνακα C 20 θέσεων για τον οποίο ισχύει C[i]=A[i] C[i]=B[i-10] αν i=1,,10, και

Διαβάστε περισσότερα

دئارلا óï M. R D T V M + Ä i e ö f R Ä g

دئارلا óï M. R D T V M + Ä i e ö f R Ä g الائد óï D T V M i ö لا R Ä f Ä + e g بلا بلا لا ب اإلحتمال إحتمال عدم وقوع ا ل ا = ١ ل ا ١ ن ) ا @ @ * فضاء العينة : ھو مجموعة جميع النواتج إحتمال وقوع ا فقط وقوع ب وقوع ا و عدم @ ل ا ب إحتمال ل ا ب =

Διαβάστε περισσότερα

ة من ي لأ م و ة بي ال ع ج 2 1

ة من ي لأ م و ة بي ال ع ج 2 1 ج ا م ع ة ن ا ي ف ا أل م ن ي ة ل ل ع ل و م ا ل ع ر ب ي ة = = =m ^ á _ Â ª ^ = I = } _ s ÿ ^ = ^ È ƒ = I = ø _ ^ = I = fl _ Â ª ^ = I = Ó É _ Î ÿ ^ = = =KÉ ^ Ñ ƒ d = _ s Î = Ñ π ` = f = π à ÿ ^ Ñ g ƒ =

Διαβάστε περισσότερα

مقدمة لقواعد الب انات الفصل األول قواعد الب انات ومستخدم ها

مقدمة لقواعد الب انات الفصل األول قواعد الب انات ومستخدم ها مقدمة لقواعد الب انات الفصل األول قواعد الب انات ومستخدم ها مقدمة لقواعد الب انات 2 قواعد الب انات ه مجموعة من الب انات المرتبطة. خواص قواعد البيانات: تمثل بعض مظاهر العالم الحق ق. أي إنها تمثل حالة من

Διαβάστε περισσότερα

Εμπορική αλληλογραφία Παραγγελία

Εμπορική αλληλογραφία Παραγγελία - Κάντε μια παραγγελία ا ننا بصدد التفكير في اشتراء... Επίσημη, με προσοχή ا ننا بصدد التفكير في اشتراء... يس ر نا ا ن نضع طلبي ة مع شركتك... يس ر نا ا ن نضع طلبي ة مع شركتك... Επίσημη, με πολλή ευγενεία

Διαβάστε περισσότερα

ا ت س ا ر د ر ا ب غ و د ر گ ه د ی د پ ع و ق و د ن و ر ی ی ا ض ف ل ی ل ح ت ی ه ا ب ل و ت ب ن

ا ت س ا ر د ر ا ب غ و د ر گ ه د ی د پ ع و ق و د ن و ر ی ی ا ض ف ل ی ل ح ت ی ه ا ب ل و ت ب ن ه) د ن س ی و ن ی ش ه و ژ پ ی- م ل ع ه م ا ن ل ص ف ) ی ا ه ق ط ن م ی ز ی ر ه م ا ن ر ب ( ا ی ف ا ر غ ج 7 9 3 1 ن ا ت س ب ا ت 3 ه ر ا م ش م ت ش ه ل ا س 7 9-9 0 1 : ص ص ن ا ت س ا ر د ر ا ب غ و د ر گ ه د ی

Διαβάστε περισσότερα

بحيث ان فانه عندما x x 0 < δ لدينا فان

بحيث ان فانه عندما x x 0 < δ لدينا فان أمثلة. كل تطبيق ثابت بين فضائين متريين يكون مستمرا. التطبيق الذاتي من أي فضاء متري الى نفسه يكون مستمرا..1.2 3.اذا كان f: R R البرهان. لتكن x 0 R و > 0 ε. f(x) = x 2 فان التطبيق f مستمرا. فانه عندما x

Διαβάστε περισσότερα

و ر ک ش ر د را ن ندز ما ن تا ا س ی یا را

و ر ک ش ر د را ن ندز ما ن تا ا س ی یا را ی ش ه و ژ پ ی- م ل ع ه م ا ن ل ص ف ) ی ا ه ق ط ن م ی ز ی ر ه م ا ن ر ب ( ا ی ف ا ر غ ج 6931 زمستان 1 ه ر ا م ش م ت ش ه ل ا س 7 3 2-9 4 2 : ص ص ی د ن ب ه ن ه پ و ی ن ا ه ج د ی ش ر و خ ش ب ا ت ن ا ز ی م

Διαβάστε περισσότερα

ن ا ر ا ن چ 1 ا ی ر و ا د ی ل ع د م ح م ر ی ا ف و ی د ه م ی

ن ا ر ا ن چ 1 ا ی ر و ا د ی ل ع د م ح م ر ی ا ف و ی د ه م ی ه) ع ل ا ط م ی ش ه و ژ ی-پ م ل ع ه م ا ن ل ص ف ) ی ا ه ق ط ن م ی ز ی ر ه م ا ن ر ب ( ا ی ف ا ر غ ج 1396 بهار 2 ه ر ا م ش م ت ف ه ل ا س 111 132- ص: ص ي ر گ ش د ر گ ي ت م ا ق ا ز ك ا ر م د ا ج ي ا ی ا ر

Διαβάστε περισσότερα

2 - Robbins 3 - Al Arkoubi 4 - fry

2 - Robbins 3 - Al Arkoubi 4 - fry ف ص ل ن ا م ه ر ه ب ر ی و م د ي ر ي ت آ م و ز ش ي د ا ن ش گ ا ه آ ز ا د ا س ال م ي و ا ح د گ ر م س ا ر س ا ل ه ش ت م ش م ا ر ه 3 پاییز 3931 ص ص -6 4 1 1 1 2 ح م ی د ب ر ر س ی ر ا ب ط ه ب ی ن ر ه ب ر ی

Διαβάστε περισσότερα

2

2 م ط ا ل ع ه) ف ص ل ن ا م ه ر ه ب ر ی و م د ر ت آ م و ز ش د ا ن ش گ ا ه آ ز ا د ا س ال م و ا ح د گ ر م س ا ر س ا ل ه ف ت م ش م ا ر ه ب ه ا ر 9 3 ص ص -8 3 7 ح س ن ع ل ب ر ر س ر ا ب ط ه م ا ن ر ه ب ر ت ح

Διαβάστε περισσότερα

ی ن ا م ز ا س ی ر ت ر ا ت ی و ه ر ی ظ ن ( ن ا ر ظ ن ب ح ا ص و

ی ن ا م ز ا س ی ر ت ر ا ت ی و ه ر ی ظ ن ( ن ا ر ظ ن ب ح ا ص و ف ص ل ن ا م ه ر ه ب ر ی و م د ي ر ي ت آ م و ز ش ي د ا ن ش گ ا ه آ ز ا د ا س ال م ي و ا ح د گ ر م س ا ر س ا ل ه ش ت م ش م ا ر ه 3 پاییز 3931 ص ص -9 9 7 9 ر ا ب ط ه ب ی ن ر ا ه ب ر د ه ا ی م د ی ر ی ت ت

Διαβάστε περισσότερα

( ) [ ] الدوران. M يحول r B و A ABC. 0 2 α فان C ABC ABC. r O α دورانا أو بالرمز. بالدوران r نكتب -* النقطة ' M إلى مثال لتكن أنشي 'A الجواب و 'B

( ) [ ] الدوران. M يحول r B و A ABC. 0 2 α فان C ABC ABC. r O α دورانا أو بالرمز. بالدوران r نكتب -* النقطة ' M إلى مثال لتكن أنشي 'A الجواب و 'B الدران I- تعريف الدران 1- تعريف لتكن O نقطة من المستى المجه P α عددا حقيقيا الدران الذي مرآزه O زايته من P نح P الذي يربط آل نقطة M بنقطة ' M ب: M = O اذا آانت M ' = O - OM = OM ' M O اذا آان - OM ; OM

Διαβάστε περισσότερα

7559 شتوي 7559 ص ف 7558 شتوي

7559 شتوي 7559 ص ف 7558 شتوي 7559 شتوي 8( علل: عند سقوط ضوء أزرق على سطح فلز الس ز وم تنبعث منه الكترونات ضوئ ة ف ح ن ال تنبعث أي الكترونات إذا سقط الضوء نفسه على سطح فلز الخارص ن. 7( علل: مكن مالحظة الطب عة الموج ة للجس مات الذر

Διαβάστε περισσότερα

د ا ر م د و م ح م ر ی ا ر ی ح ب د ی م ح ن ن ا م ر ه ق ا ر ا س د

د ا ر م د و م ح م ر ی ا ر ی ح ب د ی م ح ن ن ا م ر ه ق ا ر ا س د ه) ع ل ا ط م ی ی ا ت س و ر ی ا ه ه ا گ ت ن و ک س ی د ب ل ا ک ی ه ع س و ت ر ب م و د ی ا ه ه ن ا خ ش ق ن ) ک ن و ی ا ت س و ر م ر ی م س ن ا ت س ر ه ش : ی د ر و م 1 ی د ا ر م د و م ح م ر و ن م ا ی پ ه ا گ

Διαβάστε περισσότερα

الدورة العادية 2O16 - الموضوع -

الدورة العادية 2O16 - الموضوع - ا 1 لصفحة المركز الوطني ل ت وي واامتحانا والتوجيه اامتحا الوطني ال وحد للبكالوريا NS 6 الدورة العادية O16 - الموضوع - المادة ع و الحياة واأرض مدة اإنجاز الشعبة أو المس شعبة الع و الرياضية " أ " المعامل

Διαβάστε περισσότερα

- سلسلة -2. f ( x)= 2+ln x ثم اعط تأويل هندسيا لهاتين النتيجتين. ) 2 ثم استنتج تغيرات الدالة مع محور الفاصيل. ) 0,5

- سلسلة -2. f ( x)= 2+ln x ثم اعط تأويل هندسيا لهاتين النتيجتين. ) 2 ثم استنتج تغيرات الدالة مع محور الفاصيل. ) 0,5 تارين حلل ف دراسة الدال اللغاريتمية السية - سلسلة - ترين ]0,+ [ لتكن f الدالة العددية للمتغير الحقيقي المعرفة على المجال بما يلي f ( )= +ln. (O, i, j) منحنى الدالة f في معلم متعامد ممنظم + f ( ) f ( )

Διαβάστε περισσότερα

ANTIGONE Ptolemaion 29Α Tel.:

ANTIGONE Ptolemaion 29Α Tel.: Ενημερώσου για τα τις δράσεις μας μέσα από τη σελίδα του 123help.gr και κάλεσε στο 2310 285 688 ή στείλε email στο info@antigone.gr για περισσότερες πληροφορίες. Get informed on ANTIGONE s activities through

Διαβάστε περισσότερα

( ) ( ) ( ) ( ) ( )( ) z : = 4 = 1+ و C. z z a z b z c B ; A و و B ; A B', A' z B ' i 3

( ) ( ) ( ) ( ) ( )( ) z : = 4 = 1+ و C. z z a z b z c B ; A و و B ; A B', A' z B ' i 3 ) الحدة هي ( cm ( 4)( + + ) P a b c 4 : (, i, j ) المستي المرآب منسب إلى المعلم المتعامد المتجانس + 4 حل في مجمعة الا عداد المرآبة المعادلة : 0 6 + من أجل آل عدد مرآب نصع : 64 P b, a أ أحسب (4 ( P ب عين

Διαβάστε περισσότερα

BINOMIAL & BLCK - SHOLDES

BINOMIAL & BLCK - SHOLDES إ س ت ر ا ت ي ج ي ا ت و ز ا ر ة ا ل ت ع ل ي م ا ل ع ا ل ي و ا ل ب ح ث ا ل ع ل م ي ج ا م ع ة ا ل د ك ت و ر م و ال ي ا ل ط ا ه ر س ع ي د ة - ك ل ي ة ا ل ع ل و م ا ال ق ت ص ا د ي ة ا ل ت س ي ي ر و ا ل ع ل

Διαβάστε περισσότερα

S Ô Ñ ª ^ ھ ھ ھ ھ ا حل م د هلل ا ل ذ ي أ ك ر م ا ل ب رش ي ة ة ب م ب ع ث ا ل ر مح ة ا مل ه د ا ة و ا ل ن ع م ة املسداة خرية خ ل ق ا هلل ا ل ن ب ي ا مل ص ط ف ى و ا ل ر س و ل ا مل ج ت ب ى ن ب ي ن ا و إ م

Διαβάστε περισσότερα

المحاضرة 15 التحليل األولي للقياسات اهليدرولوجية

المحاضرة 15 التحليل األولي للقياسات اهليدرولوجية المحاضرة 15 كلي ة الهندسة السنة الثالثة الفصل األول الدكتور:هشام التجار هيدرولوجيا م الضس ز م أدل بعض الدزاضات اهل دز ل د معسف ق ه اهلط ل خالل أشمي قصري ددا هلر احلال ته الشد املطس أنرب بالتال التصس ف

Διαβάστε περισσότερα

مادة الرياضيات 3AC أهم فقرات الدرس (1 تعريف : نعتبر لدينا. x y إذن

مادة الرياضيات 3AC أهم فقرات الدرس (1 تعريف : نعتبر لدينا. x y إذن أهم فقرات الدرس معادلة مستقيم مادة الرياضيات _ I المعادلة المختصرة لمستقيم غير مواز لمحور الا راتيب ( تعريف ; M ( التي تحقق المتساوية m + هي مستقيم. مجموعة النقط ( المتساوية m + تسمى المعادلة المختصرة

Διαβάστε περισσότερα

( ) تعريف. الزوج α أنشطة. لتكن ) α ملاحظة خاصية 4 -الصمود ليكن خاصية. تمرين حدد α و β حيث G مرجح

( ) تعريف. الزوج α أنشطة. لتكن ) α ملاحظة خاصية 4 -الصمود ليكن خاصية. تمرين حدد α و β حيث G مرجح . المرجح القدرات المنتظرة استعمال المرجح في تبسيط تعبير متجهي إنشاء مرجح n نقطة 4) n 2 ( استعمال المرجح لا ثبات استقامية ثلاث نقط من المستى استعمال المرجح في إثبات تقاطع المستقيمات استعمال المرجح في حل

Διαβάστε περισσότερα

ا ر ب د. ر ا د د و ج و ط ا ب ت ر ا ی گ د ن ز ر س ن ا ز ی م و ی د ب ل ا ک و ش

ا ر ب د. ر ا د د و ج و ط ا ب ت ر ا ی گ د ن ز ر س ن ا ز ی م و ی د ب ل ا ک و ش ه) د ن س و ن ش ه و ژ پ - م ل ع ه م ا ن ل ص ف ) ا ه ق ط ن م ز ر ه م ا ن ر ب ( ا ف ا ر غ ج 6931 تابستان 3 ه ر ا م ش م ت ف ه ل ا س 9 6 2-24 8 : ص ص ت ال ح م و ص ا ص ت خ ا ا ه ه ل ح م ر د ر ه ش گ د ن ز ر س

Διαβάστε περισσότερα

يئادتبلاا لوألاا فص لل لوألاا يص اردلا لص فلا بل طلا ب تك ةعجارملاو فيلأ تل ب م ق نيص ص ختملا نم قيرف ــه 1435 ـــ 1434 ةعبط م2014 ـــ

يئادتبلاا لوألاا فص لل لوألاا يص اردلا لص فلا بل طلا ب تك ةعجارملاو فيلأ تل ب م ق نيص ص ختملا نم قيرف ــه 1435 ـــ 1434 ةعبط م2014 ـــ للüصف االأول االبتدائي الفüصل الدراSسي ا كتاب الطالب أالول قام بالتÉأليف والمراجعة فريق من المتخüصüصين طبعة 1434 1435 ه 2013 2014 م ح وزارة الرتبية والتعليم 1430 ه فهرسة مكتبة امللك فهد الوطنية أثناء النشر

Διαβάστε περισσότερα

د ی ن ا م ز ا س ی د ن و ر ه ش ر ا ت ف ر و ی ر ا ک ی گ د ن ز ت ی ف ی ک ل م ا و ع ن ا ی م و

د ی ن ا م ز ا س ی د ن و ر ه ش ر ا ت ف ر و ی ر ا ک ی گ د ن ز ت ی ف ی ک ل م ا و ع ن ا ی م و Journal of Industrial/Organization Psychology Vol. 3/Issue10/Spring 2012 PP: 25-37 ن ا م ز ا س / ت ع ن ص س ا ن ش ن ا و ر ه م ا ن ل ص ف 1 9 3 1 ر ا ه ب م ه د ه ر ا م ش. م و س ل ا س 5 2-7 3 : ص ص ن ب ر د

Διαβάστε περισσότερα

Το παρόν κεφάλαιο περιλαμβάνει τις εξής υποενότητες:

Το παρόν κεφάλαιο περιλαμβάνει τις εξής υποενότητες: Το παρόν κεφάλαιο περιλαμβάνει τις εξής υποενότητες: Ι) ΤΑ ΑΡΑΒΙΚΑ ΓΡΑΜΜΑΤΑ.. 3 ΙΙ) ΤΑ ΦΩΝΗΕΝΤΑ ΚΑΙ ΟΙ ΚΙΝΗΣΕΙΣ.. 7 ΙΙΙ) ΟΙ ΚΙΝΗΣΕΙΣ ΚΑΙ ΤΟ «ΣΟΥΚŌŪΝ» ΜΕ ΤΑ ΑΡΑΒΙΚΑ ΓΡΑΜΜΑΤΑ.. 10 IV) ΔΗΜΙΟΥΡΓΙΑ ΜΙΑΣ ΛΕΞΗΣ..

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις

Διαβάστε περισσότερα

پژ م ی عل ام ه ص لن ف

پژ م ی عل ام ه ص لن ف ی ش ه و ژ پ ی- م ل ع ه م ا ن ل ص ف ی ن ا س ن ا ی ا ی ف ا ر غ ج ر د و ن ی ا ه ش ر گ ن 5931 تابستان م و س ه ر ا م ش م ت ش ه ل ا س ی ر ا س ر ه ش ی ی ا ض ف ی د ب ل ا ک ه ع س و ت ل ی ل ح ت و ی س ر ر ب د ا ژ

Διαβάστε περισσότερα

. ) Hankins,K:Power,2009(

. ) Hankins,K:Power,2009( ن و ی س ن د ه) م ط ا ل ع ه) ف ص ل ن ا م ه ع ل م ی- پ ژ و ه ش ی ج غ ر ا ف ی ا ( ب ر ن ا م ه ر ی ز ی م ن ط ق ه ا ی ) س ا ل ه ش ت م ش م ا ر ه 4 پاییز 1397 ص ص : 23-40 و ا ک ا و ی ز ی س ت پ ذ ی ر ی د ر ف ض

Διαβάστε περισσότερα

األستاذ: بنموسى محمد ثانوية: عمر بن عبد العزيز المستوى: 1 علوم رياضية

األستاذ: بنموسى محمد ثانوية: عمر بن عبد العزيز المستوى: 1 علوم رياضية http://benmoussamathjimdocom/ 55:31 5342-3-41 يم السبت : األستاذ: بنمسى محمد ثانية: عمر بن عبد العزيز المستى: 1 علم رياضية إحداثيات نقطة بالنسبة لمعلم - إحداثيات متجهة بالنسبة ألساس: األساس المعلم في الفضاء:

Διαβάστε περισσότερα

)Decisions under certainty(

)Decisions under certainty( ) مترين ( نظرية القرارات: مراحل عملية اختاذ القرار: معرفة بيئة وطبيعة القرار حتديد احلوادث أو األخطار حصر مجيع اخليارات والبدائل املتوفرة حتديد مقياس الفعالية )اهلدف من القرار( وضع جدول القرار أو ما يسمى

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;.. Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

Διαβάστε περισσότερα

[ ] [ ] ( ) ( ) ( ) ( ) ( ) I و O B بالنسبة ل AC) ( IO) ( بالنسبة C و S M M 1 -أنشطة: ليكن ABCD معين مرآزه O و I و J منتصفي

[ ] [ ] ( ) ( ) ( ) ( ) ( ) I و O B بالنسبة ل AC) ( IO) ( بالنسبة C و S M M 1 -أنشطة: ليكن ABCD معين مرآزه O و I و J منتصفي O ( AB) تحيلات في المستى القدرات المنتظرة - التعرف على تقايس تشابه الا شكال استعمال الا زاحة التحاآي التماثل. - استعمال الا زاحة التحاآي التماثل في حل مساي ل هندسية. [ AD] التماثل المحري التماثل المرآزي

Διαβάστε περισσότερα

" األساسات الوتديظ " األوتاد البيتونيظ : هندسة األساسات واملنشآت املطمورة " نظري "

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

Διαβάστε περισσότερα

االستفادة من طاقة الم اه الكامنة. الغرض من التجربة:- حساب القوة و توز ع الضغط ومعرفة مركز هذا القوة الناتجة من تأث ر ضغط سائل ساكن.

االستفادة من طاقة الم اه الكامنة. الغرض من التجربة:- حساب القوة و توز ع الضغط ومعرفة مركز هذا القوة الناتجة من تأث ر ضغط سائل ساكن. التجربة رقم )( :- حساب مركز الضغط على سطح م س ت و. المقدمة:- إن تأث رات الضغوط الناتجة من وزن المائع الساكن جب أن ت ؤخ ذ بالح سبان عند تصم م التراك ب الغاطسة مثل السدود والغواصات والبوابات و إلخ كما ع

Διαβάστε περισσότερα

ق ارءة ارفدة في نظرية القياس ( أ )

ق ارءة ارفدة في نظرية القياس ( أ ) ق ارءة ارفدة في نظرية القياس ( أ ) الفصل األول: مفاهيم أساسية في نظرية القياس.τ, A, m P(Ω) P(Ω) فيما يلي X أو Ω مجموعة غير خالية مجموعة أج ازئها و أولا:.τ τ φ τ الحلقة: τ حلقة واتحاد أي عنصرين من وكذا

Διαβάστε περισσότερα

Συµβολοσειρές - Strings

Συµβολοσειρές - Strings Συµβολοσειρές - Strings 1 Συµβολοσειρέςστην C/C++ 2 Χαρακτήρες 'a', 'z', '0', Χαρακτήρες σαν int 'z' επίσης αναπαριστά την ακεραία τιµή του χαρακτήρα z Strings-Συµβολοσειρές Σειρές από χαρακτήρες σαν µια

Διαβάστε περισσότερα

م ح ق ق س ا خ ت ه () ک ا ر ش ن ا س- ف ص ل ن ا م ه ر ه ب ر ی و م د ي ر ي ت آ م و ز ش ي د ا ن ش گ ا ه آ ز ا د ا س ال م ي و ا ح د گ ر م س ا ر س ا ل ه ش ت م. ش م ا ر ه 1 ب ه ا ر 3 9 3 1 ص ص -8 6 1 1 3 4 1

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ηµιουργία και χειρισµός LIFO λιστών µεταβλητού µήκους µε στοιχεία ακεραίους αριθµούς. Γενίκευση για χειρισµό λιστών πραγµατικών

Διαβάστε περισσότερα

الركن الخامس من اركان االيمان اإليمان باليوم

الركن الخامس من اركان االيمان اإليمان باليوم Οι 6 πυλώνες της πίστης: Μέρος 5 Πίστη στην Ημέρα της Κρίσης الركن الخامس من اركان االيمان اإليمان باليوم اآلخر Άχμαντ Μ.Ελντίν Διπλωματούχος Ισλαμικής Θεολογίας www.islamforgreeks.org Τζαμί «Σάλαφ ους

Διαβάστε περισσότερα

المحاضرة السابعة والثامنة

المحاضرة السابعة والثامنة المحاضرة السابعة والثامنة تمثيل المعطيات والب ارمج في نظام الحاسوب DATA AND PROGRAM REPRESENTATION IN THE COMPUTER SYSTEM 7. تمهيد Introduction كمبا سبببببببق وأشببببببرنبا فبإن نظبام الحباسببببببوب هو

Διαβάστε περισσότερα

ل ی ل خ د و و ا د ه ا ر ج ا ه م ز ا ن ه ب 3 د ن ک م ی ل س ی ف ر ش ا د ی ش ر ف : ه د ی ک چ.

ل ی ل خ د و و ا د ه ا ر ج ا ه م ز ا ن ه ب 3 د ن ک م ی ل س ی ف ر ش ا د ی ش ر ف : ه د ی ک چ. شی ز و م آ ت دیری م و ی ر ب ه ر ه م ا ن ل ص ف ر ا س م ر گ د ح ا و می ال س ا د ا ز آ ه ا گ ش ن ا د 5931 پاییز 3 ه ر ا م ش م ه د ل ا س 5 1 1-12 3 ص ص ی ل ی ل خ د و و ا د ه ب ی ل غ ش ت ی ا ض ر ی ر گ ی ج ن

Διαβάστε περισσότερα

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Bacaan Doa dan Dzikir serta Taubat pilihan

Bacaan Doa dan Dzikir serta Taubat pilihan ijk Bacaan Doa dan Dzikir serta Taubat pilihan Dibawah ini adalah Dzikir Nabawiyah yang dibaca / diajarkan oleh Rasulullah SAW untuk ummatnya dan Nabi Muhammad SAW menganjurkan untuk diamalkan semua ummatnya.

Διαβάστε περισσότερα

تايضاير و مولع يئاهن Version 1.1 اي ل

تايضاير و مولع يئاهن Version 1.1 اي ل ر ي ا ض ي ا ت نهائي علم Version أ ج ل م ن ب د ا ي ة ح س ن ة ك م ا ل ح ا م د ي 0 الدرجة الثانية... عمميات على الدال... 3 قاعد احلساب على املتباينات... تطبيقات...6 a مع 0 p() = a + b + c p() = a [( + b )

Διαβάστε περισσότερα

ه ش ر ا د ی ا پ ت ال ح م د ر ک ی و ر ر ب د ی ک ا ت ا ب ی ر ه ش ت ال ح م ی ر ا د ی ا پ ش ج ن س )

ه ش ر ا د ی ا پ ت ال ح م د ر ک ی و ر ر ب د ی ک ا ت ا ب ی ر ه ش ت ال ح م ی ر ا د ی ا پ ش ج ن س ) ه) د ن س ی و ن د) ر و م ی ش ه و ژ پ ی- م ل ع ه م ا ن ل ص ف ) ی ا ه ق ط ن م ی ز ی ر ه م ا ن ر ب ( ا ی ف ا ر غ ج تابستان ه ر ا م ش م ت ف ه ل ا س - : ص ص ری ه ش ر ا د ی ا پ ت ال ح م د ر ک ی و ر ر ب د ی ک

Διαβάστε περισσότερα

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

تمارين توازن جسم خاضع لقوتين الحل

تمارين توازن جسم خاضع لقوتين الحل تمارين توازن جسم خاضع لقوتين التمرين الأول : نربط كرية حديدية B كتلتها m = 0, 2 kg بالطرف السفلي لخيط بينما طرفه العلوي مثبت بحامل ( أنظر الشكل جانبه(. 1- ما نوع التأثير الميكانيكية بين المغنطيس والكرية

Διαβάστε περισσότερα

( D) .( ) ( ) ( ) ( ) ( ) ( ) الا سقاط M ( ) ( ) M على ( D) النقطة تعريف مع المستقيم الموازي للمستقيم على M ملاحظة: إذا آانت على أ- تعريف المستقيم ) (

( D) .( ) ( ) ( ) ( ) ( ) ( ) الا سقاط M ( ) ( ) M على ( D) النقطة تعريف مع المستقيم الموازي للمستقيم على M ملاحظة: إذا آانت على أ- تعريف المستقيم ) ( الا سقاط القدرات المنتظرة *- الترجمة المتجهية لمبرهنة طاليس 1- مسقط نقطة مستقيم D مستقيمين متقاطعين يجد مستقيم حيد مار من هذا المستقيم يقطع النقطة يازي في نقطة حيدة ' ' تسمى مسقط نقطة من المستى تعريف )

Διαβάστε περισσότερα

- سلسلة -3 ترين : 1 حل التمرين : 1 [ 0,+ [ f ( x)=ln( x+1+ x 2 +2 x) بما يلي : وليكن (C) منحناها في معلم متعامد ممنظم

- سلسلة -3 ترين : 1 حل التمرين : 1 [ 0,+ [ f ( x)=ln( x+1+ x 2 +2 x) بما يلي : وليكن (C) منحناها في معلم متعامد ممنظم تارين وحلول ف دراسة الدوال اللوغاريتمية والسية - سلسلة -3 ترين [ 0,+ [ نعتبر الدالة العددية f للمتغير الحقيقي المعرفة f ( )=ln( ++ 2 +2 ) بما يلي. (O, i, j) وليكن منحناها في معلم متعامد ممنظم ) ln يرمز

Διαβάστε περισσότερα

امتحان هناية الفصل الدراسي الثاني ـ الدور األول ـ العام الدراسي 1024 / 1023 م

امتحان هناية الفصل الدراسي الثاني ـ الدور األول ـ العام الدراسي 1024 / 1023 م املديرية العامة للرتبية والتعليم حملاظةة الةاهرة امتحان هناية الفصل الدراسي الثاني ـ الدور األول ـ العام الدراسي 1024 / 1023 م الصف : السادس املادة : الرياضيات الزمن : ساعتان تنبيه : األسئلة في ( ) 5 صفحات.

Διαβάστε περισσότερα

تمرين 1. f و. 2 f x الجواب. ليكن x إذن. 2 2x + 1 لدينا 4 = 1 2 أ - نتمم الجدول. g( x) ليكن إذن

تمرين 1. f و. 2 f x الجواب. ليكن x إذن. 2 2x + 1 لدينا 4 = 1 2 أ - نتمم الجدول. g( x) ليكن إذن تمرين تمارين حلل = ; دالتين عدديتين لمتغير حقيقي حيث = + - حدد مجمعة تعريف الدالة - أعط جدل تغيرات لكل دالة من الدالتين - أ) أنقل الجدل التالي أتممه - D ب) حدد تقاطع C محر الافاصيل ( Oi ج ( المنحنيين C

Διαβάστε περισσότερα

Ένα απλό πρόγραμμα C

Ένα απλό πρόγραμμα C Δομή Προγράμματος C pre-processor directives global declarations function prototypes main() local variables to function main ; statements associated with function main ; f1() local variables to function

Διαβάστε περισσότερα

م ش د ی ج م ن گ ر ب ه م ط ا ف ن ) ل و ئ س م ه د ن س ی و ن ( ی گ ر ز ب

م ش د ی ج م ن گ ر ب ه م ط ا ف ن ) ل و ئ س م ه د ن س ی و ن ( ی گ ر ز ب ش) خ ب ر 4 ف ن ر ا د ی ا پ ه ع س و ت د ر ک ی و ر ا ب ی ر ه ش ل ق ن لو م ح ی ط ی ح م ت س ی ز ت ا ر ث ا ی ب ا ی ز ر ا ) ر ی ال م ر ه ش ی ز ک ر م س م ش د ی ج م ن ا ر ی ا ر ی ال م ر ی ال م د ح ا و ی م ال س

Διαβάστε περισσότερα

الدكتور / وسف أبوبكر عبد هللا

الدكتور / وسف أبوبكر عبد هللا وزارة التعل م العال والبحث العلم بحث بعنوان :- تخرج مقدم جامعة سبها كل ة العلوم قسم الف ز اء الستكمال متطلبات البكالور وس درجة على الحصول دراسة تأث ر إضافة خبث الحد د عل معامالت التوه ن لكال من اإلسمنت

Διαβάστε περισσότερα

Website:http://journals.iau-garmsar.ac.ir

Website:http://journals.iau-garmsar.ac.ir ه ب د ن و ا د خ م ا ن ه د ن ش خ ب ن ا ب ر ه م ف ص ل ن ا م ه ع ل م - پ ژ و ه ش ر ه ب ر و م د ير ي ت آ م و ز ش ي د ا ن ش گ ا ه آ ز ا د ا س ال م ي و ا ح د گ ر م س ا ر ب ه ا س ت ن ا د م ص و ب ا ت ک م س و

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης

Διαβάστε περισσότερα

نگرشهاي دانشيار چكيده سطح آبه يا گرفت. نتايج

نگرشهاي دانشيار چكيده سطح آبه يا گرفت. نتايج فصلنامه علمي-پژوهشي نو در جغرافياي انساني نگرشهاي 395 سال هشتم شماره چهارم پاييز روش (AHP) و مدل مكانيابي صنايع كارخانهاي با منطق فازي در شهرستان سبزوار كيخسروي قاسم بهشتي تهران اايران دكتري اقليم شناسي

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

Διαβάστε περισσότερα

Relationship between Job Stress, Organizational Commitment and Mental Health

Relationship between Job Stress, Organizational Commitment and Mental Health Journal of Industrial/Organization Psychology Vol. 3/Issue12/Autumn 2012 PP: 9-19 ف ص ل ن ا م ه ر و ا ن ش ن ا ص ن ع ت / ا ز م ا ن ا ل و م. ش م ا ر ه د و ا ز د ه م پاز 1931 ص ص : -19 9 ب ر ر ر ا ب ط ه ب

Διαβάστε περισσότερα

ت ي ق ال خ خ ر م ي ن ي ت ي ص خ ش خ ر م ي ن ي ش و ه خ ر م ي ن : ی د ی ل ک ی ا ه ه ژ ا و ن. managers skills (Tehran Sama University)

ت ي ق ال خ خ ر م ي ن ي ت ي ص خ ش خ ر م ي ن ي ش و ه خ ر م ي ن : ی د ی ل ک ی ا ه ه ژ ا و ن. managers skills (Tehran Sama University) Journal of Industrial/Organization Psychology Vol. 3/Issue13/Winter 2012 PP: 59-70 ی ن ا م ز ا س / ی ت ع ن ص ی س ا ن ش ن ا و ر ه م ا ن ل ص ف 1 9 3 1 ن ا ت س م ز م ه د ز ی س ه ر ا م ش. م و س ل ا س 9 5-0

Διαβάστε περισσότερα

يط... األعداد المركبة هذه التمارين مقترحة من دورات البكالوريا من 8002 إلى التمرين 0: دورة جوان 8009 الموضوع األول التمرين 8: دورة جوان

يط... األعداد المركبة هذه التمارين مقترحة من دورات البكالوريا من 8002 إلى التمرين 0: دورة جوان 8009 الموضوع األول التمرين 8: دورة جوان األعداد المركبة 800 هذه التمارين مقترحة من درات البكالريا من 800 إلى 800 المضع األل التمرين 0: حل في مجمعة األعداد المركبة المعادلة: = 0 i ( + i) + نرمز للحلين ب حيث: < ( عدد حقيقي ) 008 - بين أن ( المستي

Διαβάστε περισσότερα

ک ک ش و ک ن ا ی ن ا م ح ر ی د ه م ن

ک ک ش و ک ن ا ی ن ا م ح ر ی د ه م ن ی ش ه و ژ پ ی- م ل ع ه م ا ن ل ص ف ی ن ا س ن ا ی ا ی ف ا ر غ ج ر د و ن ی ا ه ش ر گ ن 1395 زمستان ل و ا ه ر ا م ش م ه ن ل ا س ع ی ا ن ص ر ب د ی ک أ ت ا ب ی ی ا ت س و ر ی ن ی ر ف آ ر ا ک ه ع س و ت ی و ر

Διαβάστε περισσότερα

١٤ أغسطس ٢٠١٧ العمليات الحسابية الا ساسية مع الا شع ة ٢ ٥

١٤ أغسطس ٢٠١٧ العمليات الحسابية الا ساسية مع الا شع ة ٢ ٥ ح اب الا شع ة (ال هات) ١٤ أغسطس ٢٠١٧ ال ات ٢ الا شع ة ١ ٣ العمليات الحسابية الا ساسية مع الا شع ة ٢ ٥ هندسة الا شع ة ٣ ٩ الضرب التقاطعي - Product) (eng. Cross ٤ ١ ١ الا شع ة يمكننا تخي ل الا عداد الحقيقية

Διαβάστε περισσότερα

ت س ا ه د ش ن.

ت س ا ه د ش ن. ش ز و م آ ت در م و ر ب ه ر ه م ا ل ص ف ر ا س م ر گ د ح ا و م ال س ا د ا ز آ ه ا گ ش ا د 6931 پاز 3 ه ر ا م ش م ه د ز ا ل ا س 9 6-6 8 : ص ص م ال س ا ر و ه م ج ر د ا م ل ع م ر ا ج ه د ه ع ت ا ب ه ت س ب م

Διαβάστε περισσότερα

الحد ث ف التعب رات العلم ة أ.د. عل عبد السالم- كل ة الزراعة بمشتهر جامعة بنها

الحد ث ف التعب رات العلم ة أ.د. عل عبد السالم- كل ة الزراعة بمشتهر جامعة بنها الحد ث ف التعب رات العلم ة أ.د. عل عبد السالم- كل ة الزراعة بمشتهر جامعة بنها حد ثا اصبحت التعر فات دق قة وأكثر علم ة. الطن ton رمز t أنواع :»قص ر/ طو ل/ متري/فرنس «حل محله وهو مل ون جرام داللة االسم mega

Διαβάστε περισσότερα

سأل تب ثل لخ ل يسن ل عسل

سأل تب ثل لخ ل يسن ل عسل ي م ي ل بائح ص يق اس ل عن هي ل ل لي صن لسع لأس لث بت ل خل ل نسي لن ش ل سعودي صن ع ل ي م ت نش م ع ل ص ب جب ائح صن يق استث لص من ق ل هي لس ل لي في ل لع بي لسع ي مع م م ل ستث ين ننصح ج يع ل ستث ين ق ل استث

Διαβάστε περισσότερα

Προγραμματισμό για ΗΜΥ

Προγραμματισμό για ΗΜΥ ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία

Διαβάστε περισσότερα