حل المسائل

الوزن الطبيعي

هذا هو وزن الجسم الموصى به من قبل منظمة الصحة العالمية (WHO) استنادًا إلى قيم مؤشر كتلة الجسم للبالغين. ويستخدم لكل من الرجال والنساء الذين تبلغ أعمارهم 20 عامًا أو أكثر.

التصنيف مدى BMI - kg/m2
نحف شديد < 16
نحف متوسط 16 - 17
نحف خفيف 17 - 18.5
طبيعي 18.5 - 25
زيادة في الوزن 25 - 30
سمنة خفيفة 30 - 35
سمنة ثانية 35 - 40
سمنة ثالثة > 40

المصدر

لحساب مؤشر كتلة الجسم (BMI)، نستعمل المعادلة التالية:

\[ BMI = \frac{weight}{height^2} \]

حيث:

  • الوزن بالكيلوغرام: \(weight\)
  • الطول بالمتر: \(height\)

المطلوب:

  1. احسب بالمعادلة السابقة مؤشر كتلة الجسم لوزنك
  2. اكتب جملاً شرطية تستعمل الجدول لتصنيف الوزن
  3. اطبع النتيجة
height = 1.70
weight = 95
bmi = weight / height**2

word = ''
category = ''

if bmi < 18.5:
    word = 'thin'
    if bmi < 16:
        category = 'severe'
    elif bmi < 17:
        category = 'moderate'
    else:
        category = 'mild'
elif bmi < 25:
    word = 'normal'
else:
    word = 'overweight'
    if bmi < 30:
        category = 'class 1'
    elif bmi < 35:
        category = 'class 2'
    elif bmi < 40:
        category = 'class 3'
    else:
        category = 'class 4'

print(word, category)
overweight class 2

مجموع الأرقام إلى س

ما نريد صياغته هو هذه المعادلة: مجموع الأرقام من 1 إلى n:

\[ \sum_{i=1}^{n} i \]

تعليمات التطبيق:

  • استخدم الإجراء input() لطلب إدخال العدد من المستخدم
  • القيمة المدخلة ستكون من النوع النصي وليس العددي؛ لذا:
    • حول القيمة المدخلة إلى عدد باستخدام int() أو float()
  • استعمل حلقة while لجمع الأرقام من 1 إلى العدد الذي أدخله المستخدم
  • اطبع النتيجة
user_input = input("Enter a number: ")
n = int(user_input)

total = 0
i = 1
while i <= n:
    total += i
    i += 1

print('sum is:', total)

اكتب القطعة بحلقة تكرار

اكتب القطعة البرمجية التالية بحلقة تكرار:

increase = 5

w1 = 15
w2 = w1 + increase
w3 = w2 + increase
w4 = w3 + increase
w5 = w4 + increase
w6 = w5 + increase
w7 = w6 + increase
w8 = w7 + increase
w9 = w8 + increase
w10 = w9 + increase

print(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10)
15 20 25 30 35 40 45 50 55 60

الجواب:

value = 15
increase = 5
weeks = 10

i = 0
while i < weeks:
    value += increase
    print(value, end=' ')
    i += 1
20 25 30 35 40 45 50 55 60 65 

ملاحظة: استعمال print(value, end=' ') يجعل الناتج يظهر في سطر واحد. وذلك لأن end='\n' في الأصل وتعني سطرًا جديدًا.

اكتب القطعة بحلقة تكرار

اكتب القطعة التالية بحلقة تكرار:

import math

growth_rate = 0.117

day1 = 100
day2 = day1 * (1 + growth_rate)
day3 = day2 * (1 + growth_rate)
day4 = day3 * (1 + growth_rate)
day5 = day4 * (1 + growth_rate)
day6 = day5 * (1 + growth_rate)
day7 = day6 * (1 + growth_rate)

print(math.floor(day1))
print(math.floor(day2))
print(math.floor(day3))
print(math.floor(day4))
print(math.floor(day5))
print(math.floor(day6))
print(math.floor(day7))
100
111
124
139
155
173
194

الجواب:

import math

day = 100
growth_rate = 0.117

i = 0
while i < 6:
    day *= (1 + growth_rate)
    print(math.floor(day))
    i += 1
111
124
139
155
173
194

التغير النسبي

إذا كنت تمارس الرياضة وتزيد في وزن الحمل 10% أسبوعيًّا .. فإذا بدأت بوزن 20 كيلو، فإلى كم كيلوا ستصل في الأسبوع الثاني عشر؟ (بعد ثلاثة أشهر)

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

weight = 20
for week in range(12):
    weight += weight * 0.1
print(weight)
62.768567534419994

متحدث آلي

اكتب برنامج يجمع البيانات التالية من المستخدم (الزبون):

  • اسم الزبون: الرسالة “أتشرف باسمك، مثلا: محمد أحمد”
  • رقم الهاتف: الرسالة “زودنا برقم جوالك، يبدأ بـ966”
  • المدينة: الرسالة “ممكن تحدد مدينتك؟”
  • اسم الحي: الرسالة “الرجاء قم بكتابة اسم الحي”

بعد ذلك يؤكد الآلي على المستخدم أن المعلومات صحيحة، ويطلب منه التأكيد أو التعديل أو إلغاء الطلب.

  • في حال التأكيد: الرسالة “تم تأكيد الطلب برقم 12345 سيتواصل معك ممثل خدمة العملاء في غضون 15 دقيقة علمًا أن ساعات العمل من 9 صباحًا إلى 5 مساءً”
  • في حال التعديل، يطلب الآلي من المستخدم تحديد الشيء الذي يريد تعديله ليتم تعديله
  • في حال إلغاء الطلب: الرسالة “تم إلغاء طلب التبرع”
print("""مرحبا بك في خدمة التبرع
فضلا أريد منك تزويدي ببعض المعلومات ..
""")

print('أتشرف باسمك، مثلا: محمد أحمد')
name = input()

print('زودنا برقم جوالك، يبدأ بـ966')
phone = input()

print('ممكن تحدد مدينتك؟')
city = input()

print('الرجاء قم بكتابة اسم الحي')
neighborhood = input()

print('name:', name)
print('phone:', phone)
print('city:', city)
print('neighborhood:', neighborhood)

while True:
    print('هل تود تأكيد طلب التبرع؟')
    print('1. تأكيد الطلب')
    print('2. تعديل الطلب')
    print('3. إلغاء الطلب')
    user_confirmation = input()

    if user_confirmation == '1':
        print('تم تأكيد الطلب برقم 12345 سيتواصل معك ممثل خدمة العملاء في غضون 15 دقيقة علمًا أن ساعات العمل من 9 صباحًا إلى 5 مساءً')
        break
    elif user_confirmation == '2':
        print('ما الشيء الذي تريد تعديله؟')
        print('1. الاسم')
        print('2. رقم الهاتف')
        print('3. المدينة')
        print('4. اسم الحي')
        user_modification = input()
        match user_modification:
            case '1':
                print('اسم الزبون')
                name = input()
            case '2':
                print('رقم الهاتف')
                phone = input()
            case '3':
                print('المدينة')
                city = input()
            case '4':
                print('اسم الحي')
                neighborhood = input()
            case _:
                print('إختيار غير موجود')

    elif user_confirmation == '3':
        print('تم إلغاء طلب التبرع')
        break