سؤال جزء من كتاب يوجد عندي نقطة متوقف عندها و هي Fibonacci إذا في أحد يقدر يجاوب عليه ؟؟؟
وعندي سؤال ثاني وش لفرق بين Class و Function مع أني أعرف الأثنين عمري ما ستخدمت Class ??????
سؤال جزء من كتاب يوجد عندي نقطة متوقف عندها و هي Fibonacci إذا في أحد يقدر يجاوب عليه ؟؟؟
وعندي سؤال ثاني وش لفرق بين Class و Function مع أني أعرف الأثنين عمري ما ستخدمت Class ??????
ليس العلم بكثرة التعلم و إنما هو نور من الله ينزله على من يريد أيهديه
بالنسبة لسؤالك الاول وهو عن سلسلة Fibonacci "فيبوناكسي"
ولها قانون مهم وهو ان كل عدد يساوي مجموع العددين السابقين وعليه فإن السلسلة تكون :
0.1.1.2.3.5.8.13.21........
وفي لغة السي ++ يكون مثال سلسلة Fibonacci افضل مثال على العودية في الدوال او كما تسميها الاستدعاء الذاتي للاجراء .
وان لم يكن لديك اي مثال على السلسلة Fibonacci واستخدام الاستدعاء الذاتي أخبرني وسأقوم بعرض مثال على ذلك .
بالنسبة للسؤال الثاني :
بما انك تعرف الاثنين يجب ان تعلم ماهي الكلاس والا كيف تعلم الاثنين !!
بمجرد تعلمك الكلاس تكون دخلت في البرمجة الكائنية او الغرضية او الشيئية او كما تسمى المهم يطلق عليها لقب OOP
وهي عبارة عن صنف يحتوي على مجموعة من الدوال Function لها اغراضها الخاصة .. ثم نشتق عن الصنف كائن ونبدأ بالتعامل مع دواله .
يعني اوضحها اكثر . انت تعرف ان الدوال تسهل العمل اكثر من الطرق التقليدية اليس كذلك !!
البرمجة الشيئية تسهل العمل اكثر من الدوال .
لو قلتلك int ماذا تعرف عنه !!
على طول راح تتذكر الاعداد الصحيحه في الرياضيات لانه يشبهها ,, تستطيع ان تسمي int صنف وعندما تصرح على متغير x من نمط int
int x
فإن x يكون كائن !!
طبعا ذلك فرضا ً
تماما ً مثل string فهو صنف او صف وعندما نصرح على متغير منه مثلا S1 فإن S1 يكون كائن .
تحياتي

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
لو تضع المثال على Fibonacci للعلم ولتعم الفائدة !!!
وممكن تكون عندي سؤال على المثال فتقرب الفكره لي !!! :)
والسؤال الثاني :
عندنا Class ما أستخدمه إلى في الألعاب !!
ما لقيت فكرة أربط فيها Class غير هذي ولو كان عندك فكرة عن الأستخدامات :huh: الرجاء تذكرها !!
مشكور يا غالي :D
وسامحنا أن تعبناك :)
تم تعديل هذه المشاركة بواسطة الشبح الأسود في 21 أكتوبر 2006 في 02:28
ليس العلم بكثرة التعلم و إنما هو نور من الله ينزله على من يريد أيهديه
بالنسبة للسؤال الثاني :
اعتقد انك لم تدخل في البرمجة الشيئية او الغرضية OOP وهذا يعني ان ردي على سرالك لا قيمة له , لأني وقتها سأدخلك في متاهات انت بغنى عنها , اكمل مسيرتك التعليمية , ثم ستعلم ماهي Class اذا قررت دراست الـ OOP
بالنسبة لردي على سؤالك الاول: ساضع لك الان مثال على العودية او الاستدعاء الذاتي للاجراء كما تسميه انت !!
طبعا المثال هو سلسلة Fibonacci " سلسلة فيبوناكسي"
طبعا السلسلة تقول بأن : كل عدد يساوي مجموع العددين السابقين وتبدأ السلسلة من 0 ثم 1 ثم مجموع العددين السابقين .اي انها ستكون :
0.1.1.2.3.5.8.13.21وهكذا
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int fibonacci( int );
int main()
{
int result, number;
cout << "Enter an integer: ";
cin >> number;
result = fibonacci( number );
cout << "Fibonacci(" << number << ") = " << result << endl;
return 0;
}
int fibonacci( int n )
{
if ( n == 0 || n == 1 )
return n;
else
return fibonacci( n - 1 ) + fibonacci( n - 2 );
}
في هذا المثال ادخل رقم الخانه في سلسلة فيبوناكسي وسيقوم البرنامج بطباعة القيمة الموجودة في رقم الخانه من السلسة
ادرس المثال جيدا ً لتعلم الفائدة من الاستدعاء الذاتي للاجراء او العودية .
تقبل تحياتي . :rolleyes:

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
time1 مشكور يا غالي :D
أولا : ألي أعرفة أنه الطبقة (Class) تقع تحت 3 تصنيفات :
1. Public
2. Private
3. Protected
سلسلة Fibonacci :
جربته اكن الغريب من 40 فما فوق يبدأ يتوقف أ يتباطئ بشكل كبير :huh: إا عنك فكررة عن الموضوع ؟
عندي كود من الكتاب لكن غير واضح مثل مثالك حيث وضحت الفكرة !
لكن هل توجد طريقة ما تأثر على ظهور النتيجة ببطئ , حيث توجد برامج تتطلب السرعة الكبيرة ;) .
تم تعديل هذه المشاركة بواسطة الشبح الأسود في 21 أكتوبر 2006 في 14:42
ليس العلم بكثرة التعلم و إنما هو نور من الله ينزله على من يريد أيهديه
طبيعي ان تجد بطئ بالنتائج كلما طلبت قيمة خانه اكبر .. لانه سيبدأ بالجمع من اول خانه وهكذا إلى ان يصل إلى الخانه المطلوبة , ايضا لاحظ انك تستخدم الاستدعاء الذاتي وذلك يتطلب تكرارت عديده للوصول إلى القيمة
بالنسبة للـ Class
ماتطرقت إليه هذا يسمى التغليف :
public اي ان ماتحته يكون عام وظاهر ويمكن استخدامه في البرنامج خارج نطاق الClass
private اي خاص داخل نطاق الكلاس
protected اي محمي لايمكن استخدامه داخل البرنامج خارج نطاق الكلاس الا مع الوراثه .
طبعا مازلت اكرر انت بغنى عما سبق ,, الا اذا حاولت ان تدرس OOP

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
أخي time1
مشكور على الردود السريعة , لكني وأنا في السي بلس بلس ما تقدمت فيها بشكل كبير , إذا كان بستطاعتك تقول لي كيف أنتقل إلى عالم يحاكي فيه العالم الوندوز !!!
لأني مللت من الدوز أتمنى أن أنتقل وأعمل برامج في الوندوز !! :(
وأنت عارف أن الواحد يوجب عليه أن يطور نفسه :lol: .
وهل هناك طريقة لعمل برنامج يحل المعادلة بنقل الطرف المجهول إلى الطرفة الآخر (كأنك تحل معادلة من أي درجة !)
وأتمنى أني لم أزعجك بكثرة الأسئلة.
تم تعديل هذه المشاركة بواسطة الشبح الأسود في 21 أكتوبر 2006 في 16:16
ليس العلم بكثرة التعلم و إنما هو نور من الله ينزله على من يريد أيهديه
اهلا اخي :
بما انك لم تتقدم كثيرا في لغة سي ++ فانا انصحك ان تتبع دراسة منهجية للتقدم في اللغة , اي انه يجب عليك اتباع منهج معين يوصلك إلى اتقان اللغة بشكل جيد .
اما بخصوص الانتقال من عالم الكونسول إلى عالم التطبيقات على ويندوز فهذا يتطلبك معرفة بـ MFC او AIP
وعندها ستلاحظ انك تدرس لغة جديده , هي بالاساس ليست لغة ولكنها موضوع متقدم .
اما بخصوص تطوير نفسك .
فكما قلت لك ادرس لغة سي ++ اولا وافهمها ثم طور نفسك
"أكل العنب حبة حبة "
اما بشأن حل المعادلة , طبعا تستطيع ان تحل هذا النوع من المسائل , كل ماتحتاج له هو ان تحدد الفكرة وآلية العمل , وانصحك انا بتعلم لغة الخوارزميات فهي تسهل لك كتابة البرنامج على حسب آلية عمل البرنامج والتي ستأخذها من المخططات الانسيابية Flow Chart
تحياتي

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
مشكور time1 أنت صراحه وفيت و النشاء الله مان منتقل "عالم الكونسول إلى عالم التطبيقات على ويندوز" قبل ما أبدع في الموجود !
ليس العلم بكثرة التعلم و إنما هو نور من الله ينزله على من يريد أيهديه
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…