SlideShare ist ein Scribd-Unternehmen logo
1 von 3
Downloaden Sie, um offline zu lesen
‫1‬

‫سلسلة هيمو لعلوم الحاسب‬

‫الدرس (27)‬
‫‪RECURSION‬‬
‫التكرار و العودة‬

‫التاليف البرمجي‬
‫هيثم مالك فهمي محمد الشريف‬
‫سلسلة هيمو لعلوم الحاسب‬

2

‫انشاء برنامج يقوم بجمع قيمة عددية من خالل المسلسلة تنازلي لنفس ذلك العدد ؟‬
‫الحل‬
#include<iostream>
#include<algorithm>
using namespace std;
int summation(int number);
int main()
{
int num;
int reslut;
cout <<"n t t Enter number Recursion t";
cin>> num;
reslut =summation( num);
cout <<"n t t The Value is:"<<reslut<<endl;
system("pause");
return 0;
}
int summation(int number)
{
if(number==1)
return 1;
return (number+summation(number-1));
}

‫فكرة البرنامج‬
‫برنامج يجمع االرقام‬
1+2+3+4+5 …. Number
‫يمكن كتابة االرقام هكذا‬
‫مجموع كل االعدد القبلية لهذا العدد‬Num+
(num-1) ‫اي يكون‬
‫اي وضع العدد 4 يكون كا التالي‬
4 ‫جمع ماقبل العدد 4و هو 3+2+1 يعطي قيمة 6 ثم اضف قيمة 4 ليصبح الناتج 11 لمتناقصات العدد‬
‫3‬

‫سلسلة هيمو لعلوم الحاسب‬

‫الشرح‬
‫1- سوف اقوم باالعالن عن الوظيفة ‪ summation‬و هي من النوع ‪integer‬‬
‫2- ثم بعد ذلك انتقل الي الجزء السفلي من البرنامج لكتابة الكود الخاص بعملية حساب العدد المختار لعرض قيمتة‬
‫3- سوف اقوم بوضع الشرط ‪ if‬في حالة اذا كان العدد المكتوب يساوي 1 قم بطباعة و اعادة القيمة الي 1 حيث ال‬
‫يوجد للعدد 1 قيم تنازلية و يخرج من التكرار و العودة‬
‫4- اما اذا كان العدد اكبر من القيمة العددية 1 فهذا يعني وجود قيم تنازلية للعدد‬
‫5- لو فرضت ان القيمة الموضوعة هي 5 يوضع داخل الدالة ثم يذهب الي الشرط نجد ان الشرط ال يتحقق حيث انه‬
‫اكبر من 1‬
‫6- فيذهب الي الكود التالي و هو ))1-‪)number+summation (number‬‬
‫7- يصبح 5 = ‪ + number‬قيمة )1-‪ summation (number‬اي تساوي 4 حيث طرح العدد 5 من المتغير‬
‫‪ number‬ثم تم اضافتة الي المتغير ‪summation‬‬
‫8- الي ان تصل قيمة العدد في المتغير ‪ number‬الي 1 و من ثم تخضع لشرط الخروج من التكرار و العودة‬
‫الشرح المرسوم‬

‫)‪int summation(int number‬‬
‫{‬
‫)1==‪if(number‬‬
‫;1 ‪return‬‬
‫;))1-‪return (number+ summation(number‬‬
‫}‬
‫مما سبق‬
‫القيمة المدخلة هي 4‬
‫و من الدالة يكون التالي‬
‫بما ان الدالة االساسية اصبحت تساوي القيمة المدخلة 4( 4(‪summation‬‬
‫))1-‪return (number+ summation(number‬‬
‫)1-4(‪4+summation‬‬
‫اي‬
‫4‬
‫)3(‪4+summation‬‬
‫3‬
‫)2(‪4+summation‬‬
‫2‬
‫)1(‪4+summation‬‬
‫1‬
‫)0(‪4+summation‬‬
‫11‬
‫يصبح القيمة الكاملة‬

Weitere ähnliche Inhalte

Was ist angesagt?

الأجهزة الذكية3
الأجهزة الذكية3الأجهزة الذكية3
الأجهزة الذكية3
Renewed Man
 
صياغة حل المسائل
صياغة حل المسائلصياغة حل المسائل
صياغة حل المسائل
tahanisaad
 
Special paper
Special paperSpecial paper
Special paper
tala2001
 

Was ist angesagt? (20)

.ورقة عمل
.ورقة عمل.ورقة عمل
.ورقة عمل
 
صياغة حل المسائل
صياغة حل المسائل صياغة حل المسائل
صياغة حل المسائل
 
الحل
الحلالحل
الحل
 
البرمجة بلغة الفيجوال يبسك 2003
البرمجة بلغة الفيجوال يبسك 2003البرمجة بلغة الفيجوال يبسك 2003
البرمجة بلغة الفيجوال يبسك 2003
 
الأجهزة الذكية3
الأجهزة الذكية3الأجهزة الذكية3
الأجهزة الذكية3
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Arithmetic in c
Arithmetic in cArithmetic in c
Arithmetic in c
 
أسئلة وإجابتها علي منهج الصف الثالث الاعدادي فصل دراسي ثاني
أسئلة وإجابتها علي منهج الصف الثالث الاعدادي فصل دراسي ثانيأسئلة وإجابتها علي منهج الصف الثالث الاعدادي فصل دراسي ثاني
أسئلة وإجابتها علي منهج الصف الثالث الاعدادي فصل دراسي ثاني
 
الوحده السادسه 1
الوحده السادسه 1الوحده السادسه 1
الوحده السادسه 1
 
Chapter2
Chapter2Chapter2
Chapter2
 
8 header files
8 header files8 header files
8 header files
 
صياغة حل المسائل
صياغة حل المسائل صياغة حل المسائل
صياغة حل المسائل
 
صياغة حل المسائل
صياغة حل المسائلصياغة حل المسائل
صياغة حل المسائل
 
الفصل الأول البيانات بالكامل الترم الثانى
الفصل الأول  البيانات بالكامل الترم الثانى الفصل الأول  البيانات بالكامل الترم الثانى
الفصل الأول البيانات بالكامل الترم الثانى
 
مذكرة الترم الثانى
مذكرة الترم الثانىمذكرة الترم الثانى
مذكرة الترم الثانى
 
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة  C / C++ - 2 سلسلة تعلم البرمجة بلغة  C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2
 
الدرس الثالث - أمثلة صياغة حل المسائل (1)
الدرس الثالث - أمثلة صياغة حل المسائل (1)الدرس الثالث - أمثلة صياغة حل المسائل (1)
الدرس الثالث - أمثلة صياغة حل المسائل (1)
 
Special paper
Special paperSpecial paper
Special paper
 
matlab simulink مكتبة العناصر المستمرة
  matlab simulink مكتبة العناصر المستمرة  matlab simulink مكتبة العناصر المستمرة
matlab simulink مكتبة العناصر المستمرة
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 

Andere mochten auch

The of understood in developed programming
The of understood in developed  programmingThe of understood in developed  programming
The of understood in developed programming
Haytham Malek
 
عملية الكتابة علي ملف
عملية الكتابة علي ملفعملية الكتابة علي ملف
عملية الكتابة علي ملف
Haytham Malek
 

Andere mochten auch (7)

عملية ملف
عملية ملفعملية ملف
عملية ملف
 
The of understood in developed programming
The of understood in developed  programmingThe of understood in developed  programming
The of understood in developed programming
 
تحسين الأداء
تحسين الأداءتحسين الأداء
تحسين الأداء
 
درس 46
درس 46درس 46
درس 46
 
عملية الكتابة علي ملف
عملية الكتابة علي ملفعملية الكتابة علي ملف
عملية الكتابة علي ملف
 
المتغيرات
المتغيراتالمتغيرات
المتغيرات
 
المكتبات
المكتباتالمكتبات
المكتبات
 

Ähnlich wie السلسة27 (7)

3- Functions
3-  Functions3-  Functions
3- Functions
 
مقرر معالجة البيانات
مقرر معالجة البياناتمقرر معالجة البيانات
مقرر معالجة البيانات
 
رياضيات سادس علمي
رياضيات سادس علميرياضيات سادس علمي
رياضيات سادس علمي
 
اساسيات البرمجة انظمة
اساسيات البرمجة انظمة اساسيات البرمجة انظمة
اساسيات البرمجة انظمة
 
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
 
Loops
LoopsLoops
Loops
 
C# المحاضرة ال 8&9
C#  المحاضرة ال 8&9C#  المحاضرة ال 8&9
C# المحاضرة ال 8&9
 

السلسة27

  • 1. ‫1‬ ‫سلسلة هيمو لعلوم الحاسب‬ ‫الدرس (27)‬ ‫‪RECURSION‬‬ ‫التكرار و العودة‬ ‫التاليف البرمجي‬ ‫هيثم مالك فهمي محمد الشريف‬
  • 2. ‫سلسلة هيمو لعلوم الحاسب‬ 2 ‫انشاء برنامج يقوم بجمع قيمة عددية من خالل المسلسلة تنازلي لنفس ذلك العدد ؟‬ ‫الحل‬ #include<iostream> #include<algorithm> using namespace std; int summation(int number); int main() { int num; int reslut; cout <<"n t t Enter number Recursion t"; cin>> num; reslut =summation( num); cout <<"n t t The Value is:"<<reslut<<endl; system("pause"); return 0; } int summation(int number) { if(number==1) return 1; return (number+summation(number-1)); } ‫فكرة البرنامج‬ ‫برنامج يجمع االرقام‬ 1+2+3+4+5 …. Number ‫يمكن كتابة االرقام هكذا‬ ‫مجموع كل االعدد القبلية لهذا العدد‬Num+ (num-1) ‫اي يكون‬ ‫اي وضع العدد 4 يكون كا التالي‬ 4 ‫جمع ماقبل العدد 4و هو 3+2+1 يعطي قيمة 6 ثم اضف قيمة 4 ليصبح الناتج 11 لمتناقصات العدد‬
  • 3. ‫3‬ ‫سلسلة هيمو لعلوم الحاسب‬ ‫الشرح‬ ‫1- سوف اقوم باالعالن عن الوظيفة ‪ summation‬و هي من النوع ‪integer‬‬ ‫2- ثم بعد ذلك انتقل الي الجزء السفلي من البرنامج لكتابة الكود الخاص بعملية حساب العدد المختار لعرض قيمتة‬ ‫3- سوف اقوم بوضع الشرط ‪ if‬في حالة اذا كان العدد المكتوب يساوي 1 قم بطباعة و اعادة القيمة الي 1 حيث ال‬ ‫يوجد للعدد 1 قيم تنازلية و يخرج من التكرار و العودة‬ ‫4- اما اذا كان العدد اكبر من القيمة العددية 1 فهذا يعني وجود قيم تنازلية للعدد‬ ‫5- لو فرضت ان القيمة الموضوعة هي 5 يوضع داخل الدالة ثم يذهب الي الشرط نجد ان الشرط ال يتحقق حيث انه‬ ‫اكبر من 1‬ ‫6- فيذهب الي الكود التالي و هو ))1-‪)number+summation (number‬‬ ‫7- يصبح 5 = ‪ + number‬قيمة )1-‪ summation (number‬اي تساوي 4 حيث طرح العدد 5 من المتغير‬ ‫‪ number‬ثم تم اضافتة الي المتغير ‪summation‬‬ ‫8- الي ان تصل قيمة العدد في المتغير ‪ number‬الي 1 و من ثم تخضع لشرط الخروج من التكرار و العودة‬ ‫الشرح المرسوم‬ ‫)‪int summation(int number‬‬ ‫{‬ ‫)1==‪if(number‬‬ ‫;1 ‪return‬‬ ‫;))1-‪return (number+ summation(number‬‬ ‫}‬ ‫مما سبق‬ ‫القيمة المدخلة هي 4‬ ‫و من الدالة يكون التالي‬ ‫بما ان الدالة االساسية اصبحت تساوي القيمة المدخلة 4( 4(‪summation‬‬ ‫))1-‪return (number+ summation(number‬‬ ‫)1-4(‪4+summation‬‬ ‫اي‬ ‫4‬ ‫)3(‪4+summation‬‬ ‫3‬ ‫)2(‪4+summation‬‬ ‫2‬ ‫)1(‪4+summation‬‬ ‫1‬ ‫)0(‪4+summation‬‬ ‫11‬ ‫يصبح القيمة الكاملة‬