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

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

(( وماأوتيتم من العلم إلا قليلاً ))

-------------------------------------------------------------------------------------------------------------------------------
الدرس التاسع في دورة السي بلس بلس
-------------------------------------------------------------------------------------------------------------------------------


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

- التعرف على جملة التكرار for
- استخدامات هذه الجملة
- خصائص هذه الجملة وفوائدها
- كيفية التعامل مع ال step
- استخدام الـ if مع الـ for
- طريقة كتابتها
- امثلة عليها

-----------------------------------
جملة التكرار
for نستخدمها عندما نريد تكرار شيء معين بعد معين
مثلاً لو اردنا ان نكرر كلمة 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]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]


اما باستخدام جملة التكرار for فسوف تختصر الكود إلى هذا الشكل ,,

كود :
[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]()
{
    for ([/COLOR][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]10 [/color][color=#007700];[/color][color=#0000bb]i[/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]


بالكود السابق لو تلاحظ بدأنا كود ال for
بهذا الشكل ,,



كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]for ([/color][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]10 [/color][color=#007700];[/color][color=#0000bb]i[/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][/color][/COLOR]


وجملة التكرار for تبدأ بكلمة for
وتأخد ثلاث وسائط , ان صح التعبير
-----
الوسيط الاول :- هو قيمة المتغير العددي,
الوسيط الثاني :- هو قيمة الشرط,
الوسيط الثالث : - قيمة الزيادة لكل تكرار من التكرارات,
-----
ومابين العلامتين { } هو الكود الذي نريده ان يتكرر كل مرة ,
---

الصورة التالية قد توضح الصورة بشكل افضل ,,




يمكن كتابة كود تكرار ال for بأكثر من طريقة ,,
  • الطريقة الاولى ,,
هي تعريف المتغير int ضمن الوسيط الاول واعطاء قيمة له
مثل الكود التالي ,,


كود :
[color=#000000][COLOR=#0000bb]    [/color][color=#007700]for ([/color][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]10 [/color][color=#007700];[/color][color=#0000bb]i[/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][/color][/COLOR]

  • الطريقة الثانية ,,
هو تغيير قيمة الوسيط الثالث او تغيير شكله بهذا الشكل
i++ <<<=>>> i =i+1

كود :
[color=#000000][COLOR=#0000bb]    [/color][color=#007700]for ([/color][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]10 [/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]=[/color][color=#0000bb]i[/color][color=#007700]+[/color][color=#0000bb]1[/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][/color][/COLOR]


  • الطريقة الثالثة ,,
هي تعريف المتغير int في الاعلى وذكر قيمته فقط في الكود

كود :
[color=#000000][COLOR=#0000bb]int i[/color][COLOR=#007700];
    for ([/COLOR][color=#0000bb]i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]10 [/color][color=#007700];[/color][color=#0000bb]i[/color][color=#007700]=[/color][color=#0000bb]i[/color][color=#007700]+[/color][color=#0000bb]1[/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][/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];
    for ( [/COLOR][color=#0000bb]i [/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]11 [/color][color=#007700]; [/color][color=#0000bb]i[/color][COLOR=#007700]++ )
    {
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#0000bb]i [/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]


جربه ,, فهذا الكود في كل تكرار من التكرارات فسوف يقوم بطباعة قيمة المتغير .

--------------
وهذا مثال اخر لكيفية التعامل مع ال step




كود :
[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];
    for ( [/COLOR][color=#0000bb]i [/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]11 [/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]=[/color][color=#0000bb]i[/color][color=#007700]+[/color][color=#0000bb]2 [/color][COLOR=#007700])
    {
            [/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#0000bb]i [/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]



في الكود السابق سيخرج لنا البرنامج الارقام الزوجية من القيمة صفر
إلى القيمة 11
لاحظ ان المتغير يبدأ من الصفر ويزيد في كل تكرار قيمة 2
بمعنى اخر سيكون المخرج بهذا الشكل ,,
0 2 4 6 8 10
--------------------
ولو اردنا اخراج الارقام الفردية ,

كود :
[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]1[/color][COLOR=#007700];
    for ( [/COLOR][color=#0000bb]i [/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]11 [/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]=[/color][color=#0000bb]i[/color][color=#007700]+[/color][color=#0000bb]2 [/color][COLOR=#007700])
    {
            [/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#0000bb]i [/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]


لو لاحظت الفرق فقط في هذا الكود

كود :
[color=#000000][COLOR=#0000bb]   int i[/color][color=#007700]=[/color][color=#0000bb]1[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]


يبدأ بالعد من الرقم 1 ويزيد قيمة 2 على كل تكرار ثم يقوم بطباعة القيمة ,
والمخرج سيكون بهذا الشكل
1 3 5 7 9
-------------
كيفية استخدام ال if (الجمل الشرطية) مع الـ for

كود :
[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];
    for ( [/COLOR][color=#0000bb]i [/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]11 [/color][color=#007700]; [/color][color=#0000bb]i[/color][COLOR=#007700]++ )
    {
        if([/COLOR][color=#0000bb]i [/color][color=#007700]== [/color][color=#0000bb]6 [/color][COLOR=#007700])
        {
        [/COLOR][color=#0000bb]goto end[/color][COLOR=#007700];
        }
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#0000bb]i [/color][color=#007700]<< [/color][color=#0000bb]endl[/color][COLOR=#007700];
    }
[/COLOR][color=#0000bb]end[/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]

في الكود السابق استخدمنا جملة الشرط if في حال اذا كان المتغير
يساوي 6 اذاً يخرج من جملة التكرار ولا يكمل الباقي
يعني سيكون المخرج بهذا الشكل

0
1
2
3
4
5

==========================================

والان جرب واعطيني النتيجة
====================
========
==
انتظروا الدرس العاشر !!

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الأول (1) RaggiTech 0 2,831 19-10-12, 11:17 AM
آخر رد: RaggiTech
  الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الثاني (2) RaggiTech 0 2,619 19-10-12, 11:15 AM
آخر رد: RaggiTech
  الدرس العاشر ( 10 ) - - جملة التكرار Do While وكيفية التعامل معها RaggiTech 0 7,381 19-10-12, 11:07 AM
آخر رد: RaggiTech
  الدرس الثامن ( 8 ) -- التعرف على جملة الـ Switch وكيفية التعامل معها RaggiTech 0 3,987 19-10-12, 11:02 AM
آخر رد: RaggiTech
  الدرس السابع ( 7 ) -- الانتقال للعمل على مكتبة ال Stdafx والتعرف على ملفات ال Header RaggiTech 0 5,169 19-10-12, 10:59 AM
آخر رد: RaggiTech
  الدرس السادس ( 6 ) -- حل لمشكلة التعليق على ال Ctrl + F5 اثناء تشغيل البرنامج RaggiTech 0 2,651 19-10-12, 10:55 AM
آخر رد: RaggiTech
  الدرس الخامس ( 5 ) -- الجمل الشرطية if statement شرح تفصيلي RaggiTech 0 4,140 19-10-12, 10:37 AM
آخر رد: RaggiTech
  الدرس الرابع ( 4 ) -- المتغــيرات والثوابــت ... ( نظرة مفصلة ) الجزء الثاني ( 2 ) RaggiTech 0 2,651 19-10-12, 10:20 AM
آخر رد: RaggiTech
  الدرس الرابع ( 4 ) -- المتغــيرات والثوابــت ... ( نظرة مفصلة ) الجزء الأول ( 1 ) RaggiTech 0 3,921 19-10-12, 10:08 AM
آخر رد: RaggiTech
  الدرس الثالث ( 3 ) -- كتابة اول برنامج الــ HELLO WORLD و استخدام المكتبة String RaggiTech 0 2,459 19-10-12, 10:02 AM
آخر رد: RaggiTech

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


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