|
بايثون – פיתון – python
المتغيرات
في بايثون
مشغل باقي
القسمة (%) - האופרטור שארית החלוקה
أحياناً
نحن
معنيين
بمعرفة
القيمة
الصحيحة
المتبقية
الناتجة من
قسمة عددين
صحيحين.
مشغل
عملية باقي
القسمة بين
عددين هو
العامل %
القيمة
الصحيحة المتبقية من
قسمة عددين:
مثال:
جد
القيمة
الصحيحة
المتبقية من قسمة
العددين 19
و 5 ؟
الحل:
نكتب،
والنتيجة 4
نسجل
هكذا:
لأن
الــ 19 بها 3
مرات 5 ويبقى 4
وبالرموز
الرياضية:
مثال:
13 % 5 = 3
لأن:
13 // 5 = 2 (3)
·
فوائد
هذه العملية:
·
بمساعدة
العامل % يمكن عزل
منزلة الآحاد
لأي عدد معطى
هكذا: (مثال 2947 % 10
= 7)
·
بمساعدة
% يمكن أن
نتحقق إذا كان
عدد ما ينقسم
(بدون باقي)
على عدد آخر.
مثلا: هل
العدد 120 ينقسم
على 5 (من غير
باقي) ؟
لمعرفة ذلك
نفحص إذا كان
الباقي من
قسمة 120 على 5 مساويا
لــ 0 ،
هكذا:
النتيجة
التي سيعرضها
الحاسب هي True
نوضح هذا:
لقد نفذ
الحاسب اولاً
نتيجة
التمرين (التي
هي 0)،
وبعد ذلك فحص
وقارن هذه
النتيجة
مساوية لــ 0،
هكذا:
نتيجة
المقارنة
صحيحة، لذلك
عرض على
الشاشة True
ملاحظة:
العامل % يمكن
استخدامه
أيضاً مع
الأعداد
العشرية.
مثال: 12.0 % 3.5 النتيجة 1.5
ولكن
نحن مهتمون
بدراستنا
بالباقي
الناتج من
قسمة عددين
صحيحين.
تمرين 1
ما هو
خارج القسمة
الناتج من العمليات
التالية:
انتبه:
المقسوم أكبر
من المقسوم
عليه.
توضيح |
المخرج |
الكود
البرمجي |
5 // 2 = 2 (1) 8
// 3 = 2 (2) 12
// 4 = 3 (0) 12
// 5 = 2 (2) 12
// 7 = 1 (5) 12
// 8 = 1 (4) 12
// 9 = 1 (3) 12 // 10 = 1 (2) 12 // 11 = 1 (1) |
1 2 0 2 5 4 3 2 1 |
print (5 % 2) print (8 % 3) print (12 % 4) print (12 % 5) print (12 % 7) print (12 % 8) print (12 % 9) print (12 % 10) print (12 % 11) |
تمرين 2
ما هو
خارج القسمة
الناتج من
العمليات
التالية:
انتبه:
المقسوم أصغر
من المقسوم
عليه.
توضيح |
المخرج |
الكود
البرمجي |
2 / 3 = 0 (2) 2
/ 5 = 0 (2) 3
/ 6 = 0 (3) 3
/ 12 = 0 (3) 10 / 20 = 0 (10) |
2 2 3 3 10 |
print (2 % 3) print (2 % 5) print (3 % 6) print (3 % 12) print (10 % 20) |
قاعدة: إذا كان
العدد
المقسوم أصغر
من العدد
المقسوم
عليه، الباقي
الناتج يكون
العدد
المقسوم.
وبالرموز:
إذا x
< y
عندها x % y = x
تمرين 3
ما هي
القيمة
الناتجة من
قسمة أي عدد
زوجي على 2؟
توضيح |
المخرج |
الكود
البرمجي |
2 / 2 = 1 (0) 4
/ 2 = 2 (0) 6
/ 2 = 3 (0) 14 / 2 = 7 (0) 86 / 2 = 43 (0) |
0 0 0 0 0 |
print (2 % 2) print (4 % 2) print (6 % 2) print (14 % 2) print (86 % 2) |
قاعدة:
عند قسمة أي
عدد زوجي على 2
يكون باقي القسمة
صفر.
كل عدد
زوجي ينقسم
على 2 بدون
باقي (بمعنى
الباقي يكون 0)
وبالرموز:
إذا كان K عدداً
زوجياً،
عندها نتيجة k % 2 = 0
تمرين 4
ما هي
القيمة
الناتجة من
قسمة أي عدد
فردي على 2 ؟
توضيح |
المخرج |
الكود
البرمجي |
1 / 2 = 0 (1) 3
/ 2 = 1 (1) 5
/ 2 = 2 (1) 7
/ 2 = 3 (1) 11 / 2 = 5 (1) 31
/ 2 = 15 (1) |
1 1 1 1 1 1 |
print (1 % 2) print (3 % 2) print (5 % 2) print (7 % 2) print (11 % 2) print (31 % 2) |
قاعدة: عند
قسمة أي فردي
على 2 يكون
باقي القسمة
دائما 1
وبالرموز:
إذا كان K عدداً
فردياً،
عندها نتيجة k % 2 = 1
سؤال (השמה)
معطى : a, b = 8, 3
ماذا
سيعرض
التعبير
التالي a % b
أ. 2
ب. 1 ج. 0
د. 6
الحل: ب. 2
سؤال
ما هو
المخرج من
الكود التالي:
a,
b = 2, 3 c =
(a + b) % b print (c)
|
أ) 1 ب) 2 ج)
3 د) 4
الحل:
أ) 1
سؤال (إسناد
قيمة، الباقي)
ما هو
المخرج من
الكود التالي:
a =
9 b =
4
result
= a // b + a % b print (result) |
أ) 2 ب) 3 ج) 4 د) 5
الحل:
ب) 3 4
تمرين 5
تفكيك
عدد ثنائي
المنزلة
معطى num عدد ثنائي
المنزلة (مكون
من منزلتين)
كيف
نجد منزلة الآحاد في
عدد ثنائي
المنزلة num : num % 10
كيف
نجد منزلة العشرات
في عدد ثنائي
المنزلة num : num // 10
تمرين 6
نريد
كتابة برنامج
يقرأ من
المستخدم عدد
صحيحا مكون من
منزلتين،
البرنامج
يطبع كل منزلة
في سطر مستقل.
num = int(input("type a number
with 2 digit:")) print (num // 10) print (num % 10) |
المخرج: Type number with 2 digits 45 4 5 |
تمرين 7
اكتب برنامج
يقرأ عدداً
صحيحاً.
على
البرنامج أن
يفحص إذا كان
هذا العدد هو
عدد زوجي أم
لا.
إذا كان
زوجي يطبع True،
وإلا يطبع False؟
الحل:
number=76 True |
num = int(input("number=")) x = num % 2 print (x == 0) |
·
قرأنا
العدد وخزناه
في num.
·
x
أخذ باقي
القسمة (بين num و
2).
·
إذا x حصل على 0
يكون العدد
الذي أدخلناه
زوجيا.
·
إذا x لم يحصل على 0
(يكون قد حصل
على 1) عندها
يكون العدد
الذي أدخلناه
فرديا.
التعبير
(x==0) هو تعبير منطقي
(من نوع bool)، قيمته
تكون أما True أو False.
قيمة (x==0)
تكون True إذا
كانت القيمة
التي في x هي صفر.
قيمة (x==0)
تكون False إذا
كانت القيمة
التي في x ليست صفر.
تمرين 8
أكمل الجدل
التالي:
a % b |
a // b |
b |
a |
0 |
6 |
5 |
30 |
2 |
3 |
4 |
14 |
3 |
0 |
6 |
3 |
3 |
5 |
5 |
28 |
تمرين 9
سجل ما
هو مخرج الناتج
من الكود
التالي:
المخرج: num1 now is: 9 num1 % 2 is: 1 num2 now is: 8 num2 % 3 is: 2 |
num1 = 9 print ("num1 now is:
", num1) num1 = num1 % 2 print ("num1 % 2 is:
", num1) num2 = 8 print ("num2 now is:
", num2) num2 = num2 % 3 print ("num2 % 3 is:
", num2) |
تمرين 10
اكتب
برنامج يقرأ
عدداً
صحيحاً.
على
البرنامج أن
يفحص إذا كان
هذا العدد هو
من مضاعفات
الــ 5 (بمعنى،
ينقسم على 5
بدون باقي)
إذا
كان نعم يطبع True، وإلا
يطبع False؟
num = int(input("number=")) x = num % 5 print (x == 0) |
تمرين 11
أكتب
برنامج يقرأ
عدد صحيح يمثل
طول المدة الزمنية
لفلم سينمائي
بالدقائق،
أعرض طول
المدة
الزمنية
للفلم
بالساعات وبالدقائق.
مثال:
القيمة
المُدخلة: 88
المَخرج: 1 hour and 28 minutes
الحل:
time = int(input("time in minutes=")) hours = time // 60 minutes = time % 60 print (hours, "hours and", minutes, "minutes") |
ممكن
بناء سؤال
بالثواني:
קלוט מספר שלם המייצג זמן בשניות, חשב והדפס את הזמן בשניות בדקות.
דוגמא: 204 שניות = 3 דקות
ו- 24 שניות.
تمرين 12:
اقرأ
عدد صحيح الذي
يمثل عدد
الأيام التي
مرت منذ بداية
السنة.
أحسب
واطبع عدد
الأشهر وعدد
الأيام. افترض
أن عدد أيام
الشهر 30 يوم.
baste = int(input("days baste=")) months = baste // 30 days = baste % 30 print
("months=", months) print
("days=", days) |
تمرين 13:
أكتب
برنامج يقرأ
عدد حبات
البرتقال
التي قطفها
عامل.
لو
اعتبرنا أنه
يمكن وضع 150
حبة برتقال في
الصندوق
الواحد،
جد
عدد الصناديق
المطلوبة.
oranges = int(input("oranges=")) boxes = oranges // 150 print
("boxes=", boxes) |
تمرين 14
اكتب
برنامج يقرأ
عدداً
صحيحاً، ثم
يحسب ويطبع
عدد قواسم هذا
العدد من بين
القواسم 2, 3, 5؟
مثال:
بالنسبة
للعدد 20
النتيجة هي 2
(عدد
قواسمة 2، فهو
ينقسم على 2 و
5 ولا ينقسم
على 3)
الحل:
num = int(input ("number=")) sum = (num % 2 == 0) + (num % 3 == 0) + (num % 5 == 0) print ("sum=", sum) |
تمرين 15
اكتب
برنامج يقرأ
عدداً صحيحاً
مكون من منزلتين.
(أ)
البرنامج
يحسب ويطبع
منزلة الآحاد
ومنزلة العشرات،
كل منزلة
لوحدها.
(إرشاد:
على البرنامج
أن يعزل (يُخلص)
من العدد
منزلة
الآحاد،
ومنزلة العشرات).
(ب)
البرنامج
يطبع جمع
منازله.
(ت)
البرنامج
يكوّن عدداً
جديداً من نفس
المنازل ولكن
بشكل معكوس.
مثال:
العدد
المُدخل: 57،
المخرج:
(أ) 7 5 (ب) 12 (ج) 75
الحل:
num
= int(input("num-2
digits")) d1
= num % 10 # تخليص
منزلة
الآحاد d10
= num // 10 # تخليص
منزلة
العشرات print ("d1=",
d1) # طباعة
منزلة
الآحاد print ("d10=",
d10) # طباعة
منزلة
العشرات sum =
d1 + d10 # أيجاد
جمع
المنزلتين print ("sum=", sum) # طباعة
جمع
المنزلتين new
= 10*d1
+ d10 # بناء عدد
من منزلتين
بشكل معكوس print ("new=", new) # طباعة
العدد
المعكوس |
تمرين 16
اكتب
برنامج يقرأ
عدداً صحيحاً
مكون من 3 منازل.
(أ) على
البرنامج أن يعزل منازله،
ويطبع كل
منزلة لوحدها.
(ب) يحسب جمع
منازلة.
(ج)
البرنامج
يكون عدداً
جديداً من نفس
المنازل ولكن
بشكل معكوس.
الحل:
num = int(input("num-3 digits")) d1 = num % 10
# تخليص
منزلة
الآحاد d10 = (num // 10) %
10 # تخليص
منزلة
العشرات d100 = num // 100 # تخليص
منزلة
المئات print (d1, d10,
d100) print (d1 + d10 +
d100) new = 100*d1 + 10 * d10 + d100 print ("new=",
new) |
تمرين 17
تخليص
منازل عدد
نريد
كتابة يرنامج
يقوم بطباعة
منازل أي عدد
صحيح
الحل:
المخرج: 5 4 3 2 1 |
توضيح: #(12345) % 10 = 5 #(1234) % 10 = 4 #(123) % 10 = 3 #(12) % 10 = 2 #(1) % 10 = 1 |
x = 12345 a1 = (x // 1) % 10 a2 = (x // 10) % 10 a3 = (x // 100) % 10 a4 = (x // 1000) % 10 a5 = (x // 10000) % 10 print (x) print (a1,a2,a3,a4,a5) |
تمرين 18
اقرأ ثمن
بدلة بالشواكل والأغورات
وهو
مكون من منزلتين
بعد الفاصلة.
المخرج
يكون محتوى
الشواكل،
ومحتوى الأغورات.
مثال:
المُدخل - 30.95 المخرج
– 30 95 |
num = float(input("real
number")) aa = int(num * 100) print (aa // 100) print (aa % 100) |
تمرين 19:
في إطار
رحلة مدرسية،
المدرسة
معنية
باستدعاء باصات
وسيارات من
نوع ميني - بوس (מיניבוסים).
في كل باص
عادي ممكن
استيعاب حتى 50
تلميذ. وفي الميني-بوس
يوجد 12 مقعد.
أكتب
برنامج الذي
يطبع أصغر عدد
ممكن من السيارات
المطلوبة.
افترض
أنه لا يوجد
باقي (سنتعلم
فيما بعد كيف
نتعامل مع
وجود باقي).
pupils = 140 bas = 2 mini_bus = 3 |
pupils = int(input("pupils=")) bus = pupils // 50 mini_bus= (pupils % 50) // 12 print ('bus=', bus) print ('mini_bus=', mini_bus) |
تمرين 16:
כתוב קטע
תוכנית המדמה בנקט. קטע התוכנית קולט סכום כסף (חייב להתחלק ב- 50). לבסוף
הקטע תוכנית תדפיס: כמה שטרות 200 ₪ דרושים, כמה שטרות 100 ₪ דרושים ולבסוף כמה
שטרות של 50 ₪ דרושים. על קטע התוכנית לחשב את הכמות המינימלי של שטרות!
تمرين 17
(מיכאל צ'רנובילסקי, חוברת
תרגילים, שאלה 7)
أكتب
برنامج
يستقبل رقم
هوية (عدد من 9
منازل)، ويطبع
كمخرج التالي:
·
العدد
(الذي قرأناه).
· أرقامه،
كل رقم على
حدة (مستقل).
· جمع
منازله.
· الباقي
من قسمة جمع
منازلة على 10
(أستعن بـــ %)
الحل: هذا
المقطع يعيد
نفسه 9 مرات. |
tz = 123456789 s = 0 d = tz % 10 s = s + d print (d1) tz= tz // 10 ... |
Daliaty School – Copywrite 2023
wahbem@gmail.com | https://daliaty.com
<meta name="viewport" content="width=device-width,
initial-scale=1">