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

السؤال

نشر

انا مبتدئه في برمجه البايثون وطلب مني استخدام هذا الكود البرمجي 

لديك  عددين صحيحين A = 1867 و B = 9814 ، قم بحساب مجموع كل الأعداد التي تقع بين A و B ، للتوضيح إذا أردنا حفظ ناتج الجمع في متغير والمسمى بـ Sum فإن قيمة المتغير هي:


Sum = 1867 + 1868 + 1869 + ... + 9812 + 9813 + 9814

لاحظ أن العددين A و B من ضمن العناصر المجموعة في المجموع النهائي

ماهو الجواب لو سمحتم؟؟

Recommended Posts

  • 0
نشر

إليك بعض التوجيهات العامة التي تساعدك في حل الواجب:

  1. استخدام مفهوم range: في Python، range(start, stop) قم بإنشاء تسلسل من الأعداد من start حتى stop-1. يمكنك استخدام هذه الميزة لتوليد مجموعة من الأعداد بين A و B.
  2. استخدام دورة تكرار (for): استخدم دورة for للانتقال عبر الأعداد في المجموعة التي تم إنشاؤها باستخدام range. في كل تكرار، قم بجمع العدد الحالي إلى المجموع الكلي.
  3. تحديد نقاط البداية والنهاية بشكل صحيح: تأكد من تضمين العددين A و B في الجمع.
  4. استخدام متغير لتخزين الناتج: قم بإنشاء متغير لتخزين المجموع النهائي وقم بتحديثه في كل دورة.
  5. طباعة النتيجة: بمجرد الانتهاء من حساب المجموع، قم بطباعة النتيجة.
  • 0
نشر (معدل)

يمكن تنفيذ هذه المهمة بعدة طرق

أولها استخدام الحلقات التكرارية، وسنستخدم هذا الأسلوب الذي يناسب ذوي الخبرة البسيطة

# تعريف المتغيرات
A = 1867 
B = 9814
sum = 0

# إنشاء حلقة تكرارية تظل تعمل طالما المتغير الأول أصغر من أو يساوي المتغير الثاني
# نلاحظ هنا ان علامة = هامة حتى تم جمع قيمة المتغير 
# B
while A <= B:
    sum = sum + A
    A = A + 1

print(sum)

ملحوظة هامة:

تم كتابة الشيفرات لمساعدتك في بداية المشوار البرمجي، والآن إليك تمرين حاولي حله بنفسك للتدريب على حل المشاكل.

المطلوب:

التعديل في الشيفرات السابقة بحيث لا يشمل قيمة المتغيرين A, B في عملية الجمع.

تم التعديل في بواسطة El Sayed El Tohamy
  • 0
نشر
بتاريخ 2 ساعة قال El Sayed El Tohamy:

يمكن تنفيذ هذه المهمة بعدة طرق

أولها استخدام الحلقات التكرارية، وسنستخدم هذا الأسلوب الذي يناسب ذوي الخبرة البسيطة

# تعريف المتغيرات
A = 1867 
B = 9814
sum = 0

# إنشاء حلقة تكرارية تظل تعمل طالما المتغير الأول أصغر من أو يساوي المتغير الثاني
# نلاحظ هنا ان علامة = هامة حتى تم جمع قيمة المتغير 
# B
while A <= B:
    sum = sum + A
    A = A + 1

print(sum)

ملحوظة هامة:

تم كتابة الشيفرات لمساعدتك في بداية المشوار البرمجي، والآن إليك تمرين حاولي حله بنفسك للتدريب على حل المشاكل.

المطلوب:

التعديل في الشيفرات السابقة بحيث لا يشمل قيمة المتغيرين A, B في عملية الجمع.

طيب مش ممكن نستخدم القاعده الرياضيه ال هي n + (n + 1) / 2 بس كده هتحسب ناتج جمع جميع الأرقام الموجودة من من 1 الي n

ازي استخدم نفس المعادله الرياضيه او لحساب ناتج جمع جميع الرقم من 1867 الي 9814 وكده هيكون الخورزميا افضل بكثير من الحقله 

فا ازي استخدمها

  • 0
نشر (معدل)
بتاريخ 30 دقائق مضت قال Ail Ahmed:

طيب مش ممكن نستخدم القاعده الرياضيه ال هي n + (n + 1) / 2 بس كده هتحسب ناتج جمع جميع الأرقام الموجودة من من 1 الي n

بداية شكرًا لك على استخدام القوانين الرياضية التي بكل تأكيد تساهم في تسريع ودقة العمليات الحسابية بشكل خرافي،

القانون المقصود - لمن لا يعرفه -  قانون رياضي يُستخدم لجمع الأعداد الصحيحة ابتداءًا من 1 حتى قيمة معينة ولتكن n وهو

n(n+1)/2

على سبيل المثال لمعرفة مجموع الأعداد من 1 حتى 7 نستخدم القانون 7(7+1)\2 = 7 * 8 \ 2 = 28

ولمعرفة مجموع الأعداد ابتداءًا من قيمة غير 1 وليكن مجموع الأعداد من 5 إلى 7:

هنا تتضح مهارة حل المشاكل Problem Solving التي يجب أن يتقنها المبرمج، فيتم بالخطوات التالية:

1- نقوم بحساب مجموع الأعداد من 1 إلى 7

2- نقوم بحساب مجموع الأعداد من 1 إلى ( 5  - 1 ) (أي من 1 إلى 4)

3- نطرح القيمة الصغرى من القيمة الكبرى

فتكون المعادلة [ 7 (7+1) \ 2 ] - [ 4 (4 + 1) \ 2 ] = 28 - 10 = 18

إذن مجموع الأعداد 5 + 6 + 7 = 18

الآن التمرين المطلوب من المبرمجين لتقوية مهاراتهم البرمجية:

هو كتابة شيفرات برمجية بلغة البايثون لجمع الأعداد من 5 إلى 7 بناء على التحليل السابق.

بالتوفيق،

تم التعديل في بواسطة El Sayed El Tohamy
  • 0
نشر
بتاريخ 29 دقائق مضت قال El Sayed El Tohamy:

بداية شكرًا لك على استخدام القوانين الرياضية التي بكل تأكيد تساهم في تسريع ودقة العمليات الحسابية بشكل خرافي،

القانون المقصود - لمن لا يعرفه -  قانون رياضي يُستخدم لجمع الأعداد الصحيحة ابتداءًا من 1 حتى قيمة معينة ولتكن n وهو

n(n+1)/2

على سبيل المثال لمعرفة مجموع الأعداد من 1 حتى 7 نستخدم القانون 7(7+1)\2 = 7 * 8 \ 2 = 28

ولمعرفة مجموع الأعداد ابتداءًا من قيمة غير 1 وليكن مجموع الأعداد من 5 إلى 7:

هنا تتضح مهارة حل المشاكل Problem Solving التي يجب أن يتقنها المبرمج، فيتم بالخطوات التالية:

1- نقوم بحساب مجموع الأعداد من 1 إلى 7

2- نقوم بحساب مجموع الأعداد من 1 إلى  5  - 1 (أي من 1 إلى 4) لأننا نريد إضافة العدد 5 للناتج

3- نطرح القيمة الصغرى من القيمة الكبرى

فتكون المعادلة [ 7 (7+1) \ 2 ] - [ 4 (4 + 1) \ 2 ] = 28 - 10 = 18

إذن مجموع الأعداد 5 + 6 + 7 = 18

الآن التمرين المطلوب من المبرمجين لتقوية مهاراتهم البرمجية:

هو كتابة شيفرات برمجية بلغة البايثون لجمع الأعداد من 5 إلى 7 بناء على التحليل السابق.

بالتوفيق،

اول شكراا جداا لحضرتك والله علي الكلام الجميل ده انا اتحمست جدا والله بعد الكلام 

وحل التمارين كا الاتي: انا حلت من 1867 الي 9814

a = 1867
b = 9814

sum = (b * (b + 1) / 2) - ((a - 1) * ((a - 1) + 1) / 2)

print(sum)

 

شكراا جدا والله انا استفدت كثير اوي والله شكرا اوي يا أ.سيد

  • 0
نشر
بتاريخ 3 دقائق مضت قال El Sayed El Tohamy:

بارك الله فيك،

الحل مضبوط إن شاء الله، ويمكن تحسين المعادلة لتصبح كالتالي

# sum = (b * (b + 1) / 2) - ((a - 1) * ((a - 1) + 1) / 2)
sum = (b * (b + 1) / 2) - ((a - 1) * a / 2)

 

شكراا جدا والله 

وانا حسنت المعادله تمام شكرااا

احنا خادن a - 1 عامل مشتركه صح كده

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...