SlideShare a Scribd company logo
1 of 187
Download to read offline
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬1
‫המשך‬ ‫תנאי‬ ‫משפטי‬
2017
Igor Kleiner
‫תנאי‬ ‫משפטי‬-‫המשך‬
‫שיעור‬2
•‫במצב‬ ‫התלויות‬ ‫החלטות‬ ‫הרבה‬ ‫מקבלים‬ ‫אנו‬ ‫יום‬ ‫כל‬
•‫מטריה‬ ‫אקח‬ ‫אני‬ ‫גשם‬ ‫יהי‬ ‫היום‬ ‫אם‬
•‫אותו‬ ‫אקח‬ ‫לא‬ ‫קשה‬ ‫קורס‬ ‫אם‬
•‫קבלה‬ ‫לשעות‬ ‫אלך‬ ‫בהרצאה‬ ‫חומר‬ ‫הבנתי‬ ‫לא‬ ‫אם‬
•‫אם‬...........‫אז‬..............‫או‬.............
‫שיעור‬3
•‫אם‬‫גשם‬ ‫יהי‬ ‫היום‬‫אז‬‫מטריה‬ ‫ניקח‬,‫אחרת‬‫לים‬ ‫נלך‬
If …… else …..
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_0.py
If …… else …..
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_0.py
If …… else ….. - scheme
• If <boolean expression>:
<statement>
…..
<statement>
---------------------------------------------------------------------------------------------------------
If <boolean expression>:
<statement>
…
else:
<statement>
…
If …… else ….. - scheme
• If <boolean expression>:
<statement>
…..
<statement>
---------------------------------------------------------------------------------------------------------
If <boolean expression>:
<statement>
…
else:
<statement>
…
‫בלוק‬
‫של‬
IF
‫בלוק‬
‫של‬
IF
‫בלוק‬
‫של‬
ELSE
‫לוגים‬ ‫אופרטורים‬logic operators
AND
OR
NOT
‫לוגים‬ ‫אופרטורים‬logic operators
AND
OR
NOT
‫לוגים‬ ‫אופרטורים‬logic operators
http://www.codeskulptor.org/#user42_tXLmQCmysv_0.py
‫לוגים‬ ‫אופרטורים‬logic operators
http://www.codeskulptor.org/#user42_tXLmQCmysv_0.py
‫לוגים‬ ‫אופרטורים‬:‫אמת‬ ‫טבלאות‬
A B A and B A or B Not A
3<1 (False) 2<1 (False) False False True
3<1 (False) 2>1(True) False True True
3>1(True) 2<1 (False) False True False
3>1(True) 2>1(True) True True False
‫מרובות‬ ‫השוואות‬
http://www.codeskulptor.org/#user42_tXLmQCmysv_6.py
‫מרובות‬ ‫השוואות‬
‫מרובות‬ ‫השוואות‬
‫פונקציית‬max()
http://www.codeskulptor.org/#user42_tXLmQCmysv_7.py
‫פונקציות‬‫שימושיות‬‫נוספו‬‫ת‬
‫מקוננים‬ ‫תנאים‬nested conditions /
‫מקוננים‬ ‫תנאים‬nested conditions /
•‫לפעמים‬,‫קוד‬ ‫לכתיבת‬ ‫עוזרים‬ ‫מקוונים‬ ‫תנאים‬
•‫התוכנה‬ ‫הבנת‬ ‫מסבך‬ ‫מקוונים‬ ‫בתנאים‬ ‫שימוש‬ ‫כלל‬ ‫בדרך‬ ‫אבל‬,‫לא‬ ‫מומלץ‬ ‫ולכן‬
‫צורך‬ ‫ללא‬ ‫בהם‬ ‫להשתמש‬
elseif
elseif
elseif
‫דוגמא‬
•‫שלו‬ ‫גיל‬ ‫ממשתמש‬ ‫שמקבלת‬ ‫תוכנה‬ ‫כתוב‬
•‫מדפיסה‬ ‫התוכנה‬ ‫אזי‬ ‫שלילי‬ ‫משתמש‬ ‫של‬ ‫הגיל‬ ‫אם‬"‫נולדת‬ ‫לא‬ ‫עדיין‬ ‫אתה‬"
•‫אחרת‬,‫גיל‬ ‫אם‬<120‫מדפיסה‬ ‫התוכנה‬"‫חיי‬ ‫אתה‬"
•‫אחרת‬,‫מדפיסה‬ ‫התוכנה‬"‫ערפד‬ ‫אתה‬"
• http://www.codeskulptor.org/#user42_Mdc0YeDHvk_2.py
‫דוגמא‬
‫דוגמא‬1
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_1.py
‫דוגמא‬2:‫של‬ ‫מיון‬2‫מספרים‬
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_2.py
‫דוגמא‬3:‫מיון‬3‫עולה‬ ‫בסדר‬ ‫מספרים‬
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_3.py
‫דוגמא‬3:‫מיון‬3‫עולה‬ ‫בסדר‬ ‫מספרים‬
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_3.py
‫יותר‬ ‫כמות‬ ‫עובר‬ ‫יעיל‬ ‫יהי‬ ‫לא‬ ‫מיון‬ ‫של‬ ‫כזה‬ ‫שמימוש‬ ‫ברור‬
‫מספרים‬ ‫של‬ ‫גדולה‬,‫השוואות‬ ‫המון‬ ‫לבצע‬ ‫ונצטרך‬ ‫היות‬
n!
‫דוגמא‬4
• http://www.codeskulptor.org/#user42_tV6aQ5IQ5Z_4.py
• Igor Kleiner (Hebrew version adaptation 2016,2017)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬2
‫אקראיים‬ ‫מספרים‬
2017
Igor Kleiner
‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫נרצה‬ ‫לפעמים‬
‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫נרצה‬ ‫לפעמים‬
•‫אקראיים‬ ‫במספרים‬ ‫רבים‬ ‫שימושים‬ ‫נלמד‬ ‫הקורס‬ ‫בהמשך‬
•‫בפייתון‬ ‫אקראי‬ ‫מספר‬ ‫לקבל‬ ‫אפשר‬ ‫איך‬ ‫נלמד‬ ‫היום‬
‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫נרצה‬ ‫לפעמים‬
•‫אקראיים‬ ‫במספרים‬ ‫רבים‬ ‫שימושים‬ ‫נלמד‬ ‫הקורס‬ ‫בהמשך‬
•‫בפייתון‬ ‫אקראי‬ ‫מספר‬ ‫לקבל‬ ‫אפשר‬ ‫איך‬ ‫נלמד‬ ‫היום‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫שמאפשרות‬ ‫פונקציות‬ ‫קיימות‬ ‫בפייתון‬,‫נמצא‬ ‫מהן‬ ‫חלק‬
‫בספריה‬random
• import random
‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫נרצה‬ ‫לפעמים‬
•‫אקראיים‬ ‫במספרים‬ ‫רבים‬ ‫שימושים‬ ‫נלמד‬ ‫הקורס‬ ‫בהמשך‬
•‫בפייתון‬ ‫אקראי‬ ‫מספר‬ ‫לקבל‬ ‫אפשר‬ ‫איך‬ ‫נלמד‬ ‫היום‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫שמאפשרות‬ ‫פונקציות‬ ‫קיימות‬ ‫בפייתון‬,‫נמצא‬ ‫מהן‬ ‫חלק‬
‫בספריה‬random
• import random
•‫פונקציה‬randint(a,b)‫בין‬ ‫אקראי‬ ‫שלם‬ ‫מספר‬ ‫מחזירה‬a‫ל‬-b(‫כולל‬)
http://www.codeskulptor.org/docs.html#random-random-int
‫אקראיים‬ ‫מספרים‬
• http://www.codeskulptor.org/#user42_zDmF32uf7T_0.py
‫אקראיים‬ ‫מספרים‬
• http://www.codeskulptor.org/#user42_zDmF32uf7T_0.py
‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫נרצה‬ ‫לפעמים‬
•‫אקראיים‬ ‫במספרים‬ ‫רבים‬ ‫שימושים‬ ‫נלמד‬ ‫הקורס‬ ‫בהמשך‬
•‫בפייתון‬ ‫אקראי‬ ‫מספר‬ ‫לקבל‬ ‫אפשר‬ ‫איך‬ ‫נלמד‬ ‫היום‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫שמאפשרות‬ ‫פונקציות‬ ‫קיימות‬ ‫בפייתון‬,‫נמצא‬ ‫מהן‬ ‫חלק‬
‫בספריה‬random
• import random
•‫פונקציה‬random()‫בקטע‬ ‫ממשי‬ ‫מספר‬ ‫מחזירה‬[0,1)
http://www.codeskulptor.org/docs.html#random-random
‫אקראיים‬ ‫מספרים‬
‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫נרצה‬ ‫לפעמים‬
•‫אקראיים‬ ‫במספרים‬ ‫רבים‬ ‫שימושים‬ ‫נלמד‬ ‫הקורס‬ ‫בהמשך‬
•‫בפייתון‬ ‫אקראי‬ ‫מספר‬ ‫לקבל‬ ‫אפשר‬ ‫איך‬ ‫נלמד‬ ‫היום‬
•‫אקראיים‬ ‫מספרים‬ ‫עם‬ ‫לעבוד‬ ‫שמאפשרות‬ ‫פונקציות‬ ‫קיימות‬ ‫בפייתון‬,‫נמצא‬ ‫מהן‬ ‫חלק‬
‫בספריה‬random
• import random
•‫פונקציה‬choice()‫רשימה‬ ‫מתוך‬ ‫אקראי‬ ‫איבר‬ ‫מחזירה‬
http://www.codeskulptor.org/docs.html#random-random
‫אקראיים‬ ‫מספרים‬
‫אקראיים‬ ‫מספרים‬
‫תרגיל‬‫קטן‬:‫התאמה‬ ‫לפי‬ ‫חבר‬
• random.choice((“H”,”T”))
• random.choice((1,2,3))
• random.random()
• rand.int(2,5)
•‫בין‬ ‫שלם‬ ‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬2‫ל‬-5(‫כולל‬)
•‫הוגן‬ ‫מטבע‬ ‫הטלת‬ ‫תוצאת‬ ‫מחזירה‬ ‫פונקציה‬
•‫בין‬ ‫בקטע‬ ‫ממשי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬0‫ל‬-1
•‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬1‫או‬2‫או‬3
‫קטן‬ ‫תרגיל‬:‫התאמה‬ ‫לפי‬ ‫חבר‬
• random.choice((“H”,”T”))
• random.choice((1,2,3))
• random.random()
• rand.int(2,5)
•‫בין‬ ‫שלם‬ ‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬2‫ל‬-5(‫כולל‬)
•‫הוגן‬ ‫מטבע‬ ‫הטלת‬ ‫תוצאת‬ ‫מחזירה‬ ‫פונקציה‬
•‫בין‬ ‫בקטע‬ ‫ממשי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬0‫ל‬-1
•‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬1‫או‬2‫או‬3
‫קטן‬ ‫תרגיל‬:‫התאמה‬ ‫לפי‬ ‫חבר‬
• random.choice((“H”,”T”))
• random.choice((1,2,3))
• random.random()
• rand.int(2,5)
•‫בין‬ ‫שלם‬ ‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬2‫ל‬-5(‫כולל‬)
•‫הוגן‬ ‫מטבע‬ ‫הטלת‬ ‫תוצאת‬ ‫מחזירה‬ ‫פונקציה‬
•‫בין‬ ‫בקטע‬ ‫ממשי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬0‫ל‬-1
•‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬1‫או‬2‫או‬3
‫קטן‬ ‫תרגיל‬:‫התאמה‬ ‫לפי‬ ‫חבר‬
• random.choice((“H”,”T”))
• random.choice((1,2,3))
• random.random()
• rand.int(2,5)
•‫בין‬ ‫שלם‬ ‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬2‫ל‬-5(‫כולל‬)
•‫הוגן‬ ‫מטבע‬ ‫הטלת‬ ‫תוצאת‬ ‫מחזירה‬ ‫פונקציה‬
•‫בין‬ ‫בקטע‬ ‫ממשי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬0‫ל‬-1
•‫אקראי‬ ‫מספר‬ ‫מחזירה‬ ‫פונקציה‬1‫או‬2‫או‬3
‫מסכם‬ ‫תרגיל‬ ‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫שלוש‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫שמחשבת‬ ‫תוכנה‬ ‫כתוב‬:
‫מסכם‬ ‫תרגיל‬ ‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫שלוש‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫שמחשבת‬ ‫תוכנה‬ ‫כתוב‬:
•‫א‬ ‫דרך‬:
http://www.codeskulptor.org/#user42_tXLmQCmysv_8.py
‫מסכם‬ ‫תרגיל‬ ‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫שלוש‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫שמחשבת‬ ‫תוכנה‬ ‫כתוב‬:
•‫א‬ ‫דרך‬:
http://www.codeskulptor.org/#user42_tXLmQCmysv_8.py
‫מסכם‬ ‫תרגיל‬ ‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫שלוש‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫שמחשבת‬ ‫תוכנה‬ ‫כתוב‬:
•‫א‬ ‫דרך‬:
•‫מספרים‬ ‫אותם‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫לנו‬ ‫שתדפיס‬ ‫כך‬ ‫התוכנה‬ ‫את‬ ‫לשנות‬ ‫נרצה‬ ‫כעת‬
‫מסכם‬ ‫תרגיל‬ ‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫שלוש‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫שמחשבת‬ ‫תוכנה‬ ‫כתוב‬:
•‫ב‬ ‫דרך‬:
•‫מספרים‬ ‫אותם‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫לנו‬ ‫שתדפיס‬ ‫כך‬ ‫התוכנה‬ ‫את‬ ‫לשנות‬ ‫נרצה‬ ‫כעת‬
‫מסכם‬ ‫תרגיל‬ ‫אקראיים‬ ‫מספרים‬
•‫אקראיים‬ ‫מספרים‬ ‫שלוש‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫שמחשבת‬ ‫תוכנה‬ ‫כתוב‬:
•‫ב‬ ‫דרך‬:
•‫מספרים‬ ‫אותם‬ ‫של‬ ‫ומכפלה‬ ‫סכום‬ ‫לנו‬ ‫שתדפיס‬ ‫כך‬ ‫התוכנה‬ ‫את‬ ‫לשנות‬ ‫נרצה‬ ‫כעת‬
‫דוגמא‬:‫של‬ ‫ומכפלה‬ ‫סכום‬3‫אקראיים‬ ‫מספרים‬:‫ג‬ ‫דרך‬'
• http://www.codeskulptor.org/#user42_zDmF32uf7T_1.py
• Igor Kleiner (Hebrew version adaptation 2016,2017)
http://www.codeskulptor.org/#user42_qo4BVGc0i6_4.py
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬4
‫תכנות‬ ‫שפות‬ ‫בין‬ ‫דמיון‬
2017
Igor Kleiner
‫ריבועית‬ ‫משוואה‬ ‫פתרון‬
•‫ריבועיות‬ ‫משוואות‬ ‫שפותרת‬ ‫תוכנה‬ ‫ראינו‬
‫ריבועית‬ ‫משוואה‬ ‫פתרון‬
•‫ריבועיות‬ ‫משוואות‬ ‫שפותרת‬ ‫תוכנה‬ ‫ראינו‬
•‫ב‬ ‫לתוכנה‬ ‫אותה‬ ‫נשווה‬-R
‫ריבועית‬ ‫משוואה‬ ‫פתרון‬
•‫ריבועיות‬ ‫משוואות‬ ‫שפותרת‬ ‫תוכנה‬ ‫ראינו‬
•‫ב‬ ‫לתוכנה‬ ‫אותה‬ ‫נשווה‬-R
‫ריבועית‬ ‫משוואה‬ ‫פתרון‬
•‫ריבועיות‬ ‫משוואות‬ ‫שפותרת‬ ‫תוכנה‬ ‫ראינו‬
•‫ב‬ ‫לתוכנה‬ ‫אותה‬ ‫נשווה‬-Matlab
‫ריבועית‬ ‫משוואה‬ ‫פתרון‬
•‫ריבועיות‬ ‫משוואות‬ ‫שפותרת‬ ‫תוכנה‬ ‫ראינו‬
•‫ב‬ ‫לתוכנה‬ ‫אותה‬ ‫נשווה‬-Assembly
‫מסכנות‬
•‫אחרות‬ ‫תכנות‬ ‫בשפות‬ ‫הכתובות‬ ‫התוכנות‬ ‫את‬ ‫להבין‬ ‫לעזור‬ ‫יכול‬ ‫בפייתון‬ ‫ידע‬
•‫תנאי‬ ‫משפטי‬,‫השמות‬,‫אחרות‬ ‫תכנות‬ ‫בפשות‬ ‫קיימים‬ ‫שלמדנו‬ ‫אחרים‬ ‫ומושגים‬ ‫ביטוים‬
•‫הבדלים‬ ‫גם‬ ‫יש‬ ‫כמובן‬
• Igor Kleiner (Hebrew version adaptation 2016,2017)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬5
‫לולאת‬while
2017
Igor Kleiner
‫כפל‬ ‫טבלת‬
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
‫כפל‬ ‫טבלת‬
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
‫כפל‬ ‫טבלת‬
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
•‫בעיה‬:
•‫ב‬ ‫כפל‬ ‫טבלת‬ ‫לבנות‬ ‫נצטרך‬ ‫אם‬ ‫מה‬-5‫מ‬ ‫מספרים‬ ‫עבור‬-1‫עד‬1000?
•‫שורה‬ ‫אותה‬ ‫כמעט‬ ‫נכתוב‬1000‫פעמים‬?
•‫קשה‬,‫מעייף‬,‫טעות‬ ‫לעשות‬ ‫קל‬
•‫פתרון‬:
‫כפל‬ ‫טבלת‬
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
•‫בעיה‬:
•‫ב‬ ‫כפל‬ ‫טבלת‬ ‫לבנות‬ ‫נצטרך‬ ‫אם‬ ‫מה‬-5‫מ‬ ‫מספרים‬ ‫עבור‬-1‫עד‬1000?
•‫שורה‬ ‫אותה‬ ‫כמעט‬ ‫נכתוב‬1000‫פעמים‬?
•‫קשה‬,‫מעייף‬,‫טעות‬ ‫לעשות‬ ‫קל‬
•‫פתרון‬:
•‫פעמים‬ ‫מספר‬ ‫חוזרות‬ ‫פעולות‬ ‫לעשות‬ ‫שמאפשר‬ ‫מנגנון‬
‫כפל‬ ‫טבלת‬
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
•‫בעיה‬:
•‫ב‬ ‫כפל‬ ‫טבלת‬ ‫לבנות‬ ‫נצטרך‬ ‫אם‬ ‫מה‬-5‫מ‬ ‫מספרים‬ ‫עבור‬-1‫עד‬1000?
•‫שורה‬ ‫אותה‬ ‫כמעט‬ ‫נכתוב‬1000‫פעמים‬?
•‫קשה‬,‫מעייף‬,‫טעות‬ ‫לעשות‬ ‫קל‬
•‫פתרון‬:
•‫פעמים‬ ‫מספר‬ ‫חוזרות‬ ‫פעולות‬ ‫לעשות‬ ‫שמאפשר‬ ‫מנגנון‬
•‫נשתמש‬ ‫בפייתון‬‫בלולאות‬‫דומות‬ ‫פעולות‬ ‫סידרת‬ ‫לבצע‬ ‫נרצה‬ ‫כאשר‬
‫לולאה‬while -
•‫נשתמש‬ ‫בפייתון‬‫בלולאות‬‫דומות‬ ‫פעולות‬ ‫סידרת‬ ‫לבצע‬ ‫נרצה‬ ‫כאשר‬
•‫לולאה‬ ‫לבצע‬ ‫דרכים‬ ‫כמה‬ ‫קיימות‬ ‫בפייתון‬
•‫לולאת‬ ‫נלמד‬ ‫היום‬while
‫לולאת‬ ‫היא‬ ‫מה‬while?
•‫מטאפורה‬:‫במבה‬ ‫שקית‬ ‫עם‬ ‫אדם‬ ‫בן‬
•‫יש‬ ‫בשקית‬40‫במבה‬ ‫יחידות‬,‫אותה‬ ‫לאכול‬ ‫ורוצה‬ ‫במבה‬ ‫מוציא‬ ‫אדם‬ ‫הבן‬
•‫בלולאת‬ ‫נמצא‬ ‫היא‬ ‫כאילו‬ ‫אדם‬ ‫בן‬ ‫על‬ ‫להסתכל‬ ‫אשפר‬while
1. number of bambas = 40
2. while number of bambas >0
3. take one bamba
4. eat bamba
5. go to step 2
6. put the empty bag away
‫לולאת‬ ‫היא‬ ‫מה‬while?
•‫מטאפורה‬:‫במבה‬ ‫שקית‬ ‫עם‬ ‫אדם‬ ‫בן‬:
•‫יש‬ ‫בשקית‬40‫במבה‬ ‫יחידות‬,‫בלולאת‬ ‫נמצא‬ ‫אותה‬ ‫לאכול‬ ‫ורוצה‬ ‫במבה‬ ‫שאוהב‬ ‫אדם‬ ‫בן‬while
1. number of bambas = 40
2. while number of bambas >0:
3. take one bamba
4. eat bamba
5. go to step 2
6. put the empty bag away
Python while loop
• while expression:
• statement
• statement
• statement
• print “not inside while”
•‫לולאת‬while‫שלה‬ ‫ביטוי‬ ‫של‬ ‫שתנאי‬ ‫עד‬ ‫מתבצעת‬‫ערך‬ ‫בעל‬True
‫בלוק‬
‫של‬
WHILE
‫לולאת‬ ‫היא‬ ‫מה‬while?
•‫מטאפורה‬:‫במבה‬ ‫שקית‬ ‫עם‬ ‫אדם‬ ‫בן‬
•‫יש‬ ‫בשקית‬40‫במבה‬ ‫יחידות‬,‫בלולאת‬ ‫נמצא‬ ‫אותה‬ ‫לאכול‬ ‫ורוצה‬ ‫במבה‬ ‫שאוהב‬ ‫אדם‬ ‫בן‬while
1. number of bambas = 40
2. while number of bambas >0:
3. take one bamba
4. eat bamba
5. go to step 2
6. put the empty bag away
‫לולאת‬ ‫היא‬ ‫מה‬while?
•‫מטאפורה‬:‫במבה‬ ‫שקית‬ ‫עם‬ ‫אדם‬ ‫בן‬
•‫יש‬ ‫בשקית‬40‫במבה‬ ‫יחידות‬,‫בלולאת‬ ‫נמצא‬ ‫אותה‬ ‫לאכול‬ ‫ורוצה‬ ‫במבה‬ ‫שאוהב‬ ‫אדם‬ ‫בן‬while
• http://www.codeskulptor.org/#user42_W4G04OOmnx_0.py
1. number of bambas = 40
2. while number of bambas >0:
3. take one bamba
4. eat bamba
5. go to step 2
6. put the empty bag away
algorithm
program
‫דוגמא‬1:‫בלולאות‬ ‫שימוש‬
•‫שאלה‬:‫מ‬ ‫המספרים‬ ‫כל‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-1‫עד‬10
‫דוגמא‬1:‫בלולאות‬ ‫שימוש‬
•‫שאלה‬:‫תוכנה‬ ‫כתוב‬‫שמדפיסה‬‫מ‬ ‫המספרים‬ ‫כל‬-1‫עד‬10
http://www.codeskulptor.org/#user43_uHfDy2ZX8F_0.py
‫דוגמא‬1:‫בלולאות‬ ‫שימוש‬
•‫שאלה‬:‫מ‬ ‫המספרים‬ ‫כל‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-1‫עד‬10
http://www.codeskulptor.org/#user43_uHfDy2ZX8F_1.py
‫דוגמא‬1:‫בלולאות‬ ‫שימוש‬
•‫שאלה‬:‫מ‬ ‫המספרים‬ ‫כל‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-1‫עד‬10
http://www.codeskulptor.org/#user43_uHfDy2ZX8F_2.py
‫כפל‬ ‫טבלת‬-‫גרסה‬2
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
‫כפל‬ ‫טבלת‬-‫גרסה‬2
•‫שאלה‬:‫ב‬ ‫כפל‬ ‫טבלת‬ ‫שמדפיסה‬ ‫תוכנה‬ ‫כתוב‬-5
• http://www.codeskulptor.org/#user42_c91Y741b04_0.py
Visualization in CodeSculptor
Visualization in CodeSculptor
•‫להיעזר‬ ‫אפשר‬ ‫בקוד‬ ‫טעויות‬ ‫לחפש‬ ‫כדי‬ ‫או‬ ‫שכתבנו‬ ‫תוכנה‬ ‫טוב‬ ‫יותר‬ ‫להבין‬ ‫כדי‬
‫של‬ ‫ויזואליזציה‬ ‫במנגנון‬CodeSculptor‫מחשב‬ ‫של‬ ‫בזיכרון‬ ‫להסתכל‬ ‫המאפשר‬
‫קוד‬ ‫של‬ ‫ריצה‬ ‫בזמן‬,‫אחר‬ ‫באופן‬ ‫או‬ ‫שורה‬ ‫שורה‬ ‫הקוד‬ ‫את‬ ‫מריצים‬ ‫כאשר‬
Visualization
Visualization
Visualization
Visualization
Visualization
Visualization
Visualization
Visualization
Visualization
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫ביטוי‬ ‫של‬ ‫ערך‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while‫יהי‬ ‫תמיד‬True?
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫ביטוי‬ ‫של‬ ‫ערך‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while‫יהי‬ ‫תמיד‬True?
•‫תעצור‬ ‫לא‬ ‫תוכנה‬,‫בכוח‬ ‫אותה‬ ‫לעצור‬ ‫נצטרך‬!
•‫ב‬CodeSculptor-‫אוטומטי‬ ‫באופן‬ ‫ותעצור‬ ‫לנצח‬ ‫תרוץ‬ ‫לא‬ ‫התוכנה‬
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫ביטוי‬ ‫של‬ ‫ערך‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while‫יהי‬ ‫תמיד‬False?
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫ביטוי‬ ‫של‬ ‫ערך‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while‫יהי‬ ‫תמיד‬False?
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫בביטוי‬ ‫משתמשים‬ ‫שבו‬ ‫משתנה‬ ‫להגדיר‬ ‫נשכח‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫בביטוי‬ ‫משתמשים‬ ‫שבו‬ ‫משתנה‬ ‫להגדיר‬ ‫נשכח‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫בביטוי‬ ‫משתמשים‬ ‫שבו‬ ‫משתנה‬ ‫להגדיר‬ ‫נשכח‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while
• Igor Kleiner (Hebrew version adaptation 2016,2017)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬6
‫שורש‬ ‫חישוב‬
2017
Igor Kleiner
‫השיעור‬ ‫של‬ ‫מטרה‬
•‫בפייתון‬ ‫אותו‬ ‫ונממש‬ ‫ממספר‬ ‫שורש‬ ‫לחישוב‬ ‫ידוע‬ ‫אלגוריתם‬ ‫ניקח‬ ‫זה‬ ‫בשיעור‬
•‫לדעת‬ ‫עמור‬ ‫טוב‬ ‫מתכנת‬"‫לתרגם‬"‫לקוד‬ ‫אלגוריתם‬
‫ממשי‬ ‫ממספר‬ ‫שורש‬ ‫חישוב‬
•‫מטרה‬:‫ממשי‬ ‫ממספר‬ ‫שורש‬ ‫שמחשבת‬ ‫תוכנה‬ ‫לכתוב‬
‫ממשי‬ ‫ממספר‬ ‫שורש‬ ‫חישוב‬
•‫מטרה‬:‫ממשי‬ ‫ממספר‬ ‫שורש‬ ‫שמחשבת‬ ‫תוכנה‬ ‫לכתוב‬
•‫שורש‬ ‫לחישוב‬ ‫הקיימים‬ ‫מהאלגוריתמים‬ ‫באחד‬ ‫נעזר‬ ‫אנו‬ ‫שורש‬ ‫לחשב‬ ‫כדי‬
‫ממשי‬ ‫ממספר‬ ‫שורש‬ ‫חישוב‬
•‫מטרה‬:‫ממשי‬ ‫ממספר‬ ‫שורש‬ ‫שמחשבת‬ ‫תוכנה‬ ‫לכתוב‬
•‫שורש‬ ‫לחישוב‬ ‫הקיימים‬ ‫מהאלגוריתמים‬ ‫באחד‬ ‫נעזר‬ ‫אנו‬ ‫שורש‬ ‫לחשב‬ ‫כדי‬
• Babylonian Method
en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method
Algorithm of Babylonian Method
1. Given input X
2. Y = some initial guess for square root of X
3. Calculate Z=|Y^2-X|
4. while (Z is not small enough)
5. Y=(Y+X/Y)/2
6. Z=|Y^2-X|
7. print Y
‫בשיטה‬ ‫לשימוש‬ ‫הדגמה‬
• X=100, Y=1, eps=0.01
• Z=abs(Y^2-100)=99 > eps
• Y=(1+100/1)/2=50.5 Z=2450>eps
• Y=(50.5+100/50.5)/2=26.24 Z=588>eps
• Y=15.025 Z=125.76
• Y=10.84 Z=17.515
• Y=10.03 Z=0.65
• Y=10.00005 Z=0.001056<eps
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
• http://www.codeskulptor.org/#user42_8QlK9bVtEO_0.py
1. Given input X
2. Y = some initial guess for
square root of X
3. Calculate Z=|Y^2-X|
4. while (Z is not small enough)
5. Y=(Y+X/Y)/2
6. Z=|Y^2-X|
7. print Y
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
• http://www.codeskulptor.org/#user42_8QlK9bVtEO_0.py
1. Given input X
2. Y = some initial guess for
square root of X
3. Calculate Z=|Y^2-X|
4. while (Z is not small enough)
5. Y=(Y+X/Y)/2
6. Z=|Y^2-X|
7. print Y
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
• http://www.codeskulptor.org/#user42_8QlK9bVtEO_8.py
1. Given input X
2. Y = some initial guess for
square root of X
3. Calculate Z=|Y^2-X|
4. while (Z is not small enough)
5. Y=(Y+X/Y)/2
6. Z=|Y^2-X|
7. print Y
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
• http://www.codeskulptor.org/#user42_8QlK9bVtEO_8.py
1. Given input X
2. Y = some initial guess for
square root of X
3. Calculate Z=|Y^2-X|
4. while (Z is not small enough)
5. Y=(Y+X/Y)/2
6. Z=|Y^2-X|
7. print Y
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
• http://www.codeskulptor.org/#user42_8QlK9bVtEO_8.py
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
•‫חשובות‬ ‫שאלות‬:
•‫נכון‬ ‫האלגוריתם‬ ‫האם‬?
•‫יעיל‬ ‫האלגוריתם‬ ‫האם‬(‫מהיר‬)?
•‫אלגוריתם‬ ‫של‬ ‫נכונות‬ ‫לבדוק‬ ‫איך‬?
•‫שורש‬ ‫לחישוב‬ ‫שונים‬ ‫אלגוריתמים‬ ‫בין‬ ‫להשוות‬ ‫איך‬?
•‫להשתמש‬ ‫אלגוריתם‬ ‫באיזה‬?
•‫אלגוריתם‬ ‫כותבים‬ ‫איך‬?
•....
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
•‫חשובות‬ ‫שאלות‬:
•‫נכון‬ ‫האלגוריתם‬ ‫האם‬?
•‫יעיל‬ ‫האלגוריתם‬ ‫האם‬(‫מהיר‬)?
•‫אלגוריתם‬ ‫של‬ ‫נכונות‬ ‫לבדוק‬ ‫איך‬?
•‫שורש‬ ‫לחישוב‬ ‫שונים‬ ‫אלגוריתמים‬ ‫בין‬ ‫להשוות‬ ‫איך‬?
•‫להשתמש‬ ‫אלגוריתם‬ ‫באיזה‬?
•‫אלגוריתם‬ ‫כותבים‬ ‫איך‬?
•....
•‫תשובות‬:
•‫אלגוריתמים‬ ‫קורס‬
• Igor Kleiner (Hebrew version adaptation 2016,2017)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬7
visualization
2017
Igor Kleiner
Visualization
•‫ב‬-CodeSculptor‫את‬ ‫מבצע‬ ‫הוא‬ ‫כאשר‬ ‫עובד‬ ‫מחשב‬ ‫איך‬ ‫לראות‬ ‫אפשרות‬ ‫קיימת‬
‫שלנו‬ ‫התוכנה‬
•‫בעזרת‬Visualization‫זיכרון‬ ‫של‬ ‫מצב‬ ‫את‬ ‫לראות‬ ‫נוכל‬‫תוכנה‬ ‫ביצוע‬ ‫בעת‬:
•‫לראות‬ ‫אפשר‬:‫משתנים‬,‫פונקציות‬,‫וכו‬ ‫שמות‬ ‫מרחבי‬'
Visualization
•‫ב‬-CodeSculptor‫את‬ ‫מבצע‬ ‫הוא‬ ‫כאשר‬ ‫עובד‬ ‫מחשב‬ ‫איך‬ ‫לראות‬ ‫אפשרות‬ ‫קיימת‬
‫שלנו‬ ‫התוכנה‬
•‫בעזרת‬Visualization‫זיכרון‬ ‫של‬ ‫מצב‬ ‫את‬ ‫לראות‬ ‫נוכל‬‫תוכנה‬ ‫ביצוע‬ ‫בעת‬:
•‫לראות‬ ‫אפשר‬:‫משתנים‬,‫פונקציות‬,‫וכו‬ ‫שמות‬ ‫מרחבי‬'
•Visualization‫התוכנה‬ ‫עובדת‬ ‫איך‬ ‫טוב‬ ‫יותר‬ ‫להבין‬ ‫עוזרת‬
•‫בנוסף‬Visualization‫בגים‬ ‫לחפש‬ ‫עוזרת‬(‫בתוכנה‬ ‫טעיות‬)‫שכתבנו‬
Visualization
•‫ב‬-CodeSculptor‫את‬ ‫מבצע‬ ‫הוא‬ ‫כאשר‬ ‫עובד‬ ‫מחשב‬ ‫איך‬ ‫לראות‬ ‫אפשרות‬ ‫קיימת‬
‫שלנו‬ ‫התוכנה‬
•‫בעזרת‬Visualization‫זיכרון‬ ‫של‬ ‫מצב‬ ‫את‬ ‫לראות‬ ‫נוכל‬‫תוכנה‬ ‫ביצוע‬ ‫בעת‬:
•‫לראות‬ ‫אפשר‬:‫משתנים‬,‫פונקציות‬,‫וכו‬ ‫שמות‬ ‫מרחבי‬'
•Visualization‫התוכנה‬ ‫עובדת‬ ‫איך‬ ‫טוב‬ ‫יותר‬ ‫להבין‬ ‫עוזרת‬
•‫בנוסף‬Visualization‫בגים‬ ‫לחפש‬ ‫עוזרת‬(‫בתוכנה‬ ‫טעיות‬)‫שכתבנו‬
•‫ב‬ ‫להשתמש‬ ‫איך‬ ‫נלמד‬ ‫היום‬-Visualization
Visualization
•‫ב‬-CodeSculptor‫את‬ ‫מבצע‬ ‫הוא‬ ‫כאשר‬ ‫עובד‬ ‫מחשב‬ ‫איך‬ ‫לראות‬ ‫אפשרות‬ ‫קיימת‬
‫שלנו‬ ‫התוכנה‬
•‫בעזרת‬Visualization‫זיכרון‬ ‫של‬ ‫מצב‬ ‫את‬ ‫לראות‬ ‫נוכל‬‫תוכנה‬ ‫ביצוע‬ ‫בעת‬:
•‫לראות‬ ‫אפשר‬:‫משתנים‬,‫פונקציות‬,‫וכו‬ ‫שמות‬ ‫מרחבי‬'
•Visualization‫התוכנה‬ ‫עובדת‬ ‫איך‬ ‫טוב‬ ‫יותר‬ ‫להבין‬ ‫עוזר‬
•‫בנוסף‬Visualization‫בגים‬ ‫לחפש‬ ‫עוזרת‬(‫בתוכנה‬ ‫טעיות‬)‫שכתבנו‬
•‫ב‬ ‫להשתמש‬ ‫איך‬ ‫נלמד‬ ‫היום‬-Visualization‫ב‬-CodeSculptor
•‫חשובה‬ ‫הערה‬:‫ב‬ ‫תוכנה‬ ‫לפתח‬ ‫כדאי‬ ‫לא‬-Visualization‫הביצועים‬ ‫את‬ ‫להאט‬ ‫יכול‬ ‫זה‬ ‫כי‬
• Igor Kleiner (Hebrew version adaptation 2016,2017)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שבוע‬3‫חלק‬8
‫שארית‬‫חלוקה‬
2017
Igor Kleiner
‫חלוקה‬ ‫שארית‬
•‫בשני‬ ‫אחד‬ ‫מספר‬ ‫של‬ ‫חלוקה‬ ‫שארית‬ ‫לחשב‬ ‫איך‬ ‫נלמד‬ ‫היום‬
‫חלוקה‬ ‫שארית‬
•‫שלם‬ ‫מספר‬ ‫חלוקה‬ ‫שארית‬ ‫לדעת‬ ‫רוצים‬ ‫אנו‬ ‫אם‬A‫שלם‬ ‫במספר‬B‫אפשר‬ ‫אזי‬
‫באופרטור‬ ‫להשתמש‬%
‫חלוקה‬ ‫שארית‬
•‫שלם‬ ‫מספר‬ ‫חלוקה‬ ‫שארית‬ ‫לדעת‬ ‫רוצים‬ ‫אנו‬ ‫אם‬A‫שלם‬ ‫במספר‬B‫אפשר‬ ‫אזי‬
‫באופרטור‬ ‫להשתמש‬%
•‫הגדרה‬:‫שלם‬ ‫שמספר‬ ‫נאמר‬A‫ב‬ ‫מתחלק‬-B‫חלוקה‬ ‫שארית‬ ‫אם‬A‫ב‬-B‫ל‬ ‫שווה‬-0
‫חלוקה‬ ‫שארית‬
•‫שלם‬ ‫מספר‬ ‫חלוקה‬ ‫שארית‬ ‫לדעת‬ ‫רוצים‬ ‫אנו‬ ‫אם‬A‫שלם‬ ‫במספר‬B‫אפשר‬ ‫אזי‬
‫באופרטור‬ ‫להשתמש‬%
•‫הגדרה‬:‫שלם‬ ‫שמספר‬ ‫נאמר‬A‫ב‬ ‫מתחלק‬-B‫חלוקה‬ ‫שארית‬ ‫אם‬A‫ב‬-B‫ל‬ ‫שווה‬-0
•‫האם‬ ‫בפייתון‬ ‫נבדוק‬ ‫איך‬A‫ב‬ ‫מתחלק‬-B?
‫חלוקה‬ ‫שארית‬
•‫שלם‬ ‫מספר‬ ‫חלוקה‬ ‫שארית‬ ‫לדעת‬ ‫רוצים‬ ‫אנו‬ ‫אם‬A‫שלם‬ ‫במספר‬B‫אפשר‬ ‫אזי‬
‫באופרטור‬ ‫להשתמש‬%
•‫הגדרה‬:‫שלם‬ ‫שמספר‬ ‫נאמר‬A‫ב‬ ‫מתחלק‬-B‫חלוקה‬ ‫שארית‬ ‫אם‬A‫ב‬-B‫ל‬ ‫שווה‬-0
•‫האם‬ ‫בפייתון‬ ‫נבדוק‬ ‫איך‬A‫ב‬ ‫מתחלק‬-B?
• if (A%B)==0
‫דוגמא‬:‫של‬ ‫חלוקה‬ ‫שארית‬2‫שלמים‬ ‫מספרים‬
‫ראשוני‬ ‫מספר‬
• http://www.codeskulptor.org/#user42_R8WyJkAVGB_3.py
• Igor Kleiner (Hebrew version adaptation 2016,2017)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫שיעור‬3
‫סיכום‬
2017
Igor Kleiner
‫שבוע‬3:‫סיכום‬
•‫תנאי‬ ‫משפטי‬:
•if, else, elif
•‫מכוונים‬ ‫תנאי‬ ‫משפטי‬
•‫לוגי‬ ‫אופרטור‬:AND, OR, NOT
•‫מרובות‬ ‫השוואות‬:a<b<c
•‫אקראיים‬ ‫מספרים‬:
•random.choice((1,2,3)), random.random(), rand.int(2,5)
•‫הניחושים‬ ‫משחק‬
•‫תכנות‬ ‫שפות‬ ‫בין‬ ‫דמיון‬
•‫לולאות‬:WHILE
•‫שורש‬ ‫לחישוב‬ ‫אלגוריתם‬
•VIZ MODE
•‫חלוקה‬ ‫שארית‬
‫לוגים‬ ‫אופרטורים‬logic operators
AND
OR
NOT
‫מרובות‬ ‫השוואות‬
‫מקוננים‬ ‫תנאים‬nested conditions /
elseif
‫אקראיים‬ ‫מספרים‬
• http://www.codeskulptor.org/#user42_zDmF32uf7T_0.py
‫אקראיים‬ ‫מספרים‬
‫הניחושים‬ ‫משחק‬
Python
Matlab
R
‫לולאת‬ ‫היא‬ ‫מה‬while?
•‫מטאפורה‬:‫במבה‬ ‫שקית‬ ‫עם‬ ‫אדם‬ ‫בן‬:
•‫יש‬ ‫בשקית‬40‫במבה‬ ‫יחידות‬,‫בלולאת‬ ‫נמצא‬ ‫אותה‬ ‫לאכול‬ ‫ורוצה‬ ‫במבה‬ ‫שאוהב‬ ‫אדם‬ ‫בן‬while
1. number of bambas = 40
2. while number of bambas >0:
3. take one bamba
4. eat bamba
5. go to step 2
6. put the empty bag away
‫לולאת‬while
•‫ב‬ ‫לוגי‬ ‫ביטוי‬ ‫של‬ ‫ערך‬ ‫אם‬ ‫יקרא‬ ‫מה‬-while‫יהי‬ ‫תמיד‬True?
•‫תעצור‬ ‫לא‬ ‫תוכנה‬,‫בכוח‬ ‫אותה‬ ‫לעצור‬ ‫נצטרך‬!
‫לתוכנה‬ ‫אלגוריתם‬ ‫תרגום‬
• http://www.codeskulptor.org/#user42_8QlK9bVtEO_8.py
1. Given input X
2. Y = some initial guess for
square root of X
3. Calculate Z=|Y^2-X|
4. while (Z is not small enough)
5. Y=(Y+X/Y)/2
6. Z=|Y^2-X|
7. print Y
‫חלוקה‬ ‫שארית‬
•‫שלם‬ ‫מספר‬ ‫חלוקה‬ ‫שארית‬ ‫לדעת‬ ‫רוצים‬ ‫אנו‬ ‫אם‬A‫שלם‬ ‫במספר‬B‫אפשר‬ ‫אזי‬
‫באופרטור‬ ‫להשתמש‬%
•‫הגדרה‬:‫שלם‬ ‫שמספר‬ ‫נאמר‬A‫ב‬ ‫מתחלק‬-B‫חלוקה‬ ‫שארית‬ ‫אם‬A‫ב‬-B‫ל‬ ‫שווה‬-0
•‫האם‬ ‫בפייתון‬ ‫נבדוק‬ ‫איך‬A‫ב‬ ‫מתחלק‬-B?
• if (A%B)==0
• Igor Kleiner (Hebrew version adaptation 2016)

More Related Content

Similar to מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות

ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4 ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4 Igor Kleiner
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 PythonIgor Kleiner
 
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017Igor Kleiner
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 PythonIgor Kleiner
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 PythonIgor Kleiner
 
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Pythonמבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 PythonIgor Kleiner
 
C# .net lecture 4 win forms
C# .net lecture 4 win formsC# .net lecture 4 win forms
C# .net lecture 4 win formsDoron Raifman
 
פייתון: הרצאה 1
פייתון: הרצאה 1פייתון: הרצאה 1
פייתון: הרצאה 1Igor Kleiner
 
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Pythonמבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 PythonIgor Kleiner
 
QA testing developer by Ziv
QA testing developer by ZivQA testing developer by Ziv
QA testing developer by ZivRam Yonish
 
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימותתכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימותIgor Kleiner
 
C# .net lecture 5 win forms (2)
C# .net lecture 5 win forms (2)C# .net lecture 5 win forms (2)
C# .net lecture 5 win forms (2)Doron Raifman
 
פייתון 2.7 הרצאה 9 חלק 1 : מודולים
פייתון 2.7 הרצאה 9 חלק 1 : מודוליםפייתון 2.7 הרצאה 9 חלק 1 : מודולים
פייתון 2.7 הרצאה 9 חלק 1 : מודוליםIgor Kleiner
 
מדע נתונים - למידה מכונות
מדע נתונים - למידה מכונותמדע נתונים - למידה מכונות
מדע נתונים - למידה מכונותIgor Kleiner
 
מערכות לומדות פגישה 2 חלק 9 R
מערכות לומדות פגישה 2 חלק 9 Rמערכות לומדות פגישה 2 חלק 9 R
מערכות לומדות פגישה 2 חלק 9 RIgor Kleiner
 
C# .net home work1 mycode overview
C# .net home work1 mycode overviewC# .net home work1 mycode overview
C# .net home work1 mycode overviewDoron Raifman
 
Introduction to Scrum - Hebrew
Introduction to Scrum - HebrewIntroduction to Scrum - Hebrew
Introduction to Scrum - HebrewDan-Eyal Gazit
 

Similar to מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות (18)

ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4 ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python
 
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 1 Python
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 3 Python
 
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Pythonמבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
 
C# .net lecture 4 win forms
C# .net lecture 4 win formsC# .net lecture 4 win forms
C# .net lecture 4 win forms
 
פייתון: הרצאה 1
פייתון: הרצאה 1פייתון: הרצאה 1
פייתון: הרצאה 1
 
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Pythonמבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
 
QA testing developer by Ziv
QA testing developer by ZivQA testing developer by Ziv
QA testing developer by Ziv
 
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימותתכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
 
C# .net lecture 5 win forms (2)
C# .net lecture 5 win forms (2)C# .net lecture 5 win forms (2)
C# .net lecture 5 win forms (2)
 
פייתון 2.7 הרצאה 9 חלק 1 : מודולים
פייתון 2.7 הרצאה 9 חלק 1 : מודוליםפייתון 2.7 הרצאה 9 חלק 1 : מודולים
פייתון 2.7 הרצאה 9 חלק 1 : מודולים
 
מדע נתונים - למידה מכונות
מדע נתונים - למידה מכונותמדע נתונים - למידה מכונות
מדע נתונים - למידה מכונות
 
מערכות לומדות פגישה 2 חלק 9 R
מערכות לומדות פגישה 2 חלק 9 Rמערכות לומדות פגישה 2 חלק 9 R
מערכות לומדות פגישה 2 חלק 9 R
 
C# .net home work1 mycode overview
C# .net home work1 mycode overviewC# .net home work1 mycode overview
C# .net home work1 mycode overview
 
Step by-step1
Step by-step1Step by-step1
Step by-step1
 
Introduction to Scrum - Hebrew
Introduction to Scrum - HebrewIntroduction to Scrum - Hebrew
Introduction to Scrum - Hebrew
 

More from Igor Kleiner

Анализ данных просто и доступно - урок 1
Анализ данных просто и доступно - урок 1Анализ данных просто и доступно - урок 1
Анализ данных просто и доступно - урок 1Igor Kleiner
 
מדעי נתונים לכל אחד
מדעי נתונים לכל אחדמדעי נתונים לכל אחד
מדעי נתונים לכל אחדIgor Kleiner
 
מבוא למדעי הנתונים שבוע 2
מבוא למדעי הנתונים שבוע 2מבוא למדעי הנתונים שבוע 2
מבוא למדעי הנתונים שבוע 2Igor Kleiner
 
מבוא למדעי הנתונים הרצאה 1
מבוא למדעי הנתונים הרצאה 1מבוא למדעי הנתונים הרצאה 1
מבוא למדעי הנתונים הרצאה 1Igor Kleiner
 
תכנות דינמי הרצאה 3
תכנות דינמי הרצאה 3תכנות דינמי הרצאה 3
תכנות דינמי הרצאה 3Igor Kleiner
 
תכנות דינמי הרצאה 4
תכנות דינמי הרצאה 4תכנות דינמי הרצאה 4
תכנות דינמי הרצאה 4Igor Kleiner
 
שאלות לתרגול עצמי
שאלות לתרגול עצמישאלות לתרגול עצמי
שאלות לתרגול עצמיIgor Kleiner
 
פתרון תרגיל 3
פתרון תרגיל 3פתרון תרגיל 3
פתרון תרגיל 3Igor Kleiner
 
תכנות מדעי פייתון: הרצאה 12: סיבוכיות
תכנות מדעי פייתון: הרצאה 12: סיבוכיותתכנות מדעי פייתון: הרצאה 12: סיבוכיות
תכנות מדעי פייתון: הרצאה 12: סיבוכיותIgor Kleiner
 
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמימבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמיIgor Kleiner
 
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעהתכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעהIgor Kleiner
 
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017Igor Kleiner
 
תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017Igor Kleiner
 
למידה ממוכנת פגישה 8
למידה ממוכנת פגישה 8 למידה ממוכנת פגישה 8
למידה ממוכנת פגישה 8 Igor Kleiner
 
מערכות לומדות פגישה 7-1 יער אקראי
מערכות לומדות פגישה 7-1 יער אקראימערכות לומדות פגישה 7-1 יער אקראי
מערכות לומדות פגישה 7-1 יער אקראיIgor Kleiner
 
מערכות לומדות תרגול 3 עצים
מערכות לומדות תרגול 3 עציםמערכות לומדות תרגול 3 עצים
מערכות לומדות תרגול 3 עציםIgor Kleiner
 
מערכות לומדות פגישה 6
מערכות לומדות פגישה 6מערכות לומדות פגישה 6
מערכות לומדות פגישה 6Igor Kleiner
 
מערכות לומדות: תרגילי כיתה 4 ו-5
מערכות לומדות: תרגילי כיתה 4 ו-5מערכות לומדות: תרגילי כיתה 4 ו-5
מערכות לומדות: תרגילי כיתה 4 ו-5Igor Kleiner
 
מערכות לומדות: תרגיל בית 2
מערכות לומדות: תרגיל בית 2מערכות לומדות: תרגיל בית 2
מערכות לומדות: תרגיל בית 2Igor Kleiner
 
מערכות לומדות פגישה 4 חלק 3
מערכות לומדות פגישה 4 חלק 3מערכות לומדות פגישה 4 חלק 3
מערכות לומדות פגישה 4 חלק 3Igor Kleiner
 

More from Igor Kleiner (20)

Анализ данных просто и доступно - урок 1
Анализ данных просто и доступно - урок 1Анализ данных просто и доступно - урок 1
Анализ данных просто и доступно - урок 1
 
מדעי נתונים לכל אחד
מדעי נתונים לכל אחדמדעי נתונים לכל אחד
מדעי נתונים לכל אחד
 
מבוא למדעי הנתונים שבוע 2
מבוא למדעי הנתונים שבוע 2מבוא למדעי הנתונים שבוע 2
מבוא למדעי הנתונים שבוע 2
 
מבוא למדעי הנתונים הרצאה 1
מבוא למדעי הנתונים הרצאה 1מבוא למדעי הנתונים הרצאה 1
מבוא למדעי הנתונים הרצאה 1
 
תכנות דינמי הרצאה 3
תכנות דינמי הרצאה 3תכנות דינמי הרצאה 3
תכנות דינמי הרצאה 3
 
תכנות דינמי הרצאה 4
תכנות דינמי הרצאה 4תכנות דינמי הרצאה 4
תכנות דינמי הרצאה 4
 
שאלות לתרגול עצמי
שאלות לתרגול עצמישאלות לתרגול עצמי
שאלות לתרגול עצמי
 
פתרון תרגיל 3
פתרון תרגיל 3פתרון תרגיל 3
פתרון תרגיל 3
 
תכנות מדעי פייתון: הרצאה 12: סיבוכיות
תכנות מדעי פייתון: הרצאה 12: סיבוכיותתכנות מדעי פייתון: הרצאה 12: סיבוכיות
תכנות מדעי פייתון: הרצאה 12: סיבוכיות
 
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמימבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
 
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעהתכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
 
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
 
תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017
 
למידה ממוכנת פגישה 8
למידה ממוכנת פגישה 8 למידה ממוכנת פגישה 8
למידה ממוכנת פגישה 8
 
מערכות לומדות פגישה 7-1 יער אקראי
מערכות לומדות פגישה 7-1 יער אקראימערכות לומדות פגישה 7-1 יער אקראי
מערכות לומדות פגישה 7-1 יער אקראי
 
מערכות לומדות תרגול 3 עצים
מערכות לומדות תרגול 3 עציםמערכות לומדות תרגול 3 עצים
מערכות לומדות תרגול 3 עצים
 
מערכות לומדות פגישה 6
מערכות לומדות פגישה 6מערכות לומדות פגישה 6
מערכות לומדות פגישה 6
 
מערכות לומדות: תרגילי כיתה 4 ו-5
מערכות לומדות: תרגילי כיתה 4 ו-5מערכות לומדות: תרגילי כיתה 4 ו-5
מערכות לומדות: תרגילי כיתה 4 ו-5
 
מערכות לומדות: תרגיל בית 2
מערכות לומדות: תרגיל בית 2מערכות לומדות: תרגיל בית 2
מערכות לומדות: תרגיל בית 2
 
מערכות לומדות פגישה 4 חלק 3
מערכות לומדות פגישה 4 חלק 3מערכות לומדות פגישה 4 חלק 3
מערכות לומדות פגישה 4 חלק 3
 

מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות