أنت غير مسجل في منتديات كشكول . للتسجيل الرجاء إضغط هنـا

مرحبا ً بك على ساحة منتديات كشكول ... تستطيع التسجيل ومشاركتنا بالضغط هنا

منتديات كشكول
الإهداءات
!! احســـاس الـــورد !! : حبيبتي الماسه كملي مشاركاتك الى 50 وارسلي لي وان شاء الله اقدر اساعدك الماسة الحساسة : احساس الورد لايمكنني ارسال رسالة خاصة أليك الماسة الحساسة : لوسمحت أبي أكلم الأدارة بنوته دلوعه : ممكن اتعرعف على الماسه الحساسه الماسة الحساسة : ممكن أتعرف غلى بنوته دلوعة البدر : ياهلا والله مو بس انتي الي حتغيبي بعد بكرة كلنا حنغيب مدارس أجْمَـلْ اِحسَــاسْ : صباااح الخيرااات حبايبي حبيت ابلغكم اني رااح اغيب فتررره وان شاء الله بحاول ارجع بأقرب فررررصهـ راح توحشووني بررررب ..&تـلمـيذة الحــبـــ &.. : سلام حبايبيه ياليت تروحو قسم الصور وتتنشطو في المسابقه الترشيح يلا يا حبايبي شموخي زلزلهم : يسلمووو حبآآآآيبي الله يبآآرك فيكم مشكورين على التهنئه والله يسمع منكم ان شاء الله جرناس : كل عام انتي بألف خير والعمر كله " هايمه بروحها " وعقبال مليوووووون سنة هايمة بروحها : سلااااام انا زعلانة منكم ولا احد يقولي كل سنة وانتي طيبة مافي غير احساس الورد فديتها غرور بنوته : هاااي مساء الخير جرناس : مسائكم خزامي ،،، عساكم بخير دوووووم يا أحلى منتدى فزو لها : غناتوووو شموخي زلزلهم الف الف الف مبرووووك وعقبااااااااال المليااار ويعلها شاهد لك مو علييك ღ♥ღ شـــوكولاطة ღ♥ღ : مبروووووووووووكـــ عـقبـــــالــ المـليـونـــ يــاربـــ شموخي زلزلهم : شبآآآب بنآآآآت بآآركووولي دخلت الفيتي الثآآنيه عقبآآال الفيتي الملييييووون كايدتهم : مبرووووك أم النورين بـ ج ـد تستاهلي ياح ـليوه عقبال المراقبه يارب فانتازيا : مبرووووووووووووووووووك ام النورين تستاهلين الاشرااااااااااااااااااااااااااااااااف و الله ربنا يوفقك غاليتي ..&تـلمـيذة الحــبـــ &.. : بحلول عيد الفطر المبارك تهانينا لكم جميعنا وكل عام وانت بخير تلميذة الحب الماسة الحساسة : مساء الورد والفل عليكم وعيد سعيد cool girl : تصحيح التنوية***cool girl ** ما تغيرت بس الصورة الشخصية تغيرت اتمنى تعجبكم الصورةههههههه cool girl : تنوية**cool girl* ما تغيرت بس الصورة-- تنوية سخيف صحه جرناس : مسائكمـ خزامي ،،، أحبتي ،،، لكم تحياتي القلبية لأحلى كشكول شموخي زلزلهم : هاآآآي اعضاااء المنتدى الغاليييين بآآك للمنتدى بعد غيبه العييييد ،،، والله اشتقت لكم حييييييل خيتكم\شموخي زلزلهم !! احســـاس الـــورد !! : ولكـــ باااك ــــــم عم ــــــار وحشتنا يا حلوووو Romantic : Back كابتشينو : هاااااايووو شبااااااااااب صبياااا اخباركم عامليه ايه ؟؟ ان شاء الله مستانسين حبيت اسلم عليكم سي يوو حبايبي جوهرة الكون : هــــــــلا واللــــــــه عمــــــــوري ونحنا كمان اشتقنا لك وننتظر رجعتــــك الـح ــلوهـ يالغـــــلآ Romantic : يـــاهـــلا والله بالح ـلوين آشتقت لكم كثييير كثييير وان شاء الله آرجع لكم بأقرب وقت وح ـشتوني

متميزين كشكول لهذا اليوم
العضو المميز الموضوع المميز المشرف المميز المشرفة المميزه
السعودية تاااج رااسي *ـ*
بقلم : بنت دلع وكلي سنع
آخر 6 مواضيع
كاريكاتير من جد حلو !!!! : ) ترتيب الدوري السعودي بعد...
ألاَ تُدافعُ عنْ حِياضِ... المــــــــــــرعب وصل هناك اشياء لايعرفها الرجل عن...

موضوع جديد
العودة   منتديات كشكول >

..~][ المنتديات التقنية][~..

> الإنترنت والمواقع

الإنترنت والمواقع كل ما يتعلق بمواقع الإنترنت وخدمات التطوير لأصحاب المواقع من واجهات وبرمجيات وأكواد الجافا وسكربتات وبرمجيات - php - واستايلات وهاكات وبرودكت وإضافات ونسخ برنامج المنتديات vBulletin ..

برامج كشكول new

ألعاب كشكول new



أضف مشاركة
 
LinkBack خيارات الموضوع
قديم 10-03-06, 11:46 PM   #1
صاحب الموقع
 
الصورة الرمزية لـ Romantic
 
تاريخ التّسجيل: Jul 2006
الإقامة: You Tube
العمر: 17
مزاجي:
الدولة : saudi arabia
معلوماتي ومن مواضيعي
رقم العضوية : 1
عدد المشاركات : 8,010
بمعدل : 9.90 يوميا
عدد المواضيع : 1035
عدد الردود : 6975
الجنس : ذكر

تعلم سي بلس بلس ::الدرس الثالث::

تعلم سي بلس بلس

الدرس الثالث

الحلقات والتكرارات




مساء الخير

سندخل في الموضوع مباشرة بدون لف أو دوران مع ان الموضوع يتعلق بالدوران والتكرار لقد تحدثنا عن فكرة الحلقات التكرارية او Loops في المقال العام عن البرمجة اذا لم تكن قد قرأته من فضلك راجعه الآن

طريقتين لعمل هذه الحلقات الاسلوب الاول بلامر for والثاني بالامر while

لنأخذ جزئية البرنامج التالي



#include <iostream.h>

int main()

{

int x;

for(x=0;x<100;x++)

{



cout<<x<<endl;

}

return 0;

}





السطور ذات اللون الازرق تناولنا شرحها بالدرس الاول أما السطور ذات اللون الاحمر فهي موضوع دراستنا اليوم

تقوم الحلقات التكرارية بتنفيذ عدة اوامر موضوعة داخل بلوك ونقصد ببلوك مابين القوسين } مجموعة اوامر{ الى ان تنتهي الحلقات او عدد الحلقات المحددة منك وعددها في مثالنا السابق 100 حلقة تكرارية وبدقة تبدء الحلقات من رقم صفر الى رقم 99 ومعنى ذلك ان العدد الاجمالي 100 حلقة بعد حساب الصفر من ضمن الارقام انتبه لذلك وتذكر ان المتغير x يجب الاعلان عنه قبل استخدامه وذلك حسب نوع استخدامك له وهنا استخدمنا نوعه كعدد صحيح بالطبع يمكنك استخدامه كعدد عشري واليك صيغة الامر بالتفصيل





الصيغة
التفسير

for
امر اللغة لعملية التكرار

(
قوس مفتوح يوضح بداخله بارامترات الامر

x=0;
المتغير = رقم بداية الحلقات

x<100;
شرط نهاية الحلقات

x++
المتغير يزيد بمقدار واحد مع بداية كل حلقة – لاتضع بعده فاصلة منقوطة

)
قوس نهاية بارامترات الامر – لاتضع بعده فاصلة منقوطة

{
قوس بداية بلوك الاوامر المطلوب تكرارها

بداخل اقواس البلوك توضع الاوامر المطلوب تكرارها

}
قوس نهاية بلوك الاوامر المطلوب تكرارها




بداخل بلوك الاوامر تم تنفيذ الامر

cout<<x<<endl



وهو امر يقوم بطبع قيمة x التي تتغير في كل مرة ابتداء من صفر حسب ماذكرت ان

X=0 وتزيد في كل مرة بمقدار 1 حسبما ذكرت ان x++ وذلك حتى يصل الى 99 حسبما ذكرت ان x<100

وendl تعني end of line اي انتقل الى سطر جديد كلما طبعت قيمة حتى لا يسرد طبع الارقام متجاورة بل يطبع على كل سطر قيمة المتغير وبالتالي ستكون مخراجات البرنامج كما يلي

0

1

2

3

4

.

.

.

99



لنستفيد اكثر من قوة الحلقات التكرارية وايضا نرى امكانات اخرى لها بوضع حلقة داخل حلقة كما يلى في البرنامج الذي يطبع جدول الضرب من جدول واحد حتى جدول 12



#include <iostream.h>

int main()

{

int x , y , z;

for(x=1;x<13;x++)

{

for(y=1;y<13;y++)

{

z = x * y;

cout<<x<<”*”<<y<<”=”<<z<<endl;

}

}



return 0;



}

كما تعلم ان السطور الزرقاء سبق دراستها ولكن ننوه فقط اننا اعلنا عن ثلاث متغيرات لاعداد صحيحة الاول للحلقة الاولى والثاني للحلقة الثانية والثالث لاحتواء حاصل الضرب وهو الهدف من البرنامج.

بنفس ماسبق شرحه وضعنا حلقة تكرارية تبدء من رقم واحد وتنتهي برقم 12 وتزيد بمقدار واحد واوامر هذه الحلقة مكتوبة للتوضيح بخلفية صفراء حيث بدأت الحلقة بالصيغة السابق شرحها ثم قوس بداية البلوك وقوس نهاية البلوك حيث يوضع مابين القوسين سلسلة اوامر لتنفيذها كما سبق واتفقنا عليه



for(x=1;x<13;x++)

{



اوامر مطلوب تنفيذها


}



وبداخل اقواس البلوك للحلقة الاولى مطلوب وضع اوامر للتنفيذ فكانت اوامر التنفيذ داخل البلوك عبارة عن حلقة اخرى وما المانع فالحلقات وغيرها هي نفسها اوامر والحلقه الاخرى كانت عبارة عن عداد يعد من الرقم 1 الى الرقم 12 وهي ايضا تحتاج الى صيغة معينة واقواس بلوك للتنفيذ وهي موضوعة في البرنامج بخلفية خضراء كما يلي

for(y=1;y<13;y++)

{

z = x * y;

cout<<x<<"*"<<y<<"="<<z<<endl;

}

وبداخل بلوك الاوامر للحلقة الثانية وضعنا عدة اوامر لتفى بالغرض الذي من اجله تم عمل البرنامج وهو جدول الضرب – عبارة عن معادلة لحساب حاصل ضرب المتغيرين x و y

ويوضع الناتج في المتغير z كما يلي



z = x * y;

بالطبع تلى ذلك صيغة لطبع مخرجات البرنامج والا ما الفائدة منه اذا لم ارى نتيجة عملى وهذه الصيغة سأشرح لك فيما بعد وفي هذا الدرس لماذا اخترت هذه الصيغة بالتحديد فهو ليس موضوعنا الآن ودعني اشرح لك الاهم من ذلك وهو ميكانيكية عمل الحلقتين



· يبدء البرنامج بالدخول الى الحلقه الاولى ويخصص للمتغير اكس القيمة واحد حيث انها قيمة عداد البداية ثم يدخل الى داخل اقواس بلوكه لتنفيذ ما بداخله فيجد حلقه اخرى فيبدء بتنفيذها وطلبت الحلقة ان يكون متغيرها واي يبدء بالقيمة واحد وينتهي بالقيمة 12 ثم تدخل الحلقة الثانية الى بلوك اوامرها فتجد معادلة يضرب فيها قيمة اكس التي هي واحد الآن وتتغير قيمة واي فيها ثم طبع النتائج وتظل الحلقة الداخلية تنفذ بتغير واي مع ثبات اكس بالطبع وتكون النتائج كما يلى



1 * 1 = 1

1 * 2 = 2

1 * 3 = 3

.

.

.

1 * 12 = 12

وعند وصول نهاية عداد الحلقة الداخلية الى 12 وهو نهاية الحلقة ينتهي تنفيذ الحلقة فيستمر البرنامج فيجد امامه قوس نهاية الحلقه الخارجية ذو الخلفية الصفراء فيعود الى الحلقة الخارجيه حيث تزيد قيمة اكس بمقدار واحد وتصبح قيمتها = 2 فيدخل الى بلوك اوامره كما سبق فيجد حلقة اخرى تبدء من واحد وتنتهي ب 12 وبداخلها معادلة وامر طبع فيكون التنفيذ كما يلي

2 * 1 = 2

2 * 2 = 4

2 * 3 = 6

.

.

.

2 * 12 = 24



وهكذا يستمر التنفيذ الى ان تصل الحلقة الخارجية الى نهايتها بالرقم 12 واثناء ذلك تنفذ الحلقة الداخلية من بدايتها الى نهايتها اي من 1 الى 12 وتطبق المعادلة وامر الطبع ليكون اخر تنفيذ كما يلي

12 * 1 = 12

12 * 2 = 24

12 * 3 = 36

.

.

.

12 * 12 = 144



شرح صياغة امر الطبع بالصورة التالية





cout<<x<<"*"<<y<<"="<<z<<endl;



مابداخل علامات الاقتباس دائما يطبع كما هو وهو مميز اعلاه بالخلفية الخضراء وكل مايوضع داخل علامة الاقتباس يطبع نصه كما هو اما ماهو خارج علامات الاقتباس بين ازواج الاقواس >>متغير>> فيطبع قيمة المتغير وليس اسم المتغير فمثلا x لاتطبع x ولكن تطبع قيمتها فمثلا 1 – 2 – 3 ----- 12 حيث انها متغيرات وتميز اعلاه بالخلفية الصفراء وذلك للحصول على شكل مقبول يوضح العملية المطلوبة لتظهر النتائج بالصورة



12 * 12 = 144



والآن الى النوع الثاني من الحلقات وهو ابسط من السابق ولكن السابق اكثر استخداما واكثر قوة



While



#include <iostream.h>



int main()

{

int x=0;

while(x<100)

{

cout<<x<<endl;

x++;



}

return 0;

}



سوف اشرحها لك في سطور قليلة لبساطتها الاوامر باللون الازرق سبق شرحها اما الحلقة موضع النقاش فهي باللون الاحمر وصيغتها



while(x<100)



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



الصيغة
التفسير

while
امر اللغة لعملية التكرار

(
قوس مفتوح يوضح بداخله بارامترات الامر

X<100
المتغير مع شرط لنهاية الحلقة

)
قوس نهاية بارامترات الامر – لاتضع بعده فاصلة منقوطة

{
قوس بداية بلوك الاوامر المطلوب تكرارها

بداخل اقواس البلوك توضع الاوامر المطلوب تكرارها

x++;
ولا تنسى عداد الزياده او النقصان ليتحقق الشرط لانهاء تنفيذ الحلقة

}
قوس نهاية بلوك الاوامر المطلوب تكرارها






لقد ذكرت لك كلمة عداد الزيادة او النقصان نعم يمكن ان يتناقص العداد اذا كانت صيغة البرنامج كما يلي وذلك لطبع قيمة المتغير تناقصيا من 99 الى صفر بعد ان كان في البرنامج السابق تصاعديا من صفر الى 99 ويكون التعديل كما يلي



#include <iostream.h>



int main()

{

int x=99;

while(x>0)

{

cout<<x<<endl;

x--;



}

return 0;

}



بدء هنا تخصيص المتغير مع الاعلان بالقيمة 99 ثم شرط التكرار ان يكون متى كانت قيمة المتغير اكبر من الصفر ثم عداد تناقصي يظل يطرح واحد من القيمة الى ان يصل الى الصفر ثم يطرح من الصفر 1 فتصبح قيمته –1 وبالتالي لايتحقق الشرط حيث ان قيمة –1 ليست اكبر من الصفر وتنتهي الحلقه كما نريد لاحظ العداد التناقصي بالرمز اللأصفر (x --; )

_________::التوقيع::_________

R♥mantic


طبع الح ـياة حزن وفرح .. وطبع الورود ش ـوك وزهـور ..

Romantic غير متصل  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
الرد مع إقتباس
قديم 01-07-07, 01:47 PM   #2
::.. عضو شرف ..::
 
الصورة الرمزية لـ **:::. الـبـروفـسـور .:::**
 
تاريخ التّسجيل: Nov 2006
الإقامة: سيبقى منتدى كشكول أجمل ذكريات وأحلى مكان قضيت وقتي به
الدولة : saudi arabia
معلوماتي ومن مواضيعي
رقم العضوية : 1350
عدد المشاركات : 4,610
بمعدل : 6.56 يوميا
عدد المواضيع : 192
عدد الردود : 4418
الجنس : ذكر



...أشكرك على مواضيعك المتميزة والرائعة...

...أحسنت بارك الله فيك...
**:::. الـبـروفـسـور .:::** غير متصل  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
الرد مع إقتباس
قديم 10-03-07, 03:08 AM   #3
¤®§( مشرف منتدى عالم السيارات )§®¤
 
الصورة الرمزية لـ booob
 
تاريخ التّسجيل: Oct 2007
الدولة : saudi arabia
معلوماتي ومن مواضيعي
رقم العضوية : 4142
عدد المشاركات : 290
بمعدل : 0.77 يوميا
عدد المواضيع : 0
عدد الردود : 290
الجنس : ذكر

مشكووووووووور أخوي على الموضوع الرئع

تحياتي
booob غير متصل  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
الرد مع إقتباس
أضف مشاركة

مواقع النشر