כוחן של פעולות (Functions / Def)
צב על חלל (Turtle Graphics)
מחרוזות חתוכות (Strings)
לולאות משגעות (For & While)
מתמטיקה ושאריות (אופרטורים חשבוניים)
100

איזו מילה שמורה בפייתון מציינת

 שאנחנו מתחילים כעת להגדיר

?פעולה/פונקציה חדשה משלנו

המילה def

100

איזו פקודה מרימה את העט של הצב כך שהוא יוכל לזוז על המסך מבלי להשאיר אחריו קו?

penup() או up().

100

נתונה המחרוזת word = "Python". מה תדפיס הפקודה print(word[2])?

את האות 't' (כי הספירה מתחילה מהאינדקס 0).

100

איזו סוג לולאה מתאימה יותר כאשר אנו לא יודעים מראש כמה פעמים נרצה לבצע את קוד הלולאה (למשל: קליטת מספרים עד שייקלט מספר שלילי)?

לולאת תנאי - while.

100

?מה תדפיס הפקודה

print(15 % 4)

3

 (השארית של 15 לחלק ל-4)

200

?מהו התפקיד של הפקודה return בתוך פונקציה

להחזיר ערך מתוך הפונקציה חזרה 

אל התוכנית הראשית (או לקוד שקרא לה)

.ולסיים מיד את ריצת הפונקציה

200

מה ההבדל המרכזי בין הפקודה goto(x, y) לבין הפקודה forward(d)?

goto שולחת את הצב לקואורדינטה (מיקום) מדויקת ומוחלטת על המסך, ואילו forward מזיזה את הצב קדימה ביחס למיקום והכיוון הנוכחיים שלו.

200

כיצד ניתן למצוא את כמות התווים (האורך) של המחרוזת השמורה במשתנה name?

בעזרת הפונקציה len(name).

200

:נתונה הלולאה הבאה

for i in range(1, 10, 2):

?כמה פעמים בדיוק תרוץ הלולאה

5 פעמים

 (עבור הערכים: 1, 3, 5, 7, 9)

200

מה ההבדל בתוצאה בין אופרטור 

?החילוק / לבין אופרטור החילוק //

האופרטור / מבצע חילוק רגיל ומחזיר מספר עשרוני (float)

ואילו // מבצע חילוק שלם (חותך את השארית) 

ומחזיר מספר שלם (int)

300

בהגדרת הפונקציה :def calc_area(radius) 

איך נקרא המשתנה radius שנמצא

?בתוך הסוגריים ומקבל נתונים מבחוץ

פרמטר (או ארגומנט)

300

כתבנו לולאה שרצה 4 פעמים: for i in range(4):. בתוך הלולאה כתבנו: forward(100) ואז left(90). איזו צורה גיאומטרית יצייר הצב?

ריבוע.

300

מה יהיה הפלט של הפקודה הבאה? print("12" + "34")

"1234" (שרשור מחרוזות - חיבור של הטקסט, לא פעולה חשבונית של חיבור).

300

מה תהיה תוצאת הקוד הבא?
for i in range(4):

     print(i * "A")     

(שורה ריקה - 0 כפול A)

 A 

AA 

AAA

300

.קלטנו מספר תלת-ספרתי חיובי למשתנה num

איזה ביטוי מתמטי קצר יחזיר לנו 

?רק את ספרת העשרות שלו

(num // 10) % 10

400

בתוכנית הראשית יצרנו משתנה x = 10

בתוך פונקציה שמוגדרת למעלה, כתבנו x = 5

משום מה, כשהדפסנו את x בסוף התוכנית הראשית

?עדיין הודפס 10 ולא 5. מדוע זה קרה

מכיוון שהמשתנה x שנוצר בתוך הפונקציה

הוא משתנה מקומי (Local Variable)

שקיים רק בתוך הפונקציה ולא 

משפיע על המשתנה הגלובלי שבחוץ

400

אנו רוצים שהצב יצייר משושה משוכלל (6 צלעות) בעזרת לולאה. מה חייבת להיות זווית הסיבוב (בפקודת right או left) שהצב צריך לעשות בכל איטרציה?

60 מעלות. (הסבר: 360 מעלות חלקי 6 צלעות שווה 60).

400

נתונה המחרוזת s = "Hamburger". אנו רוצים לחתוך רק את המילה "burger". איזה ביטוי של חיתוך (Slicing) יחזיר לנו בדיוק את זה?

s[3:] או s[3:9].

400

נתון קטע הקוד:

 sum = 0 

i = 1 

while i < 5:

     sum = sum + i

     i = i + 2

מה יהיה ערכו הסופי של המשתנה sum בסיום התוכנית?

4. (הסבר: באיטרציה הראשונה i=1 ו-sum עולה ל-1. ה-i גדל ל-3. באיטרציה השנייה i=3 ו-sum עולה ל-4. ה-i גדל ל-5, והלולאה נעצרת).

400

נתונים המשתנים: a = 17 ו- b = 5. מה תהיה התוצאה של הביטוי הבא: (a % b) * (a // b)?

6. (הסבר: 17 מודולו 5 שווה 2. 17 חילוק שלם ב-5 שווה 3. ולכן 2 כפול 3 שווה 6).

500

:נתונה הפונקציה הבאה

:def mystery(num)

return num % 2 == 0     

מאיזה טיפוס נתונים (Data Type) יהיה הערך שיוחזר מפעולה זו, ומה המשמעות שלו?

הטיפוס שיוחזר יהיה בוליאני (Boolean). יוחזר True אם המספר שניתן לפונקציה הוא זוגי, ו-False אם הוא אי-זוגי. (הפונקציה בודקת תנאי ומחזירה ישירות את התשובה הבוליאנית שלו).

500

נתון קוד ובו size = 150, ולאחריו לולאה שרצה 3 פעמים ובתוכה הפקודות: forward(size), left(120) ולאחר מכן size = size - 50. מה הצב יצייר בפועל?

הוא יצייר ספירלה משולשת (או משולש שלא נסגר/משולשים הולכים וקטנים). (בכל פעם הצלע מתקצרת, לכן זה לא משולש שווה צלעות סגור, אלא קווים שנכנסים פנימה).

500

נתונה המחרוזת text = "Computer". מה תדפיס הפקודה: print(text[-1] + text[1:3])?

הפלט יהיה: "rom". (הסבר: text[-1] מחזיר את האות האחרונה 'r'. text[1:3] מחזיר את האותיות מאינדקס 1 עד 2, שזה 'om'. ביחד "rom").

500

תלמיד כתב לולאת while שאמורה להדפיס את כל המספרים הזוגיים מ-10 ועד 0 (כולל). הלולאה נראית כך: while num != 0:. לרוע המזל, הלולאה הפכה ל"לולאה אינסופית". מה הייתה כנראה פקודת העדכון (הקידום) שלו בתוך הלולאה שגרמה לזה?

הוא כנראה חיסר במספר אי-זוגי (למשל num = num - 3). כך המשתנה 'דילג' על ה-0 והמשיך למספרים שליליים עד אינסוף מבלי לעצור.

500

?מה יהיה הפלט של השורה הבאה

print( 10 % 2 + 5 // 2 * 2 ) 

(שימו לב לסדר פעולות חשבון!)

4

 (הסבר: 10 % 2 זה 0. 5 // 2 זה 2

לאחר מכן נכפול ב-2 ונקבל 4

נחבר 0+4 ונקבל 4)

M
e
n
u