نصائح و استشارات برمجية
ايش الي الفرق الي حسيتوه بعد ما اخذتوا OOP وداتا ستركشر كتابة الاكواد صارت اسرع واكثر احترافية ام ماذا
أكيد لازم هتحس بهذا الموضوع، لكن بمشاريع يستخدم فيها تلك المفاهيم، السرعة لأنك ما بتكرر الكود في الأمور التي تتعلق بالـ OOP وبتسوي كود نظيف
والهياكل نفس القصة بتعرف تختار هيكل البيانات المناسب في المشروع وبالتالي بما إنك مستوفي هذه الأمور فا هكذا تكون محقق بعض الشروط البسيطة في الاحترافية
والهياكل نفس القصة بتعرف تختار هيكل البيانات المناسب في المشروع وبالتالي بما إنك مستوفي هذه الأمور فا هكذا تكون محقق بعض الشروط البسيطة في الاحترافية
Forwarded from برمجة
⏺️ من أنواع الـ Recursions في البرمجة 🔗🔁
حيث تستدعي الدالة نفسها مباشرةً بداخلها، ويندرج تحته عدة أنماط:
⬅️ تكرار الذيل (Tail Recursion) 🎯
نداء التكرار هو آخر عملية يتم تنفيذها في الدالة قبل الإرجاع، مما يجعل التنفيذ أكثر كفاءة ويمكن تحويله إلى حلقة تكرارية بسهولة.
مثال ✍🏻🗒
🖥 الناتج
⬅️ تكرار الرأس (Head Recursion) 🏗
يتم تنفيذ العمليات بعد استدعاء الدالة لنفسها، مما يؤدي إلى تراكم المكالمات قبل البدء في العودة.
مثال ✍🏻🗒
🖥 الناتج
⬅️ التكرار الشجري (Tree Recursion) 🌳
تستدعي الدالة نفسها أكثر من مرة في كل استدعاء، مما يؤدي إلى بنية تشبه الشجرة في استدعاءات التكرار.
مثال ✍🏻🗒
🖥 الناتج
⬅️ التكرار المتداخل (Nested Recursion) ♻️
يتم تمرير نداء التكرار كجزء من معطيات نفس الدالة، أي أن الوسيط الذي يتم تمريره يعتمد على استدعاء آخر للدالة نفسها.
مثال ✍🏻🗒
🖥 الناتج
تستدعي دالة معينة دالة أخرى، والتي بدورها تستدعي الدالة الأولى، مما يشكل سلسلة من الاستدعاءات المتبادلة.
مثال ✍🏻🗒
🖥 الناتج
1️⃣ التكرار المباشر (Direct Recursion) 🌀
حيث تستدعي الدالة نفسها مباشرةً بداخلها، ويندرج تحته عدة أنماط:
⬅️ تكرار الذيل (Tail Recursion) 🎯
نداء التكرار هو آخر عملية يتم تنفيذها في الدالة قبل الإرجاع، مما يجعل التنفيذ أكثر كفاءة ويمكن تحويله إلى حلقة تكرارية بسهولة.
مثال ✍🏻🗒
fun main() = print(factorial(5))
tailrec fun factorial(
number: Int,
result: Int = 1
): Int = if (number == 0)
result
else
factorial(number - 1, number * result)
🖥 الناتج
120
⬅️ تكرار الرأس (Head Recursion) 🏗
يتم تنفيذ العمليات بعد استدعاء الدالة لنفسها، مما يؤدي إلى تراكم المكالمات قبل البدء في العودة.
مثال ✍🏻🗒
fun main() = printNumbersWithHeadRecursion(5)
fun printNumbersWithHeadRecursion(number: Int) {
if (number == 0)
return
printNumbersWithHeadRecursion(number - 1)
println(number)
}
🖥 الناتج
1
2
3
4
5
⬅️ التكرار الشجري (Tree Recursion) 🌳
تستدعي الدالة نفسها أكثر من مرة في كل استدعاء، مما يؤدي إلى بنية تشبه الشجرة في استدعاءات التكرار.
مثال ✍🏻🗒
fun main() = printNumbersWithTreeRecursion(3)
fun printNumbersWithTreeRecursion(number: Int) {
if (number <= 0)
return
println(number)
printNumbersWithTreeRecursion(number - 1)
printNumbersWithTreeRecursion(number - 2)
}
🖥 الناتج
3
2
1
1
⬅️ التكرار المتداخل (Nested Recursion) ♻️
يتم تمرير نداء التكرار كجزء من معطيات نفس الدالة، أي أن الوسيط الذي يتم تمريره يعتمد على استدعاء آخر للدالة نفسها.
مثال ✍🏻🗒
fun main() = print(printResultWithNestedRecursion(95))
fun printResultWithNestedRecursion(number: Int): Int = if (number > 100)
number - 10
else
printResultWithNestedRecursion(
printResultWithNestedRecursion(
number + 11
)
)
🖥 الناتج
91
2️⃣ التكرار غير المباشر (Indirect Recursion) ↔️
تستدعي دالة معينة دالة أخرى، والتي بدورها تستدعي الدالة الأولى، مما يشكل سلسلة من الاستدعاءات المتبادلة.
مثال ✍🏻🗒
fun main() = printNumbersWithIndirectRecursionFunctionA(4)
fun printNumbersWithIndirectRecursionFunctionA(number: Int) {
if (number <= 0)
return
println("A: $number")
printNumbersWithIndirectRecursionFunctionB(number - 1)
}
fun printNumbersWithIndirectRecursionFunctionB(number: Int) {
if (number <= 0)
return
println("B: $number")
printNumbersWithIndirectRecursionFunctionA(number - 1)
}
🖥 الناتج
A: 4
B: 3
A: 2
B: 1
السلام عليكم ورحمة الله وبركاته انا كنت ماشي حلو جدٱ في problem solving والحمدلله من الناس اللي ما عانت في كورس 5 يعني بالحل الحمدلله كنت بحل كتير وبطرق قريبه من حل الاستاذ أبو هدهود وأنا الان في كورس 19 ولله الحمد على قرب الانتهاء ولكن مجرد ما حبيت أحل problem solving وأسئله مانها معقده يعني في منها أخذناه بالخارطه صدمت أني عجزت عن حل أكثر من مشكله إيش تفسيركم للموضوع وهل لازم استمر في حل المساكل حتى لا أضعف في شئ مثل ذالك لأني بصراحه مو عارف أكمل بعد ما حصل الموضوع دا.
نصائح و استشارات برمجية
السلام عليكم ورحمة الله وبركاته انا كنت ماشي حلو جدٱ في problem solving والحمدلله من الناس اللي ما عانت في كورس 5 يعني بالحل الحمدلله كنت بحل كتير وبطرق قريبه من حل الاستاذ أبو هدهود وأنا الان في كورس 19 ولله الحمد على قرب الانتهاء ولكن مجرد ما حبيت أحل problem…
وعليكم السلام ورحمة الله وبركاته، استمر
افهم المسألة ولا مشكلة لو طولت فيها
مع الوقت بإذن الرحمن بتلاقي حالك فهمت شو المطلوب منك فعله في المسألة وكيف تسويها
مسألة استمرارية لا أكثر
ناضل مع حالك، ممكن تجيلك في الغالب نوبات هيك احباط، بس القصة مثل ما قلت لك استمرارية
افهم المسألة ولا مشكلة لو طولت فيها
مع الوقت بإذن الرحمن بتلاقي حالك فهمت شو المطلوب منك فعله في المسألة وكيف تسويها
مسألة استمرارية لا أكثر
ناضل مع حالك، ممكن تجيلك في الغالب نوبات هيك احباط، بس القصة مثل ما قلت لك استمرارية
نصائح و استشارات برمجية
وعليكم السلام ورحمة الله وبركاته، استمر افهم المسألة ولا مشكلة لو طولت فيها مع الوقت بإذن الرحمن بتلاقي حالك فهمت شو المطلوب منك فعله في المسألة وكيف تسويها مسألة استمرارية لا أكثر ناضل مع حالك، ممكن تجيلك في الغالب نوبات هيك احباط، بس القصة مثل ما قلت لك…
أكيد عارف بس أنا بتكلم من حيث إني لما تقدمت بالكورسات من بعد كورس 5و 7و 8 وهكذا وانتقلت للداتابيز حبيت أحل عطلت ليش كدا أتصدق في سؤال سهل جدأ عطلت قدامه
نصائح و استشارات برمجية
أكيد عارف بس أنا بتكلم من حيث إني لما تقدمت بالكورسات من بعد كورس 5و 7و 8 وهكذا وانتقلت للداتابيز حبيت أحل عطلت ليش كدا أتصدق في سؤال سهل جدأ عطلت قدامه
عادي، مافي مشكلة
الكل بالبداية هيك
مثل ما كان في مسائل زمان هى الآن بالنسبة لك سهلة وتحلها بثواني مثل الدورات التعليمية اللي أنت قلتهم
الكل بالبداية هيك
مثل ما كان في مسائل زمان هى الآن بالنسبة لك سهلة وتحلها بثواني مثل الدورات التعليمية اللي أنت قلتهم
نصائح و استشارات برمجية
مالذي يجب تعلّمه في الفرونت غير html css js ؟
Html, css, javasceipt , typescript, tailwind & bootstrap
هاي اساسيات الويب مهما كانت التكنولوجي اللي بدك تختارها بعدين
وبعدين بتختار التخصص اللي يخص الـ Front-End
هاي اساسيات الويب مهما كانت التكنولوجي اللي بدك تختارها بعدين
وبعدين بتختار التخصص اللي يخص الـ Front-End
السلام عليكم
كنت عايزه اسال سوال
هو بعد الخارطه تبع باش مهندس أبو هدهود اتخصص
وله عادي وانا بدرسها اتخصص في مجال.
كنت عايزه اسال سوال
هو بعد الخارطه تبع باش مهندس أبو هدهود اتخصص
وله عادي وانا بدرسها اتخصص في مجال.
نصائح و استشارات برمجية
السلام عليكم كنت عايزه اسال سوال هو بعد الخارطه تبع باش مهندس أبو هدهود اتخصص وله عادي وانا بدرسها اتخصص في مجال.
وعليكم السلام، امشي بالترتيب، لأن الترتيب مركز عليه الباش مهندس
بعدين اتخصص
بعدين اتخصص
نصائح و استشارات برمجية
شباب كل ما افتح visual studio تطلع هذه النافذة ايش الحل برغم اني اعدت اعادة تشغيل الجهاز
أنت بتفتح الـ Installer مش الـ IDE نفسه
لكن بما إنك في الواجهة دي اختار launch
لكن بما إنك في الواجهة دي اختار launch
نصائح و استشارات برمجية
هو كل ما اجي افتح بعمل كده ؟
لما تيجي تفتحه بشكل مباشر، اضغط على زر windows بعدين ابحث عن visual studio بتلاقي بعدين أيقونتين، واحدة فيها كلمة installer، دي هى اللي بتدخلك على النافذة اللي أنت مش عايزها تظهر كل مرة، فا بتختار التانية اللي هى مفيهاش كلمة installer
مرحبا شباب كمان مرة لو سمحتم ابعثو اسم المواقع لزيادة سرعة الكتابة