PDA

View Full Version : الحلقات والتكرارات في ++c



azzeddine1
12-11-2012, 14:01
مساء الخير

سندخل في الموضوع مباشرة بدون لف أو دوران مع ان الموضوع يتعلق بالدوران والتكرار لقد تحدثنا عن فكرة الحلقات التكرارية او 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 ليست اكبر من الصفر وتنتهي الحلقه كما نريد لاحظ العداد التناقصي بالخلفية الصفراء

---------- Post added at 11:01 AM ---------- Previous post was at 11:00 AM ----------

انتظرو المزيد ان شاء الله

magedman109
12-13-2012, 22:40
شكراااا اخي علي الطرح المميز واتمني مزيد من الامر البرمجة وهل لي لغة cطريقة كتابة معينة في برتامج

MAGDY
12-31-2012, 20:44
مشكور يا أستاذنا الفاضل
واضح إنه مجهود كبير ومميز
ومتابع مع حضرتك صيغ الأوامر المختلفة
تحيااااااااااااااتى

azifek
01-01-2013, 22:08
شكرا أخي على هذا المجهود المبذول في شرح البرمجة بـ c++
فقط أريد أن أنبهك لأمر و هي وضع الأكواد على هذا الشكل

2 * 1 = 2

2 * 2 = 4

2 * 3 = 6

.

.

.

2 * 12 = 24

حتى يكون الموضوع منسق

superman
01-10-2013, 21:33
الف شكر علي هذه المعلومات القيمة و المفيده لقد استفدت منها الكثير جزاك الله خيرا

ahlamalie3
01-11-2013, 00:09
شكرا اخي الكريم على الكريم بصراحة موضوع حيد
للاستفاذة ومعرفة حزاك الله بالخير

badrhakam
01-11-2013, 12:13
السلام عليكم . بالفعل تستحق الشكر والتقدير على هذا المجهود الرائع . وتقبل مروري . وبالتوفيق للجميع . والسلام عليكم

belaid
01-17-2013, 17:45
السلام عليكم و رحمته الله تعالى و بركاته
مشكور على هذة المعلومات ونتمنى ان تكون فعالة وتفيدنه وتفيد كل الناس في الفوركس
وننتظر منك المزيد و المزيد انشاء الله

locos
01-18-2013, 12:50
مشكور يا طيب
على الموضوع المميز
الله يوفقك
شكرا لك

Chenencouff
01-19-2013, 11:02
purchase celecoxib USA
buying celecoxib USA (http://buyingcelebrex.webs.com/ )
use of celebrex
order celebrex no prescription USA (http://discountbuy-celecoxib.webs.com/ )
celebrex causes death
buy cheap buy celebrex online (http://purchase-celecoxibusa.webs.com/ )
celebrex usage
generic celecoxib In USA buy online (http://purchase-cheap-celecoxib-in-usa.webs.com/ )
celebrex and recall by fda

buying online buy celecoxib (http://purchase-celecoxibusa.webs.com/ )
celebrex bad side effects

order celebrex online USA (http://cheap-celecoxib-no-prescription-buy.webs.com/ )
chemical structure of celebrex
buying celecoxib (http://buy-celecoxib-no-prescriptionusa.webs.com/ )
connecticut lawyer celebrex
order celebrex In USA online (http://buy-celecoxib-online-purchase.webs.com/ )
celebrex buy cheap no prescription

cheapest celecoxib In USA buy online (http://where-can-i-get-buy-celecoxib-online.webs.com/ )
does celebrex make your hands swell

order celecoxib online USA

nemya
01-23-2013, 21:01
شكرا لك اخي الكريم على الموضوع
جعله الله في ميزان حسناتك

dali
01-25-2013, 15:46
وان شاء الله رايح انزله واجربه
شكراً أخي شرح جيد وبسيط للجميع

alpacino ramos
01-26-2013, 13:21
السلام عليكم
شكرا اخي العزيز على الطرح و الافادة

pride
01-26-2013, 14:33
شكرا لك
في إنتظار مزيد الدروس (Functions....) ولما لا نصل إلى تعلم الـPOO في هذه اللغة

matrcx
01-26-2013, 14:36
السلام عليكم

شكرااااااا يا اخى على الموضوع
وفى تقدم دائم ان شاء الله

ahmedchewki
01-27-2013, 21:35
السلام عليكم
الله يحفضك خويا انا محتاج هده الدروس و الحمدلله لقيتها
شكرا لك بي انتضار دروس اخى بفارغ الصبر
بالتوفيق لك

ebn_elminya
01-28-2013, 21:56
كانت ما أصعب العوائق يوماً امامي في السي بلس بلس هي ال loop
او الحلقه التكراريه
ولكنها أصبحت مفهومه
شكراً لتعبك ومجهودك وأسلوبك الراقي اخي الكريم
ومنتظرين المزيد

rachidqq
01-29-2013, 04:11
بارك الله فيك ياخى على هذا الموضوع الرائع ليجعله الله فى حساناتك
موضوع جميل ومفيد جدا
لك جزيل الشكر منى

claudtun
01-29-2013, 07:14
تستحق ألف شكر يا أخي علا هذا الموضوع..
جعله الله في ميزان حسناتك

yoka
02-03-2013, 16:47
السلام عليكم ..
مشكور اخى على الموضوع الرائع والمعلومات الجيده واتمنى ان تفيد الجميع ايضآ
تقبل مرورى

Mohamed Ramadan Helal
02-04-2013, 19:09
السلام عليكم ورحمة الله مع انى مفهمتش اوى
الا انه شرحك مميز وشكرا كتير ليك وبالتوفيق للجميع

mechergui
02-07-2013, 23:06
السلام عليكم و رحمته الله تعالى و بركاته
مشكور على هذة المعلومات ونتمنى ان تكون فعالة وتفيدنه وتفيد كل الناس في الفوركس
واضح إنه مجهود كبير ومميز
ومتابع مع حضرتك صيغ الأوامر المختلفة
شكرا لك

zamalkkkawy
02-09-2013, 16:14
السلام عليكم ورحمة الله وبركاتة وشكرا اخى الكريم على شرحك الوافى وشكرااااااااااااااااااااا ااا

ahmedibrahem
02-13-2013, 19:52
استمر في دروسك الجميله وان شاء الله تعم الفائده
علي الجميع تقبل مروري

محمد فتحي
02-14-2013, 09:22
السلام عليكم ورحمة الله وبركاته
عرض مميز لأحد التطبيقات المميزة للغة السي
جزاك الله خيرا

pep10
02-14-2013, 14:15
السلام عليكم ورحمة الله

شكرآ لك اخي على الموضوع المتميز و على كل هذه المعلومات القيمة واتمنى ان تفيد الجميع ايضآ

عرض مميز لأحد التطبيقات المميزة للغة السي

جزاكم الله كل خير مع متمنياتي بالتوفيق للجميع

hitler
02-15-2013, 00:48
السلام عليكم ورحمة الله وبركاته
شكراً أخي عل الموضوع المميز
تقبل مروري

محمد فتحي
02-15-2013, 06:58
السلام عليكم ورحمة الله وبركاته
الحلقات والتكرارات تعتبر جزء أساسي من أجزاء البرمجة في لغة السي
أتمني لك التوفيق

نهي خزيم
02-17-2013, 10:42
مساء الخير

سندخل في الموضوع مباشرة بدون لف أو دوران مع ان الموضوع يتعلق بالدوران والتكرار لقد تحدثنا عن فكرة الحلقات التكرارية او 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 ليست اكبر من الصفر وتنتهي الحلقه كما نريد لاحظ العداد التناقصي بالخلفية الصفراء

---------- Post added at 11:01 AM ---------- Previous post was at 11:00 AM ----------

انتظرو المزيد ان شاء الله

مجهود طيب جدا لشرح لغة السي
فالحلقات والتكرارات من اساسيات البرمجة في لغة السي
تحياتي

ashwaa353
03-06-2013, 03:47
السلام عليكم ورحمه الله وبركاته
مشكور اخى الكريم azzeddine1 على الشرح المفيد
جزاك الله كل خير وفى انتظار المزيد مش الشروحات
تقبل مرورى

rebaoui
03-06-2013, 22:52
السلام عليكم اخي و مشكور على هذا المجهود
فقط تنبيه بسيط
الاكواد حساسة جدا للاقواس و النقاط و اي خطأ بسيط قد يؤدي
الى توقف التطبيق
ارجو ان تكون قد فهمت ما ارمو اليه
دمت في رعاية الله و تقبلوا مروري

nacer92
03-07-2013, 01:14
السلام عليكم ...تستحق الشكر بمعنى الكلمة ....نتمنى المزيد منك

شيرى343
03-08-2013, 17:57
السلام عليكم و رحمة الله و بركاته

سلمت يداك اخى الفاضل azzeddine1 على مجهوداتك الرائعه فى تقديم هذا الموضوع

واشكر الاخ azifek على تنبيه لك فة طريقه وضع الاكواد

جزاك الله كل الخير

luky007
03-10-2013, 00:04
شكرا يا اخي على هدا الشرح الرائع فلك الف
شكر و اتمنى لك حظا موفقا و السلام

دنيا646
03-10-2013, 10:47
تحيه خاصه على مجهودك الرائع اخى azzeddine1
لغه c++ لغة هامه وجميله ولها العديد من الاسرار وقد قمت بتوضيح وشرح هذه النقطه بشكل اكثر من رائع
جزاك الله كل خير

Haythem kedidi
03-21-2013, 04:23
السلام عليكم ورحمة الله وبركاته
بارك الله فيك موضوع اكثر من رائع
وان شاء الله متابعين معاك للاستفادة

maged mohamed
03-21-2013, 05:23
بسم الله الرحمن الرحبم
شكرا على الشرح الةافى الكافى وان شاء الله متابع معاك طريقة البرمجة

joe6sad
03-25-2013, 02:17
السلام عليكم
مجهود رائع ومتعوب عليه يا استاذ
شرح طويل شوية لكن مفيد
بارك الله فيك

mustalokha
07-28-2013, 05:03
موضوع طويل لكنه غني بالمعلومات و شرحك واضح و منظم
جزاك الله الف خير و الله يجعله في ميزان حسناتك.

badrelhamma
07-30-2013, 08:45
merci pour cette cour de
C++
lakan momkin a khoya dir lina les orienter objet de C++


et les structure de cette langage c++
et merci pour le cour ((for ................. end

jerom
07-30-2013, 15:39
salut on essay de faire sa si c'est disponible on le metrre sur forex pourquoi pas

mohamedsniper12
09-04-2013, 19:08
شكرا اخي على هذه المعلومات القيمة وجزاك الله كل خير انشاء الله

reda ali
09-05-2013, 23:41
شكراااا اخي علي الطرح المميز واتمني مزيد من الامر البرمجة وهل لي لغة cطريقة كتابة معينة في برتامج

dirtywalid
09-10-2013, 20:47
الف شكر علي هذه المعلومات القيمة و المفيده لقد استفدت منها الكثير جزاك الله خيرا

doola2020
09-30-2013, 21:01
يا جماعة ارحمونا بقي وعايزين حاجة تكون مفيدة في الفوركس اللي احنا شغالين فيه ده في يومكم الأبيض

lordofdracula
09-30-2013, 23:40
بما أن اوامر التكرار تشبه بعضها بعضًا بشكل كبير، في هذا الدرس سيتم شرحها لـ3 لغات برمجية مختلفة. للدروس السابقة يمكنك العودة للأقسام من القائمة الجانبية.

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

WASEM DALLOUL
12-11-2013, 21:03
السلام عليكم
شكرا لك يا أخي الكريم على هذه المعلومات الجيده حول الحلقات والتكرار في لغة السي وجزاك الله كل خير وبارك الله فيك
وبالتوفيق

fatilahcen
12-11-2013, 22:02
ممتاز استادنا الفاضل
ودمت لهذا المنتدى من الاوفياء

nacero
12-21-2013, 16:41
لكن "التوربو" كان من عمل شركة بورلاند الحديثة، و التي أنشأت سنة 1983 و التي قامت بتسويق المجمع توربو باسكال بسعر غاية في التخفيض (49 $ حينها مقابل 500 $ سعر مجمع باسكال من شركة مايكروسوفت و الذي لم يكن يمتلك محررا مدمجا حتى)

ashrafko
12-21-2013, 16:46
اخى الكريم اشكرك على الموضوع واتمنى ان يتم المشاركة من قبل الاعضاء حتى نتمكن من الاستفادة ومعرفة المزيد من المعلومات وبالتوفيق

wolfryn
12-21-2013, 17:23
اشهد ان لااله الا الله واشهد ان محمد رسول الله
الحمد لله سبحان الله الله اكبر
سبحن الله و بحمده سبحان الله العظيم

fido
07-12-2014, 00:58
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
جزاك الله خيرا أخي و أحسن الله اليك
تقبل الله منك صالح الاعمال
في موازين حسناتك

maroki
06-21-2015, 19:59
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله
بارك الله فيك موضوع رائع وهو خير الاعمال وجلها
ملأ الله قلبك حمدا
وكتب لك في العباد ودا
وأمدك من فضله في الرزق مدا
ولا يسلط عليك من اهل السوء أحدا

arkantos
06-22-2015, 19:59
السلام عليكم و رحمة الله تعالى و بركاته و الصلاة و السلام على سيدنا محمد
و على اله و صحبه و سلم أما بعد
شكرا لكم على هذه الافاده عن هذا الموضوع ونتمنى المزيد
والسلام عليكم ورحمه الله وبركاته

alimed
09-28-2015, 16:58
بارك الله فيك على المجهود الكبير الذي بذلته
وان شاء الله سوف يستفيد الاعضاء من الموضوع
وفي انتظار ما هو جديد من ابداعاتك معنا
الف الف شكر لك مرة اخرى الموضوع الرائع والمفيد
والمعلومات القيمة التي افدتنا بها

AboMoZo
03-17-2016, 16:58
بسم الله الرحمن الرحيم ... السلام عليكم ورحمة الله وبركاته
جزاك الله كل خير علي هذا الطرح المفيد و شكراً جزيلاً لك علي المعلومات
بإنتظار جديد مواضيعك فلا تحرمنا من الفائدة
تمنياتي بالتوفيق والسداد وخالص التحية
اللهم علمنا ما ينفعنا وانفعنا بما علمتنا

**TITO**
03-21-2016, 22:18
السلام عليكم ورحمة الله وبركاتة
شكرا لك يا اخى موضوع جيد جدا وجزاك الله خيرا بإنتظار جديد مواضيعك فلا تحرمنا من الفائدة
واحنا فى انتظار مواضيع منك تفيدنا اكتر مشكور وتقبل مرورى وتمنياتى ليك وللجميع بالتفوق

freelife
03-23-2016, 18:51
شكرا اخي على الموضوع.طريقة مبسطة لشرح loop

ahmed elsawaf
03-24-2016, 23:12
جزاك الله خيرا على مجهودك الرائع فانى استفدت كثيرا لم اكن اعرف الطريقه جزاك الله خيرك وجعله الله ف ميزان حسناتك تقبل مرورى

ashrafbek
04-10-2016, 17:20
بسم الله الرحمن الرحيم
اخي الكريم السلام عليكم ورحمة الله وبركاته
جزاك الله خيراً علي موضوعك الاكثر من رائع
وانتظر منك ومن جميع اعضاء هذا المنتدي الجميل الاستفادة دوماً
تقبل خالص التحية

AYA.M
05-26-2016, 14:04
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اسعدني التواجد بهذا المنتدي الرائع واتمني دوماً الافادة للجميع
واشكرك شكراً جزيلاً علي طرحك لهذا الموضوع الجميل
تمنياتي لكم بالنجاح الدائم

elamir84
05-26-2016, 14:16
السلام عليكم ورحمة الله وبركاته شكرا جزيلا يا اخي الكريم على هده المعلومات جزاك الله
متشكر لتعبك لعل الجميع يستفيد

zeco2020
06-14-2016, 16:57
كما قال الاخوة الكرام
تألق مبهر من شخصك الكريم هاته الايام
موضوع رائع بكل المقاييس وشرح اروع له
بارك الله فيك اخي الغالي وثبت خطاك

Ramdan
06-20-2016, 21:08
السلام عليكم ورحمة الله وبركاته

مشكور اخى الكريم على هذا الموضوع والشرح الاكثر من رائع

لقد افدتنى بالفعل .. تحياتى الك يا كبير

جزاك الله كل خير .. فى انتظار كل مواضيعك الجديده

mohamed helmy
06-22-2016, 17:17
السلام عليكم ورحمة الله
يا قصرأبدعت بما قدمت
مروري هنا جعلني أصل لقمة الاستمتاع
شوقتنا لنتطلع على مزيد مما تقدمه هنا ،،
مروري على صفحتك جعلني اصل لقمة الاستمتاع
قراءةناصعة البياض وثناء يحملني للسحاب ،
ما قدمته هنا أكبر من به أسهل اعجابي
عبق نرجسي يسطر بعذوبه
وجمال يعانق السماء كجمال الانتقاء
على الطرح الراقى
ابداع تميز تالق
يعطيك العافيه ولاعدمنا جديدكم تحياتي

siimoo
05-26-2017, 02:56
مساء الخير

سندخل في الموضوع مباشرة بدون لف أو دوران مع ان الموضوع يتعلق بالدوران والتكرار لقد تحدثنا عن فكرة الحلقات التكرارية او 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 ليست اكبر من الصفر وتنتهي الحلقه كما نريد لاحظ العداد التناقصي بالخلفية الصفراء

---------- Post added at 11:01 AM ---------- Previous post was at 11:00 AM ----------

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

manotripleewry
06-26-2017, 17:49
مساء الخير اخي الفاضل
لك مني جزيل الشكر علي هذا المجهود الرائع:bravo:
هذا الموضوع قمت بدراسته بلفعل ولكن حضرتك افدتني فيه من المزيد منالمعلومات جزاك الله خيرا واتمني لك النجاح الدائم :)