<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب  - قسم دورات ++C]]></title>
		<link>https://vb4arb.com/vb/</link>
		<description><![CDATA[منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب  - https://vb4arb.com/vb]]></description>
		<pubDate>Wed, 22 Apr 2026 21:06:07 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس التاسع و الاخير]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11313</link>
			<pubDate>Tue, 03 Feb 2015 10:47:26 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11313</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس التاسع</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الفئات (الكائنات - الأصناف - classes ) :</span></span><br />
<br />
درس اليوم  لا يخص ما سبق نهائيا  ، فما سبق يعتبر مستوى المبتدئين و المتوسطين في البرمجة و هو يعتمد على البرمجة العامة أي انك تضع هدفك و بناءا عليه  تصنع البرنامج  ، احب اسميه  برمجة إجرائية أي انك تكتب  الكود  كله دفعة واحدة بدون أي تنظيم  متغيرات و حلقات و عبارات شرط  و شكرا  ، عندما تتطور من نفسك اكثر و اكثر ستجد نفسك لا تستغني عن الدرس الثامن  و الدوال فتجد ان البرنامج اصبح  اكثر تنظيما و أوضح  و دعنا نسميها برمجة هيكلية  و لكن بعد هذه المرحلة ندخل في شيء أخر اجمل و أوسع و لا ينتهي بسهولة و هو البرمجة الكائنية .<br />
<br />
سيبك من هذا الكلام  ... فهو للتقريب لا اكثر و قد يكون به  بعد الأخطاء <img src="https://vb4arb.com/vb/images/smilies/confused.gif" alt="Confused" title="Confused" class="smilie smilie_13" /><br />
<br />
- مفهوم الصنف : هو عبارة  عن  وعاء  او لنقل قالب عام يمكنك من تخزين البيانات بشكل اكثر تنظيم ، يعني نحن نذكر مثال الطلاب كنا نضع معلومة عن كل طالب في المصفوفة  ، بمعنى اكثر شمول لا يمكننا داخل المصفوفة من نضع اسم الطالب الذي هو نص مع كود طالب او درجاته لانها ارقام  و أيضا داخل قاعدة البانات  لنفترض اننا نسجل مثلا معلومات عن  موظفين الشركة طبعا كل موظف سجله يحتوي على الكثير من البيانات مختلفة الأنواع فدبل ان تربك نفسك في المتغيرات و المصفوفات  نحن لدينا تقنيات البرمجة الكائنية و منها الأصناف .<br />
<br />
- مكونات الصنف  :<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>class ClassName{<br />
private:<br />
..........<br />
public:<br />
..........<br />
};</code></div></div></div>
1 -  كلمة class كلمة مفتاحية تعني تهيئة فئة جديدة .<br />
2 - ClassName  اسم الفئة و كل العادة  اختار اسم مناسب يعني لو لطلاب سميه student  و ليس stnt  ؟؟؟ <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
3 - private  تعريف  متغيرات و دوال تخص الفئة و لا يمكن رؤيتها من قبل المستخدم .<br />
4 - public  و هو جزء التعريفات التي يتعامل معه المستخدم .<br />
5 - ;  لا تنساها فيجب ان تضعها عند نهاية القوس .<br />
<div style="text-align: center;" class="mycode_align">---------------------------</div>
<br />
عارف لم تفهم private و public   ،  طيب  قلنا ان الأصناف او الفئات ( المسميات كثيرة )  هي عبارة عن اطار يحتوي معلومات من مختلف الأنواع عن شيء معين سيارة  ، طيارة  ، طلاب ،  موظفين  ...الخ   ، لكن ما هو الشيء الأكثر أهمية من  ذلك .. الأمان<br />
اجل الأمان  ففي الأصناف نحن هنا  نفرض نوعين من المتغيرات احدهم  مستوى خارجي و الآخر داخلي يخص الفئة و بالتالي لا يمكن لاحد ان يصل الى المتغيرات التي داخل الصنف يسمى هذا نوعا ما بمبدأ التغليف و غالبا ما ستلاحظ ان المتغيرات تعرف  على شكل خاص بينما الدوال تعرف على شكل عام لانها تتعامل مع المستخدم .<br />
<br />
<div style="text-align: center;" class="mycode_align">----------------------------</div>
<br />
<div style="text-align: center;" class="mycode_align">المثال الشامل</div>
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>class sum{<br />
private:<br />
int x , y;<br />
<br />
public:<br />
int sumnum(int a , int b){<br />
x = a;<br />
y = b;<br />
cout&lt;&lt;x + y;<br />
return 0 ; <br />
}<br />
};<br />
<br />
<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
sum n;<br />
n.sumnum(a , b);<br />
return 0;<br />
}</code></div></div><br />
<br />
1 - عرفنا صنف جديد اسمه sum .<br />
<br />
2 - في الجزء الخاص عرفنا متغيرين x,y  لا يتعامل معهم المستخدم .<br />
<br />
3 - في الجزء العام  عرفنا دالة اسمها sumnum  تقوم بجمع عددين يدخلهما المستخدم  هما a,b  و لاحظ اننا في بداية الدالة قمنا باستعمال قيم x,y  و لم نستعمل a,b  يعني كان المفروض تكتب<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>class sum{<br />
<br />
public:<br />
<br />
int sumnum(int a , int b){<br />
cout&lt;&lt;a + b;<br />
return 0 ; <br />
}<br />
};</code></div></div> <br />
4 - داخل دالة main ستلاحظ سطور نوعا ما غريبة  و هي<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>sum n;<br />
n.sumnum(a , b);</code></div></div><br />
عند استدعاء أي صنف نحن نشتق منه كائن و قد تشتق منه اكثر من كائن  فهنا n هي كائن اشتق من الصنف sum و من هنا سمية بالبرمجة الكائنية  .<br />
<br />
و ما بقي الا ان ناخذ قيم a,b من المستخدم و نعوض بها في الدالة  sumnum  و سوف تتولى هي طباعة الناتج .<br />
<br />
أيضا في التعريف :<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;</code></div></div></div>
<br />
يمكن ان تختار أي متغيرين  غير a, b   هنا انا فقط حبيت ان لا اربكك و استعمل نفس الأسماء لكن الامر عادي يمكن ان تفرض أي أسماء .<br />
<br />
<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align">====================================</div>
<br />
<div style="text-align: center;" class="mycode_align">تقريبا هذا كل ما في الدورة من معلومات و  ما درسناه هو نبذة مختصرة اعتبرها مقدمة عن البرمجة الكائنية</div>
<br />
<div style="text-align: center;" class="mycode_align">أتمنى  ان أكون قد وفقت في الشرح و ان تكون هذه الدورة قد أفادت أعضاء المنتدى الكرام</div>
<br />
<div style="text-align: center;" class="mycode_align">و رجائي الأخير الذي لا ينتهي البرمجة و بالخصوص ++c بحر لا ينتهي ما درسته في الدورة</div>
<br />
<div style="text-align: center;" class="mycode_align">يؤهلك لصنع برامج لكن لا يؤهلك للاحتراف فالاحتراف لا يأتي من الفراغ بل يأتي بالعمل</div>
<br />
<div style="text-align: center;" class="mycode_align">الجاد  لذا تابع ثم تابع ثم تابع العمل على مستواك أي شيء غير واضح</div>
<div style="text-align: center;" class="mycode_align">غير مفهوم  لا تتردوا في السؤال عنه</div>
<br />
<div style="text-align: center;" class="mycode_align">خلصت الحلقة الأخيرة <img src="https://vb4arb.com/vb/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" /></div>
<br />
<div style="text-align: center;" class="mycode_align">سلام  و بالتوفيق للجميع و الى اللقاء في مسلسلات و أفلام أخرى  <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /></div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6548" target="_blank" title="">Class Exam.rar</a> (الحجم : 283 بايت / التحميلات : 56)
]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس التاسع</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الفئات (الكائنات - الأصناف - classes ) :</span></span><br />
<br />
درس اليوم  لا يخص ما سبق نهائيا  ، فما سبق يعتبر مستوى المبتدئين و المتوسطين في البرمجة و هو يعتمد على البرمجة العامة أي انك تضع هدفك و بناءا عليه  تصنع البرنامج  ، احب اسميه  برمجة إجرائية أي انك تكتب  الكود  كله دفعة واحدة بدون أي تنظيم  متغيرات و حلقات و عبارات شرط  و شكرا  ، عندما تتطور من نفسك اكثر و اكثر ستجد نفسك لا تستغني عن الدرس الثامن  و الدوال فتجد ان البرنامج اصبح  اكثر تنظيما و أوضح  و دعنا نسميها برمجة هيكلية  و لكن بعد هذه المرحلة ندخل في شيء أخر اجمل و أوسع و لا ينتهي بسهولة و هو البرمجة الكائنية .<br />
<br />
سيبك من هذا الكلام  ... فهو للتقريب لا اكثر و قد يكون به  بعد الأخطاء <img src="https://vb4arb.com/vb/images/smilies/confused.gif" alt="Confused" title="Confused" class="smilie smilie_13" /><br />
<br />
- مفهوم الصنف : هو عبارة  عن  وعاء  او لنقل قالب عام يمكنك من تخزين البيانات بشكل اكثر تنظيم ، يعني نحن نذكر مثال الطلاب كنا نضع معلومة عن كل طالب في المصفوفة  ، بمعنى اكثر شمول لا يمكننا داخل المصفوفة من نضع اسم الطالب الذي هو نص مع كود طالب او درجاته لانها ارقام  و أيضا داخل قاعدة البانات  لنفترض اننا نسجل مثلا معلومات عن  موظفين الشركة طبعا كل موظف سجله يحتوي على الكثير من البيانات مختلفة الأنواع فدبل ان تربك نفسك في المتغيرات و المصفوفات  نحن لدينا تقنيات البرمجة الكائنية و منها الأصناف .<br />
<br />
- مكونات الصنف  :<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>class ClassName{<br />
private:<br />
..........<br />
public:<br />
..........<br />
};</code></div></div></div>
1 -  كلمة class كلمة مفتاحية تعني تهيئة فئة جديدة .<br />
2 - ClassName  اسم الفئة و كل العادة  اختار اسم مناسب يعني لو لطلاب سميه student  و ليس stnt  ؟؟؟ <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
3 - private  تعريف  متغيرات و دوال تخص الفئة و لا يمكن رؤيتها من قبل المستخدم .<br />
4 - public  و هو جزء التعريفات التي يتعامل معه المستخدم .<br />
5 - ;  لا تنساها فيجب ان تضعها عند نهاية القوس .<br />
<div style="text-align: center;" class="mycode_align">---------------------------</div>
<br />
عارف لم تفهم private و public   ،  طيب  قلنا ان الأصناف او الفئات ( المسميات كثيرة )  هي عبارة عن اطار يحتوي معلومات من مختلف الأنواع عن شيء معين سيارة  ، طيارة  ، طلاب ،  موظفين  ...الخ   ، لكن ما هو الشيء الأكثر أهمية من  ذلك .. الأمان<br />
اجل الأمان  ففي الأصناف نحن هنا  نفرض نوعين من المتغيرات احدهم  مستوى خارجي و الآخر داخلي يخص الفئة و بالتالي لا يمكن لاحد ان يصل الى المتغيرات التي داخل الصنف يسمى هذا نوعا ما بمبدأ التغليف و غالبا ما ستلاحظ ان المتغيرات تعرف  على شكل خاص بينما الدوال تعرف على شكل عام لانها تتعامل مع المستخدم .<br />
<br />
<div style="text-align: center;" class="mycode_align">----------------------------</div>
<br />
<div style="text-align: center;" class="mycode_align">المثال الشامل</div>
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>class sum{<br />
private:<br />
int x , y;<br />
<br />
public:<br />
int sumnum(int a , int b){<br />
x = a;<br />
y = b;<br />
cout&lt;&lt;x + y;<br />
return 0 ; <br />
}<br />
};<br />
<br />
<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
sum n;<br />
n.sumnum(a , b);<br />
return 0;<br />
}</code></div></div><br />
<br />
1 - عرفنا صنف جديد اسمه sum .<br />
<br />
2 - في الجزء الخاص عرفنا متغيرين x,y  لا يتعامل معهم المستخدم .<br />
<br />
3 - في الجزء العام  عرفنا دالة اسمها sumnum  تقوم بجمع عددين يدخلهما المستخدم  هما a,b  و لاحظ اننا في بداية الدالة قمنا باستعمال قيم x,y  و لم نستعمل a,b  يعني كان المفروض تكتب<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>class sum{<br />
<br />
public:<br />
<br />
int sumnum(int a , int b){<br />
cout&lt;&lt;a + b;<br />
return 0 ; <br />
}<br />
};</code></div></div> <br />
4 - داخل دالة main ستلاحظ سطور نوعا ما غريبة  و هي<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>sum n;<br />
n.sumnum(a , b);</code></div></div><br />
عند استدعاء أي صنف نحن نشتق منه كائن و قد تشتق منه اكثر من كائن  فهنا n هي كائن اشتق من الصنف sum و من هنا سمية بالبرمجة الكائنية  .<br />
<br />
و ما بقي الا ان ناخذ قيم a,b من المستخدم و نعوض بها في الدالة  sumnum  و سوف تتولى هي طباعة الناتج .<br />
<br />
أيضا في التعريف :<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;</code></div></div></div>
<br />
يمكن ان تختار أي متغيرين  غير a, b   هنا انا فقط حبيت ان لا اربكك و استعمل نفس الأسماء لكن الامر عادي يمكن ان تفرض أي أسماء .<br />
<br />
<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align">====================================</div>
<br />
<div style="text-align: center;" class="mycode_align">تقريبا هذا كل ما في الدورة من معلومات و  ما درسناه هو نبذة مختصرة اعتبرها مقدمة عن البرمجة الكائنية</div>
<br />
<div style="text-align: center;" class="mycode_align">أتمنى  ان أكون قد وفقت في الشرح و ان تكون هذه الدورة قد أفادت أعضاء المنتدى الكرام</div>
<br />
<div style="text-align: center;" class="mycode_align">و رجائي الأخير الذي لا ينتهي البرمجة و بالخصوص ++c بحر لا ينتهي ما درسته في الدورة</div>
<br />
<div style="text-align: center;" class="mycode_align">يؤهلك لصنع برامج لكن لا يؤهلك للاحتراف فالاحتراف لا يأتي من الفراغ بل يأتي بالعمل</div>
<br />
<div style="text-align: center;" class="mycode_align">الجاد  لذا تابع ثم تابع ثم تابع العمل على مستواك أي شيء غير واضح</div>
<div style="text-align: center;" class="mycode_align">غير مفهوم  لا تتردوا في السؤال عنه</div>
<br />
<div style="text-align: center;" class="mycode_align">خلصت الحلقة الأخيرة <img src="https://vb4arb.com/vb/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" /></div>
<br />
<div style="text-align: center;" class="mycode_align">سلام  و بالتوفيق للجميع و الى اللقاء في مسلسلات و أفلام أخرى  <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /></div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6548" target="_blank" title="">Class Exam.rar</a> (الحجم : 283 بايت / التحميلات : 56)
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الثامن 2]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11302</link>
			<pubDate>Sun, 01 Feb 2015 14:24:52 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11302</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">نتابع امثلة الدوال</span></div>
<br />
2 - طباعة اسمك :<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void print(string name){<br />
cout&lt;&lt;"hello " + name;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter your name : &#92;n";<br />
string n;<br />
getline(cin , n , '&#92;n');<br />
print(n);<br />
return 0;<br />
}</code></div></div></div>
1 - قمن بتضمين مكتبة string .<br />
2 - وضعنا وسيط يحمل اسم المستخدم .<br />
3 - طبعنا الاسم  مع بعض الإضافات <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /> .<br />
4 - داخل دالة main كل ما فعلناه هو اخذ قيمة من المستخدم و تمريرها للدالة كوسيط و شكرا .<br />
<div style="text-align: center;" class="mycode_align">================</div>
3 - جمع عددين :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int sum(int x , int y){<br />
return x + y;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
cout&lt;&lt;sum(a,b);<br />
return 0;<br />
}</code></div></div>1 - الاختلاف يكمن في  استعمال return  و نحن تحدثنا عنها و عن أهميتها .<br />
2 - في حال انك لم تفهمها :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int sum(int x , int y){<br />
int z = x + y;<br />
return z;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
cout&lt;&lt;sum(a,b);<br />
return 0;<br />
}</code></div></div>هي نفسها لكن بمزيد من الإضافات لا فائدة منها  return  هي أصلا تعمل نفس عمل z  .<br />
لا تريد ان تضيف cout&lt;&lt;  قبل دالتنا :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int sum(int x , int y){<br />
int z = x + y;<br />
cout&lt;&lt;z;<br />
return 0;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
sum(a,b);<br />
return 0;<br />
}</code></div></div>و هنا لابد و ان تكتب return 0  فهي تعني نهاية الدالة  .<br />
كل هذه طرق المهم ان تصل  لما تريد  و لكن من الجميل ان تصل له بسطور اقل  فهذا يدل على فهم اكبر و ناهيك عن سهولة القراءة .<br />
<div style="text-align: center;" class="mycode_align">====================</div>
4 - دالة المقياس :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int abs(int x){<br />
if(x &gt; 0 ){<br />
cout&lt;&lt;x;<br />
}<br />
else{<br />
cout&lt;&lt; -x;<br />
}<br />
return 0;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter number : &#92;n";<br />
int a;<br />
cin&gt;&gt;a;<br />
abs(a);<br />
return 0;<br />
}</code></div></div>لا جديد  نفس الكلام  و ربما اقل  ، -x  فلو كان العدد سالب يطبع موجب  ، و هذه هي نفس فكرة abs الموجودة في مكتبة math<br />
<div style="text-align: center;" class="mycode_align">===================</div>
5 - جدول الضرب :<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int MultiTab(int x){<br />
for(int i = 1 ; i &lt;= 10;i++){<br />
cout&lt;&lt;x * i&lt;&lt;"&#92;n";<br />
}<br />
return 0;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter number : &#92;n";<br />
int a;<br />
cin&gt;&gt;a;<br />
MultiTab(a);<br />
return 0;<br />
}</code></div></div></div>
نأخذ عدد كوسيط للدالة MultiTab و منه  نقوم بتمريره على حلقة تكرارية  تبدأ من 1 و تنتهي عند 10  و في كل دورة نضرب العدد في العداد الجديد و نطبع القيمة .<br />
<div style="text-align: center;" class="mycode_align">=========================</div>
6 - تبديل النصوص :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void MySwap(string str1 , string str2){<br />
string str3;<br />
str3 = str1;<br />
str1 = str2;<br />
str2 = str3;<br />
cout&lt;&lt;"string 1: "&lt;&lt;str1&lt;&lt;"&#92;n";<br />
cout&lt;&lt;"string 2: "&lt;&lt;str2&lt;&lt;"&#92;n";<br />
}<br />
int main(){<br />
cout&lt;&lt;"Please enter  2 strings :&#92;n";<br />
string a,b;<br />
getline(cin , a , '&#92;n');<br />
getline(cin , b , '&#92;n');<br />
cout&lt;&lt;"string 1: "&lt;&lt;a&lt;&lt;"&#92;n";<br />
cout&lt;&lt;"string 2: "&lt;&lt;b&lt;&lt;"&#92;n";<br />
MySwap(a,b);<br />
return 0;<br />
}</code></div></div><br />
عارف شكله غريب لكنه بسيط  <img src="https://vb4arb.com/vb/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
- لدينا دالة MySwap تقوم بأخذ نصين كوسائط  من المستخدم و بعدها  تستعمل نص ثالث str3  لتبديل القيم على النحو الآتي:<br />
<br />
3 يأخذ قيمة 1 <br />
<br />
1  يأخذ قيمة 2<br />
<br />
2 يأخذ قيمة 3<br />
<br />
بهذا رقم ثلاثة لم يعد له فائدة  و 2  اخذ قيمة 1 و 1 اخذ قيمة 2<br />
<br />
.<br />
.<br />
.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">عربي هذا ؟؟؟ <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" /> </span><img src="https://vb4arb.com/vb/images/smilies/confused.gif" alt="Confused" title="Confused" class="smilie smilie_13" /><br />
<br />
لم اجد طريقة أخرى لشرحها اعذروني <img src="https://vb4arb.com/vb/images/smilies/blush.gif" alt="Blush" title="Blush" class="smilie smilie_12" /> <br />
<br />
<br />
<div style="text-align: center;" class="mycode_align">============================</div>
<div style="text-align: center;" class="mycode_align">الى هنا نتوقف لكن انت تابع  لا تتوقف هناك امامك الكثير لتجربه</div>
<div style="text-align: center;" class="mycode_align">اطلق العنان لمخيلتك و ابداعاتك ابحث عن امثلة اكثر  طور من افكارك</div>
<div style="text-align: center;" class="mycode_align">أي شيء يصعب عليك</div>
<div style="text-align: center;" class="mycode_align"> تفضل بطرح سؤالك في المنتدى</div>
<div style="text-align: center;" class="mycode_align">و المنتدى ما شاء الله مليء بالخبراء الذين سوف يساعدوك</div>
<div style="text-align: center;" class="mycode_align">بعون الله و توفيقه</div>
<div style="text-align: center;" class="mycode_align">و شكرا </div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">نتابع امثلة الدوال</span></div>
<br />
2 - طباعة اسمك :<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void print(string name){<br />
cout&lt;&lt;"hello " + name;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter your name : &#92;n";<br />
string n;<br />
getline(cin , n , '&#92;n');<br />
print(n);<br />
return 0;<br />
}</code></div></div></div>
1 - قمن بتضمين مكتبة string .<br />
2 - وضعنا وسيط يحمل اسم المستخدم .<br />
3 - طبعنا الاسم  مع بعض الإضافات <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /> .<br />
4 - داخل دالة main كل ما فعلناه هو اخذ قيمة من المستخدم و تمريرها للدالة كوسيط و شكرا .<br />
<div style="text-align: center;" class="mycode_align">================</div>
3 - جمع عددين :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int sum(int x , int y){<br />
return x + y;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
cout&lt;&lt;sum(a,b);<br />
return 0;<br />
}</code></div></div>1 - الاختلاف يكمن في  استعمال return  و نحن تحدثنا عنها و عن أهميتها .<br />
2 - في حال انك لم تفهمها :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int sum(int x , int y){<br />
int z = x + y;<br />
return z;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
cout&lt;&lt;sum(a,b);<br />
return 0;<br />
}</code></div></div>هي نفسها لكن بمزيد من الإضافات لا فائدة منها  return  هي أصلا تعمل نفس عمل z  .<br />
لا تريد ان تضيف cout&lt;&lt;  قبل دالتنا :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int sum(int x , int y){<br />
int z = x + y;<br />
cout&lt;&lt;z;<br />
return 0;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter 2 numbers : &#92;n";<br />
int a , b;<br />
cin&gt;&gt;a&gt;&gt;b;<br />
sum(a,b);<br />
return 0;<br />
}</code></div></div>و هنا لابد و ان تكتب return 0  فهي تعني نهاية الدالة  .<br />
كل هذه طرق المهم ان تصل  لما تريد  و لكن من الجميل ان تصل له بسطور اقل  فهذا يدل على فهم اكبر و ناهيك عن سهولة القراءة .<br />
<div style="text-align: center;" class="mycode_align">====================</div>
4 - دالة المقياس :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int abs(int x){<br />
if(x &gt; 0 ){<br />
cout&lt;&lt;x;<br />
}<br />
else{<br />
cout&lt;&lt; -x;<br />
}<br />
return 0;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter number : &#92;n";<br />
int a;<br />
cin&gt;&gt;a;<br />
abs(a);<br />
return 0;<br />
}</code></div></div>لا جديد  نفس الكلام  و ربما اقل  ، -x  فلو كان العدد سالب يطبع موجب  ، و هذه هي نفس فكرة abs الموجودة في مكتبة math<br />
<div style="text-align: center;" class="mycode_align">===================</div>
5 - جدول الضرب :<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int MultiTab(int x){<br />
for(int i = 1 ; i &lt;= 10;i++){<br />
cout&lt;&lt;x * i&lt;&lt;"&#92;n";<br />
}<br />
return 0;<br />
}<br />
int main(){<br />
cout&lt;&lt;"please enter number : &#92;n";<br />
int a;<br />
cin&gt;&gt;a;<br />
MultiTab(a);<br />
return 0;<br />
}</code></div></div></div>
نأخذ عدد كوسيط للدالة MultiTab و منه  نقوم بتمريره على حلقة تكرارية  تبدأ من 1 و تنتهي عند 10  و في كل دورة نضرب العدد في العداد الجديد و نطبع القيمة .<br />
<div style="text-align: center;" class="mycode_align">=========================</div>
6 - تبديل النصوص :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void MySwap(string str1 , string str2){<br />
string str3;<br />
str3 = str1;<br />
str1 = str2;<br />
str2 = str3;<br />
cout&lt;&lt;"string 1: "&lt;&lt;str1&lt;&lt;"&#92;n";<br />
cout&lt;&lt;"string 2: "&lt;&lt;str2&lt;&lt;"&#92;n";<br />
}<br />
int main(){<br />
cout&lt;&lt;"Please enter  2 strings :&#92;n";<br />
string a,b;<br />
getline(cin , a , '&#92;n');<br />
getline(cin , b , '&#92;n');<br />
cout&lt;&lt;"string 1: "&lt;&lt;a&lt;&lt;"&#92;n";<br />
cout&lt;&lt;"string 2: "&lt;&lt;b&lt;&lt;"&#92;n";<br />
MySwap(a,b);<br />
return 0;<br />
}</code></div></div><br />
عارف شكله غريب لكنه بسيط  <img src="https://vb4arb.com/vb/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
- لدينا دالة MySwap تقوم بأخذ نصين كوسائط  من المستخدم و بعدها  تستعمل نص ثالث str3  لتبديل القيم على النحو الآتي:<br />
<br />
3 يأخذ قيمة 1 <br />
<br />
1  يأخذ قيمة 2<br />
<br />
2 يأخذ قيمة 3<br />
<br />
بهذا رقم ثلاثة لم يعد له فائدة  و 2  اخذ قيمة 1 و 1 اخذ قيمة 2<br />
<br />
.<br />
.<br />
.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">عربي هذا ؟؟؟ <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" /> </span><img src="https://vb4arb.com/vb/images/smilies/confused.gif" alt="Confused" title="Confused" class="smilie smilie_13" /><br />
<br />
لم اجد طريقة أخرى لشرحها اعذروني <img src="https://vb4arb.com/vb/images/smilies/blush.gif" alt="Blush" title="Blush" class="smilie smilie_12" /> <br />
<br />
<br />
<div style="text-align: center;" class="mycode_align">============================</div>
<div style="text-align: center;" class="mycode_align">الى هنا نتوقف لكن انت تابع  لا تتوقف هناك امامك الكثير لتجربه</div>
<div style="text-align: center;" class="mycode_align">اطلق العنان لمخيلتك و ابداعاتك ابحث عن امثلة اكثر  طور من افكارك</div>
<div style="text-align: center;" class="mycode_align">أي شيء يصعب عليك</div>
<div style="text-align: center;" class="mycode_align"> تفضل بطرح سؤالك في المنتدى</div>
<div style="text-align: center;" class="mycode_align">و المنتدى ما شاء الله مليء بالخبراء الذين سوف يساعدوك</div>
<div style="text-align: center;" class="mycode_align">بعون الله و توفيقه</div>
<div style="text-align: center;" class="mycode_align">و شكرا </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الثامن1]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11300</link>
			<pubDate>Sun, 01 Feb 2015 09:03:43 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11300</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الثامن</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الدوال ( التوابع - Functions ) :</span></span><br />
<br />
درس اليوم  درس صعب و سهل في نفس الوقت <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  يعني  الدوال  جزء خطير من أي لغة برمجة  و بدونها  سوف يتعب المبرمج  و فهمها يتطلب الكثير من التركيز  ( الجزء الصعب )  ، في نفس الوقت درسنا اليوم قليل السطور كثير الاكواد ( و هنا السهولة ) .<br />
<br />
المهم  ...........  سيبك  من  الفوق  و ركز معي  :<br />
<br />
الدالة :  يقصد بالدالة هو  مجموعة من السطور التي تؤدي  غرض معين  ،  لم نفهم  ... في الدروس السابقة  تطرقنا لعدد من  الدوال منها  abs   و   swap  و غيرهم الكثير  فهذه  كلها دوال  نستدعيها و تنفذ امر محدد .<br />
<br />
<br />
نسينا  اهم دالة  main  الدالة الرئيسية فهي أيضا دالة  مثل بقية الدوال .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<br />
- مكونات أي دالة :<br />
<br />
أي دالة بها مجموعة من الثوابت التي يجب ان تحفظها زي اسمك :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>DataType  FuncName(arg1 , arg2){<br />
some code<br />
return ;<br />
}</code></div></div>1 - datatype  -  نوع الدالة و هذه التسمية غير محببة فنقول نوع القيمة العائدة أي ان الدالة تعيد  قيم من نوع معين و قد تكون الدالة لا تعيد أي قيمة  .<br />
2 - funcname  - اسم الدالة و كما  راينا في تسمية المتغيرات ، يستفضل اختيار أسماء مناسبة  جدا هنا  ، فالمتغير يمكن فهمه<br />
اما الدالة فصعب  يعني  لو دالة حساب مساحة دائرة  سميها  circelArea  وليس cra  <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" /> <br />
سيبك من cra  و ركز معي <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
3 - (arg1 , arg2)  -  الوسائط  ، هل تتذكر جميع الدوال التي مرت علينا  كلها  كانت متبوعة بقوسين () و في داخلهم  كنا نكتب الوسائط  ... شوف هذا المثال<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>x.substr(2 , 5);</code></div></div></div>
كما تلاحظ  دالة substr  اخذت وسيطين  .<br />
اذا الوسيط هي تلك القيم  التي يدخلها المستخدم  لكي ينفذ  عليها الاكواد التي بداخل الدالة و قد لا تحتوي الدالة على وسائط<br />
الامر يرجع لتفكيرك و للوظيفة  او البرنامج الذي تصممه .<br />
4 - some code  -  أي اكواد تعلمناها  او سوف نتعلمها  يمكن استخدامها حتى لو من مكتبات أخرى .<br />
5 - return  - تستعمل هذه الكلمة في حالة كان هناك قيمة تعود من الدالة  ،  يعني  في  برنامج  اردنا حساب مساحة مستطيل<br />
ثم نريد ان نستعمل هذه القيمة مثلا في إيجاد حجم متوازي مستطيلات عن طريق ضربها في الارتفاع  هنا  نجد ان الدالة عادة<br />
يقيمة و هي مساحة المستطيل بعد ذلك يمكنك  ضربها في الارتفاع  .. أي شيء  المهم المضمون  .<br />
6 - الاقواس  { }  و هي مهمة لحصر  الكود .<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------</div>
- أنواع الدوال :<br />
تماما كانواع المتغيرات <br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int func(int x){<br />
return x;<br />
}<br />
<br />
double y(){<br />
return y;<br />
}</code></div></div></div>
<div style="text-align: center;" class="mycode_align">----------------------------------------</div>
<div style="text-align: center;" class="mycode_align">- الدوال التي تكتبها جميعا خارج main  لا تكتب أي دالة داخل main  فهذا غير  صحيح  -</div>
<div style="text-align: center;" class="mycode_align">----------------------------------------</div>
<div style="text-align: center;" class="mycode_align">الأمثلة </div>
1 -  دالة طباعة :<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void print(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"hello world !";<br />
}<br />
int main(){<br />
print();<br />
<br />
return 0;<br />
}</code></div></div></div>
 <br />
كما تلاحظ :<br />
- هنا الدالة من النوع void أي انها لا تأخذ أي وسيط  نسميها النوع العام  .<br />
- داخل دالة main  نكتب اسم الدالة فقط  و بين القوسين نكتب الوسائط  ان وجدت .<br />
<div style="text-align: center;" class="mycode_align">================</div>
<div style="text-align: center;" class="mycode_align">نظرا لحجم الدرس الكبير </div>
<div style="text-align: center;" class="mycode_align">نتابع بقية الدرس في الجزء الثاني .. انتظرونا</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الثامن</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الدوال ( التوابع - Functions ) :</span></span><br />
<br />
درس اليوم  درس صعب و سهل في نفس الوقت <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  يعني  الدوال  جزء خطير من أي لغة برمجة  و بدونها  سوف يتعب المبرمج  و فهمها يتطلب الكثير من التركيز  ( الجزء الصعب )  ، في نفس الوقت درسنا اليوم قليل السطور كثير الاكواد ( و هنا السهولة ) .<br />
<br />
المهم  ...........  سيبك  من  الفوق  و ركز معي  :<br />
<br />
الدالة :  يقصد بالدالة هو  مجموعة من السطور التي تؤدي  غرض معين  ،  لم نفهم  ... في الدروس السابقة  تطرقنا لعدد من  الدوال منها  abs   و   swap  و غيرهم الكثير  فهذه  كلها دوال  نستدعيها و تنفذ امر محدد .<br />
<br />
<br />
نسينا  اهم دالة  main  الدالة الرئيسية فهي أيضا دالة  مثل بقية الدوال .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<br />
- مكونات أي دالة :<br />
<br />
أي دالة بها مجموعة من الثوابت التي يجب ان تحفظها زي اسمك :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>DataType  FuncName(arg1 , arg2){<br />
some code<br />
return ;<br />
}</code></div></div>1 - datatype  -  نوع الدالة و هذه التسمية غير محببة فنقول نوع القيمة العائدة أي ان الدالة تعيد  قيم من نوع معين و قد تكون الدالة لا تعيد أي قيمة  .<br />
2 - funcname  - اسم الدالة و كما  راينا في تسمية المتغيرات ، يستفضل اختيار أسماء مناسبة  جدا هنا  ، فالمتغير يمكن فهمه<br />
اما الدالة فصعب  يعني  لو دالة حساب مساحة دائرة  سميها  circelArea  وليس cra  <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" /> <br />
سيبك من cra  و ركز معي <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
3 - (arg1 , arg2)  -  الوسائط  ، هل تتذكر جميع الدوال التي مرت علينا  كلها  كانت متبوعة بقوسين () و في داخلهم  كنا نكتب الوسائط  ... شوف هذا المثال<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>x.substr(2 , 5);</code></div></div></div>
كما تلاحظ  دالة substr  اخذت وسيطين  .<br />
اذا الوسيط هي تلك القيم  التي يدخلها المستخدم  لكي ينفذ  عليها الاكواد التي بداخل الدالة و قد لا تحتوي الدالة على وسائط<br />
الامر يرجع لتفكيرك و للوظيفة  او البرنامج الذي تصممه .<br />
4 - some code  -  أي اكواد تعلمناها  او سوف نتعلمها  يمكن استخدامها حتى لو من مكتبات أخرى .<br />
5 - return  - تستعمل هذه الكلمة في حالة كان هناك قيمة تعود من الدالة  ،  يعني  في  برنامج  اردنا حساب مساحة مستطيل<br />
ثم نريد ان نستعمل هذه القيمة مثلا في إيجاد حجم متوازي مستطيلات عن طريق ضربها في الارتفاع  هنا  نجد ان الدالة عادة<br />
يقيمة و هي مساحة المستطيل بعد ذلك يمكنك  ضربها في الارتفاع  .. أي شيء  المهم المضمون  .<br />
6 - الاقواس  { }  و هي مهمة لحصر  الكود .<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------</div>
- أنواع الدوال :<br />
تماما كانواع المتغيرات <br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int func(int x){<br />
return x;<br />
}<br />
<br />
double y(){<br />
return y;<br />
}</code></div></div></div>
<div style="text-align: center;" class="mycode_align">----------------------------------------</div>
<div style="text-align: center;" class="mycode_align">- الدوال التي تكتبها جميعا خارج main  لا تكتب أي دالة داخل main  فهذا غير  صحيح  -</div>
<div style="text-align: center;" class="mycode_align">----------------------------------------</div>
<div style="text-align: center;" class="mycode_align">الأمثلة </div>
1 -  دالة طباعة :<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void print(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"hello world !";<br />
}<br />
int main(){<br />
print();<br />
<br />
return 0;<br />
}</code></div></div></div>
 <br />
كما تلاحظ :<br />
- هنا الدالة من النوع void أي انها لا تأخذ أي وسيط  نسميها النوع العام  .<br />
- داخل دالة main  نكتب اسم الدالة فقط  و بين القوسين نكتب الوسائط  ان وجدت .<br />
<div style="text-align: center;" class="mycode_align">================</div>
<div style="text-align: center;" class="mycode_align">نظرا لحجم الدرس الكبير </div>
<div style="text-align: center;" class="mycode_align">نتابع بقية الدرس في الجزء الثاني .. انتظرونا</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس السابع]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11287</link>
			<pubDate>Sat, 31 Jan 2015 08:00:31 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11287</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس السابع</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* النصوص :</span></span><br />
<br />
كما تعلمنا في الدرس السابق مكتبة الدوال الحسابية و رأينا اهم الدوال  التي تتصمنها  ، في هذا الدرس أيضا سوف نتعرف على مكتبة التعامل مع النصوص  .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>include&lt;string.h&gt;#</code></div></div>هذا هو التضمين  لمكتبة string  .<br />
<div style="text-align: center;" class="mycode_align">-----------------------------------</div>
درسنا في أنواع المتغيرات النوع char و هو يقبل فقط حرف واحد  ، فكرة النصوص معتمدة على تكوين مصفوفة من النوع char  و لكن نظرا لمشكلة حجم المصفوفة و ما الى ذلك يستفضل الاعتماد على هذه المكتبة .<br />
<div style="text-align: center;" class="mycode_align">------------------------------------</div>
- تعريف متغير من النوع string :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>string x = "hello world";</code></div></div><br />
مثل أي تعريف لمتغير  لكن هنا النوع نص ، و لاحظ هنا ان المكتبة هي التي تتولى عملية تحديد حجم النص  .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------</div>
<div style="text-align: center;" class="mycode_align">- أهم العمليات -</div>
<br />
1 - الجمع :  اجل يمكنك جمع نصين  باستخدام " + "<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x , y;<br />
y = " !";<br />
x = "hello world";<br />
cout&lt;&lt;x + y;<br />
return 0;<br />
}</code></div></div>كما تلاحظ ناتج هذا البرنامج هو   !hello world   <br />
فقط الجمع هو الموجود  يعني ما احد يجرب  *  ,  /   ,  .....  <img src="https://vb4arb.com/vb/images/smilies/undecided.gif" alt="Undecided" title="Undecided" class="smilie smilie_20" /><br />
<div style="text-align: center;" class="mycode_align">=======</div>
2  - التبديل :  يتم التبديل  باستخدام الدالة swap  كالآتي<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x , y;<br />
y = " !";<br />
x = "hello world";<br />
x.swap(y);<br />
cout&lt;&lt;x + y;<br />
return 0;<br />
}</code></div></div><br />
على عكس البرنامج السابق فهذا البرنامج يطبع  hello world!<br />
لاحظ هنا السطر <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>x.swap(y);</code></div></div><br />
هنا الدالة تبدل قيم المتغيرين  دون النظر لاحجامهم او أي تفاصيل أخرى .<br />
<br />
يمتلك النوع string مجموعة من الدوال الجاهزة كلها تستدعى عن طريق إضافة " . " بعد اسم المتغير مباشرة ، طبعا هناك الكثير من الدوال لكن نحن هنا سوف نتطرق لمجموعة منها  ،  اذا لم تفهم الكلام سابق غير النصوص السابقة و جرب و غير  الى ان تفهمها .<br />
<br />
<div style="text-align: center;" class="mycode_align">=========</div>
<br />
3 - البحث عن كلمة : نستعمل الدالة find  لايجاد موقع كلمة في نص .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love c++";<br />
int y =x.find("c++");<br />
cout&lt;&lt;y;<br />
return 0;<br />
}</code></div></div><br />
الدالة هنا تعود لنا بقيمة هي عدد صحيح  تشير الى مكان اول حرف في الكلمة التي نبحث عنها  ، العد من الصفر دائما .<br />
<br />
ستلاحظ هنا ان الناتج هو 7  و بالفعل لو قمت عد الحرزف ستجد ان c  هو 7  عندما نعد من الصفر .<br />
<br />
<div style="text-align: center;" class="mycode_align">=========</div>
<br />
4 - نسخ جزء من سلسلة :<br />
<br />
نحن نعلم اننا لو اردنا نسخ قيمة متغير لآخر  نكتب مباشرة<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>x = y;</code></div></div> <br />
طيب  لو اردنا جزء من نص عدد حروف معين  نستعمل  substr  هذه الدالة تستقبل وسيطين  الأول و هو  الحرف الذي نبدا منه العد و الثاني و هو عدد الحروف التي سوف ننسخها .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love c++";<br />
string y =x.substr(2, 5);<br />
cout&lt;&lt;y;<br />
return 0;<br />
}</code></div></div><br />
ناتج هذا البرنامج هو   " love"  ، الحرف رقم اثنين هو  L  (العد يبدأ من الصفر)  و 5  هو عدد  الحروف التي ستنسخ بما في ذلك الحرف الأول بمعنى انك لو اردت  نسخ  L فقط ستكتب  :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>y = x.substr(2,1);</code></div></div><br />
و لو وضعنا 0 ماذا سيطبع  ؟ <br />
<br />
و لا شيء <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
<br />
<div style="text-align: center;" class="mycode_align">==========</div>
<br />
5 - معرفة حجم النص :<br />
<br />
من المهم ان تعرف حجم النص الذي تستعمله  و هنا نستخدم  الدالة capacity  بدون أي وسيط  المهم ان تخزن القيمة في متغير عددي .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love c++";<br />
int y = x.capacity();<br />
cout&lt;&lt;y;<br />
<br />
return 0;<br />
}</code></div></div><br />
ستلاحظ انك مهما غيرت في النص السابق  سواء بإزالة حرف  ، إضافة حرف  ، اكتب حرف واحد  بدل النص  كله  ان الحجم ثابت !<br />
<br />
هذا يرجع  للمكتبة نفسها  فطالما  ان نصك اقل من 15  حرف  فهي تحجز عموما مساحة 15 حرف حتى لو استعملت انت 1  من 15  ام لو كان  النص اكبر من 15  فهي  تحجز مساحة  31  حرف  حتى لو كان العدد اقل من هذا  اما ما بعد ذلك  فهي تحجز مساحة  بناء على حجمه  .<br />
<br />
<div style="text-align: center;" class="mycode_align">==========</div>
<br />
6 - مشكلة الادخال :<br />
جرب الكود التالي<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
cin&gt;&gt;x;<br />
cout&lt;&lt;x;<br />
return 0;<br />
}</code></div></div><br />
جرب ادخال أي جملة بها  مسافات  .... ماذا تلاحظ ناتج الطباعة  هو فقط اول كلمة  حتى اول مسافة <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" /><br />
<br />
طبعا هذه كانت مشكلة عويصة تم حلها باستحدام دالة ادخال جديدة هي getline<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>getline( cin , x , '&#92;n');</code></div></div><br />
كما تلاحظ تأخذ هذه الدالة ثلاث وسائط هم  :  دالة الادخال العادية  و   المتغير   و   مكان التوقف  و هو في اغلب برامجنا  الانتقال لسطر جديد .<br />
<br />
جرب البرنامج مرة أخرى  بعد التعديل :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
getline(cin , x , '&#92;n');<br />
cout&lt;&lt;x;<br />
return 0;<br />
}</code></div></div><br />
الحمد لله حلت  المشكلة  <img src="https://vb4arb.com/vb/images/smilies/rolleyes.gif" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" />   لكن بقي سؤال  لو خطر في بالك فهذا يدل على شدة تركيزك و انك تفهم و لا تحفظ <img src="https://vb4arb.com/vb/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
لماذا تأخذ  دالة getline  الدالة  cin  كوسيط ؟؟؟<br />
.<br />
.<br />
.<br />
<br />
الموضوع يرجع لدوال الطباعة و الادخال  القديمة التي كانت تستخدم في لغة c  حيث كانت تحتاج بعض  العمل من اجل تعريف أنواع القيم التي سوف ندخلها و نطبعها   و عموما هذا الموضوع لا يهمنا كثيرا  .<br />
<br />
<div style="text-align: center;" class="mycode_align">==========</div>
<br />
7 - الاستبدال : <br />
<br />
يرتبط الاستبدال بالبحث  فهنا نحن نستخدم الدالة find للبحث عن  مكان  الكلمة التي تريد ازالتها  ثم نستعمل الدالة repalce و التي تأخذ ثلاث وسائط  هم  :  مكان  النص القديم و ،  عدد حروف النص القديم  ،  النص الجديد .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love java" ;<br />
int y = x.find("java");<br />
cout&lt;&lt; x.replace(y , 4 , "c++");<br />
return 0;<br />
}</code></div></div><div style="text-align: center;" class="mycode_align">======================</div>
<div style="text-align: center;" class="mycode_align">الى هنا تنتهي حلقتنا النصوصية <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /> </div>
<div style="text-align: center;" class="mycode_align">الى اللقاء في حلقة أخرى </div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس السابع</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* النصوص :</span></span><br />
<br />
كما تعلمنا في الدرس السابق مكتبة الدوال الحسابية و رأينا اهم الدوال  التي تتصمنها  ، في هذا الدرس أيضا سوف نتعرف على مكتبة التعامل مع النصوص  .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>include&lt;string.h&gt;#</code></div></div>هذا هو التضمين  لمكتبة string  .<br />
<div style="text-align: center;" class="mycode_align">-----------------------------------</div>
درسنا في أنواع المتغيرات النوع char و هو يقبل فقط حرف واحد  ، فكرة النصوص معتمدة على تكوين مصفوفة من النوع char  و لكن نظرا لمشكلة حجم المصفوفة و ما الى ذلك يستفضل الاعتماد على هذه المكتبة .<br />
<div style="text-align: center;" class="mycode_align">------------------------------------</div>
- تعريف متغير من النوع string :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>string x = "hello world";</code></div></div><br />
مثل أي تعريف لمتغير  لكن هنا النوع نص ، و لاحظ هنا ان المكتبة هي التي تتولى عملية تحديد حجم النص  .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------</div>
<div style="text-align: center;" class="mycode_align">- أهم العمليات -</div>
<br />
1 - الجمع :  اجل يمكنك جمع نصين  باستخدام " + "<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x , y;<br />
y = " !";<br />
x = "hello world";<br />
cout&lt;&lt;x + y;<br />
return 0;<br />
}</code></div></div>كما تلاحظ ناتج هذا البرنامج هو   !hello world   <br />
فقط الجمع هو الموجود  يعني ما احد يجرب  *  ,  /   ,  .....  <img src="https://vb4arb.com/vb/images/smilies/undecided.gif" alt="Undecided" title="Undecided" class="smilie smilie_20" /><br />
<div style="text-align: center;" class="mycode_align">=======</div>
2  - التبديل :  يتم التبديل  باستخدام الدالة swap  كالآتي<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x , y;<br />
y = " !";<br />
x = "hello world";<br />
x.swap(y);<br />
cout&lt;&lt;x + y;<br />
return 0;<br />
}</code></div></div><br />
على عكس البرنامج السابق فهذا البرنامج يطبع  hello world!<br />
لاحظ هنا السطر <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>x.swap(y);</code></div></div><br />
هنا الدالة تبدل قيم المتغيرين  دون النظر لاحجامهم او أي تفاصيل أخرى .<br />
<br />
يمتلك النوع string مجموعة من الدوال الجاهزة كلها تستدعى عن طريق إضافة " . " بعد اسم المتغير مباشرة ، طبعا هناك الكثير من الدوال لكن نحن هنا سوف نتطرق لمجموعة منها  ،  اذا لم تفهم الكلام سابق غير النصوص السابقة و جرب و غير  الى ان تفهمها .<br />
<br />
<div style="text-align: center;" class="mycode_align">=========</div>
<br />
3 - البحث عن كلمة : نستعمل الدالة find  لايجاد موقع كلمة في نص .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love c++";<br />
int y =x.find("c++");<br />
cout&lt;&lt;y;<br />
return 0;<br />
}</code></div></div><br />
الدالة هنا تعود لنا بقيمة هي عدد صحيح  تشير الى مكان اول حرف في الكلمة التي نبحث عنها  ، العد من الصفر دائما .<br />
<br />
ستلاحظ هنا ان الناتج هو 7  و بالفعل لو قمت عد الحرزف ستجد ان c  هو 7  عندما نعد من الصفر .<br />
<br />
<div style="text-align: center;" class="mycode_align">=========</div>
<br />
4 - نسخ جزء من سلسلة :<br />
<br />
نحن نعلم اننا لو اردنا نسخ قيمة متغير لآخر  نكتب مباشرة<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>x = y;</code></div></div> <br />
طيب  لو اردنا جزء من نص عدد حروف معين  نستعمل  substr  هذه الدالة تستقبل وسيطين  الأول و هو  الحرف الذي نبدا منه العد و الثاني و هو عدد الحروف التي سوف ننسخها .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love c++";<br />
string y =x.substr(2, 5);<br />
cout&lt;&lt;y;<br />
return 0;<br />
}</code></div></div><br />
ناتج هذا البرنامج هو   " love"  ، الحرف رقم اثنين هو  L  (العد يبدأ من الصفر)  و 5  هو عدد  الحروف التي ستنسخ بما في ذلك الحرف الأول بمعنى انك لو اردت  نسخ  L فقط ستكتب  :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>y = x.substr(2,1);</code></div></div><br />
و لو وضعنا 0 ماذا سيطبع  ؟ <br />
<br />
و لا شيء <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
<br />
<div style="text-align: center;" class="mycode_align">==========</div>
<br />
5 - معرفة حجم النص :<br />
<br />
من المهم ان تعرف حجم النص الذي تستعمله  و هنا نستخدم  الدالة capacity  بدون أي وسيط  المهم ان تخزن القيمة في متغير عددي .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love c++";<br />
int y = x.capacity();<br />
cout&lt;&lt;y;<br />
<br />
return 0;<br />
}</code></div></div><br />
ستلاحظ انك مهما غيرت في النص السابق  سواء بإزالة حرف  ، إضافة حرف  ، اكتب حرف واحد  بدل النص  كله  ان الحجم ثابت !<br />
<br />
هذا يرجع  للمكتبة نفسها  فطالما  ان نصك اقل من 15  حرف  فهي تحجز عموما مساحة 15 حرف حتى لو استعملت انت 1  من 15  ام لو كان  النص اكبر من 15  فهي  تحجز مساحة  31  حرف  حتى لو كان العدد اقل من هذا  اما ما بعد ذلك  فهي تحجز مساحة  بناء على حجمه  .<br />
<br />
<div style="text-align: center;" class="mycode_align">==========</div>
<br />
6 - مشكلة الادخال :<br />
جرب الكود التالي<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
cin&gt;&gt;x;<br />
cout&lt;&lt;x;<br />
return 0;<br />
}</code></div></div><br />
جرب ادخال أي جملة بها  مسافات  .... ماذا تلاحظ ناتج الطباعة  هو فقط اول كلمة  حتى اول مسافة <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" /><br />
<br />
طبعا هذه كانت مشكلة عويصة تم حلها باستحدام دالة ادخال جديدة هي getline<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>getline( cin , x , '&#92;n');</code></div></div><br />
كما تلاحظ تأخذ هذه الدالة ثلاث وسائط هم  :  دالة الادخال العادية  و   المتغير   و   مكان التوقف  و هو في اغلب برامجنا  الانتقال لسطر جديد .<br />
<br />
جرب البرنامج مرة أخرى  بعد التعديل :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
getline(cin , x , '&#92;n');<br />
cout&lt;&lt;x;<br />
return 0;<br />
}</code></div></div><br />
الحمد لله حلت  المشكلة  <img src="https://vb4arb.com/vb/images/smilies/rolleyes.gif" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" />   لكن بقي سؤال  لو خطر في بالك فهذا يدل على شدة تركيزك و انك تفهم و لا تحفظ <img src="https://vb4arb.com/vb/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
لماذا تأخذ  دالة getline  الدالة  cin  كوسيط ؟؟؟<br />
.<br />
.<br />
.<br />
<br />
الموضوع يرجع لدوال الطباعة و الادخال  القديمة التي كانت تستخدم في لغة c  حيث كانت تحتاج بعض  العمل من اجل تعريف أنواع القيم التي سوف ندخلها و نطبعها   و عموما هذا الموضوع لا يهمنا كثيرا  .<br />
<br />
<div style="text-align: center;" class="mycode_align">==========</div>
<br />
7 - الاستبدال : <br />
<br />
يرتبط الاستبدال بالبحث  فهنا نحن نستخدم الدالة find للبحث عن  مكان  الكلمة التي تريد ازالتها  ثم نستعمل الدالة repalce و التي تأخذ ثلاث وسائط  هم  :  مكان  النص القديم و ،  عدد حروف النص القديم  ،  النص الجديد .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
string x;<br />
x = "i love java" ;<br />
int y = x.find("java");<br />
cout&lt;&lt; x.replace(y , 4 , "c++");<br />
return 0;<br />
}</code></div></div><div style="text-align: center;" class="mycode_align">======================</div>
<div style="text-align: center;" class="mycode_align">الى هنا تنتهي حلقتنا النصوصية <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /> </div>
<div style="text-align: center;" class="mycode_align">الى اللقاء في حلقة أخرى </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس السادس]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11277</link>
			<pubDate>Fri, 30 Jan 2015 06:57:22 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11277</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس السادس</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الدوال الحسابية :</span></span><br />
<br />
في هذا الدرس سوف نرى مجموعة من الدوال الرياضية  التي تعلمناها في المدرسة لكن في ++c  و  هي جميعها معتمدة على مكتبة واحدة سوف نقوم بتضمينها  مع مكتبة الدخل و الخرج .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;math.h&gt;</code></div></div>هذه هي المكتبة المسؤولة عن العمليات الرياضية  و فيما يلي شرح لاهم الدوال التي تضمنها :<br />
-  abs  - دالة المقياس للاعداد الصحيحة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>abs(-5);</code></div></div>- fabs  - دالة المقياس للاعداد العشرية :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>fabs(-6.335);</code></div></div>و لاحظ ان abs  افضل  من fabs  لانها ممكن تستعمل مع كلا نوعين<br />
<div style="text-align: center;" class="mycode_align">-----------------------------------------------------</div>
- floor  - التقريب لاقل عدد : بمعنى انها تقرب للاقل  ،  فلو لدينا  2.9   تقربه ل  2 <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>floor(7.6);</code></div></div>- ceil  - عكس السابقة فهي تقرب للاعلى  بمعنى لو كان الرقم 5.1  فهي تقربه ل 6<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>ceil(4.32);</code></div></div><br />
<div style="text-align: center;" class="mycode_align">-----------------------------------------</div>
<br />
- rand - تستخدم لاسناد اعداد عشوائية  لمتغير :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int a = rand();</code></div></div><div style="text-align: center;" class="mycode_align">-----------------------------------------</div>
- sin - دالة  حساب جيب الزاوية :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>double c = (30 * 3.14) / 180; <br />
sin(c);</code></div></div><br />
هذه الدوال تعمل مع  نظام  radian  لذا وجب تحويل الزاوية الستينية 30 الى القياس الدائري : <br />
<br />
<div style="text-align: left;" class="mycode_align">x = c *3.14 / 180</div>
<br />
بالمثل :<br />
<br />
- tan - ظل الزاوية :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Code:double c = (30 * 3.14) / 180; <br />
tan(c);</code></div></div>- cos - جيب التمام لزاوية :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Code:double c = (30 * 3.14) / 180; <br />
cos(c);</code></div></div><br />
<div style="text-align: center;" class="mycode_align">------------------------------------------</div>
- pow -  الاس  ( الرفع لقوى ) :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x = 3;<br />
pow(x , 2);</code></div></div><br />
رفعنا الرقم 3  الى القوة الثانية  و بالمثل لجميع القوى .<br />
<br />
- sqrt  - الجذر التربيعي :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>sqrt(144);</code></div></div><br />
طيب على فرض اننا نريد الجذر الثالث ، رابع .... الخ  <br />
استخدم  pow  و  ارفع العدد لاي قوى تريد سواء سالب او اعداد عشرية  ، فنحن نعلم ان الجذر التربيعي  هو القوى 1/2 و هكذا لبقية الجذور .<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<div style="text-align: center;" class="mycode_align">ملاحظات</div>
1 - اغلب هذه الدوال تتعامل مع قيم من النوع  double  لذا حتى لو كانت القيمة  4  اكتبها  4.0  فهذا افضل .<br />
2 - جميع الدوال السابقة ترجع  قيمة فقط و لا تطبعها على الشاشة لذا وجب عليك  ان تضعها داخل دالة الطباعة<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>cout&lt;&lt;abs(-5);</code></div></div><br />
او<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x ;<br />
x = abs(-5);<br />
cout&lt;&lt;x;</code></div></div>3 -  تعريف البرنامج سيكون كالآتي :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream.h&gt;<br />
#include&lt;math.h&gt;<br />
using namespace std;</code></div></div><br />
<div style="text-align: center;" class="mycode_align">----------------------------------------</div>
<div style="text-align: center;" class="mycode_align">اعتقد انه بعد كل هذه الدروس صار بمقدورك صنع آلة حاسبة علمية</div>
<div style="text-align: center;" class="mycode_align">لا تختلف عن الآلات التي نستعملها  ارجوا ان تجرب صنع واحدة مما تعلمته</div>
<div style="text-align: center;" class="mycode_align">و تخبرنا عن تجربتك و اذا واجهتك أي متاعب فانا موجود بالخدمة</div>
<div style="text-align: center;" class="mycode_align">و الى اللقاء في الفيلم القادم  <img src="https://vb4arb.com/vb/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /> </div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس السادس</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الدوال الحسابية :</span></span><br />
<br />
في هذا الدرس سوف نرى مجموعة من الدوال الرياضية  التي تعلمناها في المدرسة لكن في ++c  و  هي جميعها معتمدة على مكتبة واحدة سوف نقوم بتضمينها  مع مكتبة الدخل و الخرج .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;math.h&gt;</code></div></div>هذه هي المكتبة المسؤولة عن العمليات الرياضية  و فيما يلي شرح لاهم الدوال التي تضمنها :<br />
-  abs  - دالة المقياس للاعداد الصحيحة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>abs(-5);</code></div></div>- fabs  - دالة المقياس للاعداد العشرية :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>fabs(-6.335);</code></div></div>و لاحظ ان abs  افضل  من fabs  لانها ممكن تستعمل مع كلا نوعين<br />
<div style="text-align: center;" class="mycode_align">-----------------------------------------------------</div>
- floor  - التقريب لاقل عدد : بمعنى انها تقرب للاقل  ،  فلو لدينا  2.9   تقربه ل  2 <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>floor(7.6);</code></div></div>- ceil  - عكس السابقة فهي تقرب للاعلى  بمعنى لو كان الرقم 5.1  فهي تقربه ل 6<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>ceil(4.32);</code></div></div><br />
<div style="text-align: center;" class="mycode_align">-----------------------------------------</div>
<br />
- rand - تستخدم لاسناد اعداد عشوائية  لمتغير :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int a = rand();</code></div></div><div style="text-align: center;" class="mycode_align">-----------------------------------------</div>
- sin - دالة  حساب جيب الزاوية :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>double c = (30 * 3.14) / 180; <br />
sin(c);</code></div></div><br />
هذه الدوال تعمل مع  نظام  radian  لذا وجب تحويل الزاوية الستينية 30 الى القياس الدائري : <br />
<br />
<div style="text-align: left;" class="mycode_align">x = c *3.14 / 180</div>
<br />
بالمثل :<br />
<br />
- tan - ظل الزاوية :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Code:double c = (30 * 3.14) / 180; <br />
tan(c);</code></div></div>- cos - جيب التمام لزاوية :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Code:double c = (30 * 3.14) / 180; <br />
cos(c);</code></div></div><br />
<div style="text-align: center;" class="mycode_align">------------------------------------------</div>
- pow -  الاس  ( الرفع لقوى ) :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x = 3;<br />
pow(x , 2);</code></div></div><br />
رفعنا الرقم 3  الى القوة الثانية  و بالمثل لجميع القوى .<br />
<br />
- sqrt  - الجذر التربيعي :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>sqrt(144);</code></div></div><br />
طيب على فرض اننا نريد الجذر الثالث ، رابع .... الخ  <br />
استخدم  pow  و  ارفع العدد لاي قوى تريد سواء سالب او اعداد عشرية  ، فنحن نعلم ان الجذر التربيعي  هو القوى 1/2 و هكذا لبقية الجذور .<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<div style="text-align: center;" class="mycode_align">ملاحظات</div>
1 - اغلب هذه الدوال تتعامل مع قيم من النوع  double  لذا حتى لو كانت القيمة  4  اكتبها  4.0  فهذا افضل .<br />
2 - جميع الدوال السابقة ترجع  قيمة فقط و لا تطبعها على الشاشة لذا وجب عليك  ان تضعها داخل دالة الطباعة<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>cout&lt;&lt;abs(-5);</code></div></div><br />
او<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x ;<br />
x = abs(-5);<br />
cout&lt;&lt;x;</code></div></div>3 -  تعريف البرنامج سيكون كالآتي :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream.h&gt;<br />
#include&lt;math.h&gt;<br />
using namespace std;</code></div></div><br />
<div style="text-align: center;" class="mycode_align">----------------------------------------</div>
<div style="text-align: center;" class="mycode_align">اعتقد انه بعد كل هذه الدروس صار بمقدورك صنع آلة حاسبة علمية</div>
<div style="text-align: center;" class="mycode_align">لا تختلف عن الآلات التي نستعملها  ارجوا ان تجرب صنع واحدة مما تعلمته</div>
<div style="text-align: center;" class="mycode_align">و تخبرنا عن تجربتك و اذا واجهتك أي متاعب فانا موجود بالخدمة</div>
<div style="text-align: center;" class="mycode_align">و الى اللقاء في الفيلم القادم  <img src="https://vb4arb.com/vb/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /> </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الخامس]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11273</link>
			<pubDate>Thu, 29 Jan 2015 08:29:42 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11273</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الخامس</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* المصفوفات :</span></span><br />
<br />
درس اليوم هو درس بسيط و جميل و لا يحتوي على الكثير من التعقيد  ، المصفوفات  و كما درسناها في الرياضيات على انها مجموعة من الاعداد  التي يطبق عليها مجموعة من القوانين  ، هنا أيضا المصفوفات  مجموعة  لكن ليس من الأرقام بل من أي نوع من البيانات  ، بمعنى ان  المصفوفة  مثل المتغير  لكن بعدة نسخ  يعني  في المتغير العادي  لدينا x   بينما في المصفوفات فلدينا  x0   و   x1   و  x2  .......... الى  xn   ،  قد تتسائل عن فائدة هذا الامر فاجيبك بمثال الالف طالب  لو فرضنا انك تريد تخزين درجاتهم في مادة الرياضيات  امامك حل من اثنين  اما انك  تطفي البرنامج و تشغله الف مرة كي توفر المتغيرات او انك تفرض الف متغير  و  الله  يعينك على بقية المواد <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />    طبعا الحل الثاني  هو الأقرب لما سنفعله فنحن  هنا سنفرض الف متغير لكن في سطر واحد  و باسم واحد   و طبق عليهم  اكوادك  و يجب مراعاة الآتي :<br />
<br />
1 -  المصفوفات و حلقات التكرار  شيء واحد  فبدون التكرار  انت هكذا فرضت الف متغير و ستخزن الدرجات بيديك <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /><br />
<br />
2 -  أول عنصر في أي مصفوفة في ++c  يكون دليله  صفر  ، يعني  في مثال الالف طالب نحن لدينا  طلاب من 0 الى 999<br />
<br />
3 - العناصر هي المتغيرات التي في المصفوفة  ، بينما الدليل فهو ترتيب العنصر داخل المصفوفة <br />
<br />
4 - المصفوفة قد تكون من  أي نوع من أنواع البيانات  int , float , double , char , bool<br />
<br />
5 - المصفوفات محددة الحجم  حتى هذه اللحظة  بمعنى ان  أي مصفوفة ستفرضها الآن هي معروف عدد عناصرها  لكن في المستقبل سوف تتعلم  انه يمكنك  تعريف  مصفوفة  غير محددة الحجم  لكن في الوقت الحالي لا تجربها  .<br />
<br />
<br />
الصيغة العامة :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>DataType  ArrayName[n];</code></div></div><br />
كل ما جد علينا هو [n]   فهو يعني  "  عرف  عدد n  من هذا المتغير  "  .<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"> - امثلة :</span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x[10];<br />
<br />
double y[36];<br />
<br />
char  z[50];</code></div></div><br />
كل هذه تعريفات مصفوفات سليمة .<br />
<br />
<br />
<span style="text-decoration: underline;" class="mycode_u">- دمج المصفوفات  بالتكرار  :</span><br />
<br />
الفكرة في الدمج هي باستغلال العداد i   بتمرير عناصر المصفوفة عليه و تنفيذ ما نريد على العناصر .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x[10];<br />
<br />
for(int i = 0; i &lt; 10 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i] = i + 1 ; <br />
}<br />
<br />
for(int j = 0; j &lt; 10 ; j++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;x[j] &lt;&lt; endl ; <br />
}<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
1 -  عرفنا مصفوفة  من 10 عناصر   تبدأ  من 0 و تنتهي  عند  9   !!!!<br />
<br />
2 -  في اول حلقة تكرارية  نقوم بمليء  العناصر بالأرقام  من 1 الى 10  ، لذا بدانا الحلقة من 0 و اوقفناها عند I &lt; 10  يعني  9<br />
لو كتبنا   I &lt;= 10   البرنامج سيعمل  لكن  في الحقيقة البرنامج قام بإضافة عنصر جديد  و هذا غير مستحب فقد يسبب بعض المشاكل خاصة لو كان البرنامج كبير لذا يستحب الالتزام و التشديد على هذه النقطة .<br />
<br />
3 - استعملنا  I +1  لأننا نريد ان نطبع  من 1 الى 10 و ليس من 0 الى 9  طيب لو اردنا  ان نطبع من 2 الى 11 ماذا سنفعل ؟ <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<br />
4 -  كتبنا حلقة تكرار أخرى  لطباعة العناصر  .<br />
<br />
بس هذه هي كل الفكرة  .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<br />
<span style="text-decoration: underline;" class="mycode_u">- تهيئة عناصر المصفوفة :</span><br />
<br />
يمكن بدل ان نستعمل الحلقات في فرض القيم ان نستعمل  الطريقة التالية :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x[5] = {1,2,3,4,5};</code></div></div><br />
هذا التعريف   يمنحك حرية اكبر في وضع القيم الت تريدها و لاحظ انك لو تركت أي عنصر بلا قيمة فان المترجم يفرض له القيمة 0<br />
مباشرة<br />
<br />
لنرى المثال  :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x[6] = {500,444,368,5569};<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i = 0 ; i &lt; 6 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;x[i]&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
ستلاحظ ان ناتج تنفيذ البرنامج  ينتهي بصفرين  و هما العنصران الذان لم نحدد لهما قيمة .<br />
<br />
<br />
 - أيضا يمكنك استعمال التكنولوجيا التالية  <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /> <br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x[6];<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i = 0 ; i &lt; 6 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin&gt;&gt; x[i]; <br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int j = 0 ; j &lt; 6 ; j++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;x[j]&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
return 0;<br />
}</code></div></div><br />
طبعا هذه  التكنولوجيا تمكن المستخدم  من ادخال القيم التي يريدها  مثل  درجات  الطلاب .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------</div>
<div style="text-align: center;" class="mycode_align">المثال الشامل</div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">البحث عن قيمة داخل مصفوفة</span></div>
<br />
<div style="text-align: center;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;const int y = 66;<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x[10] = { 1 , 55, 88 , 969 , 66 , 3 , 4 , 45 , 87 , 27};<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i = 0 ; i &lt; 10 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( x[i] == y){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt; i &lt;&lt; endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
return 0;<br />
}</code></div></div></div>
الشرح :<br />
<br />
1 - عرفنا مصفوفة بها 10 قيم .<br />
<br />
2- ثابت به القيمة التي نريد  البحث عنها  .<br />
<br />
3 - داخل حلقة تكرار   اضفنا عبارة شرط بحيث انه عند تساوي قيمة  احد العناصر مع الثابت يتوقف و يطبع ترتيب (دليل) ذلك العنصر  .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">  عبارة break  تستخدم  لايقاف حلقة التكرار عند الحصول على ما نريد  او  عند تحقق شرط معين .</span></div>
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<div style="text-align: center;" class="mycode_align">الخلاصة</div>
<br />
 في المستقبل  ان شاء الله ستكون الفكرة هي نفسها  لكن قيم عناصر المصفوفة  ستجلبها من قاعدة بيانات  و الثابت سنستبدله  بمتغير يحدد المستخدم قيمته  ........ الموضوع كله متشابك .<br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------</div>
<br />
<div style="text-align: center;" class="mycode_align">يكفينا هذا في المصفوفات و ان شاء الله في المستقبل ربما نتحدث اكثر و نتعمق</div>
<div style="text-align: center;" class="mycode_align">فيها و الى الدرس  القادم ارجوا ان ننفذ بعض  الاكواد كتدريب نستعمل  جوجل في </div>
<div style="text-align: center;" class="mycode_align"> البحث عن امثلة و أي شيء غير واضح  غير مفهوم انا موجود في الخدمة للرد على</div>
<div style="text-align: center;" class="mycode_align">أي استفسار</div>
<br />
<div style="text-align: center;" class="mycode_align">و  شكرا</div>
 ]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الخامس</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* المصفوفات :</span></span><br />
<br />
درس اليوم هو درس بسيط و جميل و لا يحتوي على الكثير من التعقيد  ، المصفوفات  و كما درسناها في الرياضيات على انها مجموعة من الاعداد  التي يطبق عليها مجموعة من القوانين  ، هنا أيضا المصفوفات  مجموعة  لكن ليس من الأرقام بل من أي نوع من البيانات  ، بمعنى ان  المصفوفة  مثل المتغير  لكن بعدة نسخ  يعني  في المتغير العادي  لدينا x   بينما في المصفوفات فلدينا  x0   و   x1   و  x2  .......... الى  xn   ،  قد تتسائل عن فائدة هذا الامر فاجيبك بمثال الالف طالب  لو فرضنا انك تريد تخزين درجاتهم في مادة الرياضيات  امامك حل من اثنين  اما انك  تطفي البرنامج و تشغله الف مرة كي توفر المتغيرات او انك تفرض الف متغير  و  الله  يعينك على بقية المواد <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />    طبعا الحل الثاني  هو الأقرب لما سنفعله فنحن  هنا سنفرض الف متغير لكن في سطر واحد  و باسم واحد   و طبق عليهم  اكوادك  و يجب مراعاة الآتي :<br />
<br />
1 -  المصفوفات و حلقات التكرار  شيء واحد  فبدون التكرار  انت هكذا فرضت الف متغير و ستخزن الدرجات بيديك <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /><br />
<br />
2 -  أول عنصر في أي مصفوفة في ++c  يكون دليله  صفر  ، يعني  في مثال الالف طالب نحن لدينا  طلاب من 0 الى 999<br />
<br />
3 - العناصر هي المتغيرات التي في المصفوفة  ، بينما الدليل فهو ترتيب العنصر داخل المصفوفة <br />
<br />
4 - المصفوفة قد تكون من  أي نوع من أنواع البيانات  int , float , double , char , bool<br />
<br />
5 - المصفوفات محددة الحجم  حتى هذه اللحظة  بمعنى ان  أي مصفوفة ستفرضها الآن هي معروف عدد عناصرها  لكن في المستقبل سوف تتعلم  انه يمكنك  تعريف  مصفوفة  غير محددة الحجم  لكن في الوقت الحالي لا تجربها  .<br />
<br />
<br />
الصيغة العامة :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>DataType  ArrayName[n];</code></div></div><br />
كل ما جد علينا هو [n]   فهو يعني  "  عرف  عدد n  من هذا المتغير  "  .<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"> - امثلة :</span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x[10];<br />
<br />
double y[36];<br />
<br />
char  z[50];</code></div></div><br />
كل هذه تعريفات مصفوفات سليمة .<br />
<br />
<br />
<span style="text-decoration: underline;" class="mycode_u">- دمج المصفوفات  بالتكرار  :</span><br />
<br />
الفكرة في الدمج هي باستغلال العداد i   بتمرير عناصر المصفوفة عليه و تنفيذ ما نريد على العناصر .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x[10];<br />
<br />
for(int i = 0; i &lt; 10 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i] = i + 1 ; <br />
}<br />
<br />
for(int j = 0; j &lt; 10 ; j++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;x[j] &lt;&lt; endl ; <br />
}<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
1 -  عرفنا مصفوفة  من 10 عناصر   تبدأ  من 0 و تنتهي  عند  9   !!!!<br />
<br />
2 -  في اول حلقة تكرارية  نقوم بمليء  العناصر بالأرقام  من 1 الى 10  ، لذا بدانا الحلقة من 0 و اوقفناها عند I &lt; 10  يعني  9<br />
لو كتبنا   I &lt;= 10   البرنامج سيعمل  لكن  في الحقيقة البرنامج قام بإضافة عنصر جديد  و هذا غير مستحب فقد يسبب بعض المشاكل خاصة لو كان البرنامج كبير لذا يستحب الالتزام و التشديد على هذه النقطة .<br />
<br />
3 - استعملنا  I +1  لأننا نريد ان نطبع  من 1 الى 10 و ليس من 0 الى 9  طيب لو اردنا  ان نطبع من 2 الى 11 ماذا سنفعل ؟ <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<br />
4 -  كتبنا حلقة تكرار أخرى  لطباعة العناصر  .<br />
<br />
بس هذه هي كل الفكرة  .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<br />
<span style="text-decoration: underline;" class="mycode_u">- تهيئة عناصر المصفوفة :</span><br />
<br />
يمكن بدل ان نستعمل الحلقات في فرض القيم ان نستعمل  الطريقة التالية :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x[5] = {1,2,3,4,5};</code></div></div><br />
هذا التعريف   يمنحك حرية اكبر في وضع القيم الت تريدها و لاحظ انك لو تركت أي عنصر بلا قيمة فان المترجم يفرض له القيمة 0<br />
مباشرة<br />
<br />
لنرى المثال  :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x[6] = {500,444,368,5569};<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i = 0 ; i &lt; 6 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;x[i]&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
ستلاحظ ان ناتج تنفيذ البرنامج  ينتهي بصفرين  و هما العنصران الذان لم نحدد لهما قيمة .<br />
<br />
<br />
 - أيضا يمكنك استعمال التكنولوجيا التالية  <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /> <br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x[6];<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i = 0 ; i &lt; 6 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin&gt;&gt; x[i]; <br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int j = 0 ; j &lt; 6 ; j++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;x[j]&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
return 0;<br />
}</code></div></div><br />
طبعا هذه  التكنولوجيا تمكن المستخدم  من ادخال القيم التي يريدها  مثل  درجات  الطلاب .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------</div>
<div style="text-align: center;" class="mycode_align">المثال الشامل</div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">البحث عن قيمة داخل مصفوفة</span></div>
<br />
<div style="text-align: center;" class="mycode_align"><div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;const int y = 66;<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x[10] = { 1 , 55, 88 , 969 , 66 , 3 , 4 , 45 , 87 , 27};<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i = 0 ; i &lt; 10 ; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( x[i] == y){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt; i &lt;&lt; endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
return 0;<br />
}</code></div></div></div>
الشرح :<br />
<br />
1 - عرفنا مصفوفة بها 10 قيم .<br />
<br />
2- ثابت به القيمة التي نريد  البحث عنها  .<br />
<br />
3 - داخل حلقة تكرار   اضفنا عبارة شرط بحيث انه عند تساوي قيمة  احد العناصر مع الثابت يتوقف و يطبع ترتيب (دليل) ذلك العنصر  .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">  عبارة break  تستخدم  لايقاف حلقة التكرار عند الحصول على ما نريد  او  عند تحقق شرط معين .</span></div>
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<div style="text-align: center;" class="mycode_align">الخلاصة</div>
<br />
 في المستقبل  ان شاء الله ستكون الفكرة هي نفسها  لكن قيم عناصر المصفوفة  ستجلبها من قاعدة بيانات  و الثابت سنستبدله  بمتغير يحدد المستخدم قيمته  ........ الموضوع كله متشابك .<br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------</div>
<br />
<div style="text-align: center;" class="mycode_align">يكفينا هذا في المصفوفات و ان شاء الله في المستقبل ربما نتحدث اكثر و نتعمق</div>
<div style="text-align: center;" class="mycode_align">فيها و الى الدرس  القادم ارجوا ان ننفذ بعض  الاكواد كتدريب نستعمل  جوجل في </div>
<div style="text-align: center;" class="mycode_align"> البحث عن امثلة و أي شيء غير واضح  غير مفهوم انا موجود في الخدمة للرد على</div>
<div style="text-align: center;" class="mycode_align">أي استفسار</div>
<br />
<div style="text-align: center;" class="mycode_align">و  شكرا</div>
 ]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الرابع]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11258</link>
			<pubDate>Wed, 28 Jan 2015 08:40:43 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11258</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الرابع</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* حلقات  التكرار :</span></span><br />
<br />
عرفنا في الدرس السابق ان هناك نوعين من عبارات التحكم في البرامج  الأولى هي الشرط و الثانية و هي التكرار  و التي سوف نتعلمها اليوم بإذن الله .<br />
<br />
 - معنى التكرار : يقصد بالتكرار هو إمكانية تنفيذ كود  لعدة مرات  بغرض توفير الوقت .<br />
مثلا لو طلب منك حصر  درجات 1000 طالب ، المنطقي هو ان تمر على كل طالب و تأخذ درجته  ،  لكن الف طالب <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  لا تستعجب  في الماضي حتى لو كانوا  100000  كانوا  يفعلوها  ،  لكن اليوم  نحن لدينا الحاسوب الذي يستطيع تكرير الكود  و استخراج درجات جميع الطلاب  حتى لو كانوا 100000000  ،  اذا التكرار له فوائد لا حصر لها   و تظهر تلك الفوائد  في المصفوفات  كما سنرى  في الدرس القادم .<br />
<br />
- مكونات أي تكرار : أي تكرار  في أي لغة برمجة  حتى لو كانت  0 و 1   يتكون من ثلاث أمور  <br />
1 - بداية التكرار  :  أي نقطة الانطلاق  التي سيبدأ منها العد  و هي غالبا  0 أو 1  (لا يشترط فقد تبدأ  من 2775  مثلا )<br />
2 - نهاية التكرار :  و هي تلك النقطة التي يتوقف عندها التكرار و هي في الغالب  تكون عبارة شرط  كما سنرى .<br />
3 - العداد : و هو مقدار الزيادة او النقص  .<br />
<br />
- التكرار  قد يكون من 0 الى 10  و  العداد موجب  ، لكن لو اردنا العد من 10 الى 0  فتاكد من ان العداد بالسالب <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /> <br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------------</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">عبارات التكرار</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">1 - دالة for :</span>  و هي تعتبر الأكثر شمولية و شيوعا  و بساطة <br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>for(start ; stop ; counter){<br />
//some code<br />
}</code></div></div> <br />
- في البداية نعرف متغير يفضل ان يكون  int .<br />
- لا تنسى ان تفصل بين كل عبارة و الأخرى  بالفاصلة المنقوطة ";"  .<br />
- العداد - counter  غالبا يكون  على صيغة  ++  او - -  (راجع الدرس الثاني ) .<br />
- النهاية - stop   ستراها  على هيئة  &gt;10   ,  =&lt;5<br />
- البداية - start   دائما  =  n  .<br />
<br />
ناخذ مثال  لطباعة الأرقام من 1 الى 10 :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
for(I = 1 ; I &lt;= 10 ; I++){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
}<br />
return 0;<br />
}</code></div></div><br />
كل ما قلناه موجود <br />
<br />
1- عرفنا متغير i  .<br />
2 - البداية من  1 .<br />
3- النهاية عند الشرط  فاذا وصلت i  الى 11  عندها ستتوقف الحلقة التكرارية .<br />
4- كما تلاحظ ++i   معناه زيادة بمقدرا واحد في كل دورة  .<br />
<br />
- يعني ان كل دورة يتم اختبار الشرط  فاذا تحقق ينفذ الكود و يزداد العداد  الى ان يصل الى نقطة لا يتحقق فيها الشرط فتتوقف الحلقة  .<br />
<br />
- بالنسبة لموضوع الزيادة :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>I = I + 1<br />
I += 1<br />
I++</code></div></div><br />
جميع الطرق الموضحة أعلاه صحيحة  و جرب كتابة الكود  مرة أخرى بهم و سوف يعمل .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------------</div>
<br />
نأخذ مثال آخر يطبع الاعداد الزوجية من 0 الى 10 .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
for(I = 0 ; I &lt;= 10 ;I += 2){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div><br />
<div style="text-align: center;" class="mycode_align">------------------------------------</div>
طباعة الاعداد الفردية من 11 الى 0 :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
for(I = 11 ; I &gt;= 0 ; I -= 2){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
}<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div><br />
1 - بدأنا من 11  كي نطبع الاعداد الفردية .<br />
2 - لاحظ ان التوقف كان عند  ( I &gt;= 0 )  فلو عكستها  لن يتوقف البرنامج و سيظل يعد حتى  سالب مالانهاية <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" />  لكنها لا تحدث في الواقع  فالبرنامج لن ينفذ .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------------</div>
هذه  امثلة بسيطة و يوجد الكثير من الأفكار  مثل إيجاد مجموع الاعداد من 1 الى 100  و  .... الخ  ، أمور أتمنى ان تجربها بنفسك اما  المثال التالي فهو  من اشهر الأمثلة عن التكرار  و  هو   "  برنامج المضروب "   ،  يقوم هذا البرنامج بحساب المضروب لرقم ما يدخله المستخدم  .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
for(I = 1 ; I &lt;= x ; I++){<br />
z = z * I;<br />
}<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
<br />
 return 0;<br />
}</code></div></div><br />
لمن لا يعرف المضروب فهو حاصل ضرب الاعداد الأصغر الى 1   يعني   مضروب 5  يساوي   5 * 4 * 3 *2 *1 = 120 .<br />
<br />
<br />
1 -   عرفنا ثلاث  متغيرات I  و هو  عداد التكرار  ،  x  و هي القيمة التي نريد لها المضروب ، z  و هو المتغير الذي سيحمل المضروب .<br />
<br />
2 - طلبنا من المستخدم ان يدخل رقم و نحمل القيمة للمتغير  x  .<br />
<br />
3-  وضعنا القيمة المبدئية  لل z  بواحد  لا تنساها و لازم يكون  1  لانه المعامل المحايد الضربي يعني لا يؤثر في الضرب و أيضا لكي لا تواجهك مشاكل  التنفيذ  .<br />
<br />
4 - بدائنا الحلقة من 1  لنفس السبب .<br />
<br />
5 - اوقفنا  الحلقة عند العدد الذي ادخله المستخدم  و لاحظ ان مقدار الزيادة هو 1  في كل مرة .<br />
<br />
6 -  في كل دورة نجدد قيمة z  بضربها في قيمة i  الجديدة .<br />
<br />
7 -  بعد انتهاء الحلقة نطبع قيمة z  للمستخدم  و شكرا .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<span style="font-weight: bold;" class="mycode_b">2 -  دالة while  :</span>  و هي أيضا مهمة و شائعة .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>start;<br />
while(condition){<br />
counter;<br />
}</code></div></div><br />
تماما  كما درسنا for  لكن   الفرق   في  الشكل فهنا شرط التوقف  هو فقط من يكون داخل الاقواس  اما البداية فتعرف خارج الدالة و العداد يكون داخل الدالة .<br />
<br />
يعني شوف اول مثال اخذناه لكن  مع while :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
I = 1; <br />
while( I &lt;= 10 ){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
I++;<br />
}<br />
return 0;<br />
}</code></div></div><br />
فط اختلاف في الشكل  لكن  أحيانا تكون  while  اكثر فائدة من for  لكن  ليس دائما .<br />
<br />
<div style="text-align: center;" class="mycode_align">----------------------------------------------------</div>
<br />
- مثال المضروب  ب while  :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
I = 1 ;<br />
while( I &lt;= x ){<br />
z = z * I;<br />
I++;<br />
}<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
return 0;<br />
}</code></div></div><br />
<div style="text-align: center;" class="mycode_align">----------------------------------------------------------</div>
<span style="font-weight: bold;" class="mycode_b">3 - دالة  do while :</span>  الأقل شيوعا<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>start;<br />
do{<br />
counter;<br />
}<br />
while(condition);</code></div></div><br />
تختلف هذه عن اخواتها في ان السابقين يختبرون  الشرط أولا ثم ينفذون الكود  ام هنا  فالامر مختلف فالتنفيذ أولا ثم  اختبار  الشرط  .<br />
<br />
شوف مثالنا البسيط :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
I = 1;<br />
do{<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
I++;<br />
}while( I &lt;= 10 );<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
و هذا مثال المضروب :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
I = 1;<br />
do{<br />
z = z * I;<br />
I++;<br />
}while( I &lt;= x ) ;<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
<br />
return 0;<br />
}</code></div></div>لا جديد .... <img src="https://vb4arb.com/vb/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" /> <br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------------------</div>
<span style="font-weight: bold;" class="mycode_b">4 -دالة goto  :</span>  هذه الطريقة غير مضمونة لكنها تعتبر حركة تكتيكية مهارية يستعملها  المحترفون  و يضيع بها المبتدئون  <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
تعتمد عموما على (الملصقات - labels )  و هي شكل مختصر من الدوال لكنها ليست دالة <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" />  ركز  هي مجرد تعبير يتضمن مجموعة من الأوامر  كالآتي :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>start;<br />
label:<br />
counter;<br />
//some code <br />
if(condition){<br />
goto label;<br />
}</code></div></div>كما تلاحظ  في كل مرة يختبر الشرط تحقق فنعود الى label  لم يتحقق يتوقف البرنامج .<br />
انظر الى مثالنا الشهير :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
I = 1;<br />
count:<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
I++;<br />
if(I &lt;= 10){<br />
goto count;<br />
}<br />
<br />
return 0;<br />
}</code></div></div>و أيضا مثال المضروب :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
I = 1;<br />
fact:<br />
z = z * I;<br />
I++;<br />
if(I &lt;= x){<br />
goto fact;<br />
}<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
<br />
<div style="text-align: center;" class="mycode_align">=====================================</div>
<div style="text-align: center;" class="mycode_align">رجاء اكرره في كل مرة ليس شرط ان تجرب كل الطرق</div>
<div style="text-align: center;" class="mycode_align">لكني أتمنى ان تجرب اكثر من برنامج من صنعك</div>
<div style="text-align: center;" class="mycode_align">يمكن ان تضيف if داخل الحلقات يمكن ان تعقد</div>
<div style="text-align: center;" class="mycode_align">العداد و تجعله يزداد بناء على قيم عمليات</div>
<div style="text-align: center;" class="mycode_align">جمع و طرح هناك الكثير من الأفكار</div>
<div style="text-align: center;" class="mycode_align">المهم هو التجريب و أي مشكلة</div>
<div style="text-align: center;" class="mycode_align">أي شيء لم تفهمه</div>
<div style="text-align: center;" class="mycode_align">او غير واضح</div>
<div style="text-align: center;" class="mycode_align">فلا تتردد</div>
<div style="text-align: center;" class="mycode_align"> في السؤال</div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"> المفروض "في السؤال " تكون اصغر من "فلا تتردد" عشان يكتمل هرم   <img src="https://vb4arb.com/vb/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" /> </span></div>
<br />
<div style="text-align: center;" class="mycode_align">و الى اللقاء في المحاضرة القادمة</div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6510" target="_blank" title="">lec4 - examples.rar</a> (الحجم : 259 بايت / التحميلات : 49)
]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الرابع</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* حلقات  التكرار :</span></span><br />
<br />
عرفنا في الدرس السابق ان هناك نوعين من عبارات التحكم في البرامج  الأولى هي الشرط و الثانية و هي التكرار  و التي سوف نتعلمها اليوم بإذن الله .<br />
<br />
 - معنى التكرار : يقصد بالتكرار هو إمكانية تنفيذ كود  لعدة مرات  بغرض توفير الوقت .<br />
مثلا لو طلب منك حصر  درجات 1000 طالب ، المنطقي هو ان تمر على كل طالب و تأخذ درجته  ،  لكن الف طالب <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  لا تستعجب  في الماضي حتى لو كانوا  100000  كانوا  يفعلوها  ،  لكن اليوم  نحن لدينا الحاسوب الذي يستطيع تكرير الكود  و استخراج درجات جميع الطلاب  حتى لو كانوا 100000000  ،  اذا التكرار له فوائد لا حصر لها   و تظهر تلك الفوائد  في المصفوفات  كما سنرى  في الدرس القادم .<br />
<br />
- مكونات أي تكرار : أي تكرار  في أي لغة برمجة  حتى لو كانت  0 و 1   يتكون من ثلاث أمور  <br />
1 - بداية التكرار  :  أي نقطة الانطلاق  التي سيبدأ منها العد  و هي غالبا  0 أو 1  (لا يشترط فقد تبدأ  من 2775  مثلا )<br />
2 - نهاية التكرار :  و هي تلك النقطة التي يتوقف عندها التكرار و هي في الغالب  تكون عبارة شرط  كما سنرى .<br />
3 - العداد : و هو مقدار الزيادة او النقص  .<br />
<br />
- التكرار  قد يكون من 0 الى 10  و  العداد موجب  ، لكن لو اردنا العد من 10 الى 0  فتاكد من ان العداد بالسالب <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /> <br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------------</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">عبارات التكرار</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">1 - دالة for :</span>  و هي تعتبر الأكثر شمولية و شيوعا  و بساطة <br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>for(start ; stop ; counter){<br />
//some code<br />
}</code></div></div> <br />
- في البداية نعرف متغير يفضل ان يكون  int .<br />
- لا تنسى ان تفصل بين كل عبارة و الأخرى  بالفاصلة المنقوطة ";"  .<br />
- العداد - counter  غالبا يكون  على صيغة  ++  او - -  (راجع الدرس الثاني ) .<br />
- النهاية - stop   ستراها  على هيئة  &gt;10   ,  =&lt;5<br />
- البداية - start   دائما  =  n  .<br />
<br />
ناخذ مثال  لطباعة الأرقام من 1 الى 10 :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
for(I = 1 ; I &lt;= 10 ; I++){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
}<br />
return 0;<br />
}</code></div></div><br />
كل ما قلناه موجود <br />
<br />
1- عرفنا متغير i  .<br />
2 - البداية من  1 .<br />
3- النهاية عند الشرط  فاذا وصلت i  الى 11  عندها ستتوقف الحلقة التكرارية .<br />
4- كما تلاحظ ++i   معناه زيادة بمقدرا واحد في كل دورة  .<br />
<br />
- يعني ان كل دورة يتم اختبار الشرط  فاذا تحقق ينفذ الكود و يزداد العداد  الى ان يصل الى نقطة لا يتحقق فيها الشرط فتتوقف الحلقة  .<br />
<br />
- بالنسبة لموضوع الزيادة :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>I = I + 1<br />
I += 1<br />
I++</code></div></div><br />
جميع الطرق الموضحة أعلاه صحيحة  و جرب كتابة الكود  مرة أخرى بهم و سوف يعمل .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------------</div>
<br />
نأخذ مثال آخر يطبع الاعداد الزوجية من 0 الى 10 .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
for(I = 0 ; I &lt;= 10 ;I += 2){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div><br />
<div style="text-align: center;" class="mycode_align">------------------------------------</div>
طباعة الاعداد الفردية من 11 الى 0 :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
for(I = 11 ; I &gt;= 0 ; I -= 2){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
}<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div><br />
1 - بدأنا من 11  كي نطبع الاعداد الفردية .<br />
2 - لاحظ ان التوقف كان عند  ( I &gt;= 0 )  فلو عكستها  لن يتوقف البرنامج و سيظل يعد حتى  سالب مالانهاية <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" />  لكنها لا تحدث في الواقع  فالبرنامج لن ينفذ .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------------</div>
هذه  امثلة بسيطة و يوجد الكثير من الأفكار  مثل إيجاد مجموع الاعداد من 1 الى 100  و  .... الخ  ، أمور أتمنى ان تجربها بنفسك اما  المثال التالي فهو  من اشهر الأمثلة عن التكرار  و  هو   "  برنامج المضروب "   ،  يقوم هذا البرنامج بحساب المضروب لرقم ما يدخله المستخدم  .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
for(I = 1 ; I &lt;= x ; I++){<br />
z = z * I;<br />
}<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
<br />
 return 0;<br />
}</code></div></div><br />
لمن لا يعرف المضروب فهو حاصل ضرب الاعداد الأصغر الى 1   يعني   مضروب 5  يساوي   5 * 4 * 3 *2 *1 = 120 .<br />
<br />
<br />
1 -   عرفنا ثلاث  متغيرات I  و هو  عداد التكرار  ،  x  و هي القيمة التي نريد لها المضروب ، z  و هو المتغير الذي سيحمل المضروب .<br />
<br />
2 - طلبنا من المستخدم ان يدخل رقم و نحمل القيمة للمتغير  x  .<br />
<br />
3-  وضعنا القيمة المبدئية  لل z  بواحد  لا تنساها و لازم يكون  1  لانه المعامل المحايد الضربي يعني لا يؤثر في الضرب و أيضا لكي لا تواجهك مشاكل  التنفيذ  .<br />
<br />
4 - بدائنا الحلقة من 1  لنفس السبب .<br />
<br />
5 - اوقفنا  الحلقة عند العدد الذي ادخله المستخدم  و لاحظ ان مقدار الزيادة هو 1  في كل مرة .<br />
<br />
6 -  في كل دورة نجدد قيمة z  بضربها في قيمة i  الجديدة .<br />
<br />
7 -  بعد انتهاء الحلقة نطبع قيمة z  للمستخدم  و شكرا .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------</div>
<span style="font-weight: bold;" class="mycode_b">2 -  دالة while  :</span>  و هي أيضا مهمة و شائعة .<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>start;<br />
while(condition){<br />
counter;<br />
}</code></div></div><br />
تماما  كما درسنا for  لكن   الفرق   في  الشكل فهنا شرط التوقف  هو فقط من يكون داخل الاقواس  اما البداية فتعرف خارج الدالة و العداد يكون داخل الدالة .<br />
<br />
يعني شوف اول مثال اخذناه لكن  مع while :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
I = 1; <br />
while( I &lt;= 10 ){<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
I++;<br />
}<br />
return 0;<br />
}</code></div></div><br />
فط اختلاف في الشكل  لكن  أحيانا تكون  while  اكثر فائدة من for  لكن  ليس دائما .<br />
<br />
<div style="text-align: center;" class="mycode_align">----------------------------------------------------</div>
<br />
- مثال المضروب  ب while  :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
I = 1 ;<br />
while( I &lt;= x ){<br />
z = z * I;<br />
I++;<br />
}<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
return 0;<br />
}</code></div></div><br />
<div style="text-align: center;" class="mycode_align">----------------------------------------------------------</div>
<span style="font-weight: bold;" class="mycode_b">3 - دالة  do while :</span>  الأقل شيوعا<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>start;<br />
do{<br />
counter;<br />
}<br />
while(condition);</code></div></div><br />
تختلف هذه عن اخواتها في ان السابقين يختبرون  الشرط أولا ثم ينفذون الكود  ام هنا  فالامر مختلف فالتنفيذ أولا ثم  اختبار  الشرط  .<br />
<br />
شوف مثالنا البسيط :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
I = 1;<br />
do{<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
I++;<br />
}while( I &lt;= 10 );<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
و هذا مثال المضروب :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
I = 1;<br />
do{<br />
z = z * I;<br />
I++;<br />
}while( I &lt;= x ) ;<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
<br />
return 0;<br />
}</code></div></div>لا جديد .... <img src="https://vb4arb.com/vb/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" /> <br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------------------</div>
<span style="font-weight: bold;" class="mycode_b">4 -دالة goto  :</span>  هذه الطريقة غير مضمونة لكنها تعتبر حركة تكتيكية مهارية يستعملها  المحترفون  و يضيع بها المبتدئون  <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
تعتمد عموما على (الملصقات - labels )  و هي شكل مختصر من الدوال لكنها ليست دالة <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" />  ركز  هي مجرد تعبير يتضمن مجموعة من الأوامر  كالآتي :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>start;<br />
label:<br />
counter;<br />
//some code <br />
if(condition){<br />
goto label;<br />
}</code></div></div>كما تلاحظ  في كل مرة يختبر الشرط تحقق فنعود الى label  لم يتحقق يتوقف البرنامج .<br />
انظر الى مثالنا الشهير :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I;<br />
I = 1;<br />
count:<br />
cout&lt;&lt;I&lt;&lt;endl;<br />
I++;<br />
if(I &lt;= 10){<br />
goto count;<br />
}<br />
<br />
return 0;<br />
}</code></div></div>و أيضا مثال المضروب :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int I, x , z;<br />
cout&lt;&lt;"please enter number :&#92;n";<br />
cin&gt;&gt;x;<br />
z = 1;<br />
I = 1;<br />
fact:<br />
z = z * I;<br />
I++;<br />
if(I &lt;= x){<br />
goto fact;<br />
}<br />
cout&lt;&lt;"the factorial of the number is : &#92;n"&lt;&lt;z;<br />
<br />
return 0;<br />
}</code></div></div><br />
<br />
<br />
<div style="text-align: center;" class="mycode_align">=====================================</div>
<div style="text-align: center;" class="mycode_align">رجاء اكرره في كل مرة ليس شرط ان تجرب كل الطرق</div>
<div style="text-align: center;" class="mycode_align">لكني أتمنى ان تجرب اكثر من برنامج من صنعك</div>
<div style="text-align: center;" class="mycode_align">يمكن ان تضيف if داخل الحلقات يمكن ان تعقد</div>
<div style="text-align: center;" class="mycode_align">العداد و تجعله يزداد بناء على قيم عمليات</div>
<div style="text-align: center;" class="mycode_align">جمع و طرح هناك الكثير من الأفكار</div>
<div style="text-align: center;" class="mycode_align">المهم هو التجريب و أي مشكلة</div>
<div style="text-align: center;" class="mycode_align">أي شيء لم تفهمه</div>
<div style="text-align: center;" class="mycode_align">او غير واضح</div>
<div style="text-align: center;" class="mycode_align">فلا تتردد</div>
<div style="text-align: center;" class="mycode_align"> في السؤال</div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"> المفروض "في السؤال " تكون اصغر من "فلا تتردد" عشان يكتمل هرم   <img src="https://vb4arb.com/vb/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" /> </span></div>
<br />
<div style="text-align: center;" class="mycode_align">و الى اللقاء في المحاضرة القادمة</div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6510" target="_blank" title="">lec4 - examples.rar</a> (الحجم : 259 بايت / التحميلات : 49)
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الثالث]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11249</link>
			<pubDate>Tue, 27 Jan 2015 08:36:28 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11249</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الثالث</span></div>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* عبارات الشرط :</span></span><br />
<br />
في جميع لغات البرمجة نرى ان هناك ثلاث فئات من  العناصر  ، الأولى لتخزين البيانات  ، الثانية  جمل التحكم   و الأخيرة  دوال اللغة   ،  فالاولى تشتمل  على جميع  أنواع الحاويات في اللغة من متغيرات و مصفوفات  و  ربما أنواع أخرى  خاصة باللغة لكنها في النهاية  تخزن البيانات  ، و الثالثة  هي  تلك الدوال  التي نستعملها في التعامل مع النصوص و العمليات الحسابية  و في الغالب هذه  الدوال  تكون متشابهة  بين اللغات المختلفة    ،   اما الثانية  و هي محور حديثنا  في هذا الدرس و الدرس القادم باذن الله  تسمى  بجمل التحكم  لانها الأساس  الذي بدونه لن توجد البرمجة  فالبرنامج يعتمد على امرين  لا ثالث  لهما الأول و هو الشرط  و الثاني  هو التكرار  .<br />
.<br />
.<br />
.<br />
عموما اذا  لم  تفهم  ما قيل في الأعلى  لا مشكلة فهو كلام نظري  خلاصته ان  الشرط و التكرار  هم  أساس البرمجة <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------------</div>
<br />
<br />
الصيغة العامة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>if(condition){<br />
//some code<br />
}</code></div></div>if  من ترجمتها  "اذا "  و دورها هو  حصر سطر/سطور  من الكود  تحت شرط معين  اذا تحقق ينفذ هذه المجموعة  و اذا لم يتحقق يتابع  سير البرنامج دون النظر لهم .<br />
<br />
condition   و هو  الشرط  الذي سيقوم البرنامج بالتحقق من صحته  و هو في الغالب يحتوي معاملات منطقية ( راجع الدرس السابق)   .<br />
<br />
{//some code}  و هي الاكواد التي ستنفذ في حال تحقق الشرط .<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------------------</div>
لنأخذ هذا المثال  :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x ;<br />
cin&gt;&gt;x;<br />
if(x&gt;0){<br />
cout&lt;&lt;"positive";<br />
}<br />
return 0;<br />
}</code></div></div><br />
لمن لم يفهم البرنامج  هذا البرنامج  يتحقق من كون العدد الذي ادخله المستخدم موجب ام سالب <br />
<br />
1 -  عرفنا متغير x  و استعملنا الدالة cin  لادخال قيمة من المستخدم ((كلام قديم ))<br />
2 - عرفنا عبارة شرط  ( لو x  اكبر من  0 ) <br />
3- لو كان العدد الذي ادخلناه اكبر من الصفر عندها يطبع كلمة (موجب - positive ) باستخدام دالة  cout<br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------</div>
<br />
طيب  في برنامجنا  و على فرض ان المستخدم ادخل  -1  ماذا سيحدث  ؟  لا شيء  هذا  لأننا لم نعطي عبارة الشرط أي حالة أخرى  ،   و هنا نأتي للصيغة المتوسطة  .<br />
<span style="font-weight: bold;" class="mycode_b">الصيغة المتوسطة ؟  يعني  التي درسناه في البداية هي الصغيرة  ؟</span><br />
اجل كلامك مظبوط .<br />
<br />
الصيغة العامة  :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>if(condition){<br />
//some code<br />
}<br />
else{<br />
// do anther code<br />
}</code></div></div> <br />
كما نلاحظ  اضفنا كلمة else  و التي تعني في حالة عدم تحقق الشرط  عندها ينفذ الكود التابع لها   .<br />
<br />
يعني في مثالنا السابق عندما  يدخل المستخدم  -1  نريد ان يطبع البرنامج كلمة سالب  فيكون شكل البرنامج كالاتي<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x;<br />
cin&gt;&gt; x;<br />
if (x &gt; 0){<br />
cout&lt;&lt;"positive";<br />
}<br />
else{<br />
cout&lt;&lt;"negative";<br />
}<br />
return 0;<br />
}</code></div></div>جميل جميل  اكثر من رائع  اعتقد  ان الموضوع واضح   .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------------</div>
<br />
طيب نحن عرفنا الصغيرة و المتوسطة بقي لنا  شيء واحد و هو الشرط الكبير  و ان  اسميها  الدالة الرئيسية  فكل ما سبق هو جزء من  الشكل التالي :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>if (con 1){<br />
//code1<br />
}<br />
else if(con 2){<br />
//code 2<br />
}<br />
else if(con n){<br />
// code n<br />
}<br />
else{<br />
//code<br />
}</code></div></div><br />
كما نلاحظ  else if  و هي  عملية اختبار عدة شروط  في دالة واحدة  و اذا لم تتحقق جميعها ينتقل مباشرة ل else <br />
لنأخذ مثال  شامل  على  الشروط  يوضح لنا هذا الشرح النظري <img src="https://vb4arb.com/vb/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int degree;<br />
cout&lt;&lt;"Please enter your degree : &#92;n";<br />
cin&gt;&gt;degree;<br />
if(degree&gt;=90 &amp;&amp; degree &lt;= 100){<br />
cout&lt;&lt;"Excellent";<br />
}<br />
else if(degree&gt;=80 &amp;&amp; degree &lt;= 89){<br />
cout&lt;&lt;"Very good";<br />
}<br />
else if(degree&gt;=70 &amp;&amp; degree &lt;= 79){<br />
cout&lt;&lt;"Good";<br />
}<br />
else if(degree&gt;= 50 &amp;&amp; degree &lt;= 69){<br />
cout&lt;&lt;"Pass";<br />
}<br />
else if(degree&gt;= 0 &amp;&amp; degree &lt;= 49){<br />
cout&lt;&lt;"FAIL";<br />
}<br />
else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"out of range";<br />
}<br />
 return 0;<br />
}</code></div></div>نبدأ في الشرح <img src="https://vb4arb.com/vb/images/smilies/cool.gif" alt="Cool" title="Cool" class="smilie smilie_3" /><br />
1 -    البرنامج  يستقبل درجتك و يبطع لك  تقديرك في المادة .<br />
2 - في السطر الأول   عرفنا متغير  degree  من النوع int  يمكن جعله  float  .<br />
3 - طبعنا جملة  للمستخدم  نطلب فيها  ان يدخل درجته  و لا تنسى استخدمنا  "n\"  للانتقال لسطر جديد .<br />
4 - ادخل المستخدم درجته .<br />
5 - بدأنا في التحقق  طبعا انا  وضعت خمسة مجموعات  يمكنك ان  تزيديهم او تقللهم .<br />
6 -  في كل مجموعة استخدمنا  علامة ( &amp;&amp;)  و هي تعني "و"  و هي تعني وجود اكثر من شرط في الحالة الواحدة  و  تذكر ان "و"  يجب ان يتحقق فيها الشرطين  على  عكس ("او" -  ||)  اذا  تحقق احد الشرطين تعمل . و يحق لك ان تضع ما تشاء  من الشروط  ليس فقط اثنين  المهم ان تفصل بينهم ب ( &amp;&amp; - ||)   على حسب حاجة برنامجك .<br />
7 - لو لاحظت الشروط ستجد ان الدرجات محصورة بين  0 و 100  و أي قيمة خارجها  يتجه البرنامج ال else <br />
أتمنى يكون كل شيء واضح  <img src="https://vb4arb.com/vb/images/smilies/rolleyes.gif" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" /><br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------</div>
<br />
- عبارة  الاختيار   (switch )  :<br />
و كما  راينا if  هذه العبارة تشبها  لكن الفرق يكمن في ان  استخدام  switch  محصور على المتغير الذي يحمل اكثر من قيمة<br />
الصيغة العامة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>switch(variable){<br />
case 1:<br />
//code 1<br />
break;<br />
case 2:<br />
//code 2<br />
break;<br />
default:<br />
//code<br />
}</code></div></div>1 -  حددنا متغير .<br />
2 - بدل 1 و 2  نضع ما نريد فقد تكون كلمة او حرف  رقم عشري .<br />
3 -  كل حالة نضع فيها :  و لا ننسى كتابة break .<br />
4 -  حالة default  تشبه else .<br />
<br />
مع الأسف  switch  ليست  بتعقيد  if  لذا فبرنامج الدرجات  لا يمكن تطبيقه هنا بنفس الاحترافية  لذا  دعونا نأخذ مثال آخر<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream&gt;<br />
using namespace std;<br />
<br />
int main(){<br />
int day;<br />
cout&lt;&lt;"Please enter number of the day : &#92;n";<br />
cin&gt;&gt;day;<br />
switch(day){<br />
&nbsp;&nbsp;&nbsp;&nbsp;    case 1  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"sat";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 2  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"sun";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 3  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"mon";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 4  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"tus";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 5  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"wed";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 6  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"thu";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 7  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"fri";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"out of range";<br />
}<br />
 return 0;<br />
}</code></div></div>هذا البرنامج تدخل له رقم  من 1 الى 7  فيطبع لك  اسم اليوم  يعني برنامج لا يستحق الشرح .<br />
<br />
<div style="text-align: center;" class="mycode_align">----------------------------------------------------</div>
<br />
- عبارة الشرط المختصرة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>condition ?  code 1 :  code 2</code></div></div><br />
حيث ينظر الى الشرط قبل  ؟  فاذا تحقق ينفذ ما بعده و اذا لم يتحقق ينفذ  ما بعد :<br />
مثال :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x;<br />
x =5;<br />
x &gt; 0 ? cout&lt;&lt;"p" : cout&lt;&lt;"n";<br />
 <br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>لكن هذه الطريقة ليست   محببة جدا  و قليل  ما تراها  فانا  وضعتها فقط كمعلومة .<br />
<br />
<div style="text-align: center;" class="mycode_align">==============================</div>
<br />
<div style="text-align: center;" class="mycode_align">هذا الدرس هو البرمجة الفعلية فارجوا ان تجرب جميع الاكواد</div>
<div style="text-align: center;" class="mycode_align">و تغير فيها باسلوبك و اذا واجهتك أي مشكلة فلا تتردد</div>
<div style="text-align: center;" class="mycode_align">في السؤال  و الى اللقاء  في حلقة أخرى</div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6498" target="_blank" title="">lec 3 - examples.rar</a> (الحجم : 578 بايت / التحميلات : 49)
]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الثالث</span></div>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* عبارات الشرط :</span></span><br />
<br />
في جميع لغات البرمجة نرى ان هناك ثلاث فئات من  العناصر  ، الأولى لتخزين البيانات  ، الثانية  جمل التحكم   و الأخيرة  دوال اللغة   ،  فالاولى تشتمل  على جميع  أنواع الحاويات في اللغة من متغيرات و مصفوفات  و  ربما أنواع أخرى  خاصة باللغة لكنها في النهاية  تخزن البيانات  ، و الثالثة  هي  تلك الدوال  التي نستعملها في التعامل مع النصوص و العمليات الحسابية  و في الغالب هذه  الدوال  تكون متشابهة  بين اللغات المختلفة    ،   اما الثانية  و هي محور حديثنا  في هذا الدرس و الدرس القادم باذن الله  تسمى  بجمل التحكم  لانها الأساس  الذي بدونه لن توجد البرمجة  فالبرنامج يعتمد على امرين  لا ثالث  لهما الأول و هو الشرط  و الثاني  هو التكرار  .<br />
.<br />
.<br />
.<br />
عموما اذا  لم  تفهم  ما قيل في الأعلى  لا مشكلة فهو كلام نظري  خلاصته ان  الشرط و التكرار  هم  أساس البرمجة <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /><br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------------</div>
<br />
<br />
الصيغة العامة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>if(condition){<br />
//some code<br />
}</code></div></div>if  من ترجمتها  "اذا "  و دورها هو  حصر سطر/سطور  من الكود  تحت شرط معين  اذا تحقق ينفذ هذه المجموعة  و اذا لم يتحقق يتابع  سير البرنامج دون النظر لهم .<br />
<br />
condition   و هو  الشرط  الذي سيقوم البرنامج بالتحقق من صحته  و هو في الغالب يحتوي معاملات منطقية ( راجع الدرس السابق)   .<br />
<br />
{//some code}  و هي الاكواد التي ستنفذ في حال تحقق الشرط .<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------------------</div>
لنأخذ هذا المثال  :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x ;<br />
cin&gt;&gt;x;<br />
if(x&gt;0){<br />
cout&lt;&lt;"positive";<br />
}<br />
return 0;<br />
}</code></div></div><br />
لمن لم يفهم البرنامج  هذا البرنامج  يتحقق من كون العدد الذي ادخله المستخدم موجب ام سالب <br />
<br />
1 -  عرفنا متغير x  و استعملنا الدالة cin  لادخال قيمة من المستخدم ((كلام قديم ))<br />
2 - عرفنا عبارة شرط  ( لو x  اكبر من  0 ) <br />
3- لو كان العدد الذي ادخلناه اكبر من الصفر عندها يطبع كلمة (موجب - positive ) باستخدام دالة  cout<br />
<br />
<div style="text-align: center;" class="mycode_align">--------------------------------------------</div>
<br />
طيب  في برنامجنا  و على فرض ان المستخدم ادخل  -1  ماذا سيحدث  ؟  لا شيء  هذا  لأننا لم نعطي عبارة الشرط أي حالة أخرى  ،   و هنا نأتي للصيغة المتوسطة  .<br />
<span style="font-weight: bold;" class="mycode_b">الصيغة المتوسطة ؟  يعني  التي درسناه في البداية هي الصغيرة  ؟</span><br />
اجل كلامك مظبوط .<br />
<br />
الصيغة العامة  :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>if(condition){<br />
//some code<br />
}<br />
else{<br />
// do anther code<br />
}</code></div></div> <br />
كما نلاحظ  اضفنا كلمة else  و التي تعني في حالة عدم تحقق الشرط  عندها ينفذ الكود التابع لها   .<br />
<br />
يعني في مثالنا السابق عندما  يدخل المستخدم  -1  نريد ان يطبع البرنامج كلمة سالب  فيكون شكل البرنامج كالاتي<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x;<br />
cin&gt;&gt; x;<br />
if (x &gt; 0){<br />
cout&lt;&lt;"positive";<br />
}<br />
else{<br />
cout&lt;&lt;"negative";<br />
}<br />
return 0;<br />
}</code></div></div>جميل جميل  اكثر من رائع  اعتقد  ان الموضوع واضح   .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------------</div>
<br />
طيب نحن عرفنا الصغيرة و المتوسطة بقي لنا  شيء واحد و هو الشرط الكبير  و ان  اسميها  الدالة الرئيسية  فكل ما سبق هو جزء من  الشكل التالي :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>if (con 1){<br />
//code1<br />
}<br />
else if(con 2){<br />
//code 2<br />
}<br />
else if(con n){<br />
// code n<br />
}<br />
else{<br />
//code<br />
}</code></div></div><br />
كما نلاحظ  else if  و هي  عملية اختبار عدة شروط  في دالة واحدة  و اذا لم تتحقق جميعها ينتقل مباشرة ل else <br />
لنأخذ مثال  شامل  على  الشروط  يوضح لنا هذا الشرح النظري <img src="https://vb4arb.com/vb/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int degree;<br />
cout&lt;&lt;"Please enter your degree : &#92;n";<br />
cin&gt;&gt;degree;<br />
if(degree&gt;=90 &amp;&amp; degree &lt;= 100){<br />
cout&lt;&lt;"Excellent";<br />
}<br />
else if(degree&gt;=80 &amp;&amp; degree &lt;= 89){<br />
cout&lt;&lt;"Very good";<br />
}<br />
else if(degree&gt;=70 &amp;&amp; degree &lt;= 79){<br />
cout&lt;&lt;"Good";<br />
}<br />
else if(degree&gt;= 50 &amp;&amp; degree &lt;= 69){<br />
cout&lt;&lt;"Pass";<br />
}<br />
else if(degree&gt;= 0 &amp;&amp; degree &lt;= 49){<br />
cout&lt;&lt;"FAIL";<br />
}<br />
else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"out of range";<br />
}<br />
 return 0;<br />
}</code></div></div>نبدأ في الشرح <img src="https://vb4arb.com/vb/images/smilies/cool.gif" alt="Cool" title="Cool" class="smilie smilie_3" /><br />
1 -    البرنامج  يستقبل درجتك و يبطع لك  تقديرك في المادة .<br />
2 - في السطر الأول   عرفنا متغير  degree  من النوع int  يمكن جعله  float  .<br />
3 - طبعنا جملة  للمستخدم  نطلب فيها  ان يدخل درجته  و لا تنسى استخدمنا  "n\"  للانتقال لسطر جديد .<br />
4 - ادخل المستخدم درجته .<br />
5 - بدأنا في التحقق  طبعا انا  وضعت خمسة مجموعات  يمكنك ان  تزيديهم او تقللهم .<br />
6 -  في كل مجموعة استخدمنا  علامة ( &amp;&amp;)  و هي تعني "و"  و هي تعني وجود اكثر من شرط في الحالة الواحدة  و  تذكر ان "و"  يجب ان يتحقق فيها الشرطين  على  عكس ("او" -  ||)  اذا  تحقق احد الشرطين تعمل . و يحق لك ان تضع ما تشاء  من الشروط  ليس فقط اثنين  المهم ان تفصل بينهم ب ( &amp;&amp; - ||)   على حسب حاجة برنامجك .<br />
7 - لو لاحظت الشروط ستجد ان الدرجات محصورة بين  0 و 100  و أي قيمة خارجها  يتجه البرنامج ال else <br />
أتمنى يكون كل شيء واضح  <img src="https://vb4arb.com/vb/images/smilies/rolleyes.gif" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" /><br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------</div>
<br />
- عبارة  الاختيار   (switch )  :<br />
و كما  راينا if  هذه العبارة تشبها  لكن الفرق يكمن في ان  استخدام  switch  محصور على المتغير الذي يحمل اكثر من قيمة<br />
الصيغة العامة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>switch(variable){<br />
case 1:<br />
//code 1<br />
break;<br />
case 2:<br />
//code 2<br />
break;<br />
default:<br />
//code<br />
}</code></div></div>1 -  حددنا متغير .<br />
2 - بدل 1 و 2  نضع ما نريد فقد تكون كلمة او حرف  رقم عشري .<br />
3 -  كل حالة نضع فيها :  و لا ننسى كتابة break .<br />
4 -  حالة default  تشبه else .<br />
<br />
مع الأسف  switch  ليست  بتعقيد  if  لذا فبرنامج الدرجات  لا يمكن تطبيقه هنا بنفس الاحترافية  لذا  دعونا نأخذ مثال آخر<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream&gt;<br />
using namespace std;<br />
<br />
int main(){<br />
int day;<br />
cout&lt;&lt;"Please enter number of the day : &#92;n";<br />
cin&gt;&gt;day;<br />
switch(day){<br />
&nbsp;&nbsp;&nbsp;&nbsp;    case 1  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"sat";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 2  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"sun";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 3  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"mon";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 4  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"tus";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 5  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"wed";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 6  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"thu";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 7  :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"fri";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"out of range";<br />
}<br />
 return 0;<br />
}</code></div></div>هذا البرنامج تدخل له رقم  من 1 الى 7  فيطبع لك  اسم اليوم  يعني برنامج لا يستحق الشرح .<br />
<br />
<div style="text-align: center;" class="mycode_align">----------------------------------------------------</div>
<br />
- عبارة الشرط المختصرة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>condition ?  code 1 :  code 2</code></div></div><br />
حيث ينظر الى الشرط قبل  ؟  فاذا تحقق ينفذ ما بعده و اذا لم يتحقق ينفذ  ما بعد :<br />
مثال :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x;<br />
x =5;<br />
x &gt; 0 ? cout&lt;&lt;"p" : cout&lt;&lt;"n";<br />
 <br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>لكن هذه الطريقة ليست   محببة جدا  و قليل  ما تراها  فانا  وضعتها فقط كمعلومة .<br />
<br />
<div style="text-align: center;" class="mycode_align">==============================</div>
<br />
<div style="text-align: center;" class="mycode_align">هذا الدرس هو البرمجة الفعلية فارجوا ان تجرب جميع الاكواد</div>
<div style="text-align: center;" class="mycode_align">و تغير فيها باسلوبك و اذا واجهتك أي مشكلة فلا تتردد</div>
<div style="text-align: center;" class="mycode_align">في السؤال  و الى اللقاء  في حلقة أخرى</div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6498" target="_blank" title="">lec 3 - examples.rar</a> (الحجم : 578 بايت / التحميلات : 49)
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الثاني]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11237</link>
			<pubDate>Mon, 26 Jan 2015 08:24:02 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11237</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الثاني</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* أنواع البيانات :</span></span><br />
<br />
1 -  الاعداد الصحيحة ( integer )<br />
2 - الاعداد العشرية الصغيرة ( float )<br />
3 - الاعداد العشرية الكبيرة ( Double )<br />
4 - الحروف ( character )<br />
5 - القيم المنطقية ( boolen )<br />
<br />
هذه هي الأنواع الأساسية  ، ربما تتسائل عن النصوص  فاجيبك بأن النصوص هي مصفوفة من الحروف (( النوع الرابع )) و بشكل عام سنتطرق لها بالتفصيل في الدروس القادمة  ان شاء الله .<br />
<br />
<div style="text-align: center;" class="mycode_align">=================================</div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">*  المتغيرات :</span></span><br />
<br />
كلنا يعلم  ان جميع المدخلات التي يستقبلها الحاسب من المستخدم تخزن في الذاكرة و نظرا لان الحواسيب تستطيع تشغيل اكثر من برنامج في نفس الوقت  كان لابد من وجود طريقة  لتنظيم الذاكرة بين مختلف البرامج  هذه الطريقة هي ما تعرف بالمتغيرات او الحاويات  و هي الوعاء الذي يستعمله البرنامج لتخزين قيمة معينة في الذاكرة  بغرض معالجته عند اللزوم  و قد تتسائل عن اسم  المتغيرات  فاجيبك  بأن المتغير  قابل لتغيير القيمة اثناء تنفيذ البرنامج من قبل المستخدم .<br />
<br />
- الصيغة العامة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>DataType   VarName ;</code></div></div>بالنسبة  لنوع البيانات  فهنا نحن نكتب  الأنواع التي درسناه لكن بعضهم نختصره   يعني<br />
integer ---- &gt;   int<br />
character ----&gt; char<br />
boolen -----&gt; bool<br />
اما عن  double  و  float  فهما يكتبان دون اختصار<br />
و بالنسبة للاسم<br />
اهم قاعدة لدينا هو تجنب الأسماء المحجوزة   يعني   لا تسمي المتغير  main  او   int   فكل هذه  الأسماء المحجوزة  سوف تسبب ربكة للمترجم و لن ينفذ الكود   ، أيضا يستحب  ان يكون اسم متغيرك  دال على وظيفته  فهذا يساعدك  على فهم البرنامج  بالإضافة انه  يسهل عليك  عملية الصيانة او التطوير  اذا  عدت للبرنامج  بعد فترة <br />
فاذا  كان عندم مثلا متغير يحمل سعر السيارة   سميه   CarPrice   و ليس    xvcb  <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
عموما هذه  نصيحة  و ليس شيء اجباري<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x  = 5 ;<br />
char a = "v";<br />
double y ;<br />
float z = 5.3669;<br />
bool  B  =  true;</code></div></div>هذه  كلها تعريفات  متغيرات   ، موضوع  وضع قيمة أساسية  كما تلاحظ ممكن بعد علامة =    ،   أيضا  النصوص  توضع داخل  علامتي تنصيص  ، المتغيرات من النوع bool  تحتمل  قيميتن  لا ثالث لهما  true   او false  .<br />
 - مجالات الاستخدام (الوصول - الرؤية ) :<br />
بصراحة لا اعرف اذا كان  الاسم صحيح  ام لا  لكن  بشكل عام  كل متغير  لديه مجال  يعمل  فيه و خارج  هذا النطاق لن يعمل  بمعنى  لو عرفت  متغير  x داخل  دالة  sum   عندها  لن تستطيع ان تصل الى هذا المتغير  x  الا من خلال  الدالة التي عرف  داخلها   ، لنأخذ  هذا المثال المتقدم <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void func(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x;<br />
}<br />
<br />
int main(){<br />
x = 5;<br />
cout&lt;&lt;x;<br />
 return 0;<br />
}</code></div></div>جرب تنفيذ هذا الكود  ( لا تنسى تضمين  المكتبة  و أيضا  عبارة std  )  مهما  كان مترجمك حتى لو كن من المريخ  لن يعمل <br />
بسبب موضوع المجالات  ،  جرب الكود التالي <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void func(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
int x;<br />
int main(){<br />
x = 5;<br />
cout&lt;&lt;x;<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>طبعا هذا الكود سيعمل  و منه نستنتج الآتي  :<br />
لدينا مستوى  private  و هو مستوى  خاص  يعرف فيه المتغير  داخل دالة  او فئة  بعينها و لا يمكن استعماله خارجها  .<br />
لدينا المستوى public  و على عكس سابقه فهو يتم تعريفه خارج جميع عناصر البرنامج و يمكن استخدامه داخل جميع العناصر الأخرى <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x;<br />
void func(){<br />
x = 5;<br />
cout&lt;&lt;x;<br />
}<br />
int main(){<br />
func();<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>لا تشغل بالك بالامور التي لا تفهمها الآن فكل شيء سيتضح في وقته المناسب <img src="https://vb4arb.com/vb/images/smilies/sleepy.gif" alt="Sleepy" title="Sleepy" class="smilie smilie_19" /><br />
<div style="text-align: center;" class="mycode_align">==============================</div>
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* الثوابت  :</span></span><br />
كل ما قيل  عن المتغيرات   ينطبق على الثوابت  باستثناء  شيئين  ستلاحظهم في الصيغة العامة<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>const  DataType ConName = Value;</code></div></div>لابد و ان نكتب  const  في البداية ، أيضا لابد من كتابة قيمة بعد علامة =   .<br />
أشهر مثال  على الثوابت هو الثابت الرياضي الشهير  ط او pi   و هو  يساوي  3.14<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>const float  Pi = 3.14;</code></div></div><div style="text-align: center;" class="mycode_align">=========================</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">هناك طرق أخرى  لتعريف الثوابت لكن تكفينا هذه الطريقة الى الآن</span></div>
<div style="text-align: center;" class="mycode_align">==========================</div>
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* المعاملات :</span></span><br />
لدينا اربع مجموعات  من المعاملات نذكرها بالترتيب<br />
1 -  مجموعة العمليات الحسابية   + و -  و  *  و  /  و  % ((باقي القسمة)) .<br />
2 - مجموعة العمليات المنطقية  =  ,  &gt;  ,  &lt;  ,   =&lt;  ,   =&gt;   ,  =! ((لا يساوي)) , ==((تحقق من مساواة القيم))<br />
3 - عمليات منطقية أخرى       ( and ---  &amp;&amp;)   ,   ( or --- ||)<br />
4 - مجموعة الزيادة و النقص   (  زيادة بمقدار واحد   ++)   و     ( نقص بمقدار واحد  --)<br />
<div style="text-align: center;" class="mycode_align">=======================</div>
<div style="text-align: center;" class="mycode_align">المثال الشامل</div>
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x ;<br />
int y;<br />
cin&gt;&gt; x &gt;&gt;y;<br />
cout&lt;&lt;x + y&lt;&lt;"&#92;n";<br />
x++;<br />
y--;<br />
cout&lt;&lt;x * y&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>1 -  استعملنا    cin  لادخال قيم المتغيرات من قبل المستخدم .<br />
2 -  بالنسبة لكل من   "n\"   و كلمة  endl   فكليهما يقوم  بالانتقال لسطر جديد .<br />
3 -   بقية البرنامج  مشروحة في الدرس .<br />
<div style="text-align: center;" class="mycode_align">========================</div>
<div style="text-align: center;" class="mycode_align">جربوا   كل الاكواد  و أي شيء غير واضح ارجوا ان  لا تترددوا في</div>
<div style="text-align: center;" class="mycode_align">السؤال  و الى  اللقاء في الحلقة  القادمة من مسلسل ...... <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الثاني</span></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* أنواع البيانات :</span></span><br />
<br />
1 -  الاعداد الصحيحة ( integer )<br />
2 - الاعداد العشرية الصغيرة ( float )<br />
3 - الاعداد العشرية الكبيرة ( Double )<br />
4 - الحروف ( character )<br />
5 - القيم المنطقية ( boolen )<br />
<br />
هذه هي الأنواع الأساسية  ، ربما تتسائل عن النصوص  فاجيبك بأن النصوص هي مصفوفة من الحروف (( النوع الرابع )) و بشكل عام سنتطرق لها بالتفصيل في الدروس القادمة  ان شاء الله .<br />
<br />
<div style="text-align: center;" class="mycode_align">=================================</div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">*  المتغيرات :</span></span><br />
<br />
كلنا يعلم  ان جميع المدخلات التي يستقبلها الحاسب من المستخدم تخزن في الذاكرة و نظرا لان الحواسيب تستطيع تشغيل اكثر من برنامج في نفس الوقت  كان لابد من وجود طريقة  لتنظيم الذاكرة بين مختلف البرامج  هذه الطريقة هي ما تعرف بالمتغيرات او الحاويات  و هي الوعاء الذي يستعمله البرنامج لتخزين قيمة معينة في الذاكرة  بغرض معالجته عند اللزوم  و قد تتسائل عن اسم  المتغيرات  فاجيبك  بأن المتغير  قابل لتغيير القيمة اثناء تنفيذ البرنامج من قبل المستخدم .<br />
<br />
- الصيغة العامة :<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>DataType   VarName ;</code></div></div>بالنسبة  لنوع البيانات  فهنا نحن نكتب  الأنواع التي درسناه لكن بعضهم نختصره   يعني<br />
integer ---- &gt;   int<br />
character ----&gt; char<br />
boolen -----&gt; bool<br />
اما عن  double  و  float  فهما يكتبان دون اختصار<br />
و بالنسبة للاسم<br />
اهم قاعدة لدينا هو تجنب الأسماء المحجوزة   يعني   لا تسمي المتغير  main  او   int   فكل هذه  الأسماء المحجوزة  سوف تسبب ربكة للمترجم و لن ينفذ الكود   ، أيضا يستحب  ان يكون اسم متغيرك  دال على وظيفته  فهذا يساعدك  على فهم البرنامج  بالإضافة انه  يسهل عليك  عملية الصيانة او التطوير  اذا  عدت للبرنامج  بعد فترة <br />
فاذا  كان عندم مثلا متغير يحمل سعر السيارة   سميه   CarPrice   و ليس    xvcb  <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /><br />
عموما هذه  نصيحة  و ليس شيء اجباري<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x  = 5 ;<br />
char a = "v";<br />
double y ;<br />
float z = 5.3669;<br />
bool  B  =  true;</code></div></div>هذه  كلها تعريفات  متغيرات   ، موضوع  وضع قيمة أساسية  كما تلاحظ ممكن بعد علامة =    ،   أيضا  النصوص  توضع داخل  علامتي تنصيص  ، المتغيرات من النوع bool  تحتمل  قيميتن  لا ثالث لهما  true   او false  .<br />
 - مجالات الاستخدام (الوصول - الرؤية ) :<br />
بصراحة لا اعرف اذا كان  الاسم صحيح  ام لا  لكن  بشكل عام  كل متغير  لديه مجال  يعمل  فيه و خارج  هذا النطاق لن يعمل  بمعنى  لو عرفت  متغير  x داخل  دالة  sum   عندها  لن تستطيع ان تصل الى هذا المتغير  x  الا من خلال  الدالة التي عرف  داخلها   ، لنأخذ  هذا المثال المتقدم <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void func(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;int x;<br />
}<br />
<br />
int main(){<br />
x = 5;<br />
cout&lt;&lt;x;<br />
 return 0;<br />
}</code></div></div>جرب تنفيذ هذا الكود  ( لا تنسى تضمين  المكتبة  و أيضا  عبارة std  )  مهما  كان مترجمك حتى لو كن من المريخ  لن يعمل <br />
بسبب موضوع المجالات  ،  جرب الكود التالي <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>void func(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
int x;<br />
int main(){<br />
x = 5;<br />
cout&lt;&lt;x;<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>طبعا هذا الكود سيعمل  و منه نستنتج الآتي  :<br />
لدينا مستوى  private  و هو مستوى  خاص  يعرف فيه المتغير  داخل دالة  او فئة  بعينها و لا يمكن استعماله خارجها  .<br />
لدينا المستوى public  و على عكس سابقه فهو يتم تعريفه خارج جميع عناصر البرنامج و يمكن استخدامه داخل جميع العناصر الأخرى <br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int x;<br />
void func(){<br />
x = 5;<br />
cout&lt;&lt;x;<br />
}<br />
int main(){<br />
func();<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>لا تشغل بالك بالامور التي لا تفهمها الآن فكل شيء سيتضح في وقته المناسب <img src="https://vb4arb.com/vb/images/smilies/sleepy.gif" alt="Sleepy" title="Sleepy" class="smilie smilie_19" /><br />
<div style="text-align: center;" class="mycode_align">==============================</div>
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">* الثوابت  :</span></span><br />
كل ما قيل  عن المتغيرات   ينطبق على الثوابت  باستثناء  شيئين  ستلاحظهم في الصيغة العامة<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>const  DataType ConName = Value;</code></div></div>لابد و ان نكتب  const  في البداية ، أيضا لابد من كتابة قيمة بعد علامة =   .<br />
أشهر مثال  على الثوابت هو الثابت الرياضي الشهير  ط او pi   و هو  يساوي  3.14<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>const float  Pi = 3.14;</code></div></div><div style="text-align: center;" class="mycode_align">=========================</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">هناك طرق أخرى  لتعريف الثوابت لكن تكفينا هذه الطريقة الى الآن</span></div>
<div style="text-align: center;" class="mycode_align">==========================</div>
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* المعاملات :</span></span><br />
لدينا اربع مجموعات  من المعاملات نذكرها بالترتيب<br />
1 -  مجموعة العمليات الحسابية   + و -  و  *  و  /  و  % ((باقي القسمة)) .<br />
2 - مجموعة العمليات المنطقية  =  ,  &gt;  ,  &lt;  ,   =&lt;  ,   =&gt;   ,  =! ((لا يساوي)) , ==((تحقق من مساواة القيم))<br />
3 - عمليات منطقية أخرى       ( and ---  &amp;&amp;)   ,   ( or --- ||)<br />
4 - مجموعة الزيادة و النقص   (  زيادة بمقدار واحد   ++)   و     ( نقص بمقدار واحد  --)<br />
<div style="text-align: center;" class="mycode_align">=======================</div>
<div style="text-align: center;" class="mycode_align">المثال الشامل</div>
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>int main(){<br />
int x ;<br />
int y;<br />
cin&gt;&gt; x &gt;&gt;y;<br />
cout&lt;&lt;x + y&lt;&lt;"&#92;n";<br />
x++;<br />
y--;<br />
cout&lt;&lt;x * y&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}</code></div></div>1 -  استعملنا    cin  لادخال قيم المتغيرات من قبل المستخدم .<br />
2 -  بالنسبة لكل من   "n\"   و كلمة  endl   فكليهما يقوم  بالانتقال لسطر جديد .<br />
3 -   بقية البرنامج  مشروحة في الدرس .<br />
<div style="text-align: center;" class="mycode_align">========================</div>
<div style="text-align: center;" class="mycode_align">جربوا   كل الاكواد  و أي شيء غير واضح ارجوا ان  لا تترددوا في</div>
<div style="text-align: center;" class="mycode_align">السؤال  و الى  اللقاء في الحلقة  القادمة من مسلسل ...... <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++ - الدرس الاول]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11227</link>
			<pubDate>Sun, 25 Jan 2015 08:12:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11227</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الأول</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الهيكل الرئيسي لبرامج  c++  :</span></span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;LIBRARY&gt;<br />
int main(){<br />
//your code<br />
return 0 ;<br />
}</code></div></div> <br />
<br />
<span style="text-decoration: underline;" class="mycode_u">كما تلاحظ أي برنامج نكتبه لابد  أن يكتب على هذه الصيغة  : _</span><br />
<br />
1 - تضمين الملفات الأساسية ( المكتبات  - LIBRARY)  : و هي مجموعة  الملفات التي تحتوي على جميع  دوال  اللغة و بدونها لا يمكن الاستفادة من اللغة و لن تعمل أصلا أكوادك   ،  يوجد لدينا عدد كبير من المكتبات  نحن في دورتنا  ربما نتطرق  الى ثلاث او اربع منها  بإذن الله .<br />
<br />
2 - الدالة الأساسية (  main ) :  هي الدالة الرئيسية التي يبدأ منها تنفيذ البرنامج جميع أكوادنا  تكتب بداخلها  و مهما  كان حجم برنامجنا فدائما تكون بداية التنفيذ من  هذه الدالة  ،  أحب أن أشير الى ان  هناك طرق كثيرة لكتابة الدالة الرئيسية  و جميع الطرق الأخرى صحيحة  الفكرة كلها هي في نوع الدالة و كونها تعود بقيمة أم لا   و كل هذا سنفهمه بوضوح في الدرس الثامن .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------------------</div>
<br />
يعني خلاصة ما كتب في الأعلى :<br />
- include    نكتب داخلها المكتبة التي سوف نحتاجها  .<br />
- main   هي الدالة  الرئيسية التي يبدأ منها التنفيذ .<br />
- بالنسبة ل int , return 0   فهما  هيكل  أي  دالة (  ستفهم أكثر في الدرس الثامن ) <br />
-  جميع السطور البرمجية  يجب ان تنتهي  ب ( ; ) .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------------</div>
نسينا    your code //    <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" />   ...  هذه هي التعليقات في  c++   :<br />
<br />
//    تعليق سطر واحد  كما رأينا<br />
<br />
*/<br />
تعليق<br />
عدة<br />
سطور<br />
/*<br />
<div style="text-align: center;" class="mycode_align">============================</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">جميع  ملفات اللغة تنتهي  ب اللاحقة  .cpp</span></div>
<div style="text-align: center;" class="mycode_align">============================</div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الإدخال و الإخراج : -</span></span><br />
<br />
الشكل العام  :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream.h&gt;<br />
using namespace std;<br />
int main(){<br />
cout&lt;&lt;"something";<br />
cin&gt;&gt; some value;<br />
return 0;<br />
}</code></div></div><br />
 <br />
1 - iostream.h  هي أهم مكتبات  c++ في الغالب جميع البرامج التي سوف تصنعها مهما بلغت احترافيتها و تعقيدها لابد و أن تحتوي على هذه المكتبة  ، فهي المكتبة المسؤولة عن الادخال  و الإخراج .<br />
<br />
2 - عبارة using namespace std   يستفضل كتابتها فهي تختصر عليك كتابة std  قبل كل دالة  و في المستقبل يمكن تستعملها في صنع اختصارات لدوال و أمور أخرى  ، لكن في مستوانا الحالي يكفينا ان نعرف  انها تختصر الكود .<br />
<br />
3 - دالة  cout&gt;&gt; هي الدالة المسؤولة  عن الطباعة  احفظها مثل اسمك .<br />
<br />
4 - دالة  cin&lt;&lt;  و هي الدالة المسؤولة عن ادخال البيانات .<br />
<br />
<div style="text-align: center;" class="mycode_align">-----------------------------------------</div>
ملاحظات  :<br />
<br />
-  النصوص  تطبع  بين علامتي  تنصيص  " نص "  اما الاعداد فلا .<br />
- يمكن ان  تجزء نصك  على حسب عدد &gt;&gt;   يعني<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>cout&lt;&lt;"code1" &lt;&lt; " code2" &lt;&lt; "code3"&lt;&lt;"code n";</code></div></div> <br />
- كذلك بالنسبة  cin   لكن  هنا نحن بحاجة لمتغير   لتخزين القيمة و نحن لم نشرح المتغيرات لذا  سنؤجل هذه الدالة  كي لا ندمر ما فهمته  .<br />
<br />
<div style="text-align: center;" class="mycode_align">=========================</div>
<br />
بقي آخر شيء  علينا أن نفعله و هو تطبيق ما تعلمناه اليوم <br />
افتح مترجمك  و افتح مشروع جديد  اذا لا تملك  افتح نافذة جديدة  او لسان جديد في متصفحك  و ادخل الرابط التالي :<br />
<a href="http://runnable.com/?filter=C%2B%2B&amp;page=1" target="_blank" rel="noopener" class="mycode_url">http://runnable.com/?filter=C%2B%2B&amp;page=1</a><br />
<br />
1 -  اختر لغة c++ .<br />
2 - امسح المكتوب كله <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />  لو سمحت  .<br />
3 - ابدأ في كتابة الكود التالي .  كتابة و ليس نسخ  و لصق  رجاء !<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream.h&gt;<br />
using namespace std;<br />
int main(){<br />
cout&lt;&lt;"Hello world!";<br />
return 0;<br />
}</code></div></div><br />
4 -  اضغط رز التشغيل  و شوف الناتج<br />
<br />
مبروووووووووووك   اول برنامج لك <img src="https://vb4arb.com/vb/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /> <br />
.<br />
.<br />
.<br />
لحظة الكود لم يعمل  معي  <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  <br />
<br />
 بعض المترجمات  لا تقبل  استخدام  .h  لذا امسحها  و جرب  ،  اذا  لم يعمل  فارجوا  ان ترفق مشكلتك في الموضوع   <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" />   .<br />
<div style="text-align: center;" class="mycode_align">====================</div>
<br />
<div style="text-align: center;" class="mycode_align">عموما    الى هنا ينتهي  الدرس الى اللقاء في  الدرس القادم</div>
<br />
<div style="text-align: center;" class="mycode_align">و حتى نلتقي  لا تتوقفوا عن طباعة   الجمل   لأن  هذا الدرس هو </div>
<br />
<div style="text-align: center;" class="mycode_align">حجر الأساس  ، و أي شيء غير واضح فأرجوا ان لا تتردوا في  السؤال  عنه  </div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6483" target="_blank" title="">Hello world ex.rar</a> (الحجم : 174 بايت / التحميلات : 64)
]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">الدرس الأول</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الهيكل الرئيسي لبرامج  c++  :</span></span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;LIBRARY&gt;<br />
int main(){<br />
//your code<br />
return 0 ;<br />
}</code></div></div> <br />
<br />
<span style="text-decoration: underline;" class="mycode_u">كما تلاحظ أي برنامج نكتبه لابد  أن يكتب على هذه الصيغة  : _</span><br />
<br />
1 - تضمين الملفات الأساسية ( المكتبات  - LIBRARY)  : و هي مجموعة  الملفات التي تحتوي على جميع  دوال  اللغة و بدونها لا يمكن الاستفادة من اللغة و لن تعمل أصلا أكوادك   ،  يوجد لدينا عدد كبير من المكتبات  نحن في دورتنا  ربما نتطرق  الى ثلاث او اربع منها  بإذن الله .<br />
<br />
2 - الدالة الأساسية (  main ) :  هي الدالة الرئيسية التي يبدأ منها تنفيذ البرنامج جميع أكوادنا  تكتب بداخلها  و مهما  كان حجم برنامجنا فدائما تكون بداية التنفيذ من  هذه الدالة  ،  أحب أن أشير الى ان  هناك طرق كثيرة لكتابة الدالة الرئيسية  و جميع الطرق الأخرى صحيحة  الفكرة كلها هي في نوع الدالة و كونها تعود بقيمة أم لا   و كل هذا سنفهمه بوضوح في الدرس الثامن .<br />
<br />
<div style="text-align: center;" class="mycode_align">------------------------------------------------</div>
<br />
يعني خلاصة ما كتب في الأعلى :<br />
- include    نكتب داخلها المكتبة التي سوف نحتاجها  .<br />
- main   هي الدالة  الرئيسية التي يبدأ منها التنفيذ .<br />
- بالنسبة ل int , return 0   فهما  هيكل  أي  دالة (  ستفهم أكثر في الدرس الثامن ) <br />
-  جميع السطور البرمجية  يجب ان تنتهي  ب ( ; ) .<br />
<br />
<div style="text-align: center;" class="mycode_align">-------------------------------------------------</div>
نسينا    your code //    <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" />   ...  هذه هي التعليقات في  c++   :<br />
<br />
//    تعليق سطر واحد  كما رأينا<br />
<br />
*/<br />
تعليق<br />
عدة<br />
سطور<br />
/*<br />
<div style="text-align: center;" class="mycode_align">============================</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">جميع  ملفات اللغة تنتهي  ب اللاحقة  .cpp</span></div>
<div style="text-align: center;" class="mycode_align">============================</div>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">* الإدخال و الإخراج : -</span></span><br />
<br />
الشكل العام  :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream.h&gt;<br />
using namespace std;<br />
int main(){<br />
cout&lt;&lt;"something";<br />
cin&gt;&gt; some value;<br />
return 0;<br />
}</code></div></div><br />
 <br />
1 - iostream.h  هي أهم مكتبات  c++ في الغالب جميع البرامج التي سوف تصنعها مهما بلغت احترافيتها و تعقيدها لابد و أن تحتوي على هذه المكتبة  ، فهي المكتبة المسؤولة عن الادخال  و الإخراج .<br />
<br />
2 - عبارة using namespace std   يستفضل كتابتها فهي تختصر عليك كتابة std  قبل كل دالة  و في المستقبل يمكن تستعملها في صنع اختصارات لدوال و أمور أخرى  ، لكن في مستوانا الحالي يكفينا ان نعرف  انها تختصر الكود .<br />
<br />
3 - دالة  cout&gt;&gt; هي الدالة المسؤولة  عن الطباعة  احفظها مثل اسمك .<br />
<br />
4 - دالة  cin&lt;&lt;  و هي الدالة المسؤولة عن ادخال البيانات .<br />
<br />
<div style="text-align: center;" class="mycode_align">-----------------------------------------</div>
ملاحظات  :<br />
<br />
-  النصوص  تطبع  بين علامتي  تنصيص  " نص "  اما الاعداد فلا .<br />
- يمكن ان  تجزء نصك  على حسب عدد &gt;&gt;   يعني<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>cout&lt;&lt;"code1" &lt;&lt; " code2" &lt;&lt; "code3"&lt;&lt;"code n";</code></div></div> <br />
- كذلك بالنسبة  cin   لكن  هنا نحن بحاجة لمتغير   لتخزين القيمة و نحن لم نشرح المتغيرات لذا  سنؤجل هذه الدالة  كي لا ندمر ما فهمته  .<br />
<br />
<div style="text-align: center;" class="mycode_align">=========================</div>
<br />
بقي آخر شيء  علينا أن نفعله و هو تطبيق ما تعلمناه اليوم <br />
افتح مترجمك  و افتح مشروع جديد  اذا لا تملك  افتح نافذة جديدة  او لسان جديد في متصفحك  و ادخل الرابط التالي :<br />
<a href="http://runnable.com/?filter=C%2B%2B&amp;page=1" target="_blank" rel="noopener" class="mycode_url">http://runnable.com/?filter=C%2B%2B&amp;page=1</a><br />
<br />
1 -  اختر لغة c++ .<br />
2 - امسح المكتوب كله <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />  لو سمحت  .<br />
3 - ابدأ في كتابة الكود التالي .  كتابة و ليس نسخ  و لصق  رجاء !<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>#include&lt;iostream.h&gt;<br />
using namespace std;<br />
int main(){<br />
cout&lt;&lt;"Hello world!";<br />
return 0;<br />
}</code></div></div><br />
4 -  اضغط رز التشغيل  و شوف الناتج<br />
<br />
مبروووووووووووك   اول برنامج لك <img src="https://vb4arb.com/vb/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /> <br />
.<br />
.<br />
.<br />
لحظة الكود لم يعمل  معي  <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  <br />
<br />
 بعض المترجمات  لا تقبل  استخدام  .h  لذا امسحها  و جرب  ،  اذا  لم يعمل  فارجوا  ان ترفق مشكلتك في الموضوع   <img src="https://vb4arb.com/vb/images/smilies/exclamation.gif" alt="Exclamation" title="Exclamation" class="smilie smilie_15" />   .<br />
<div style="text-align: center;" class="mycode_align">====================</div>
<br />
<div style="text-align: center;" class="mycode_align">عموما    الى هنا ينتهي  الدرس الى اللقاء في  الدرس القادم</div>
<br />
<div style="text-align: center;" class="mycode_align">و حتى نلتقي  لا تتوقفوا عن طباعة   الجمل   لأن  هذا الدرس هو </div>
<br />
<div style="text-align: center;" class="mycode_align">حجر الأساس  ، و أي شيء غير واضح فأرجوا ان لا تتردوا في  السؤال  عنه  </div><br />
<br />
<img src="https://vb4arb.com/vb/images/attachtypes/zip.gif" title="" border="0" alt=".rar" />
&nbsp;&nbsp;<a class="attachembed" href="attachment.php?aid=6483" target="_blank" title="">Hello world ex.rar</a> (الحجم : 174 بايت / التحميلات : 64)
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دورة في اساسيات c++  -  مقدمة]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=11222</link>
			<pubDate>Sat, 24 Jan 2015 09:25:05 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=75">AGASHE</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=11222</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بسم الله الرحمن الرحيم</span></div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">السلام عليكم و رحمة الله تعالى و بركاته</span></div>
<br />
<div style="text-align: center;" class="mycode_align">جميعنا يعلم ان موسم  الاجازات قد بدء و مع بداية الاجازة يبدأ التساؤل المعتاد عن كيفية الاستفادة منها <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  لذا خطرت  في بالي ان  ابدأ في وضع مجموعة من الدروس عن لغة C++  اشرح فيها الأساسيات  لمن احب ان يبدأ في  دخول عالم C++  و نظرا  لاني  لا   احبذ  كتابة المقدمات  الطويلة  فدعونا ندخل في الشرح <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">فهرس الدورة :</span></span><br />
الدرس الأول       --&gt; الهيكل الرئيسي لبرامج  c++  +  الادخال و الإخراج<br />
الدرس الثاني     --&gt; انواع البيانات  + المتغيرات و الثوابت + المعاملات(حسابية , منطقية .....الخ)<br />
الدرس الثالث     --&gt; عبارات الشرط<br />
الدرس الرابع      --&gt; عبارات التكرار<br />
الدرس الخامس  --&gt; المصفوفات<br />
الدرس السادس --&gt; التعامل مع الدوال الحسابية<br />
الدرس السابع    --&gt; التعامل مع النصوص<br />
الدرس الثامن     --&gt; صناعة الدوال (التوابع - functions )<br />
الدرس التاسع    --&gt; الفئات ( الأصناف - class )<br />
<br />
<span style="font-weight: bold;" class="mycode_b">هل هذا هو كل ما في الدورة ؟</span><br />
مع الأسف نعم  هذه الدورة مخصصة للأساسيات فقط و ما رأيته في الأعلى يؤهلك للمتابعة بعد ذلك  في أمور اعقد  و عموما لا تربك نفسك كثيرا  فهي لغة  مثل بقية اللغات<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ما هي المواضيع بعد الأساسيات التي لن نتطرق لها  ؟</span><br />
المؤشرات - الوراثة - استثناءات - التحميل الزائد - تعدد الأوجه  -  هياكل البيانات ( طوابير , مكدس , قوائم متصلة ....الخ)<br />
التعامل مع الملفات - أخيرا مكتبة STL<br />
<br />
<span style="font-weight: bold;" class="mycode_b">هل ستحتوي الدورة على صور ؟</span><br />
لا  <br />
<br />
<span style="font-weight: bold;" class="mycode_b">ما الذي ستقدمه لي هذه اللغة  بعد تعلمها ؟</span><br />
إجابة هذا السؤال تنحصر في النقاط التالية :<br />
1- اغلب أنظمة التشغيل المتوافرة  بنية بها <br />
2- اذا  كنت ترغب في دخول عالم برمجة الميكروكنترولر و برمجة العتاد  <br />
3- اغلب اللغات البرمجية التي تراها  و التي تستخدمها بنية بها<br />
4- لا غنى عن قوتها في صناعة الألعاب و البرامج الكبيرة بسبب سرعة التنفيذ <br />
<br />
<span style="font-weight: bold;" class="mycode_b">كلامك السابق سمعناه كثيرا  اريد مثال حي  هذه اللغة تصلح لصنع برنامج  سوبر ماركت ؟؟؟</span><br />
يعني بالمنطق صنعت نظام تشغيل  و لن تصنع  برنامج سوبر ماركت  <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  الفكرة كلها  هو في استخدام الأداة المناسبة  لكل مهمة  وعموما  بعد تعلم  c++ يمكن ان تنتقل الى  QT  ,  C++ Builder  و  سوف تصنع  اجمل  و اقوى البرامج لمختلف أنواع<br />
الأجهزة  و المنصات   و اشهر مثال  برنامج  Notepad++   هذا المحرر  الشهير  فهو  مبرمج  STL + Win32Api<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ما الذي نحتاجه  لمتابعة الدورة ؟</span><br />
و ككل اللغات  مترجم (برنامج يحول الكود الى برنامج )  و هذه النقطة اشعر بانها  شخصية  فكل مبرمج لديه الحرية الكاملة في اختيار  شريك حياته  ..  اقصد  مترجم حياته <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />   المهم  لدينا المترجمات التالية جربها كلها و اختر منها ما تشاء  :<br />
<br />
المفضل عندي  ------   MS Visual Studio 2008<br />
الابسط  --------   C++ Dev<br />
المعقد  --------  GCC   +  Editor<br />
و لا ننسى  :  eclipse ,  Netbeans , turbo , codeblocx<br />
<br />
بعيدا عن كل  هؤلاء في هذه  الدورة  افضل ان تستعمل  <a href="http://runnable.com/me/VMNjt8INrZ0opUW1" target="_blank" rel="noopener" class="mycode_url">http://runnable.com/me/VMNjt8INrZ0opUW1</a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">هل هناك أي  شيء آخر  ؟</span><br />
<br />
لا لكن أتمنى كل التوفيق لكل  من يتابع  الدورة  و للاعضاء  و  للزوار  و للعالم العربي و الإسلامي  و للكوكب باستثناء إسرائيل و أمريكا  و  للمجموعة  الشمسية   ...... الخ<br />
و طبعا  كل الترحيب بمن يشارك في  الدورة سواء بالإضافة او التصحيح  او حتى النقد <br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">و الى  اللقاء  في الحلقة القادمة</span></div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">كل  هذه المقدمة و انا  لا احبذ المقدمات <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /></span></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بسم الله الرحمن الرحيم</span></div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">السلام عليكم و رحمة الله تعالى و بركاته</span></div>
<br />
<div style="text-align: center;" class="mycode_align">جميعنا يعلم ان موسم  الاجازات قد بدء و مع بداية الاجازة يبدأ التساؤل المعتاد عن كيفية الاستفادة منها <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  لذا خطرت  في بالي ان  ابدأ في وضع مجموعة من الدروس عن لغة C++  اشرح فيها الأساسيات  لمن احب ان يبدأ في  دخول عالم C++  و نظرا  لاني  لا   احبذ  كتابة المقدمات  الطويلة  فدعونا ندخل في الشرح <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" /></div>
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">فهرس الدورة :</span></span><br />
الدرس الأول       --&gt; الهيكل الرئيسي لبرامج  c++  +  الادخال و الإخراج<br />
الدرس الثاني     --&gt; انواع البيانات  + المتغيرات و الثوابت + المعاملات(حسابية , منطقية .....الخ)<br />
الدرس الثالث     --&gt; عبارات الشرط<br />
الدرس الرابع      --&gt; عبارات التكرار<br />
الدرس الخامس  --&gt; المصفوفات<br />
الدرس السادس --&gt; التعامل مع الدوال الحسابية<br />
الدرس السابع    --&gt; التعامل مع النصوص<br />
الدرس الثامن     --&gt; صناعة الدوال (التوابع - functions )<br />
الدرس التاسع    --&gt; الفئات ( الأصناف - class )<br />
<br />
<span style="font-weight: bold;" class="mycode_b">هل هذا هو كل ما في الدورة ؟</span><br />
مع الأسف نعم  هذه الدورة مخصصة للأساسيات فقط و ما رأيته في الأعلى يؤهلك للمتابعة بعد ذلك  في أمور اعقد  و عموما لا تربك نفسك كثيرا  فهي لغة  مثل بقية اللغات<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ما هي المواضيع بعد الأساسيات التي لن نتطرق لها  ؟</span><br />
المؤشرات - الوراثة - استثناءات - التحميل الزائد - تعدد الأوجه  -  هياكل البيانات ( طوابير , مكدس , قوائم متصلة ....الخ)<br />
التعامل مع الملفات - أخيرا مكتبة STL<br />
<br />
<span style="font-weight: bold;" class="mycode_b">هل ستحتوي الدورة على صور ؟</span><br />
لا  <br />
<br />
<span style="font-weight: bold;" class="mycode_b">ما الذي ستقدمه لي هذه اللغة  بعد تعلمها ؟</span><br />
إجابة هذا السؤال تنحصر في النقاط التالية :<br />
1- اغلب أنظمة التشغيل المتوافرة  بنية بها <br />
2- اذا  كنت ترغب في دخول عالم برمجة الميكروكنترولر و برمجة العتاد  <br />
3- اغلب اللغات البرمجية التي تراها  و التي تستخدمها بنية بها<br />
4- لا غنى عن قوتها في صناعة الألعاب و البرامج الكبيرة بسبب سرعة التنفيذ <br />
<br />
<span style="font-weight: bold;" class="mycode_b">كلامك السابق سمعناه كثيرا  اريد مثال حي  هذه اللغة تصلح لصنع برنامج  سوبر ماركت ؟؟؟</span><br />
يعني بالمنطق صنعت نظام تشغيل  و لن تصنع  برنامج سوبر ماركت  <img src="https://vb4arb.com/vb/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />  الفكرة كلها  هو في استخدام الأداة المناسبة  لكل مهمة  وعموما  بعد تعلم  c++ يمكن ان تنتقل الى  QT  ,  C++ Builder  و  سوف تصنع  اجمل  و اقوى البرامج لمختلف أنواع<br />
الأجهزة  و المنصات   و اشهر مثال  برنامج  Notepad++   هذا المحرر  الشهير  فهو  مبرمج  STL + Win32Api<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ما الذي نحتاجه  لمتابعة الدورة ؟</span><br />
و ككل اللغات  مترجم (برنامج يحول الكود الى برنامج )  و هذه النقطة اشعر بانها  شخصية  فكل مبرمج لديه الحرية الكاملة في اختيار  شريك حياته  ..  اقصد  مترجم حياته <img src="https://vb4arb.com/vb/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />   المهم  لدينا المترجمات التالية جربها كلها و اختر منها ما تشاء  :<br />
<br />
المفضل عندي  ------   MS Visual Studio 2008<br />
الابسط  --------   C++ Dev<br />
المعقد  --------  GCC   +  Editor<br />
و لا ننسى  :  eclipse ,  Netbeans , turbo , codeblocx<br />
<br />
بعيدا عن كل  هؤلاء في هذه  الدورة  افضل ان تستعمل  <a href="http://runnable.com/me/VMNjt8INrZ0opUW1" target="_blank" rel="noopener" class="mycode_url">http://runnable.com/me/VMNjt8INrZ0opUW1</a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">هل هناك أي  شيء آخر  ؟</span><br />
<br />
لا لكن أتمنى كل التوفيق لكل  من يتابع  الدورة  و للاعضاء  و  للزوار  و للعالم العربي و الإسلامي  و للكوكب باستثناء إسرائيل و أمريكا  و  للمجموعة  الشمسية   ...... الخ<br />
و طبعا  كل الترحيب بمن يشارك في  الدورة سواء بالإضافة او التصحيح  او حتى النقد <br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">و الى  اللقاء  في الحلقة القادمة</span></div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">كل  هذه المقدمة و انا  لا احبذ المقدمات <img src="https://vb4arb.com/vb/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /></span></div>]]></content:encoded>
		</item>
	</channel>
</rss>