image001

صفحة البيت  |                  מס טלפון 04 – 6046227   | מס' פקס 04 – 8303539

 

  

 

 

מבוא לסייבר באמצעות שפת Python

מבוא לאלגוריתמיקה באמצעות שפת Python – חלק ב

--------------------------------------------------------------------------------------------------------------------

يوم دراسي، 2019 – 2018، صف تاسع

מצגת מיום עיון, 2018-2019, כיתה ט

 

 

 

שאלת חזרה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 1)

 

معطى قائمة التي تمثل معطيات الأمطار بالنسبة لكل يوم في شهر يناير في مدينة رعنانا.

عناصر القائمة تم بناءها (אותחלו) بالشكل التالي:

رقم اليوم في الشهر، كمية الأمطار بالملم:

monthly_rain = [[1, 30], [2, 5], [3, 0], [4, 0], [5, 22], …]

 

أمامك مقطع كود الذي يمر على القائمة montly_rain ويطبع:

أ‌)       رقم اليوم الذي به كانت كمية الأمطار هي الأكبر (מקסימלי)

ب‌)معدل كمية الأمطار في الشهر (الشهرية).

ت‌) كمية الأيام في الشهر التي لم تهطل بها أمطار

 

def winter_rain():

  monthly_rain = [[1, 30],[2, 5],[3, 0],[4, 0],[5, 22]]

  max_day = 1

  no_rain = 0

  rain_avg = 0.0

  for day in monthly_rain:

      rain_avg += day[1]

      if day[1] > monthly_rain[max_day - 1][1]:

          max_day = day[0]

      if day[1] == 0:

          no_rain += 1

  print "Average rain in the month is", rain_avg / len(monthly_rain)

  print "Most rainy day in month is ", max_day

  print "Number of non-rainy days in month is ", no_rain

 

winter_rain()

 

 

  

 

 

שאלת חזרה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 2)

 

عليك كتابة عملية التي تستقبل قائمة، أعطى للعملية الاسمcount_num ،

على العملية أن تبني قائمة جديدة التي تحتوي على كمية المرات التي بها ظهر كل عنصر في القائمة بالشكل التالي:

يظهر العنصر الذي يُفحص، وبعده كمية المرات التي هو ظهر فيها.

يجب الانتباه أن كل عدد يظهر مرة واحدة فقط.

مثال:

القائمة الأصلية:

lst = ['L', 'A', 'C', 'A', 'C', 'D', 'C', 'A', 'C', 'D', 'E']

القائمة الجديدة: 

new_lst = ['A', 3, 'C', 4, 'E', 1, 'L', 1, 'D', 2]

 

الحل:

def count_numm():

  new_lst = []

  lst1=['L','A','C','A','C','D','C','A','C','D','E']

  set_lst = list(set(lst1))

  for i in set_lst:

    new_lst.append(i)

    new_lst.append(lst1.count(i))

  print new_lst

 

count_numm()

 

 

  

 

 

שאלת חזרה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 3)

 

عليك كتابة عملية باسم sort_list،  التي تأخذ 2 قوائم غير مصنفة

ومزجهما إلى قائمة واحدة مرتبة (مصنفة، ממוינת)،

يجب التأكد من أن القيم لا تتكرر عدد من المرات.

 

الحل:

def sort_list(l1,l2):

  new_list = list(set(l1 + l2))

  new_list.sort()

  return new_list

 

 

 

  

 

 

שאלת חזרה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 9)

 

أمامكم دالة باسم func

التي تأخذ 2 بارامترات: a وb:

 

 

def func (a, b):

  x = 0

  for item in range(a,50,b):

    print item,

    x += item

  return x

 

أ.  ما هي قيمة المتغير x عند انتهاء تشغيل مقطع الكود ?     300      

func (3, 4)

 

ب. ما هي القيمة التي ترجعها العملية عند انتهاء تشغيل مقطع الكود ؟     115

func (3, 10)

 

ج) ماذا يمثل المتغير a في الدالة؟ ماذا يمثل المتغير b? (سؤال متعدد الاجابات)

 

 

 

  

 

 

רשימות – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 1)

 

 

أمامكم مقطع كود:

ماذا سوف يطبع عند انتهاء تشغيله ؟  

يجب التدقيق وعرض أعضاء (عناصر) القائمة حسب ترتيب طباعتهم.

 

الحل:

   1

   2

   3

   4

 

numbers = [3,5,6,9,40,12]

for num in numbers:

  if num % 3 == 0:

    print(num//3)

  

 

 

  

  

 

 

מחרוזת ורשימה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 1)

 

ما هو المخرج الذي سوف يُعرض؟

s = "_"

seq = ["a","b","c"]

print s.join(seq)

المخرج:

 a_b_c

 

 

 

  

 

 

שאלה אמריקאית – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 1)

 

 

أمامكم مقطع كود:

تذكر:  [start: end: jump]

my_str = "american"

print list(my_str[:5:2])

 

 

ماذا سيطبع بعد تنفيذه ?

1.   [‘a’, ‘e’]

2.   [‘a’, ‘e’, ‘i’]

3.   [‘m’, ‘r’, ‘a’]

4.   [‘c’, ‘r’]

5.   [‘c’, ‘r’, ‘m’]

6.   ستطبع رسالة خطأ

 

 

0

1

2

3

4

5

6

7

a

m

e

r

i

c

a

N

 

 

الحل:

سوف تطبع القائمة  ['a', 'e', 'i',]  

    תוצאת תמונה עבור ‪JUMPING TRANSPARENT‬‏

 

 

 

  

 

 

 (מצגת מיום עיון, 2018-2019, כיתה ט, בוא אליי פרפר נחמד)

 

أمامكم دالة:

 

def butterfly(x):

    return "".join(x)

أي من التالي (المناداة للدالة) ترجع لنا النص פרפר ?

أشيروا إلى الإجابات الصحيحة.

 

الحل:

جميع الإجابات صحيحة

 

1. butterfly("פרפר")

2. butterfly(" פ ר פ ר ")

3. butterfly(["פ", "ר", "פ", "ר"])

4. butterfly(["פר"] * 2)

5. butterfly("רפרפ"[ : :-1])

6. butterfly(["רפ", "רפ"].reverse())

7. جميع الإجابات صحيحة

 

ملاحظات: نتذكر بعض العمليات التي تتعلق بالتمرين:

تحول قائمة lst (أو سلسلة-نص)، وتعيدها كسلسلة-نص جديد مكون من نفس عناصر القائمة.

st1="".join("abc") ==> abc

st2="".join(["a","b","c"]) ==> abc

st1 = "".join(lst)

ترتيب (تصنيف) عناصر القائمة بشكل عكسي.

lst = ['a','b','c']

lst.reverse()

print lst ==> ['c','b','a']  

 

lst.reverse()

  

 

  

 

 

 

שאלת חזרה – אופס, נמחק לי  (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 11)

 

شخص ما حذف بالخطأ السطر الأول من مقطع الكود التالي:

 

find_me = [1,4,5,7,9,8,10]

 

for i in range(len(find_me)):

  if i % 3 == 0:

    find_me[i] += 2

  elif find_me[i] >= 8 and find_me[i] < 9:

    find_me[i] = 4

    print "doing"

  elif 4 / find_me[i] == 1:

    find_me[i+3] += 1

 

print find_me

 

مهمتكم هي اكتشاف ما هي find_me الأصلية التي تم تعريفها في البرنامج ومساعدته بوضعها في البرنامج واكمال الكود.

أمامكم رمزان كمساعدة:

1.    معلوم أن البرنامج أشتغل وأنهى عمله بنجاح.

2.    مخرج البرنامج (قبل الحذف) هو:   

 

 

doing

[3, 4, 5, 9, 10, 4, 12]

פתרון :  

6

5

4

3

2

1

0

10

8

9

7

5

4

1

12

4

10

9

5

4

3

 

 

  

 

 

בסיסי ספירה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 1)

 

         كيف سيعرض العدد 16AD3، في الميزان العشري؟ ____________
عليك عرض مراحل الحل

 

         كيف سيعرض العدد العشري 42310 في الميزان 16 ? ___________
عليك عرض مراحل الحل

 

         ماذا يمكن القول عن الأعداد في الميزان 2 (בינאריים) المكونة من 4 منازل وما فوق ؟

1.   سيتم عرضهم في الميزان العشري بأقل من 8.

2.   سيتم عرضهم في الميزان العشري على الأقل 16.

3.   سيتم عرضهم في الميزان العشري على الأقل 8.

4.   لا يمكن المعرفة بتاتاً.

 

 

  

 

 

שאלת חזרה – (מצגת מיום עיון, 2018-2019, כיתה ט, שאלה 1)

 

امامكم مقطع كود:

ماذا سوف يطبع في نهاية تشغيله.

يجب التدقيق وعرض عناصر القائمة حسب ترتيب طباعتهم.

numbres = [0,0,0,0,0,0,0,0,0,0]

for index in range(len(numbres)//2):

  numbres[index*2] = index

print numbres

 

الحل: [0, 0, 1, 0, 2, 0, 3, 0, 4, 0]

 

 

 

  

 

 

 

 

 

https://sites.google.com/site/koftanhatav/_/rsrc/1424517650012/home/math1.png?height=241&width=320    

w4

 

  

 

 

مدرسة قفطان حلبي الإعداديةدالية الكرمل - Copywrite – 2020