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

السؤال

نشر (معدل)

بلغة الجافا  - اعمل برنامج لجمع الاعداد التالية x=23451 بشرط تكون مدخلة في متغير واحد,ومجموع القيم يساوي15

تم التعديل في بواسطة عبود سمير
تعديل العنوان

Recommended Posts

  • 0
نشر

مرحباً بك،

يُمكنك ذلك بإستخدام حلقة while و في كل لفة تقوم بجلب أحد الأرقام المُكونة للعدد x:

  • تعريف مُتغير x يحمل قيمة العدد الذي نريد حساب مجموع أرقامه
  • تعريف مُتغير sum يُعبر عن المجموع و نُسند له القيمة 0 مبدئياً
  • مادام x أكبر من 0
  • ----- نضيف باقي قسمة x على 10 لقيمة المُتغير sum
  • ----- نُسند حاصل قسمة قيمة المُتغير x على 10 للمُتغير x
  • نطبع قيمة المُتغير sum

و هذا تطبيق للخوارزمية بلغة جافا:

public class Main
{
  public static void main(String[] args) {
    int x = 23451;
    int sum = 0;
    while (x > 0) {
      sum += x % 10;
      x = x / 10;
    }
    System.out.println(sum); 
  }
}

في اللفة الأولى مثلاً:

x % 10 = 1 => sum = 1

x / 10 = 2345 => x = 2345

و هكذا في بقية اللفات إلى حين تحقق الشرط، بالتوفيق.

  • 0
نشر

سأوضح لك كيفية كتابة أهم أجزاء البرنامج بدون الإجابة المباشرة على السؤال وذلك لأترك لك المجال لتكتبه بنفسك.

في الغالب أنت تفكر في حل المشكلات التالية:

  • كيفية تقسيم العدد المدخل في متغير واحد إلى عدة أرقام ؟! لك الحق في هذا التساؤل فهذا الأمر يبدو صعبا للوهلة الأولى، لكن لتسهيل الأمر يجب التفكير في العدد المدخل على أنه نوع من أنواع البيانات الذي يمكننا التحويل بينها. على سبيل يمكننا التحويل من String ل int عن طريق الدالة parseInt التي يوفرها الكلاس Integer، ويمكننا أيضا التحويل من int ل String من خلال الدالة toString. لكن ماذا سنستفيد من تحويل العدد المدخل من int ( رقم ) ل String ( نص ) ؟ نعرف بأن النص عبارة عن مجموعة من الرموز حيث يمكننا معالجة وتقسيم كل رمز لوحدة.
  • كيف سنقوم بمعالجة كل رمز لوحده والمرور على كل الرموز ؟ ببساطة يمكننا إستخدام الfoor loop ومعالجة كل رمز لوحده ومن ثم تحويله إلى رقم مرة أخرى وجمعها وتخزينها في متغير ما، وبمجرد إنتهاء الloop نقوم بطباعة المتغير الذي يحتوي على مجموع الأعداد.

خطوات الحل بإختصار هي كالتالي:

  1. تحويل العدد المدخل من int الى String.
  2. الدوران على كل الرموز( الاعداد ) وتحويلها الى نوع int ومن ثم جمعها وتخزينها في متغير ما.
  3. طباعة المتغير الذي يمثل مجموع  الأعداد من الخطوة السابقة.

أطيب الأمنيات بالتوفيق.

  • 0
نشر
بتاريخ On 29‏/1‏/2021 at 02:33 قال Abdulraheem Barghouthi:

سأوضح لك كيفية كتابة أهم أجزاء البرنامج بدون الإجابة المباشرة على السؤال وذلك لأترك لك المجال لتكتبه بنفسك.

في الغالب أنت تفكر في حل المشكلات التالية:

  • كيفية تقسيم العدد المدخل في متغير واحد إلى عدة أرقام ؟! لك الحق في هذا التساؤل فهذا الأمر يبدو صعبا للوهلة الأولى، لكن لتسهيل الأمر يجب التفكير في العدد المدخل على أنه نوع من أنواع البيانات الذي يمكننا التحويل بينها. على سبيل يمكننا التحويل من String ل int عن طريق الدالة parseInt التي يوفرها الكلاس Integer، ويمكننا أيضا التحويل من int ل String من خلال الدالة toString. لكن ماذا سنستفيد من تحويل العدد المدخل من int ( رقم ) ل String ( نص ) ؟ نعرف بأن النص عبارة عن مجموعة من الرموز حيث يمكننا معالجة وتقسيم كل رمز لوحدة.
  • كيف سنقوم بمعالجة كل رمز لوحده والمرور على كل الرموز ؟ ببساطة يمكننا إستخدام الfoor loop ومعالجة كل رمز لوحده ومن ثم تحويله إلى رقم مرة أخرى وجمعها وتخزينها في متغير ما، وبمجرد إنتهاء الloop نقوم بطباعة المتغير الذي يحتوي على مجموع الأعداد.

خطوات الحل بإختصار هي كالتالي:

  1. تحويل العدد المدخل من int الى String.
  2. الدوران على كل الرموز( الاعداد ) وتحويلها الى نوع int ومن ثم جمعها وتخزينها في متغير ما.
  3. طباعة المتغير الذي يمثل مجموع  الأعداد من الخطوة السابقة.

أطيب الأمنيات بالتوفيق.

السلام عليكم ، سويت الخطوة الاولى ونص الثانيه لم افهم بالضبط كيف يتم جمعهم وتخزينهم في متغير ما ؟؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...