تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس العاشر ( 10 ) - - جملة التكرار Do While وكيفية التعامل معها
#1
كاتب الموضوع : lo2i


السلام عليكم ورحمة الله وبركاته

(( وماأوتيتم من العلم إلا قليلاً ))
-------------------------------------------------------------------------------------------------------------------------------
الدرس العاشر في دورة السي بلس بلس
-------------------------------------------------------------------------------------------------------------------------------

سنتعلم في هذا الدرس ان شاء الله :_

- الفرق بين جملة التكرار FOR وال do while
- ماهو فائدة ال while
- كيفية التعامل مع ال do While
- انواع التكرار فيها قسمين 2
- امثلة على كيفية استخدامها

-----------------------------------------
الفرق بين ال for وال do while
جملة التكرار for نستخدمها عندما نحدد نحن عدد التكرارت التي نريدها
ام ال while فنضع شرط ما اذا حدث هذا الشرط يقف التكرار عن العمل -----
ماهي فائدة ال while

عندما نريد ان نكرر هذه الجملة vb4arab عشر مرات فسوف نكتب الكود التالي

كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0 [/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]


اما اذا قمنا باستخدام الحلقة التكرارية while
فسوف نكتب هذا الكود


كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0 [/color][COLOR=#007700];
do
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]i[/color][COLOR=#007700]++;
}
while([/COLOR][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]


او هذا الكود

كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0 [/color][COLOR=#007700];
while([/COLOR][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700])
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]i[/color][COLOR=#007700]++;
}
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]


----------------------------
انواع جملة التكرار while تأتي على نوعيين 2

,, الاول :- ,,

تأتي على هذه النمط


كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#007700]do
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]i[/color][COLOR=#007700]++;
}
while([/COLOR][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]


في امر التكرار التالي يبدأ التكرار من الكلمة المحجوزة do
وال { }
مابين ال { } نكتب الكود الذي نريد ان ينفذ
وانا هنا كتبت هذا الكود ليتم تنفيذه كل مرة


كود :
[color=#000000][COLOR=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]

ثم بعد تنفيذ الامر السابق
يتم التحقق من قيمة المتغير الذي سوف نشرط عليه
بهذه الطريقة


كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]while([/color][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

الشرح (ركز معي !! )
في الكود التالي يقوم الكود اولاً بتفيذ الامر الذي نريده ثم بعد ذلك يبدأ بالتفحص
من خلال الكلمة المحجوزة while
كما تلاحظ في الكود التالي عرفنا متغير من نوع int اسمه i وقيمته صفر
ثم بدأت من هنا جملة التكرار من خلال ال Do

وتأتي على جزئيين
الاول ,,

كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#007700]do
{
}  
[/COLOR][color=#0000bb][/color][/COLOR]
الثاني ,,

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]while([/color][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

اذا كان مابين قوسي ال while صحيح فسوف يكمل عملية التكرار
اما اذا كانت عملية الشرط في ال while غير صحيحة فسوف يخرج من التكرار
ويكمل باقي الاكواد ,

--------------
,, الثاني :- ,,

تأتي على هذا النمط



كود :
[color=#000000][COLOR=#0000bb]int i [/color][color=#007700]=[/color][color=#0000bb]0[/color][COLOR=#007700];
while([/COLOR][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700])
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]i[/color][COLOR=#007700]++;
}  
[/COLOR][color=#0000bb][/color][/COLOR]

يبدأ التكرار التالي من خلال ال while
وال { }

ويبدأ بالتفحص من اول تكرار يقوم به اذا كان صحيح يكمل التكرار عكس ذلك يخرج من التكرار ,,

-------
الفرق بين هذا الكود
كود :
[COLOR=#000000][COLOR=#0000bb]
int i [/COLOR][color=#007700]=[/color][color=#0000bb]0[/color][COLOR=#007700];
while([/COLOR][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]0[/color][COLOR=#007700])
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]i[/color][COLOR=#007700]++;
}  
[/COLOR][color=#0000bb][/color][/COLOR]

وهذا الكود

كود :
[color=#000000][COLOR=#0000bb]int i [/color][color=#007700]=[/color][color=#0000bb]0[/color][COLOR=#007700];
do
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"vb4arab.com" [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb]i[/color][COLOR=#007700]++;
}
while([/COLOR][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]0[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

عند تجريبك للكود السابق سوف تعرف الفرق بين الاثنين وهي ان الكود الاول لا ينفذ اي شيء
ولا يخرج اي شيء على الشاشة
ام في الكود الثاني فسوف يخرج لك مرة واحدة جملة ال vb4arab.com
لماذا
في الكود الاول يتم اولاً التفحص ثم التكرار ,

اما في الكود الثاني يتم طباعة الامر اولاً ثم يذهب للتفحص اذا كان التفحص true
يكمل التكرار واذا كان false لايكمل ويخرج من التكرار

-----------
امثلة على استخدام ال Do While

كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
#include <string>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int num[/color][COLOR=#007700];
do
{
    [/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"cls"[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"write number '6' here \n"[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cin [/color][color=#007700]>> [/color][color=#0000bb]num[/color][COLOR=#007700];
}
while([/COLOR][color=#0000bb]num [/color][color=#007700]!= [/color][color=#0000bb]6[/color][COLOR=#007700]);
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}  
[/COLOR][color=#0000bb][/color][/COLOR]

شرح الكود التالي عرفنا متغير باسم Num
وعملنا حلقة تكرار باستخدام ال do
وبعد ذلك عملنا على شرط ال while وهو اذا كان المدخل للمتغير num يساوي الرقم 6
فسوف يخرج من البرنامج والا فسوف يبقى في عملية تكرار الامر


كود :
[color=#000000][COLOR=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"write number '6' here \n"[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]

والان جرب واعطيني النتيجة
====================
========
==

انتظروا الدرس الحادي عشر !!

}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الأول (1) RaggiTech 0 2,828 19-10-12, 11:17 AM
آخر رد: RaggiTech
  الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الثاني (2) RaggiTech 0 2,616 19-10-12, 11:15 AM
آخر رد: RaggiTech
  الدرس التاسع ( 9 ) - - جملة التكرار For وكيفية التعامل معها RaggiTech 0 3,135 19-10-12, 11:03 AM
آخر رد: RaggiTech
  الدرس الثامن ( 8 ) -- التعرف على جملة الـ Switch وكيفية التعامل معها RaggiTech 0 3,977 19-10-12, 11:02 AM
آخر رد: RaggiTech
  الدرس السابع ( 7 ) -- الانتقال للعمل على مكتبة ال Stdafx والتعرف على ملفات ال Header RaggiTech 0 5,154 19-10-12, 10:59 AM
آخر رد: RaggiTech
  الدرس السادس ( 6 ) -- حل لمشكلة التعليق على ال Ctrl + F5 اثناء تشغيل البرنامج RaggiTech 0 2,645 19-10-12, 10:55 AM
آخر رد: RaggiTech
  الدرس الخامس ( 5 ) -- الجمل الشرطية if statement شرح تفصيلي RaggiTech 0 4,137 19-10-12, 10:37 AM
آخر رد: RaggiTech
  الدرس الرابع ( 4 ) -- المتغــيرات والثوابــت ... ( نظرة مفصلة ) الجزء الثاني ( 2 ) RaggiTech 0 2,649 19-10-12, 10:20 AM
آخر رد: RaggiTech
  الدرس الرابع ( 4 ) -- المتغــيرات والثوابــت ... ( نظرة مفصلة ) الجزء الأول ( 1 ) RaggiTech 0 3,908 19-10-12, 10:08 AM
آخر رد: RaggiTech
  الدرس الثالث ( 3 ) -- كتابة اول برنامج الــ HELLO WORLD و استخدام المكتبة String RaggiTech 0 2,455 19-10-12, 10:02 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم