اذهب إلى المحتوى

Wael Aljamal

الأعضاء
  • المساهمات

    6975
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    218

كل منشورات العضو Wael Aljamal

  1. سأقوم بإرشادك للحل وتوضيح ما يلزمك لحل المشكلة، وعليك أنت كتابة البرنامج، ثم من الممكن مساعدتك عندها في حال وجود أخطاء. أولا: معرفة أكبر قيمة من بين مجموعة، أين نريد تخزينها ؟ متحول جديد. كيف نعرف القيمو الأكبر؟ نريد متحول يخزن قيمة افتراضية (أصغر من القيم في المجموعة) ومن ثم علينا المرور على القيم و عمل مقارنة بين القيمة الافتراضية و عناصر المجموعة. ثم نطبع القيمة الأكبر. ثانيا: علينا إيجاد المتوسط الحسابي: هي عملية رياضية بسيطة ألا تعرف كيف نحلها؟ متحول للمجموع و نقسم على عدد الأعداد. هذا شرح مساعد عليك البحث في الانترنت و التجريب و التعلم من أخطائك
  2. سأقوم بإرشادك للحل وتوضيح ما يلزمك لحل المشكلة، وعليك أنت كتابة البرنامج، ثم من الممكن مساعدتك عندها في حال وجود أخطاء. أولا: تعريف مصفوفة من بعدين: نمط القيم المخزنة أعداد صحيحة int[][] arr = new int[3][3]; عدد العناصر لكل بعد هو 3 فنعطيها هذه القيمة. إضافة القيم ممكن أن تضعهم بطريقة مباشرة: data_type[][] array_name = { { a11, a12, a13 }, { a21, a22, a23 } ..... }; أو تستخدم الطريقة المحددة أكثر : arr[0][0] = 1 arr[0][1] = 2 arr[0][2] = 3 arr[1][0] = 4 arr[1][1] = 5 .... أو استعمال الحلقات for مع إدخال البيانات عن طريق Scanner .. ثانيا :لترتيب المصفوفة: يوجد مكتبة مساعدة: import java.util.Arrays; في حال كان فهمك جيدا للمصفوفات ثنائية الأبعاد عليك التفكير في طريقة استهداف كل سطر من المصفوفة لترتيبه: مثال لاستخدام تابع الترتيب: Arrays.sort(arr, from , to); Arrays.sort(arr, 0 , 3); لطباعة موقع القيمة 200 عليك المرور على جميع القيم في المصفوفة و البحث عن قيمة مطابقة for i .. for j .. if arr[i][j] = value .. Sys.out ( ...) هذه شيفرة مساعدة عليك البحث في الانترنت و التعلم من أخطائك
  3. لا باس اخي، سأحاول في أقرب فرصة.
  4. يبدو ان الصورة فيها مشكلة!
  5. ارجو توضيح السؤال، أي مكعب تقصد و في أي لغة برمجة و بيئة عمل؟
  6. يمكن عمل هذه الأمور عن طريق تخصيص دالة لكل خلية، بحيث تجلب البيانات و تعالجها. بافتراض المبلغ الكلي في الخلية A1 سنعمل على تسلسل عمليات لحساب المبالغ في باقِ الخلايا. A1 = 20000 B1 = (A1 - 15000) * 2.5 / 100 C1 = (A1 - 5000) * 10 / 100 . . هذا ما فهمته من الشرح، يمكنك تعديل الصيغة الرياضية في حال لم تعمل معك.
  7. نستخدم args في التابع Main عندما نريد تنفيذ البرنامج من محرر الأوامر CMD مثلا أو تمرير بيانات للبرنامج عند تشغيله. تعتبر args إختيارية، يمكنك حذفها و تجريب البرنامج. إن البيانات الممررة للتابع one تعتبر محلية ضمن البرنامج وليست مُدخلات خارجية. إن args تعتبر مصفوفة نصية و يمكن الوصول لبياناتها عن طريق دليل العنصر. using System; namespace helloWorld { class MainClass { public static void Main(string[] args) { if (args.Length > 0) { Console.WriteLine("Hello " + args[0]); // هنا } else { Console.WriteLine("Hello World!"); } } } } في حال استخدامك visual studio code يمكنك تمرير البيانات عن طريق args بالطريقة التالية: Options > Run > Configurations > Default .. Arguments تنفذ بسطر الأوامر بهذه الطريقة: Path/to/YourProg.exe arg1 arg2 مثال كامل: أولا البرنامج ثم لتفتح CMD في المسار الصحيح و تنفيذ التعليمات التالية بعد البرنامج: using System; namespace helloWorld { class Program { static void Main(string[] args) { string name = args[0]; Console.WriteLine("Hello {0}", name); } } } ترجمة الملف csc Program.cs تنفيذه Program.exe Bob or// Program Bob Hello Bob يمكنك تشغيل البرنامج يالذهاب للمجلد بعد أن تنفذ الترجمة.
  8. لا يختلف المفهوم باختلاف لغات البرمجة، إنما بعض الرموز مثلا في #C لأخذ قيمة مرجعية نستخدم الكلمة المفتاحية ref class Program { static void Main(string[] args) { int arg; // Passing by value. // The value of arg in Main is not changed. arg = 4; squareVal(arg); Console.WriteLine(arg); // Output: 4 // Passing by reference. // The value of arg in Main is changed. arg = 4; squareRef(ref arg); Console.WriteLine(arg); // Output: 16 } static void squareVal(int valParameter) { valParameter *= valParameter; } // Passing by reference static void squareRef(ref int refParameter) { refParameter *= refParameter; } } إذا كان لديك شيفرة برمجية تريد شرحها تفضل بكتابتها
  9. إن كلا التقنيتين تستخدمان عند تمرير الوسطاء parameters للدوال functions. نستخدم value type (نمط القيمة) عندما نريد تمرير نسخة من قيمة متحول Variable ما من مرحلة تنفيذ البرنامج بهذه اللحظة للدالة الهدف ويمكننا عندها استقبال النتيجة منها عن طريق return أو طباعة النتيجة مباشرة. (لن تتغير قيمة المتحول الأصلية) نستخدم reference type (نمط المرجع) عندما نريد للدالة المستدعاة التعديل على فقيمة المتحول مباشرة وليس أخذ نسخة عنه، أي أن أي تعديل يتم على المتحول في تلك الدالة (التي مررنا لها المتحول بالعنوان) ستعمل على تغييير قيمته في البرنامج بشكل عام. الأمثلة المقدمة من لغة ++C: ( للتمرير بالعنوان نضع & بين نمط المتحول و اسمه في جزء تعريف الدالة) #include <iostream> using namespace std; void add_val(int x, int y) { x = x + y; } void add_ref(int& x, int& y) { x = x + y; } int main() { int a,b; a = 5, b = 10; add_val(a, b); cout << "a = " << a << " b = " << b << "\n"; a = 5, b = 10; add_ref(a, b); cout << "a = " << a << " b = " << b << "\n"; } نلاحظ أن تنفيذ الدالة الأولى لا يؤثر على المتغيرين a , b المعرفين ضمن الدالة main بعد استدعاء الدالة add_val. أما الدالة الثانية التي تأخذ الوسيط عن طريق المرجع add_ref تغيير x أو y سيؤدي لتغيير a, b. خلاصة: عند التمرير بالقيمة تقوم الدالة بتعريف متغير جديد في الذاكرة لكنه يأخذ قيمة الوسيط المقابل له الممر عند الاستدعاء. أما في حالة التمرير بالمرجع تستخدم الدالة اسم مستعار لنفس المتغير الأصلي (في حالتنا x بدل a و y بدل b) أي أنهما ليسا متغيريين جديدين، إنما أصبحو متغيرات اسميه مختلفة لنفس المواقع في الذاكرة التي تحفظ البينات الخاصة بهم.
  10. مرحبا مراد، أعتقد أن المشكلة بسبب وجود , فاصلة قبل كلمة WHERE أرجو حذفها من عبارة SQL. $stmt = $con->prepare('UPDATE users SET Username = ?, Email=?, FullName=?, WHERE UserID=?'); ________________________________________________________________________^^^ بالتوفيق
  11. يمكنك التواصل مع مركز مساعدة حسوب و الاستفسار منهم. حاولت شراء دورة و يمكنك الملاحظة أنه يمكن الدفع عن طريق PayPal أو بطاقة إتمانية..
  12. مرحبا عبد الله، كثيراً ما يطرح الطلبة نفس سؤالك، من أين أبدأ، قمت بتجميع بعض الأسئلة و يمكنك مراجعتها و الإطلاع على آراء المدربين فيها: أفضل طريق يعتمد على لغة جافاسكربت (وهي مختلفة عن لغة جافا) ودورة علوم الحاسب هي أبسط و أوضح دورة. البدايه الصحيحه لتعلم البرمجه؟ من اين ابدأ كمبرمج، هل الأفضل أن أتعلم وأتعمق في كل شيء دورة علوم الحاسوب هل أتعلم ++c أم جافاسكربت مع أنني مشترك بدورة تطوير واجهات المستخدم دوره تطوير واجهات المستخدم و المقالة تعلم البرمجة تحوي على كل ما تشاء من أفكار و شروحات ستفيدك جداً. جميع دورات حسوب متوفرة في هذا الرابط من هنا: دورات حسوب ، إقرأ توصيف كل دورة على حدى و يمكنك عندها الإختيار كما تشاء. ونحن - مدربي أكاديمية حسوب - موجودين لإرشادك و مساعدتك و حل المشاكل التي تعترضك.
  13. مرحبا، إن حماية الشيفرة البرمجة بشكل مٌطلق 100% هو أمر غير موجود، إنمايمكننا إعتماد تقنيات تجعل قراءة أو تعديل الشيفرة البرمجة أصعب و تحتاج جهدا كبيرا لتفكيك الغموض الذي سنقوم به. يمكنك إتباع تقنية التعتيم / obfuscator وهي تقوم بعمل شيفرة برمجية يمكن تنفيذها لكنها غير مفهومة من البشر. يمكنك تجريب موقعين يقدمان هذه الخدمة أو البحث في مصادر أخرى jscrambler - obfuscator حيث سيتم تعتمي البرنامج. كما يمكنك متابعة هذا السؤال : كيفية حماية التطبيقات إن الحماية الأهم تكون بعمل Validation جيد للبيانات المدخلة و تنجنب ثغرات sql injection و الاعتماد على اتصال HTTPS / SSL sql injection : هي عملية زرع تعليمات sql بمكان غير مخصص لها، مثل كتابة تعليمة هدم جدول DROP TABLE في حقل إدخال في موقع الويب، ومن ثم عند قراءة قيمة الحقل و تنفيذها في المخدم هذا يؤدي لحدوق مشاكل و اختراق النظام. يتم تجنب هذه الثغرة باستخدام Validatoe و عزل المدخلات في parameters ليتم عندها تنفيذ الإستعلام بأمان. كيف يمكن التصدي لحقن SQL؟ التأكد من إدخال نوع البيانات الصحيح الاستعلام باستخدام الوسائط (Parameters) تحديد الصلاحيات ترشيح IIS موحَّد تفعيل توثيق طلبات الاستعلام فكر باستخدام إطار لربط العلاقات بالكائنات (ORM) خطوات إضافية مفيدة: تطوير الموقع، واختبارات الأداء ومنهجية التطوير يجدر القيام بها باستعمال أقل صلاحيات ممكنة. تأكد من أن الحسابات التى تدير بيئة العمل محدودة الإمكانات بأقصى قدر ممكن. لا يجوز أن يستخدم خادم موقعك صلاحيات مدير النظام، أو صلاحيات الجذر، أو غيرها من الحسابات الحسّاسة. حدّدد صلاحيات حسابات المستخدمين بموقعك على نحو يتناسب مع حاجتهم. لا يجوز أن تحظى حسابات الشركاء بصلاحيات إدارية والعكس صحيح. عليك استخدام حسابات مختلفة لمهام مختلفة. يمكنك مطالعة هذه المقالة فيخا معلومات مفيدة: احم موقعك من الاختراق أتمنى لك التوفيق
  14. مرحبا، مشكلة إعادة التوجيه، هو أن التعلية: header("location:session.php"); لا تعمل إلا في حال كانت هي أول شيئ يتم تنفيذه قبل أي عملية طباعة echo أو كتابة أي شيفرة HTML. عليك إعادة ترتيب الشيفرة لديك بشكل يضمن تنفيذها في البداية يمكنك الاستفادة من السؤال التالي : header location لا يعمل في php بالتوفيق
  15. مرحبا حنان، قمت بمراجعة شركة الاستضافة وتبين أن MySQL تكون مجهزة للتنصيب لديهم. بشكل عام تكون الخطوات هي إنشاء مستخدم USER وإضافته لقاعدة البيانات DATABASE عن طريق لوحة التحكم، مع عرض اسم المستخدم و كلمة السر الخاصة به مباشرة عند الإنشاء عليك حفظهم. أي إن العملية مؤتمتة تقريبا. أرجو إرفاق صور من لوحة التحكم وعرض ما تحويه في حال لم تتمكني من حل المشكلة. عند الضغط على الرابط في الصورة (ربما يختلف لديكِ بتحديثات) فسوف ينقلك للوحة تحكم قاعدة البيانات. بالتوفيق
  16. مرحبا أخ حسان، 1 - 2: إن كلفة الموقع و عدد الصفحات يتبع للمشروع ولا يمكن تحديده حاليا، و الكلفة أيضا تتبع لبلد المطور أو الشركة حيث تختلف الأسعار من شخص للآخر و من دولة لأخرى. 3: أفضل برمجة: يختارها مبرمج المشروع بعد التعرف على تفاصيله، في حال مشروع متوسط لن تلحظ فرقا بين تقنية و أخرى. 4: حسب خبرة المطور، لكن أعتقد أن الشركة تهتم أكثر و تختبر برامجها، وفي حال شرائك برنامج جاهز لربما تم شرائه و اختباره و تطويره من عدة أشخاص قبل، فهذا خيار أفضل. 5: شخص أو شخصين، وحسب عدد الزوار و نوعية الخدمات. 6: حسب نوع خدمة الإعلانات و مكان عرضها. 7: نعم بالتأكيد افتراضيا يعمل في جميع الدول 8: يجب الإهتمام بنوعية المحتوى و جودة الخدمة، والاشتراك مع استضافة جيدة ليكون عمل الموقع سريع. يمكنك طرح المشروع على مستقل و التعرف على ماذا يمكن أن يقدم لك المستقل مقابل قيمة العرض و تتعرف على الأسعار والتقنيات. أتمنى لك التوفيق
  17. مرحبا مجدداً، جمعت لك بعض الأسئلة السابقة التي تتكلم عن نفس المشكلة - قبول العروض في مستقل - رابط 1 - رابط 2 - رابط 3 - رابط 4 ويوجد الكثير من النقاشات، كما يمكنك متابعة حلقات تقييم تصميمات الجمهور من مصممين مشهورين وستعرف في حال وجود نقاط ضعف لديك.
  18. مرحبا عبدو، إن تعلمك للغة برمجة بطريقة موسعة مفيد جداً إلى جانب تعلمك لدورة تطوير وجهات المستخدم. نصيحتي هي تعلم لغة جافاسكربت، لأنك سوف تستفيد منها للعمل في المتصفح وتطوير المواقع التي تقوم بتصميمها إعتماداً على الدورة، وبالإضافة لذلك، يوجد العديد من أُطر العمل المبنية على جافاسكربت وستعطيك وصول أفضل لسوق العمل. نذكر منها: مكتبة Reat.js وهي تسهل و تعمل في مجال تطوير المواقع Frontend. إطار عمل React Native والذي يعتمد على المكتبة السابقة و يستخدم لبناء تطبيقات متعددة المنصات android + IOS ويمكنك تعلم تقنية Node.js والتي تستطيع من خلالها بناء مخدم لمشاريعك Backend أيضا مع جافاسكربت بدل تعلم لغة برمجة إضافية مثل php - python .. إن تعلمك لـ ++c مفيد وأنا لا أنكر ذلك أبداـ لكن مجال عملها بعيد عن الأشياء التي تتعلمها و سوق العمل فيها صعب و متخصص (Hardware , أنظمة تشغيل) ، لذلك تعلم جافاسكربت مفيد أكثر. وإن تعلمك للغة جديدة سيعمل بعض الاختلاط لطريقة كتابة الشيفرة البرمجية و سيبطئ تطورك بعض الشيئ، حيث أن معظم المفاهيم البرمجية متشابه بين لغات البرمجة لكن بعد فترة ستلاحظ أن جافاسكربت أسهل وديناميكية أكثر. أتمنى لك التوفيق
  19. مرحبا طارق، شخصيا أنا معجب بعملك وهو متقن و متناسق من جميع النواحي، الألوان - الصور - الخطوط. ليس لدي ملاحظات. أتمنى لك التوفيق
  20. مرحبا طارق، مرة أخرى الرابط لا يشير لحسابك الشخصي، انظر إنه لايحوي اسم المستخدم. الرابط الشخصي لحسابي بهذا الشكل: https://mostaql.com/u/waelaljamal اضغط على الصورة الشخصية في حسابك لموقع مستقل ثم على اسم المستخدم، انسخ الرابط في تلك الصفحة.
  21. مرحبا عبدو، إن دورة واجهات المستخدم تعلمنا كيف نصمم صفحات مواقع الويب، بالاعتماد على تقنيات SASS - HTML - CSS ومكتبة Bootstrap لضبط التنسيقات. بالإضافة لاستعمال لغة جافا سكربت قليلا بالاعتماد على مكتبة jQuery - Prepper لعمل التأثيرات الحركية و التحكم بمعالجة الصفحة. هذه الدورة لا تعلم لغة البرمجة جافاسكربت، أنت لن تستفيد من تعلم لغة البرمجة نفسها بدون تطبيقها في مشاريع و الاعتماد على المكتبات المشهورة و التي يستخدمها المطورون. إن تعلم لغة برمجة هو تعلم استخدام المتغيرات variables و الشروط if - else و الحلقات while - for و بناء الأغراض.. عادة يتم فتح المسارات الأولى من باقِ الدورات بعد شراء دورة ما. انتقل لدورة علوم الحاسب و حاول الوصول إلى: أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة. من هنا ماذا ستتعلم في دورة تطوير واجهات المستخدم؟ مفهوم الواجهة الأماميّة للموقع front-end وكيفية عملها أساسيات لغات تطوير واجهات المستخدم: HTML و CSS و JavaScript استخدام أحدث أدوات التطوير: Bootstrap 4 و jQuery و Sass التعامل مع خدمة استضافة المشاريع البرمجية GitHub و GitLab نشر صفحات الموقع على الإنترنت إعداد هيكل الموقع ووضع خطة العمل التصميم المتجاوب مع مختلف الأجهزة والشاشات تستخدم لغة جافاسكربت في العديد من المجالات البرمجية و تختلف طريقة بناء البرنامج و أسلوب الكتابة باختلاف المكتبة المستخدمة أي يوجد فرق بين jQuery و React.js .. إذا كنت ترغب بحضور دورة تركز على لغة جافاسكربت يمكنك التواصل مع مركز الدعم من مركز مساعدة حسوب حيث يمكنهم مساعدتك و تبديل الدورة التي قمت بالتسجيل بها. و الدورة البديلة هي / دورة تطوير التطبيقات باستخدام لغة JavaScript / ماذا ستتعلم في هذه الدورة؟ الأسس البرمجية السليمة للغة JavaScript الإضافات الحديثة في نسخة ES6 من اللغة تطوير تطبيقات الخادم باستخدام بيئة Node.js أساسيات مكتبة React.js وبناء تطبيق ملاحظات باستخدامها أساسيات مكتبة React Native و Expo تطوير تطبيق جوال للوصل بين الأطباء والمرضى بالاعتماد على React Native التعرف على التطبيقات التي تتطلب اتصالًا مستمرًا بين المتصفح والخادم بناء تطبيق محادثة يشبه تطبيق WhatsApp أو يمكنك الاشتراك بدورة تطوير تطبيقات الجوال باستخدام تقنيات الويب: (كوردوفا - لآيونيك تعتمد على HTLM + Javascript) أساسيات التعامل منصة Cordova الواجهة البرمجية لمنصة كوردوفا وأشهر اضافاتها تطوير تطبيق واحد يعمل على أندرويد وأيفون بنفس الوقت استخدام منصة Cordova مع إطار عمل Ionic 4 إنشاء تطبيق تواصل اجتماعي لمشاركة الوصفات بين المستخدمين، يسمح للمستخدمين بالتفاعل مع وصفات الآخرين وإضافة وصفاتهم والتقاط صور للأطعمة عبر الكاميرا إنشاء تطبيق لطلاب المدارس والمؤسسات التعليمية باستخدام Ionic 4 مع مكتبة React.js تطوير تطبيق خبري حقيقي يتصل من نظام وودربريس تطوير تطبيق احترافي لإدارة المهام إقرأ تفاصيل الدورات وافهم المحتوى ثم تواصل مع الدعم الفني إن أردت تغيير الدورة. أتمنى لك التوفيق
  22. مرحبا محمد، أقترح كتاب مدخل إلى التسويق - التسويق والمبيعات - أكاديمية حسوب - يمكنك الوصول له من هنا يتناول فصل "مقدمة إلى التسويق" تأثير الأحداث العالمية على أساليب التسويق، فيما يتطرق فصل "التسويق في الأسواق العالمية" إلى تأثير التسويق على العالم، كذلك يتناول الكتاب في جميع أجزائه أمثلة مختلفة من السوق العالمي لشركات على أرض الواقع، إذ تساعد الأمثلة والقصص الواقعية القارئ على الربط بين استيعاب النظرية وتطبيقها، وتتسم هذه الأمثلة بكونها حيّة ومعاصرة ومتنوعة، فهي تتراوح بين قائمة فورتشن لأكبر 500 شركة أمريكية، إلى الشركات الصغيرة الخاصة كذلك يتناول الكتاب أمثلة لشركات دولية من جميع الأحجام. يناقش الكتاب أيضًا في مواضع مختلفة منه أهمية التكنولوجيا وتأثيراتها المختلفة إذ لا يخفى أثر التكنولوجيا على أساليب التسويق، كما تُعد شبكة الإنترنت وقواعد البيانات وأجهزة التعقب ومحاكيات السوق أمثلة جيّدة تعكس مدى تأثير التكنولوجيا في عالم التسويق. بني هذا الكتاب على كتاب Introducing Marketing لمؤلفه Prof. John Burnett (البروفيسور جون بورنِت) المرخص تحت رخصة CC BY والذي ألف وشارك في تأليف عشرين كتابًا وما يربو على 60 بحثًا أكاديميًا، وقد تقاعد مؤخرًا بعد 41 عامًا من العمل محاضرًا في مجال التسويق. ولقد انصبّ معظم تركيز البروفيسور خلال السنوات العشرين الماضية على التسويق لصالح المنظمات غير الربحية وقد كانت حصيلة مجهوداته إقامة العديد من ورش العمل، ووضع الكثير من الخطط التسويقية، بالإضافة إلى تأليف كتاب بعنوان "Nonprofit Marketing Best Practices" (أفضل أساليب التسويق للمنظمات غير الربحية).
  23. مرحبا، يمكنك عمل نظام تعليمي عن طريق وورد بريس WordPress بتثبيت الإضافات المناسبة. أقترح موقع code canyon أو خمسات لشراء ثيمات أو إضافات فلديهم أسعار مناسبة و مشاريع محدثة باستمرار. أو مثلا ابحث في الانترنت عن Best PHP Learning Management System Script فهي عنوان مقالة تحوي الكثير من الإضافات و شروحات عنهم. وإذا كنت تريد كود مصدري مثلا ولكي تبحث بنفسك اكتب في غوغل full web academy scripts وستجد ما تريد. في حال نقص الخيرة يمكنك توظيف مبرمج عن طريق موقع مستقل ويمكنك اختيار أحدهم في حال كان له تجربة سابقة واتطلعت على أعماله، أو أي عرض تجده مناسبا، لأن بعض التخصيص يمكن أن يحتاج لخيرة و خاصى عملية الربط لحساب الدفع و أمور حساسة بعض الشيئ. بالتوفيق
  24. مرحبا ميريام، سأقدم شرح مساعد لكيفية الحل وعليكِ إكمال الشيفرة البرمجية. المسألة الأولى: نريد طباعة العدد بالمقلوب أي من الخانة الأعلى للأقل .. يجب على الدالة التراجعية التحرك خانة خانة على العدد (القسمة على 10 في كل مرة تنقلنا من الآحاد للعشارت للمئات ..) و عملية طباعة الخانة الحالية سوف تتمثل بقيمة باقِ قسمة العدد على 10. ضمن الدالة العودية سنقوم باستدعائها عدة مرات للعدد n حيث في كل مرحلة سوف نقسمه على 10 ونمرر الناتج للخطوة التالية. n = 123 => n / 10 = 12 => n / 10 = 1 => n / 10 = 0 وعند وضع تعليمة الطباعة بعد إنتها الاستدعائات العودية سوف تتم عملية طباعة النتائج بالمقبوب (يمكنك تجريب وضع الطباعة قبل الاستدعاء العودي و رؤية الفرق). ما هو شرط توقف الاستدعاء العودي؟ حين يصبح العدد n مساوٍ للصفر. أرجو محاولة كتابة الدالة قبل رؤية الحل.. . void printReverse (int n) { if (n == 0) return; printReverse(n/10); cout << n % 10; } ------------------------------------------ المسألة الثانية: لدينا دالة ستقوم بعمل جداء تراكمي لعدد X بعدد مرات Y. سيكون لدينا وسيطين للدالة هما العديين X - Y سيتم استدعاء الدالة Y مرة , ولكل مرة سنقوم بعملية ضرب للعدد X مع ناتج الضرب التراكمي للاستدعاءات الآخرى.. سنعتمد على Y كعداد لمرات الضرب. ما هو شرط توقف الاستدعاء العودي؟ حين يصبح العدد Y مساوٍ للصفر. نعيد القيمة 1 لأن X أس 0 تساوي 1. مع تكرار الاستدعاءات سيتم حساب 1 * X و تعيد X للمرحلة السابقة ومن ثم ستعيد ضربها بـ X وهكذا بعدد مرات Y. يمكنك استخدام نمط بيانات long long لحساب قيمة أكبر لتجنب حدوث Overflow (النمط int لا يسع إلا قيمة بحدود 2 مليار) أما long يتسع لأضعاف هذه القيمة حتى 18^10. أرجو محاولة كتابة الدالة قبل رؤية الحل.. . int my_power (int x, int y) { if (y == 0) return 1; return x * my_power(x,y-1); } بالتوفيق
  25. مرحبا، بعض الصور لا تظهر، وفي أي مرحلة يظهر الخطأ؟ الحل: اذهب لمسار تثبيت أندرويد استديو لديك، قد يكون مثل التالي: C:\Users\UserName\AppData\Roaming\Google\AndroidStudio4.1\plugins ثم قم بإعادة تسمية marketplace إلى الاسم : marketplace_back أعد تشغيل اندرويد استديو، في حال استمرار المشكلة، احذف المجلد marketplace. في المسار السابق، userName يدل على اسم المستخدم لديك قم باستبداله قبل وضعه في شربط العناوين، وفي حال لم تجد أحد المجلدات، أرجو عرض الملفات المخفية لديك، اذهب لقائمة العرض view غي متصفح الملفات هو برنامج windows explorer الذي يعرض محتوى الملفات، وفي القائمة العلوية ابحث عن خيار لعرض الملفات المخفية. بالتوفيق
×
×
  • أضف...