Your SlideShare is downloading. ×
‫1‬

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

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

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

2

‫انشاء برنامج يقوم بجمع قيمة عددية من خالل المسلسلة تنازلي لنفس ذلك العدد ؟‬
‫الحل‬
#include...
‫3‬

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

‫الشرح‬
‫1- سوف اقوم باالعالن عن الوظيفة ‪ summation‬و هي من النوع ‪integer‬‬
‫2- ثم بعد ذ...
Upcoming SlideShare
Loading in...5
×

السلسة27

92

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
92
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "السلسة27"

  1. 1. ‫1‬ ‫سلسلة هيمو لعلوم الحاسب‬ ‫الدرس (27)‬ ‫‪RECURSION‬‬ ‫التكرار و العودة‬ ‫التاليف البرمجي‬ ‫هيثم مالك فهمي محمد الشريف‬
  2. 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. ‫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‬ ‫يصبح القيمة الكاملة‬

×