SlideShare une entreprise Scribd logo
1  sur  146
Télécharger pour lire hors ligne
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫הרצאה‬8‫חלק‬1
‫מודולים‬
2017
Igor Kleiner ©
Modules
•‫סיומת‬ ‫עם‬ ‫קבצים‬ ‫הם‬ ‫מודולים‬.py‫בפייתון‬ ‫הכתוב‬ ‫קוד‬ ‫המכילים‬:‫פונקציות‬,‫פקודות‬
Modules
•‫סיומת‬ ‫עם‬ ‫קבצים‬ ‫הם‬ ‫מודולים‬.py‫בפייתון‬ ‫הכתוב‬ ‫קוד‬ ‫המכילים‬:‫פונקציות‬,‫פקודות‬
•‫בפייתון‬ ‫במודולים‬ ‫משתמשים‬ ‫ולמה‬ ‫איך‬ ‫ללמוד‬ ‫היא‬ ‫השיעור‬ ‫של‬ ‫המטרה‬
‫מודול‬ ‫זה‬ ‫מה‬?
•‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬
‫מודול‬ ‫זה‬ ‫מה‬?
•‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬
•‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬?
‫מודול‬ ‫זה‬ ‫מה‬?
•‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬
•‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬?
•‫אפשרויות‬ ‫שתי‬ ‫יש‬:
•‫בה‬ ‫להשתמש‬ ‫שנרצה‬ ‫איפה‬ ‫מקום‬ ‫לכל‬ ‫פונקציה‬ ‫של‬ ‫קוד‬ ‫להעתיק‬
‫מודול‬ ‫זה‬ ‫מה‬?
•‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬
•‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬?
•‫אפשרויות‬ ‫שתי‬ ‫יש‬:
•‫להשתמש‬ ‫שנרצה‬ ‫איפה‬ ‫מקום‬ ‫לכל‬ ‫הפונקציה‬ ‫של‬ ‫קוד‬ ‫להעתיק‬‫בה‬
•‫רעיון‬‫לא‬ ‫זה‬‫טוב‬:‫של‬ ‫העתק‬ ‫בכל‬ ‫אותה‬ ‫לתקן‬ ‫נצטרך‬ ‫בפונקציה‬ ‫טעות‬ ‫תהי‬ ‫ואם‬ ‫קוד‬ ‫נשכפל‬
‫הפונקציה‬
‫מודול‬ ‫זה‬ ‫מה‬?
•‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬
•‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬?
•‫אפשרויות‬ ‫שתי‬ ‫יש‬:
•‫בה‬ ‫להשתמש‬ ‫שנרצה‬ ‫איפה‬ ‫מקום‬ ‫לכל‬ ‫הפונקציה‬ ‫של‬ ‫קוד‬ ‫להעתיק‬.‫טוב‬ ‫מספיק‬ ‫לא‬ ‫זה‬ ‫רעיון‬:
‫הפונקציה‬ ‫של‬ ‫העתק‬ ‫בכל‬ ‫אותה‬ ‫לתקן‬ ‫נצטרך‬ ‫בפונקציה‬ ‫טעות‬ ‫תהי‬ ‫ואם‬ ‫קוד‬ ‫נשכפל‬
•‫סיומת‬ ‫עם‬ ‫נפרד‬ ‫בקובץ‬ ‫שלנו‬ ‫הפונקציה‬ ‫לשמור‬ ‫אפשר‬.py,‫נקרא‬ ‫צורך‬ ‫שיהי‬ ‫פעם‬ ‫כל‬ ‫ואז‬
‫שלנו‬ ‫לפונקציה‬
‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬
•‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫אם‬
‫ראשוני‬,‫אחרת‬‫הפונקציה‬‫מחזירה‬False
‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬
•‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫אם‬
‫ראשוני‬,‫מחזירה‬ ‫הפונקציה‬ ‫אחרת‬False
•‫בקובץ‬ ‫הפונקציה‬ ‫את‬ ‫נשמור‬ourprime.py
•‫שורת‬ ‫שנוסיף‬ ‫לאחר‬ ‫אחרת‬ ‫בתוכנה‬ ‫שלנו‬ ‫בפונקציה‬ ‫להשתמש‬ ‫נוכל‬ ‫כעת‬import
‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬
•‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫כאשר‬
‫ראשוני‬,‫מחזירה‬ ‫פונקציה‬ ‫אחרת‬False
•‫בקובץ‬ ‫הפונקציה‬ ‫את‬ ‫נשמור‬ourprime.py
•‫אחרת‬ ‫בתוכנה‬ ‫שלנו‬ ‫בפונקציה‬ ‫להשתמש‬ ‫נוכל‬ ‫כעת‬
‫המשך‬ ‫מודולים‬
•‫במודולים‬ ‫להשתמש‬ ‫נוספת‬ ‫אפשרות‬ ‫קיימת‬
‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬
•‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫כאשר‬
‫ראשוני‬,‫מחזירה‬ ‫פונקציה‬ ‫אחרת‬False
•‫בקובץ‬ ‫הפונקציה‬ ‫את‬ ‫נשמור‬ourprime.py
•‫אחרת‬ ‫בתוכנה‬ ‫שלנו‬ ‫בפונקציה‬ ‫להשתמש‬ ‫נוכל‬ ‫כעת‬
‫המשך‬ ‫מודולים‬
•‫במודולים‬ ‫להשתמש‬ ‫נוספת‬ ‫אפשרות‬ ‫קיימת‬
‫המשך‬ ‫מודולים‬
•‫במודולים‬ ‫להשתמש‬ ‫נוספת‬ ‫אפשרות‬ ‫קיימת‬
‫סיכום‬ ‫מודולים‬
•‫במודולים‬ ‫להשתמש‬ ‫כדאי‬ ‫תוכנות‬ ‫כותבים‬ ‫כאשר‬
•‫אותה‬ ‫שעושות‬ ‫פונקציה‬ ‫בעזרת‬ ‫להציג‬ ‫טריוויאלית‬ ‫ולא‬ ‫קטנה‬ ‫משימה‬ ‫כל‬ ‫ממליצים‬
•‫אותו‬ ‫ולהבין‬ ‫לתחזק‬ ‫יותר‬ ‫קל‬ ‫קטנות‬ ‫פונקציות‬ ‫בעזרת‬ ‫ממומש‬ ‫מורכב‬ ‫קוד‬ ‫כאשר‬
•‫שימוש‬ ‫אין‬ ‫שבו‬ ‫ארוך‬ ‫קוד‬ ‫מלבדוק‬ ‫קטנות‬ ‫פונקציות‬ ‫מספר‬ ‫לבדוק‬ ‫יותר‬ ‫קל‬ ‫גם‬
‫בפונקציות‬
‫סיכום‬ ‫מודולים‬
‫סיכום‬
‫בעזרת‬ ‫מסוימת‬ ‫מסימה‬ ‫המבצע‬ ‫קוד‬ ‫לכתוב‬ ‫עדיף‬‫פונקציה‬
‫סיומת‬ ‫עם‬ ‫בקבצים‬ ‫פונקציות‬ ‫לשמור‬ ‫אפשר‬.py
‫בקבצים‬ ‫הנמצאות‬ ‫לפונקציות‬ ‫לקרוא‬ ‫אפשר‬‫אחרים‬ ‫מודולים‬
‫סיכום‬
import ourprime
print ourptime.isPrime(11)
import ourprime as op
print op.isPrime(11)
from op import isPrime
print isPrime(11)
from op import *
print isPrime(11)
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫הרצאה‬8‫חלק‬2
List Comprehension
2017
Igor Kleiner ©
‫מטרה‬
‫טבעי‬ ‫באופן‬ ‫רשימות‬ ‫לייצר‬ ‫שמאפשר‬ ‫נוסף‬ ‫מנגנון‬ ‫ללמוד‬-List Comprehension
‫ל‬ ‫שונות‬ ‫דוגמאות‬ ‫לראות‬-List Comprehension
‫תזכורת‬ ‫רשימות‬
•‫נתונים‬ ‫מבנה‬ ‫היא‬ ‫רשימה‬
•‫היא‬ ‫רשימה‬‫סדרת‬‫שונים‬ ‫מסוגים‬ ‫אובייקטים‬ ‫של‬
•‫ו‬ ‫שלו‬ ‫אינדקס‬ ‫בעזרת‬ ‫ברשימה‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫אפשר‬-] [
•‫לשינוי‬ ‫ניתנות‬ ‫ממחרוזות‬ ‫להבדיל‬ ‫רשימות‬
‫תזכורת‬ ‫רשימות‬
•‫נתונים‬ ‫מבנה‬ ‫היא‬ ‫רשימה‬
•‫היא‬ ‫רשימה‬‫סדרת‬‫שונים‬ ‫מסוגים‬ ‫אובייקטים‬ ‫של‬
•‫ו‬ ‫שלו‬ ‫אינדקס‬ ‫בעזרת‬ ‫ברשימה‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫אפשר‬-] [
•‫לשינוי‬ ‫ניתנות‬ ‫ממחרוזות‬ ‫להבדיל‬ ‫רשימות‬
List Comprehension
•‫המנגנון‬List Comprehension‫טבעי‬ ‫באופן‬ ‫רשימות‬ ‫להגדיר‬ ‫מאפשר‬ ‫בפייתון‬
‫במתמטיקה‬ ‫כמו‬:
• X=[i: i>1, i is a natural number]
•‫דוגמא‬:‫מ‬ ‫מספרים‬ ‫של‬ ‫ריבועים‬ ‫רשימת‬-0‫עד‬9
List Comprehension
•‫דוגמא‬:‫של‬ ‫רשימת‬20‫מקטע‬ ‫אקראיים‬ ‫מספרים‬[0,1)
List Comprehension + IF
•‫ב‬ ‫להיעזר‬ ‫אפשר‬-if‫רשימה‬ ‫בונים‬ ‫כאשר‬
‫דוגמאות‬‫נוספו‬‫ת‬
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫הרצאה‬8‫חלק‬3
‫ממדיות‬ ‫רב‬ ‫רשימות‬
2017
Igor Kleiner ©
‫מטרה‬
‫ללמוד‬‫ממדיות‬ ‫רב‬ ‫רשימות‬
‫להבין‬‫בפייתון‬ ‫ממדית‬ ‫רב‬ ‫רשימה‬ ‫להגדיר‬ ‫איך‬
‫בפייתון‬ ‫ממדיות‬ ‫רב‬ ‫ברשימות‬ ‫שימוש‬
‫תזכורת‬ ‫רשימות‬
•‫נתונים‬ ‫מבנה‬ ‫היא‬ ‫רשימה‬
•‫היא‬ ‫רשימה‬‫סדרת‬‫שונים‬ ‫מסוגים‬ ‫אובייקטים‬ ‫של‬
•‫ו‬ ‫שלו‬ ‫אינדקס‬ ‫בעזרת‬ ‫ברשימה‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫אפשר‬-] [
•‫לשינוי‬ ‫ניתנות‬ ‫ממחרוזות‬ ‫להבדיל‬ ‫רשימות‬
‫ממדיות‬ ‫דו‬ ‫רשימות‬:‫מוטיבציה‬
•‫ברשימת‬ ‫נתבונן‬‫סטודנטים‬ ‫של‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
‫מוטיבציה‬
•‫סטודנטים‬ ‫של‬ ‫רשימת‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
•‫דו‬ ‫רשימות‬ ‫בעזרת‬ ‫הנתונים‬ ‫להציג‬ ‫וקל‬ ‫נוח‬-‫ממדיות‬:‫רשימות‬ ‫של‬ ‫רשימה‬
‫רשימות‬ ‫של‬ ‫רשימה‬
•‫סטודנטים‬ ‫של‬ ‫רשימת‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
‫רשימות‬ ‫של‬ ‫רשימה‬
•‫סטודנטים‬ ‫של‬ ‫רשימת‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
‫רשימות‬ ‫של‬ ‫רשימה‬
•‫סטודנטים‬ ‫של‬ ‫רשימת‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
‫רשימות‬ ‫של‬ ‫רשימה‬
•‫סטודנטים‬ ‫של‬ ‫רשימת‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
‫רשימות‬ ‫של‬ ‫רשימה‬
•‫סטודנטים‬ ‫של‬ ‫רשימת‬
•‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
‫רשימות‬ ‫של‬ ‫רשימה‬
•‫ב‬ ‫משתמשים‬ ‫ממדית‬ ‫דו‬ ‫רשימה‬ ‫של‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫כדי‬-][][‫ושתי‬
‫האיבר‬ ‫של‬ ‫האינדקסים‬
•‫ב‬ ‫כאשר‬-] [‫חיצונית‬ ‫רשימה‬ ‫של‬ ‫אינדקס‬ ‫כתוב‬ ‫ראשון‬(‫מ‬ ‫החל‬-0)‫וב‬-] [‫שני‬
‫פנימית‬ ‫רשימה‬ ‫בתוך‬ ‫אינדקס‬ ‫כתוב‬(‫מ‬ ‫החל‬-0)
http://www.codeskulptor.org/#user42_df17I4yAoS_0.py
‫ממדיות‬ ‫רב‬ ‫רשימות‬
•‫רשימות‬‫דו‬‫דומות‬ ‫מימדיות‬‫למבנה‬‫נתונים‬‫מערך‬‫דו‬‫ממדי‬‫מטריצה‬ ‫או‬
•‫ברשימות‬‫כאלו‬‫נוח‬‫לשמור‬‫טבלה‬ ‫של‬ ‫נתוני‬
•‫תמונות‬ ‫לשמור‬ ‫נוח‬ ‫ממדיות‬ ‫דו‬ ‫ברשימות‬,‫בקורס‬ ‫שונים‬ ‫סטודנטים‬ ‫של‬ ‫ציונים‬,
‫וכו‬ ‫במישור‬ ‫חלקיקים‬ ‫או‬ ‫חלקיק‬ ‫של‬ ‫מיקום‬'
•‫של‬ ‫מנגנון‬ ‫בעזרת‬ ‫מימדית‬ ‫דו‬ ‫רשימה‬ ‫להגדיר‬ ‫אפשר‬List Comprehension
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫הרצאה‬8‫חלק‬4
‫סימולציה‬
2017
Igor Kleiner ©
‫מטרה‬
‫עקרונות‬ ‫ללמוד‬‫הסימולציה‬
‫בפייתון‬ ‫סימולציה‬ ‫לעשות‬ ‫ללמוד‬
‫סימולציה‬ ‫בעזרת‬ ‫לממוצע‬ ‫או‬ ‫להסתברות‬ ‫הערכה‬ ‫למצוא‬ ‫איך‬ ‫ללמוד‬
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬
"‫ראש‬"?
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬
"‫ראש‬"?
•‫ניחוש‬‫עיוור‬?
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬
"‫ראש‬"?
•‫ניחוש‬‫עיוור‬?0.5
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬
"‫ראש‬"?
•‫סימולציה‬ ‫בעזרת‬ ‫נבדוק‬
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬
"‫ראש‬"?
•‫של‬ ‫סימולציה‬ ‫בעזרת‬ ‫נבדוק‬100‫הטלות‬
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
‫מוטיבציה‬ ‫סימולציה‬
•‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬:
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
‫סימולציה‬‫הוגן‬ ‫מטבע‬:‫סיכום‬
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
‫מוטיבציה‬ ‫סימולציה‬
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
•‫לסיכום‬:
•‫תובנות‬:
•‫של‬ ‫אמיתי‬ ‫לערך‬ ‫יותר‬ ‫מתקרבים‬ ‫סימולציות‬ ‫יותר‬ ‫שעושים‬ ‫ככל‬‫הסתברות‬(‫גדולים‬ ‫מספרים‬ ‫חוק‬)
•‫פי‬ ‫מטבע‬ ‫הטלות‬ ‫כמות‬ ‫מגדילים‬ ‫כאשר‬-100‫גדל‬ ‫דיוק‬‫בערך‬‫פי‬-10(‫מדויקת‬ ‫הוכחה‬ ‫לתת‬ ‫אפשר‬)
‫מוטיבציה‬ ‫סימולציה‬
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
•‫לסיכום‬:
•‫תובנות‬:
•‫אמיתי‬ ‫לערך‬ ‫יותר‬ ‫מתקרבים‬ ‫סימולציות‬ ‫יותר‬ ‫שעושים‬ ‫ככל‬
•‫פי‬ ‫מטבע‬ ‫הטלות‬ ‫כמות‬ ‫מגדילים‬ ‫כאשר‬-100‫פי‬ ‫בערך‬ ‫גדל‬ ‫דיוק‬-10
•‫נובעת‬ ‫אלה‬ ‫מקרית‬ ‫לא‬ ‫היא‬ ‫זו‬ ‫שהתופעה‬ ‫מסתבר‬‫הגדולים‬ ‫המספרים‬ ‫מחוק‬‫שלומדים‬
‫הסתברות‬ ‫בקורס‬ ‫אותו‬
‫מוטיבציה‬ ‫סימולציה‬
•‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
•‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
•‫לסיכום‬:
•‫רעיון‬:
•‫מאורע‬ ‫של‬ ‫ההסתברות‬ ‫את‬ ‫לחשב‬ ‫שקשה‬ ‫נניח‬‫נתון‬(‫אפשרי‬ ‫בלתי‬ ‫אפילו‬ ‫אולי‬)
•‫פעמים‬ ‫הרבה‬ ‫ניסוי‬ ‫אותו‬ ‫של‬ ‫סימולציה‬ ‫בעזרת‬ ‫ההסתברות‬ ‫את‬ ‫להעריך‬ ‫נוכל‬
‫קרה‬ ‫שהמאורע‬ ‫הפעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫וחישוב‬
‫סימולציה‬ ‫בעזרת‬ ‫מאורע‬ ‫של‬ ‫הסתברות‬ ‫הערכת‬
•‫להעריך‬ ‫כדי‬P(A)(‫מאורע‬ ‫של‬ ‫הסתברות‬A),‫המון‬ ‫נסמלץ‬(n)‫ונחשב‬ ‫מתאימים‬ ‫ניסוים‬
‫ש‬ ‫הפעמים‬ ‫מספר‬ ‫פרופורציה‬ ‫את‬-A‫קרה‬prop(A):
•‫ל‬ ‫כהערכה‬ ‫זו‬ ‫בפרופורציה‬ ‫נעזר‬-P(A)(P(A)~prop(A))
‫סימולציה‬ ‫בעזרת‬ ‫מאורע‬ ‫של‬ ‫הסתברות‬ ‫הערכת‬
•‫להעריך‬ ‫כדי‬P(A),‫המון‬ ‫נסמלץ‬(n)‫מספר‬ ‫פרופורציה‬ ‫את‬ ‫ונחשב‬ ‫מתאימים‬ ‫ניסוים‬
‫ש‬ ‫הפעמים‬-A‫קרה‬prop(A):
•‫ל‬ ‫כהערכה‬ ‫זו‬ ‫בפרופורציה‬ ‫נעזר‬-P(A)
•‫הערות‬:
•‫כאשר‬ ‫כלל‬ ‫בדרך‬ ‫זו‬ ‫בגישה‬ ‫נעזר‬P(A)‫קשה‬‫לחשב‬‫לחשב‬ ‫ניתן‬ ‫לא‬ ‫או‬
•‫אקראית‬ ‫היא‬ ‫שלנו‬ ‫הערכה‬
•‫מרווח‬ ‫מסוימים‬ ‫תנאים‬ ‫שתחת‬ ‫להוכיח‬ ‫אפשר‬‫אקראי‬
[Prop(A)-1/sqrt(n);Prop(A)+1/sqrt(n)[
‫אמיתי‬ ‫ערך‬ ‫מכיל‬P(A)‫בהסתברות‬0.95‫לפחות‬
•‫על‬ ‫מתבססת‬ ‫נכונות‬ ‫הוכחת‬‫הגדולים‬ ‫המספרים‬ ‫חוק‬
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫שווה‬ ‫הוגנות‬ ‫קוביות‬‫ל‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬???
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫שבהם‬ ‫הפעמים‬ ‫מספר‬???
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫התוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111‫פתרון‬
‫סימולציה‬ ‫בעזרת‬:‫נסמלץ‬10000‫הטלות‬‫מספר‬ ‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫הפעמים‬ ‫מספר‬ ‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬-12
‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬
‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬
‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12
‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬
‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
[0.106;0.126]‫סמך‬ ‫אינטרוול‬
‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬
10‫שלו‬ ‫מטריה‬ ‫עם‬ ‫אחד‬ ‫כל‬ ‫למסיבה‬ ‫הגיעו‬ ‫אנשים‬
‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫מטריה‬ ‫בחר‬ ‫אחד‬ ‫כל‬ ‫ולכן‬ ‫חושך‬ ‫היה‬ ‫עזבו‬ ‫האנשים‬ ‫כאשר‬
‫שלו‬ ‫מטריה‬ ‫לקח‬ ‫אחד‬ ‫אדם‬ ‫בן‬ ‫שלפחות‬ ‫הסתברות‬ ‫מהי‬?
‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬
10‫שלו‬ ‫מטריה‬ ‫עם‬ ‫אחד‬ ‫כל‬ ‫למסיבה‬ ‫הגיעו‬ ‫אנשים‬
‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫מטריה‬ ‫בחר‬ ‫אחד‬ ‫כל‬ ‫ולכן‬ ‫חושך‬ ‫היה‬ ‫עזבו‬ ‫האנשים‬ ‫כאשר‬
‫שלו‬ ‫מטריה‬ ‫לקח‬ ‫אחד‬ ‫אדם‬ ‫בן‬ ‫שלפחות‬ ‫הסתברות‬ ‫מהי‬?
‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫ניתן‬‫והפרדה‬ ‫הכלה‬ ‫עקרון‬
https://www.youtube.com/watch?v=5KZyd9JORUU
‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬
10‫שלו‬ ‫מטריה‬ ‫עם‬ ‫אחד‬ ‫כל‬ ‫למסיבה‬ ‫הגיעו‬ ‫אנשים‬
‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫מטריה‬ ‫בחר‬ ‫אחד‬ ‫כל‬ ‫ולכן‬ ‫חושך‬ ‫היה‬ ‫עזבו‬ ‫האנשים‬ ‫כאשר‬
‫שלו‬ ‫מטריה‬ ‫לקח‬ ‫אחד‬ ‫אדם‬ ‫בן‬ ‫שלפחות‬ ‫הסתברות‬ ‫מהי‬?
‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫ניתן‬‫והפרדה‬ ‫הכלה‬ ‫עקרון‬
https://www.youtube.com/watch?v=5KZyd9JORUU
‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬
‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
‫אלגוריתם‬:
‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬
‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
‫אלגוריתם‬:
•Counter=0
•‫הבא‬ ‫שלב‬ ‫על‬ ‫נחזור‬10000‫פעם‬:
•‫אקראית‬ ‫מטריה‬ ‫לוקח‬ ‫מהאנשים‬ ‫אחד‬ ‫כל‬ ‫שבו‬ ‫אקראי‬ ‫ניסוי‬ ‫נסמלץ‬(‫פונקציה‬ ‫בעזרת‬
random.shuffle)
•‫ב‬ ‫נסמן‬-X‫שלהם‬ ‫מטריות‬ ‫שקיבלו‬ ‫האנשים‬ ‫כמות‬ ‫את‬
•‫אם‬X>?‫ל‬ ‫נוסיף‬-Counter1.
‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬
‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
‫אלגוריתם‬:
•Counter=0
•‫הבא‬ ‫שלב‬ ‫על‬ ‫נחזור‬10000‫פעם‬:
•‫אקראית‬ ‫מטריה‬ ‫לוקח‬ ‫מהאנשים‬ ‫אחד‬ ‫כל‬ ‫שבו‬ ‫אקראי‬ ‫ניסוי‬ ‫נסמלץ‬(‫פונקציה‬ ‫בעזרת‬
random.shuffle)
•‫ב‬ ‫נסמן‬-X‫שלהם‬ ‫מטריות‬ ‫שקיבלו‬ ‫האנשים‬ ‫כמות‬ ‫את‬
•‫אם‬X>0‫ל‬ ‫נוסיף‬-Counter1.
•‫את‬ ‫נדפיס‬Сounter/10000
‫פונקציה‬random.shuffle
•‫פונקציה‬shuffle‫מקבלת‬‫רשימה‬‫ומערבבת‬‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫אותה‬,‫היא‬ ‫כלומר‬
‫מי‬ ‫אחד‬ ‫כל‬ ‫מחזירה‬-N!‫רשימה‬ ‫של‬ ‫אפשריים‬ ‫סידורים‬,‫כאשר‬N–‫הרשימה‬ ‫גודל‬ ‫הוא‬
‫פונקציה‬random.shuffle
•‫פונקציה‬shuffle‫מקבלת‬‫רשימה‬"‫ומערבבת‬"‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫אותה‬
•‫הנ‬ ‫בסידורים‬ ‫מאנשים‬ ‫מי‬"‫שלו‬ ‫המטריה‬ ‫את‬ ‫קיבל‬ ‫ל‬?
‫פונקציה‬random.shuffle
•‫פונקציה‬shuffle‫מקבלת‬‫רשימה‬"‫מערבבת‬"‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫אותה‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫נוסף‬ ‫מימוש‬
‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬
‫מדויקת‬ ‫תשובה‬0.6321
‫דוגמא‬3:‫קזינו‬
•‫משחק‬‫בקזינו‬
‫דוגמא‬3:‫קזינו‬
•‫בקזינו‬ ‫משחק‬
•‫הון‬ ‫עם‬ ‫בקזינו‬ ‫לשחק‬ ‫מתחיל‬ ‫אדם‬ ‫בן‬100₪
•‫לו‬ ‫שיהי‬ ‫ברגע‬ ‫או‬ ‫לשחק‬ ‫מסיים‬ ‫הוא‬150₪(‫ניצחון‬)‫או‬0₪(‫הפסד‬)
•‫שקל‬ ‫על‬ ‫מהמר‬ ‫הוא‬ ‫פעם‬ ‫כל‬1‫בהסתברות‬ ‫זוכה‬ ‫ואז‬0.48‫מפסיד‬ ‫או‬ ‫נוסף‬ ‫שקל‬
‫בהסתברות‬0.52‫שקל‬
•‫העריכו‬‫בניצחון‬ ‫הקזינו‬ ‫את‬ ‫יעזוב‬ ‫אדם‬ ‫שבן‬ ‫ההסתברות‬ ‫את‬(‫עם‬150‫שקלים‬)
‫דוגמא‬3:‫קזינו‬
•‫בקזינו‬ ‫משחק‬
•‫הון‬ ‫עם‬ ‫בקזינו‬ ‫לשחק‬ ‫מתחיל‬ ‫אדם‬ ‫בן‬100₪
•‫לו‬ ‫שיהי‬ ‫ברגע‬ ‫או‬ ‫לשחק‬ ‫מסיים‬ ‫הוא‬150₪(‫ניצחון‬)‫או‬0₪(‫הפסד‬)
•‫שקל‬ ‫על‬ ‫מהמר‬ ‫הוא‬ ‫פעם‬ ‫כל‬1‫בהסתברות‬ ‫זוכה‬ ‫ואז‬0.48‫מפסיד‬ ‫או‬ ‫נוסף‬ ‫שקל‬
‫בהסתברות‬0.52‫שקל‬‫העריכו‬‫בניצחון‬ ‫הקזינו‬ ‫את‬ ‫יעזוב‬ ‫אדם‬ ‫שבן‬ ‫ההסתברות‬ ‫את‬
(‫עם‬150‫שקלים‬)
•‫אלגוריתם‬:
‫דוגמא‬3:‫קזינו‬
•‫בקזינו‬ ‫משחק‬
•‫הון‬ ‫עם‬ ‫בקזינו‬ ‫לשחק‬ ‫מתחיל‬ ‫אדם‬ ‫בן‬100₪
•‫לו‬ ‫שיהי‬ ‫ברגע‬ ‫או‬ ‫לשחק‬ ‫מסיים‬ ‫הוא‬150₪(‫ניצחון‬)‫או‬0₪(‫הפסד‬)
•‫שקל‬ ‫על‬ ‫מהמר‬ ‫הוא‬ ‫פעם‬ ‫כל‬1‫בהסתברות‬ ‫זוכה‬ ‫ואז‬0.48‫מפסיד‬ ‫או‬ ‫נוסף‬ ‫שקל‬
‫בהסתברות‬0.52‫שקל‬‫העריכו‬‫בניצחון‬ ‫הקזינו‬ ‫את‬ ‫יעזוב‬ ‫אדם‬ ‫שבן‬ ‫ההסתברות‬ ‫את‬
(‫עם‬150‫שקלים‬)
•‫אלגוריתם‬:
•‫נסמלץ‬1000000‫בקזינו‬ ‫משחקים‬(‫קודמת‬ ‫הרצאה‬.)
•‫עם‬ ‫סיים‬ ‫אדם‬ ‫שבן‬ ‫הפעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫את‬ ‫נחשב‬150‫שקלים‬
‫מדויקת‬ ‫תשובה‬:0.01827
‫מהרצאה‬ ‫קוד‬7
‫מדויקת‬ ‫תשובה‬:0.01827
‫ממבחן‬ ‫שאלה‬:
•
‫ממבחן‬ ‫שאלה‬:
•
‫ממבחן‬ ‫שאלה‬:
•
‫ממבחן‬ ‫שאלה‬:
•
‫מדעי‬ ‫לתכנות‬ ‫מבוא‬
‫הרצאה‬8‫חלק‬5
‫תוכנה‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ ‫חישוב‬
2017
Igor Kleiner
‫מטרה‬
‫קוד‬ ‫של‬ ‫קטע‬ ‫או‬ ‫תוכנה‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ ‫להעריך‬ ‫אפשר‬ ‫איך‬ ‫ללמוד‬
‫הקלט‬ ‫אורך‬ ‫של‬ ‫כפונקציה‬ ‫ביצוע‬ ‫זמן‬ ‫להעריך‬ ‫איך‬ ‫ללמוד‬
‫מוטיבציה‬
•‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬‫מהיר‬‫יעי‬‫ל‬
‫מוטיבציה‬
•‫מהיר‬ ‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬
•‫במספר‬ ‫משימה‬ ‫אותה‬ ‫לבצע‬ ‫אפשר‬ ‫מיקרים‬ ‫שברוב‬ ‫ראינו‬‫דרכים‬:‫לתכנת‬ ‫אפשר‬ ‫כלומר‬
‫דרכים‬ ‫במספר‬ ‫בעיה‬ ‫אותה‬ ‫של‬ ‫פתרון‬
‫מוטיבציה‬
•‫מהיר‬ ‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬
•‫במספר‬ ‫משימה‬ ‫אותה‬ ‫לבצע‬ ‫אפשר‬ ‫מיקרים‬ ‫שברוב‬ ‫ראינו‬‫דרכים‬:‫לתכנת‬ ‫אפשר‬ ‫כלומר‬
‫דרכים‬ ‫במספר‬ ‫בעיה‬ ‫אותה‬ ‫של‬ ‫פתרון‬
•‫טובה‬ ‫יותר‬ ‫היא‬ ‫דרך‬ ‫איזה‬ ‫נדע‬ ‫איך‬?
•‫הקוד‬ ‫יעילות‬ ‫נמדד‬ ‫איך‬?
•‫הקוד‬ ‫מהירות‬ ‫נמדד‬ ‫איך‬?
‫מוטיבציה‬
•‫מהיר‬ ‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬
•‫דרכים‬ ‫במספר‬ ‫משימה‬ ‫אותה‬ ‫לבצע‬ ‫אפשר‬ ‫מיקרים‬ ‫שברוב‬ ‫ראינו‬:‫לתכנת‬ ‫אפשר‬ ‫כלומר‬
‫דרכים‬ ‫במספר‬ ‫בעיה‬ ‫אותה‬ ‫של‬ ‫פתרון‬
•‫טובה‬ ‫יותר‬ ‫היא‬ ‫דרך‬ ‫איזה‬ ‫נדע‬ ‫איך‬?
•‫הקוד‬ ‫יעילות‬ ‫נמדד‬ ‫איך‬?
•‫למשל‬‫אפשר‬‫למדוד‬‫זמן‬‫ריצה‬‫של‬‫קטע‬‫קוד‬‫ע‬ ‫פתרון‬ ‫לבחור‬ ‫זה‬ ‫ממד‬ ‫ולפי‬
‫יעיל‬ ‫יותר‬
‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬
•‫ספריה‬ ‫בעזרת‬timer‫לחשב‬ ‫נוכל‬‫קוד‬ ‫קטע‬ ‫של‬ ‫ריצה‬ ‫זמן‬
‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬
•‫ספריה‬ ‫בעזרת‬timer‫קוד‬ ‫קטע‬ ‫לביצוע‬ ‫הדרוש‬ ‫הזמן‬ ‫את‬ ‫לחשב‬ ‫נוכל‬
‫שרוצים‬ ‫קוד‬ ‫קטע‬‫לחשב‬
‫שלו‬ ‫ריצה‬ ‫זמן‬
‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬
•‫ספריה‬ ‫בעזרת‬timer‫קוד‬ ‫קטע‬ ‫לביצוע‬ ‫הדרוש‬ ‫הזמן‬ ‫את‬ ‫לחשב‬ ‫נוכל‬
‫מקבלים‬ ‫פעם‬ ‫כל‬
‫שונות‬ ‫תוצאות‬–‫אפשר‬
‫ריצות‬ ‫כמה‬ ‫לעשות‬
‫ממוצע‬ ‫ולחשב‬
‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬
•‫ספריה‬ ‫בעזרת‬timer‫קוד‬ ‫קטע‬ ‫לביצוע‬ ‫הדרוש‬ ‫הזמן‬ ‫את‬ ‫לחשב‬ ‫נוכל‬
•‫מסקנות‬:
•‫זמן‬ ‫שמדדנו‬ ‫פעם‬ ‫כל‬‫אותו‬ ‫קיבלנו‬ ‫לא‬ ‫ריצה‬‫תוצאה‬
•‫ריצה‬ ‫לזמן‬ ‫מדויק‬ ‫יותר‬ ‫אמד‬ ‫לקבל‬ ‫נרצה‬ ‫כאשר‬ ‫לפעמים‬,‫מספר‬ ‫הקוד‬ ‫את‬ ‫נריץ‬
‫ממוצע‬ ‫ונחשב‬ ‫פעמים‬
•‫ריצה‬ ‫זמן‬ ‫לחשב‬ ‫אפשר‬ ‫הקלט‬ ‫אורך‬ ‫של‬ ‫כפונקציה‬ ‫ריצה‬ ‫זמן‬ ‫משתנה‬ ‫איך‬ ‫להבין‬ ‫כדי‬
‫גרף‬ ‫ולצייר‬ ‫שונה‬ ‫בגודל‬ ‫קלט‬ ‫עבור‬
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫בגדלים‬ ‫אקראיים‬ ‫מספרים‬ ‫של‬ ‫רשימה‬ ‫למיין‬ ‫למחשב‬ ‫שלוקח‬ ‫זמן‬ ‫המייצג‬ ‫גרף‬ ‫בנו‬:
• 2,4,8,16,…,2^24
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫בגדלים‬ ‫אקראיים‬ ‫מספרים‬ ‫של‬ ‫רשימה‬ ‫למיין‬ ‫למחשב‬ ‫שלוקח‬ ‫זמן‬ ‫המייצג‬ ‫גרף‬ ‫בנו‬:
• 2,4,8,16,…,2^24
•‫פתרון‬:
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫בגדלים‬ ‫אקראיים‬ ‫מספרים‬ ‫של‬ ‫רשימה‬ ‫למיין‬ ‫למחשב‬ ‫שלוקח‬ ‫זמן‬ ‫המייצג‬ ‫גרף‬ ‫בנו‬:
• 2,4,8,16,…,2^24
•‫פתרון‬:
•‫מאלגוריתם‬ ‫נתחיל‬:
•‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬
‫אותם‬ ‫למיין‬ ‫כדי‬ ‫שנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬
‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫מאלגוריתם‬ ‫נתחיל‬:
•‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬
‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬
‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫מאלגוריתם‬ ‫נתחיל‬:
•‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬
‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬
‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫מאלגוריתם‬ ‫נתחיל‬:
•‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬
‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬
‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort
•‫מאלגוריתם‬ ‫נתחיל‬:
•‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬
‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬
‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
MAX SORT
•‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬‫חדש‬(MAX SORT)‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬‫נשווה‬‫ריצה‬ ‫זמן‬‫של‬
‫האלגוריתם‬‫במתודה‬ ‫הממומש‬ ‫לאלגוריתם‬sort
MAX SORT
•‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬‫חדש‬(MAX SORT)‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬‫נשווה‬‫ריצה‬ ‫זמן‬‫של‬
‫האלגוריתם‬‫במתודה‬ ‫הממומש‬ ‫לאלגוריתם‬sort
•‫האלגוריתם‬:
•‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫ריקה‬ ‫לא‬‫נחזור‬‫הבא‬ ‫שלב‬ ‫על‬:
•‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
MAX SORT
•‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬
‫במתודה‬ ‫הממומש‬sort:
•‫האלגוריתם‬:
•‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬
A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
•‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬:
• L=[1, 10, 20, 3] Rez=[]
MAX SORT
•‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬
‫במתודה‬ ‫הממומש‬sort:
•‫האלגוריתם‬:
•‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬
A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
•‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬:
• L=[1, 10, 3] Rez=[20,]
MAX SORT
•‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬
‫במתודה‬ ‫הממומש‬sort:
•‫האלגוריתם‬:
•‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬
A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
•‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬:
• L=[1, 3] Rez=[20,10]
MAX SORT
•‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬
‫במתודה‬ ‫הממומש‬sort:
•‫האלגוריתם‬:
•‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬
A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
•‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬:
• L=[1] Rez=[20,10,3]
MAX SORT
•‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬
‫במתודה‬ ‫הממומש‬sort:
•‫האלגוריתם‬:
•‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:
•‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
•‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬:
• L=[], Rez=[20,10,3,1]
MAX SORT IMPLEMENTATION
MAX SORT IMPLEMENTATION
MAX SORT
Max sort
‫מתודה‬sort
‫דוגמא‬2:
•‫ב‬ ‫שימוש‬-List Comprehension‫רשימה‬ ‫של‬ ‫רגילה‬ ‫הגדרה‬ ‫מול‬:
‫סיכום‬
•‫פונקציה‬ ‫בעזרת‬ ‫קוד‬ ‫קטע‬ ‫של‬ ‫ריצה‬ ‫זמן‬ ‫למדוד‬ ‫אפשר‬ ‫איך‬ ‫ראינו‬time‫מספריה‬time
•‫הוא‬ ‫שנקבל‬ ‫ריצה‬ ‫זמן‬‫מדויק‬ ‫ולא‬ ‫הערכה‬
•‫דברים‬ ‫בהרבה‬ ‫תלויה‬ ‫זו‬ ‫הערכה‬:
•‫הקלט‬ ‫בגודל‬
•‫במחשב‬
•‫בזיכרון‬
•‫במעבד‬CPU
•‫פייתון‬ ‫בסביבת‬
•....
•‫ממוצע‬ ‫ונחשב‬ ‫פעמים‬ ‫מספר‬ ‫הקוד‬ ‫את‬ ‫נריץ‬ ‫הערכה‬ ‫לשפר‬ ‫נרצה‬ ‫אם‬
תכנות מדעי: פייתון: הרצאה 8:  2017

Contenu connexe

Similaire à תכנות מדעי: פייתון: הרצאה 8: 2017

C# .net lecture 3 objects 3
C# .net lecture 3 objects 3C# .net lecture 3 objects 3
C# .net lecture 3 objects 3Doron Raifman
 
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאותמבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאותIgor 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
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 PythonIgor Kleiner
 
מדע נתונים - למידה מכונות
מדע נתונים - למידה מכונותמדע נתונים - למידה מכונות
מדע נתונים - למידה מכונותIgor Kleiner
 
פייתון 2-7 list comprehension
פייתון 2-7 list comprehensionפייתון 2-7 list comprehension
פייתון 2-7 list comprehensionIgor Kleiner
 
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017Igor Kleiner
 
פייתון: הרצאה 1
פייתון: הרצאה 1פייתון: הרצאה 1
פייתון: הרצאה 1Igor 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
 
ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4 ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4 Igor Kleiner
 
פייתון 2.7 רשימות רב ממדיות
פייתון 2.7 רשימות רב ממדיותפייתון 2.7 רשימות רב ממדיות
פייתון 2.7 רשימות רב ממדיותIgor Kleiner
 
פייתון 2.7 עבודה עם קבצים
פייתון 2.7 עבודה עם קבציםפייתון 2.7 עבודה עם קבצים
פייתון 2.7 עבודה עם קבציםIgor Kleiner
 
תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017Igor Kleiner
 
שיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptx
שיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptxשיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptx
שיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptxssuser12810c
 
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Pythonמבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 PythonIgor Kleiner
 
ג'ומלה ישראל - ותיקים מדריכים חדשים
ג'ומלה ישראל - ותיקים מדריכים חדשיםג'ומלה ישראל - ותיקים מדריכים חדשים
ג'ומלה ישראל - ותיקים מדריכים חדשיםOfer Cohen
 
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
 
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Pythonמבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 PythonIgor Kleiner
 
Joomla structur, MVC and layout overrides
Joomla structur, MVC and layout overridesJoomla structur, MVC and layout overrides
Joomla structur, MVC and layout overridesItamar Elharar
 

Similaire à תכנות מדעי: פייתון: הרצאה 8: 2017 (20)

C# .net lecture 3 objects 3
C# .net lecture 3 objects 3C# .net lecture 3 objects 3
C# .net lecture 3 objects 3
 
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאותמבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
 
C# .net lecture 4 win forms
C# .net lecture 4 win formsC# .net lecture 4 win forms
C# .net lecture 4 win forms
 
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Pythonמבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Python
מבוא לתכנות מדעי פייתון הרצאה 2 חלק 4 Python
 
מדע נתונים - למידה מכונות
מדע נתונים - למידה מכונותמדע נתונים - למידה מכונות
מדע נתונים - למידה מכונות
 
פייתון 2-7 list comprehension
פייתון 2-7 list comprehensionפייתון 2-7 list comprehension
פייתון 2-7 list comprehension
 
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
 
פייתון: הרצאה 1
פייתון: הרצאה 1פייתון: הרצאה 1
פייתון: הרצאה 1
 
C# .net home work1 mycode overview
C# .net home work1 mycode overviewC# .net home work1 mycode overview
C# .net home work1 mycode overview
 
Rss
RssRss
Rss
 
ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4 ראיון הייטק פגישה 4 - programming interview lesson 4
ראיון הייטק פגישה 4 - programming interview lesson 4
 
פייתון 2.7 רשימות רב ממדיות
פייתון 2.7 רשימות רב ממדיותפייתון 2.7 רשימות רב ממדיות
פייתון 2.7 רשימות רב ממדיות
 
פייתון 2.7 עבודה עם קבצים
פייתון 2.7 עבודה עם קבציםפייתון 2.7 עבודה עם קבצים
פייתון 2.7 עבודה עם קבצים
 
תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017תכנות מדעי: פייתון : הרצאה 7: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017
 
שיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptx
שיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptxשיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptx
שיעור 1 - מדעי המחשב כיתה ח עורך פייתון וקלט פלט רותם מלכי 28.5.pptx
 
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Pythonמבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
מבוא לתכנות מדעי פייתון הרצאה 1 חלק 2 Python
 
ג'ומלה ישראל - ותיקים מדריכים חדשים
ג'ומלה ישראל - ותיקים מדריכים חדשיםג'ומלה ישראל - ותיקים מדריכים חדשים
ג'ומלה ישראל - ותיקים מדריכים חדשים
 
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)
 
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Pythonמבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
מבוא לתכנות מדעי פייתון הרצאה 3 חלק 6 Python
 
Joomla structur, MVC and layout overrides
Joomla structur, MVC and layout overridesJoomla structur, MVC and layout overrides
Joomla structur, MVC and layout overrides
 

Plus de 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
 
למידה ממוכנת פגישה 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
 
מערכות לומדות פגישה 4 חלק 2 לוגית
מערכות לומדות פגישה 4 חלק 2 לוגיתמערכות לומדות פגישה 4 חלק 2 לוגית
מערכות לומדות פגישה 4 חלק 2 לוגיתIgor Kleiner
 
מערכות לומדות פגישה 4 חלק 1 דוגמאות
מערכות לומדות פגישה 4 חלק 1 דוגמאותמערכות לומדות פגישה 4 חלק 1 דוגמאות
מערכות לומדות פגישה 4 חלק 1 דוגמאותIgor Kleiner
 

Plus de Igor Kleiner (19)

Анализ данных просто и доступно - урок 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: דבגינג + תכנות דינמי
 
למידה ממוכנת פגישה 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
 
מערכות לומדות פגישה 4 חלק 2 לוגית
מערכות לומדות פגישה 4 חלק 2 לוגיתמערכות לומדות פגישה 4 חלק 2 לוגית
מערכות לומדות פגישה 4 חלק 2 לוגית
 
מערכות לומדות פגישה 4 חלק 1 דוגמאות
מערכות לומדות פגישה 4 חלק 1 דוגמאותמערכות לומדות פגישה 4 חלק 1 דוגמאות
מערכות לומדות פגישה 4 חלק 1 דוגמאות
 

תכנות מדעי: פייתון: הרצאה 8: 2017

  • 2. Modules •‫סיומת‬ ‫עם‬ ‫קבצים‬ ‫הם‬ ‫מודולים‬.py‫בפייתון‬ ‫הכתוב‬ ‫קוד‬ ‫המכילים‬:‫פונקציות‬,‫פקודות‬
  • 3. Modules •‫סיומת‬ ‫עם‬ ‫קבצים‬ ‫הם‬ ‫מודולים‬.py‫בפייתון‬ ‫הכתוב‬ ‫קוד‬ ‫המכילים‬:‫פונקציות‬,‫פקודות‬ •‫בפייתון‬ ‫במודולים‬ ‫משתמשים‬ ‫ולמה‬ ‫איך‬ ‫ללמוד‬ ‫היא‬ ‫השיעור‬ ‫של‬ ‫המטרה‬
  • 4. ‫מודול‬ ‫זה‬ ‫מה‬? •‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬
  • 5. ‫מודול‬ ‫זה‬ ‫מה‬? •‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬ •‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬?
  • 6. ‫מודול‬ ‫זה‬ ‫מה‬? •‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬ •‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬? •‫אפשרויות‬ ‫שתי‬ ‫יש‬: •‫בה‬ ‫להשתמש‬ ‫שנרצה‬ ‫איפה‬ ‫מקום‬ ‫לכל‬ ‫פונקציה‬ ‫של‬ ‫קוד‬ ‫להעתיק‬
  • 7. ‫מודול‬ ‫זה‬ ‫מה‬? •‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬ •‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬? •‫אפשרויות‬ ‫שתי‬ ‫יש‬: •‫להשתמש‬ ‫שנרצה‬ ‫איפה‬ ‫מקום‬ ‫לכל‬ ‫הפונקציה‬ ‫של‬ ‫קוד‬ ‫להעתיק‬‫בה‬ •‫רעיון‬‫לא‬ ‫זה‬‫טוב‬:‫של‬ ‫העתק‬ ‫בכל‬ ‫אותה‬ ‫לתקן‬ ‫נצטרך‬ ‫בפונקציה‬ ‫טעות‬ ‫תהי‬ ‫ואם‬ ‫קוד‬ ‫נשכפל‬ ‫הפונקציה‬
  • 8. ‫מודול‬ ‫זה‬ ‫מה‬? •‫אחרות‬ ‫בתוכנות‬ ‫בעתיד‬ ‫בה‬ ‫להשתמש‬ ‫מתכוונים‬ ‫ואנו‬ ‫מסוימת‬ ‫פונקציה‬ ‫כתבנו‬ ‫אנו‬ ‫נניח‬ •‫אחרת‬ ‫בתוכנה‬ ‫קודם‬ ‫שכתבנו‬ ‫בפונקציה‬ ‫נשתמש‬ ‫איך‬? •‫אפשרויות‬ ‫שתי‬ ‫יש‬: •‫בה‬ ‫להשתמש‬ ‫שנרצה‬ ‫איפה‬ ‫מקום‬ ‫לכל‬ ‫הפונקציה‬ ‫של‬ ‫קוד‬ ‫להעתיק‬.‫טוב‬ ‫מספיק‬ ‫לא‬ ‫זה‬ ‫רעיון‬: ‫הפונקציה‬ ‫של‬ ‫העתק‬ ‫בכל‬ ‫אותה‬ ‫לתקן‬ ‫נצטרך‬ ‫בפונקציה‬ ‫טעות‬ ‫תהי‬ ‫ואם‬ ‫קוד‬ ‫נשכפל‬ •‫סיומת‬ ‫עם‬ ‫נפרד‬ ‫בקובץ‬ ‫שלנו‬ ‫הפונקציה‬ ‫לשמור‬ ‫אפשר‬.py,‫נקרא‬ ‫צורך‬ ‫שיהי‬ ‫פעם‬ ‫כל‬ ‫ואז‬ ‫שלנו‬ ‫לפונקציה‬
  • 9. ‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬ •‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫אם‬ ‫ראשוני‬,‫אחרת‬‫הפונקציה‬‫מחזירה‬False
  • 10. ‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬ •‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫אם‬ ‫ראשוני‬,‫מחזירה‬ ‫הפונקציה‬ ‫אחרת‬False •‫בקובץ‬ ‫הפונקציה‬ ‫את‬ ‫נשמור‬ourprime.py •‫שורת‬ ‫שנוסיף‬ ‫לאחר‬ ‫אחרת‬ ‫בתוכנה‬ ‫שלנו‬ ‫בפונקציה‬ ‫להשתמש‬ ‫נוכל‬ ‫כעת‬import
  • 11. ‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬ •‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫כאשר‬ ‫ראשוני‬,‫מחזירה‬ ‫פונקציה‬ ‫אחרת‬False •‫בקובץ‬ ‫הפונקציה‬ ‫את‬ ‫נשמור‬ourprime.py •‫אחרת‬ ‫בתוכנה‬ ‫שלנו‬ ‫בפונקציה‬ ‫להשתמש‬ ‫נוכל‬ ‫כעת‬
  • 12. ‫המשך‬ ‫מודולים‬ •‫במודולים‬ ‫להשתמש‬ ‫נוספת‬ ‫אפשרות‬ ‫קיימת‬
  • 13. ‫במודולים‬ ‫לשימוש‬ ‫דוגמא‬ •‫פונקציה‬ ‫נכתוב‬isPrime()‫שלם‬ ‫מספר‬ ‫שמקבלת‬N>1‫ומחזירה‬True‫המספר‬ ‫כאשר‬ ‫ראשוני‬,‫מחזירה‬ ‫פונקציה‬ ‫אחרת‬False •‫בקובץ‬ ‫הפונקציה‬ ‫את‬ ‫נשמור‬ourprime.py •‫אחרת‬ ‫בתוכנה‬ ‫שלנו‬ ‫בפונקציה‬ ‫להשתמש‬ ‫נוכל‬ ‫כעת‬
  • 14. ‫המשך‬ ‫מודולים‬ •‫במודולים‬ ‫להשתמש‬ ‫נוספת‬ ‫אפשרות‬ ‫קיימת‬
  • 15. ‫המשך‬ ‫מודולים‬ •‫במודולים‬ ‫להשתמש‬ ‫נוספת‬ ‫אפשרות‬ ‫קיימת‬
  • 16. ‫סיכום‬ ‫מודולים‬ •‫במודולים‬ ‫להשתמש‬ ‫כדאי‬ ‫תוכנות‬ ‫כותבים‬ ‫כאשר‬ •‫אותה‬ ‫שעושות‬ ‫פונקציה‬ ‫בעזרת‬ ‫להציג‬ ‫טריוויאלית‬ ‫ולא‬ ‫קטנה‬ ‫משימה‬ ‫כל‬ ‫ממליצים‬ •‫אותו‬ ‫ולהבין‬ ‫לתחזק‬ ‫יותר‬ ‫קל‬ ‫קטנות‬ ‫פונקציות‬ ‫בעזרת‬ ‫ממומש‬ ‫מורכב‬ ‫קוד‬ ‫כאשר‬ •‫שימוש‬ ‫אין‬ ‫שבו‬ ‫ארוך‬ ‫קוד‬ ‫מלבדוק‬ ‫קטנות‬ ‫פונקציות‬ ‫מספר‬ ‫לבדוק‬ ‫יותר‬ ‫קל‬ ‫גם‬ ‫בפונקציות‬
  • 18. ‫סיכום‬ ‫בעזרת‬ ‫מסוימת‬ ‫מסימה‬ ‫המבצע‬ ‫קוד‬ ‫לכתוב‬ ‫עדיף‬‫פונקציה‬ ‫סיומת‬ ‫עם‬ ‫בקבצים‬ ‫פונקציות‬ ‫לשמור‬ ‫אפשר‬.py ‫בקבצים‬ ‫הנמצאות‬ ‫לפונקציות‬ ‫לקרוא‬ ‫אפשר‬‫אחרים‬ ‫מודולים‬
  • 19. ‫סיכום‬ import ourprime print ourptime.isPrime(11) import ourprime as op print op.isPrime(11) from op import isPrime print isPrime(11) from op import * print isPrime(11)
  • 20.
  • 22. ‫מטרה‬ ‫טבעי‬ ‫באופן‬ ‫רשימות‬ ‫לייצר‬ ‫שמאפשר‬ ‫נוסף‬ ‫מנגנון‬ ‫ללמוד‬-List Comprehension ‫ל‬ ‫שונות‬ ‫דוגמאות‬ ‫לראות‬-List Comprehension
  • 23. ‫תזכורת‬ ‫רשימות‬ •‫נתונים‬ ‫מבנה‬ ‫היא‬ ‫רשימה‬ •‫היא‬ ‫רשימה‬‫סדרת‬‫שונים‬ ‫מסוגים‬ ‫אובייקטים‬ ‫של‬ •‫ו‬ ‫שלו‬ ‫אינדקס‬ ‫בעזרת‬ ‫ברשימה‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫אפשר‬-] [ •‫לשינוי‬ ‫ניתנות‬ ‫ממחרוזות‬ ‫להבדיל‬ ‫רשימות‬
  • 24. ‫תזכורת‬ ‫רשימות‬ •‫נתונים‬ ‫מבנה‬ ‫היא‬ ‫רשימה‬ •‫היא‬ ‫רשימה‬‫סדרת‬‫שונים‬ ‫מסוגים‬ ‫אובייקטים‬ ‫של‬ •‫ו‬ ‫שלו‬ ‫אינדקס‬ ‫בעזרת‬ ‫ברשימה‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫אפשר‬-] [ •‫לשינוי‬ ‫ניתנות‬ ‫ממחרוזות‬ ‫להבדיל‬ ‫רשימות‬
  • 25. List Comprehension •‫המנגנון‬List Comprehension‫טבעי‬ ‫באופן‬ ‫רשימות‬ ‫להגדיר‬ ‫מאפשר‬ ‫בפייתון‬ ‫במתמטיקה‬ ‫כמו‬: • X=[i: i>1, i is a natural number] •‫דוגמא‬:‫מ‬ ‫מספרים‬ ‫של‬ ‫ריבועים‬ ‫רשימת‬-0‫עד‬9
  • 27. List Comprehension + IF •‫ב‬ ‫להיעזר‬ ‫אפשר‬-if‫רשימה‬ ‫בונים‬ ‫כאשר‬
  • 28.
  • 29.
  • 30.
  • 32.
  • 34. ‫מטרה‬ ‫ללמוד‬‫ממדיות‬ ‫רב‬ ‫רשימות‬ ‫להבין‬‫בפייתון‬ ‫ממדית‬ ‫רב‬ ‫רשימה‬ ‫להגדיר‬ ‫איך‬ ‫בפייתון‬ ‫ממדיות‬ ‫רב‬ ‫ברשימות‬ ‫שימוש‬
  • 35. ‫תזכורת‬ ‫רשימות‬ •‫נתונים‬ ‫מבנה‬ ‫היא‬ ‫רשימה‬ •‫היא‬ ‫רשימה‬‫סדרת‬‫שונים‬ ‫מסוגים‬ ‫אובייקטים‬ ‫של‬ •‫ו‬ ‫שלו‬ ‫אינדקס‬ ‫בעזרת‬ ‫ברשימה‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫אפשר‬-] [ •‫לשינוי‬ ‫ניתנות‬ ‫ממחרוזות‬ ‫להבדיל‬ ‫רשימות‬
  • 36. ‫ממדיות‬ ‫דו‬ ‫רשימות‬:‫מוטיבציה‬ •‫ברשימת‬ ‫נתבונן‬‫סטודנטים‬ ‫של‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
  • 37. ‫מוטיבציה‬ •‫סטודנטים‬ ‫של‬ ‫רשימת‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬ •‫דו‬ ‫רשימות‬ ‫בעזרת‬ ‫הנתונים‬ ‫להציג‬ ‫וקל‬ ‫נוח‬-‫ממדיות‬:‫רשימות‬ ‫של‬ ‫רשימה‬
  • 38. ‫רשימות‬ ‫של‬ ‫רשימה‬ •‫סטודנטים‬ ‫של‬ ‫רשימת‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
  • 39. ‫רשימות‬ ‫של‬ ‫רשימה‬ •‫סטודנטים‬ ‫של‬ ‫רשימת‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
  • 40. ‫רשימות‬ ‫של‬ ‫רשימה‬ •‫סטודנטים‬ ‫של‬ ‫רשימת‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
  • 41. ‫רשימות‬ ‫של‬ ‫רשימה‬ •‫סטודנטים‬ ‫של‬ ‫רשימת‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
  • 42. ‫רשימות‬ ‫של‬ ‫רשימה‬ •‫סטודנטים‬ ‫של‬ ‫רשימת‬ •‫יש‬ ‫סטודנט‬ ‫לכל‬4‫ציונים‬
  • 43. ‫רשימות‬ ‫של‬ ‫רשימה‬ •‫ב‬ ‫משתמשים‬ ‫ממדית‬ ‫דו‬ ‫רשימה‬ ‫של‬ ‫מסוים‬ ‫לאיבר‬ ‫לגשת‬ ‫כדי‬-][][‫ושתי‬ ‫האיבר‬ ‫של‬ ‫האינדקסים‬ •‫ב‬ ‫כאשר‬-] [‫חיצונית‬ ‫רשימה‬ ‫של‬ ‫אינדקס‬ ‫כתוב‬ ‫ראשון‬(‫מ‬ ‫החל‬-0)‫וב‬-] [‫שני‬ ‫פנימית‬ ‫רשימה‬ ‫בתוך‬ ‫אינדקס‬ ‫כתוב‬(‫מ‬ ‫החל‬-0)
  • 44.
  • 45.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51. ‫ממדיות‬ ‫רב‬ ‫רשימות‬ •‫רשימות‬‫דו‬‫דומות‬ ‫מימדיות‬‫למבנה‬‫נתונים‬‫מערך‬‫דו‬‫ממדי‬‫מטריצה‬ ‫או‬ •‫ברשימות‬‫כאלו‬‫נוח‬‫לשמור‬‫טבלה‬ ‫של‬ ‫נתוני‬ •‫תמונות‬ ‫לשמור‬ ‫נוח‬ ‫ממדיות‬ ‫דו‬ ‫ברשימות‬,‫בקורס‬ ‫שונים‬ ‫סטודנטים‬ ‫של‬ ‫ציונים‬, ‫וכו‬ ‫במישור‬ ‫חלקיקים‬ ‫או‬ ‫חלקיק‬ ‫של‬ ‫מיקום‬' •‫של‬ ‫מנגנון‬ ‫בעזרת‬ ‫מימדית‬ ‫דו‬ ‫רשימה‬ ‫להגדיר‬ ‫אפשר‬List Comprehension
  • 52.
  • 54. ‫מטרה‬ ‫עקרונות‬ ‫ללמוד‬‫הסימולציה‬ ‫בפייתון‬ ‫סימולציה‬ ‫לעשות‬ ‫ללמוד‬ ‫סימולציה‬ ‫בעזרת‬ ‫לממוצע‬ ‫או‬ ‫להסתברות‬ ‫הערכה‬ ‫למצוא‬ ‫איך‬ ‫ללמוד‬
  • 56. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?
  • 57. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5
  • 58. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬ "‫ראש‬"?
  • 59. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬ "‫ראש‬"? •‫ניחוש‬‫עיוור‬?
  • 60. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬ "‫ראש‬"? •‫ניחוש‬‫עיוור‬?0.5
  • 61. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬ "‫ראש‬"? •‫סימולציה‬ ‫בעזרת‬ ‫נבדוק‬
  • 62. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫היא‬ ‫מה‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬ "‫ראש‬"? •‫של‬ ‫סימולציה‬ ‫בעזרת‬ ‫נבדוק‬100‫הטלות‬
  • 63. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
  • 64. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
  • 65. ‫מוטיבציה‬ ‫סימולציה‬ •‫פשוטות‬ ‫מדוגמאות‬ ‫נתחיל‬: •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
  • 66. ‫סימולציה‬‫הוגן‬ ‫מטבע‬:‫סיכום‬ •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"?
  • 67. ‫מוטיבציה‬ ‫סימולציה‬ •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"? •‫לסיכום‬: •‫תובנות‬: •‫של‬ ‫אמיתי‬ ‫לערך‬ ‫יותר‬ ‫מתקרבים‬ ‫סימולציות‬ ‫יותר‬ ‫שעושים‬ ‫ככל‬‫הסתברות‬(‫גדולים‬ ‫מספרים‬ ‫חוק‬) •‫פי‬ ‫מטבע‬ ‫הטלות‬ ‫כמות‬ ‫מגדילים‬ ‫כאשר‬-100‫גדל‬ ‫דיוק‬‫בערך‬‫פי‬-10(‫מדויקת‬ ‫הוכחה‬ ‫לתת‬ ‫אפשר‬)
  • 68. ‫מוטיבציה‬ ‫סימולציה‬ •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"? •‫לסיכום‬: •‫תובנות‬: •‫אמיתי‬ ‫לערך‬ ‫יותר‬ ‫מתקרבים‬ ‫סימולציות‬ ‫יותר‬ ‫שעושים‬ ‫ככל‬ •‫פי‬ ‫מטבע‬ ‫הטלות‬ ‫כמות‬ ‫מגדילים‬ ‫כאשר‬-100‫פי‬ ‫בערך‬ ‫גדל‬ ‫דיוק‬-10 •‫נובעת‬ ‫אלה‬ ‫מקרית‬ ‫לא‬ ‫היא‬ ‫זו‬ ‫שהתופעה‬ ‫מסתבר‬‫הגדולים‬ ‫המספרים‬ ‫מחוק‬‫שלומדים‬ ‫הסתברות‬ ‫בקורס‬ ‫אותו‬
  • 69. ‫מוטיבציה‬ ‫סימולציה‬ •‫לקבל‬ ‫הסתברות‬ ‫מהי‬"‫ראש‬"‫הוגן‬ ‫מטבע‬ ‫בהטלת‬?0.5 •‫שנקבל‬ ‫פעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫מהי‬ ‫פעמים‬ ‫המון‬ ‫הוגן‬ ‫מטבע‬ ‫נטיל‬ ‫אם‬"‫ראש‬"? •‫לסיכום‬: •‫רעיון‬: •‫מאורע‬ ‫של‬ ‫ההסתברות‬ ‫את‬ ‫לחשב‬ ‫שקשה‬ ‫נניח‬‫נתון‬(‫אפשרי‬ ‫בלתי‬ ‫אפילו‬ ‫אולי‬) •‫פעמים‬ ‫הרבה‬ ‫ניסוי‬ ‫אותו‬ ‫של‬ ‫סימולציה‬ ‫בעזרת‬ ‫ההסתברות‬ ‫את‬ ‫להעריך‬ ‫נוכל‬ ‫קרה‬ ‫שהמאורע‬ ‫הפעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫וחישוב‬
  • 70. ‫סימולציה‬ ‫בעזרת‬ ‫מאורע‬ ‫של‬ ‫הסתברות‬ ‫הערכת‬ •‫להעריך‬ ‫כדי‬P(A)(‫מאורע‬ ‫של‬ ‫הסתברות‬A),‫המון‬ ‫נסמלץ‬(n)‫ונחשב‬ ‫מתאימים‬ ‫ניסוים‬ ‫ש‬ ‫הפעמים‬ ‫מספר‬ ‫פרופורציה‬ ‫את‬-A‫קרה‬prop(A): •‫ל‬ ‫כהערכה‬ ‫זו‬ ‫בפרופורציה‬ ‫נעזר‬-P(A)(P(A)~prop(A))
  • 71. ‫סימולציה‬ ‫בעזרת‬ ‫מאורע‬ ‫של‬ ‫הסתברות‬ ‫הערכת‬ •‫להעריך‬ ‫כדי‬P(A),‫המון‬ ‫נסמלץ‬(n)‫מספר‬ ‫פרופורציה‬ ‫את‬ ‫ונחשב‬ ‫מתאימים‬ ‫ניסוים‬ ‫ש‬ ‫הפעמים‬-A‫קרה‬prop(A): •‫ל‬ ‫כהערכה‬ ‫זו‬ ‫בפרופורציה‬ ‫נעזר‬-P(A) •‫הערות‬: •‫כאשר‬ ‫כלל‬ ‫בדרך‬ ‫זו‬ ‫בגישה‬ ‫נעזר‬P(A)‫קשה‬‫לחשב‬‫לחשב‬ ‫ניתן‬ ‫לא‬ ‫או‬ •‫אקראית‬ ‫היא‬ ‫שלנו‬ ‫הערכה‬ •‫מרווח‬ ‫מסוימים‬ ‫תנאים‬ ‫שתחת‬ ‫להוכיח‬ ‫אפשר‬‫אקראי‬ [Prop(A)-1/sqrt(n);Prop(A)+1/sqrt(n)[ ‫אמיתי‬ ‫ערך‬ ‫מכיל‬P(A)‫בהסתברות‬0.95‫לפחות‬ •‫על‬ ‫מתבססת‬ ‫נכונות‬ ‫הוכחת‬‫הגדולים‬ ‫המספרים‬ ‫חוק‬
  • 72. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬‫ל‬-12
  • 73. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬???
  • 74. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111
  • 75. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:
  • 76. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬???
  • 77. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫התוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
  • 78. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
  • 79. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
  • 80. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
  • 81. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
  • 82. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12
  • 83. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111‫פתרון‬ ‫סימולציה‬ ‫בעזרת‬:‫נסמלץ‬10000‫הטלות‬‫מספר‬ ‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬-12
  • 84. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫הפעמים‬ ‫מספר‬ ‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬-12
  • 85. ‫דוגמא‬1:‫קוביות‬ ‫זוג‬ ‫הטלת‬ ‫תרגיל‬:‫הטלות‬ ‫תוצאות‬ ‫שתי‬ ‫שמכפלת‬ ‫ההסתברות‬ ‫את‬ ‫סימולציה‬ ‫שיטת‬ ‫בעזרת‬ ‫העריכו‬ ‫ל‬ ‫שווה‬ ‫הוגנות‬ ‫קוביות‬-12 ‫מדויק‬ ‫פתרון‬:‫נקבל‬ ‫במדויק‬ ‫ההסתברות‬ ‫את‬ ‫נחשב‬ ‫אם‬4/36=1/9=0.111111111 ‫סימולציה‬ ‫בעזרת‬ ‫פתרון‬:‫נסמלץ‬10000‫פרופורציות‬ ‫את‬ ‫נחשב‬ ‫ואז‬ ‫קוביות‬ ‫זוג‬ ‫של‬ ‫הטלות‬ ‫ל‬ ‫שווה‬ ‫תוצאות‬ ‫של‬ ‫כפל‬ ‫שבהם‬ ‫הפעמים‬ ‫מספר‬-12 [0.106;0.126]‫סמך‬ ‫אינטרוול‬
  • 86. ‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬ 10‫שלו‬ ‫מטריה‬ ‫עם‬ ‫אחד‬ ‫כל‬ ‫למסיבה‬ ‫הגיעו‬ ‫אנשים‬ ‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫מטריה‬ ‫בחר‬ ‫אחד‬ ‫כל‬ ‫ולכן‬ ‫חושך‬ ‫היה‬ ‫עזבו‬ ‫האנשים‬ ‫כאשר‬ ‫שלו‬ ‫מטריה‬ ‫לקח‬ ‫אחד‬ ‫אדם‬ ‫בן‬ ‫שלפחות‬ ‫הסתברות‬ ‫מהי‬?
  • 87. ‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬ 10‫שלו‬ ‫מטריה‬ ‫עם‬ ‫אחד‬ ‫כל‬ ‫למסיבה‬ ‫הגיעו‬ ‫אנשים‬ ‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫מטריה‬ ‫בחר‬ ‫אחד‬ ‫כל‬ ‫ולכן‬ ‫חושך‬ ‫היה‬ ‫עזבו‬ ‫האנשים‬ ‫כאשר‬ ‫שלו‬ ‫מטריה‬ ‫לקח‬ ‫אחד‬ ‫אדם‬ ‫בן‬ ‫שלפחות‬ ‫הסתברות‬ ‫מהי‬? ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫ניתן‬‫והפרדה‬ ‫הכלה‬ ‫עקרון‬ https://www.youtube.com/watch?v=5KZyd9JORUU
  • 88. ‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬ 10‫שלו‬ ‫מטריה‬ ‫עם‬ ‫אחד‬ ‫כל‬ ‫למסיבה‬ ‫הגיעו‬ ‫אנשים‬ ‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫מטריה‬ ‫בחר‬ ‫אחד‬ ‫כל‬ ‫ולכן‬ ‫חושך‬ ‫היה‬ ‫עזבו‬ ‫האנשים‬ ‫כאשר‬ ‫שלו‬ ‫מטריה‬ ‫לקח‬ ‫אחד‬ ‫אדם‬ ‫בן‬ ‫שלפחות‬ ‫הסתברות‬ ‫מהי‬? ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫ניתן‬‫והפרדה‬ ‫הכלה‬ ‫עקרון‬ https://www.youtube.com/watch?v=5KZyd9JORUU ‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
  • 89. ‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬ ‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬: ‫אלגוריתם‬:
  • 90. ‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬ ‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬: ‫אלגוריתם‬: •Counter=0 •‫הבא‬ ‫שלב‬ ‫על‬ ‫נחזור‬10000‫פעם‬: •‫אקראית‬ ‫מטריה‬ ‫לוקח‬ ‫מהאנשים‬ ‫אחד‬ ‫כל‬ ‫שבו‬ ‫אקראי‬ ‫ניסוי‬ ‫נסמלץ‬(‫פונקציה‬ ‫בעזרת‬ random.shuffle) •‫ב‬ ‫נסמן‬-X‫שלהם‬ ‫מטריות‬ ‫שקיבלו‬ ‫האנשים‬ ‫כמות‬ ‫את‬ •‫אם‬X>?‫ל‬ ‫נוסיף‬-Counter1.
  • 91. ‫דוגמא‬2:‫רשלנית‬ ‫מזכירה‬ ‫סימולציה‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬: ‫אלגוריתם‬: •Counter=0 •‫הבא‬ ‫שלב‬ ‫על‬ ‫נחזור‬10000‫פעם‬: •‫אקראית‬ ‫מטריה‬ ‫לוקח‬ ‫מהאנשים‬ ‫אחד‬ ‫כל‬ ‫שבו‬ ‫אקראי‬ ‫ניסוי‬ ‫נסמלץ‬(‫פונקציה‬ ‫בעזרת‬ random.shuffle) •‫ב‬ ‫נסמן‬-X‫שלהם‬ ‫מטריות‬ ‫שקיבלו‬ ‫האנשים‬ ‫כמות‬ ‫את‬ •‫אם‬X>0‫ל‬ ‫נוסיף‬-Counter1. •‫את‬ ‫נדפיס‬Сounter/10000
  • 92. ‫פונקציה‬random.shuffle •‫פונקציה‬shuffle‫מקבלת‬‫רשימה‬‫ומערבבת‬‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫אותה‬,‫היא‬ ‫כלומר‬ ‫מי‬ ‫אחד‬ ‫כל‬ ‫מחזירה‬-N!‫רשימה‬ ‫של‬ ‫אפשריים‬ ‫סידורים‬,‫כאשר‬N–‫הרשימה‬ ‫גודל‬ ‫הוא‬
  • 93. ‫פונקציה‬random.shuffle •‫פונקציה‬shuffle‫מקבלת‬‫רשימה‬"‫ומערבבת‬"‫אחיד‬ ‫אקראי‬ ‫באופן‬ ‫אותה‬ •‫הנ‬ ‫בסידורים‬ ‫מאנשים‬ ‫מי‬"‫שלו‬ ‫המטריה‬ ‫את‬ ‫קיבל‬ ‫ל‬?
  • 104. ‫דוגמא‬3:‫קזינו‬ •‫בקזינו‬ ‫משחק‬ •‫הון‬ ‫עם‬ ‫בקזינו‬ ‫לשחק‬ ‫מתחיל‬ ‫אדם‬ ‫בן‬100₪ •‫לו‬ ‫שיהי‬ ‫ברגע‬ ‫או‬ ‫לשחק‬ ‫מסיים‬ ‫הוא‬150₪(‫ניצחון‬)‫או‬0₪(‫הפסד‬) •‫שקל‬ ‫על‬ ‫מהמר‬ ‫הוא‬ ‫פעם‬ ‫כל‬1‫בהסתברות‬ ‫זוכה‬ ‫ואז‬0.48‫מפסיד‬ ‫או‬ ‫נוסף‬ ‫שקל‬ ‫בהסתברות‬0.52‫שקל‬ •‫העריכו‬‫בניצחון‬ ‫הקזינו‬ ‫את‬ ‫יעזוב‬ ‫אדם‬ ‫שבן‬ ‫ההסתברות‬ ‫את‬(‫עם‬150‫שקלים‬)
  • 105. ‫דוגמא‬3:‫קזינו‬ •‫בקזינו‬ ‫משחק‬ •‫הון‬ ‫עם‬ ‫בקזינו‬ ‫לשחק‬ ‫מתחיל‬ ‫אדם‬ ‫בן‬100₪ •‫לו‬ ‫שיהי‬ ‫ברגע‬ ‫או‬ ‫לשחק‬ ‫מסיים‬ ‫הוא‬150₪(‫ניצחון‬)‫או‬0₪(‫הפסד‬) •‫שקל‬ ‫על‬ ‫מהמר‬ ‫הוא‬ ‫פעם‬ ‫כל‬1‫בהסתברות‬ ‫זוכה‬ ‫ואז‬0.48‫מפסיד‬ ‫או‬ ‫נוסף‬ ‫שקל‬ ‫בהסתברות‬0.52‫שקל‬‫העריכו‬‫בניצחון‬ ‫הקזינו‬ ‫את‬ ‫יעזוב‬ ‫אדם‬ ‫שבן‬ ‫ההסתברות‬ ‫את‬ (‫עם‬150‫שקלים‬) •‫אלגוריתם‬:
  • 106. ‫דוגמא‬3:‫קזינו‬ •‫בקזינו‬ ‫משחק‬ •‫הון‬ ‫עם‬ ‫בקזינו‬ ‫לשחק‬ ‫מתחיל‬ ‫אדם‬ ‫בן‬100₪ •‫לו‬ ‫שיהי‬ ‫ברגע‬ ‫או‬ ‫לשחק‬ ‫מסיים‬ ‫הוא‬150₪(‫ניצחון‬)‫או‬0₪(‫הפסד‬) •‫שקל‬ ‫על‬ ‫מהמר‬ ‫הוא‬ ‫פעם‬ ‫כל‬1‫בהסתברות‬ ‫זוכה‬ ‫ואז‬0.48‫מפסיד‬ ‫או‬ ‫נוסף‬ ‫שקל‬ ‫בהסתברות‬0.52‫שקל‬‫העריכו‬‫בניצחון‬ ‫הקזינו‬ ‫את‬ ‫יעזוב‬ ‫אדם‬ ‫שבן‬ ‫ההסתברות‬ ‫את‬ (‫עם‬150‫שקלים‬) •‫אלגוריתם‬: •‫נסמלץ‬1000000‫בקזינו‬ ‫משחקים‬(‫קודמת‬ ‫הרצאה‬.) •‫עם‬ ‫סיים‬ ‫אדם‬ ‫שבן‬ ‫הפעמים‬ ‫מספר‬ ‫פרופורציית‬ ‫את‬ ‫נחשב‬150‫שקלים‬
  • 113.
  • 114. ‫מדעי‬ ‫לתכנות‬ ‫מבוא‬ ‫הרצאה‬8‫חלק‬5 ‫תוכנה‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ ‫חישוב‬ 2017 Igor Kleiner
  • 115. ‫מטרה‬ ‫קוד‬ ‫של‬ ‫קטע‬ ‫או‬ ‫תוכנה‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ ‫להעריך‬ ‫אפשר‬ ‫איך‬ ‫ללמוד‬ ‫הקלט‬ ‫אורך‬ ‫של‬ ‫כפונקציה‬ ‫ביצוע‬ ‫זמן‬ ‫להעריך‬ ‫איך‬ ‫ללמוד‬
  • 116. ‫מוטיבציה‬ •‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬‫מהיר‬‫יעי‬‫ל‬
  • 117. ‫מוטיבציה‬ •‫מהיר‬ ‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬ •‫במספר‬ ‫משימה‬ ‫אותה‬ ‫לבצע‬ ‫אפשר‬ ‫מיקרים‬ ‫שברוב‬ ‫ראינו‬‫דרכים‬:‫לתכנת‬ ‫אפשר‬ ‫כלומר‬ ‫דרכים‬ ‫במספר‬ ‫בעיה‬ ‫אותה‬ ‫של‬ ‫פתרון‬
  • 118. ‫מוטיבציה‬ •‫מהיר‬ ‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬ •‫במספר‬ ‫משימה‬ ‫אותה‬ ‫לבצע‬ ‫אפשר‬ ‫מיקרים‬ ‫שברוב‬ ‫ראינו‬‫דרכים‬:‫לתכנת‬ ‫אפשר‬ ‫כלומר‬ ‫דרכים‬ ‫במספר‬ ‫בעיה‬ ‫אותה‬ ‫של‬ ‫פתרון‬ •‫טובה‬ ‫יותר‬ ‫היא‬ ‫דרך‬ ‫איזה‬ ‫נדע‬ ‫איך‬? •‫הקוד‬ ‫יעילות‬ ‫נמדד‬ ‫איך‬? •‫הקוד‬ ‫מהירות‬ ‫נמדד‬ ‫איך‬?
  • 119. ‫מוטיבציה‬ •‫מהיר‬ ‫יהי‬ ‫שהקוד‬ ‫גם‬ ‫חשוב‬ ‫שלנו‬ ‫מקוד‬ ‫נכונות‬ ‫לדרישת‬ ‫בנוסף‬ ‫כלל‬ ‫בדרך‬ •‫דרכים‬ ‫במספר‬ ‫משימה‬ ‫אותה‬ ‫לבצע‬ ‫אפשר‬ ‫מיקרים‬ ‫שברוב‬ ‫ראינו‬:‫לתכנת‬ ‫אפשר‬ ‫כלומר‬ ‫דרכים‬ ‫במספר‬ ‫בעיה‬ ‫אותה‬ ‫של‬ ‫פתרון‬ •‫טובה‬ ‫יותר‬ ‫היא‬ ‫דרך‬ ‫איזה‬ ‫נדע‬ ‫איך‬? •‫הקוד‬ ‫יעילות‬ ‫נמדד‬ ‫איך‬? •‫למשל‬‫אפשר‬‫למדוד‬‫זמן‬‫ריצה‬‫של‬‫קטע‬‫קוד‬‫ע‬ ‫פתרון‬ ‫לבחור‬ ‫זה‬ ‫ממד‬ ‫ולפי‬ ‫יעיל‬ ‫יותר‬
  • 120. ‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ •‫ספריה‬ ‫בעזרת‬timer‫לחשב‬ ‫נוכל‬‫קוד‬ ‫קטע‬ ‫של‬ ‫ריצה‬ ‫זמן‬
  • 121. ‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ •‫ספריה‬ ‫בעזרת‬timer‫קוד‬ ‫קטע‬ ‫לביצוע‬ ‫הדרוש‬ ‫הזמן‬ ‫את‬ ‫לחשב‬ ‫נוכל‬ ‫שרוצים‬ ‫קוד‬ ‫קטע‬‫לחשב‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬
  • 122. ‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ •‫ספריה‬ ‫בעזרת‬timer‫קוד‬ ‫קטע‬ ‫לביצוע‬ ‫הדרוש‬ ‫הזמן‬ ‫את‬ ‫לחשב‬ ‫נוכל‬ ‫מקבלים‬ ‫פעם‬ ‫כל‬ ‫שונות‬ ‫תוצאות‬–‫אפשר‬ ‫ריצות‬ ‫כמה‬ ‫לעשות‬ ‫ממוצע‬ ‫ולחשב‬
  • 123. ‫קוד‬ ‫של‬ ‫ביצוע‬ ‫זמן‬ •‫ספריה‬ ‫בעזרת‬timer‫קוד‬ ‫קטע‬ ‫לביצוע‬ ‫הדרוש‬ ‫הזמן‬ ‫את‬ ‫לחשב‬ ‫נוכל‬ •‫מסקנות‬: •‫זמן‬ ‫שמדדנו‬ ‫פעם‬ ‫כל‬‫אותו‬ ‫קיבלנו‬ ‫לא‬ ‫ריצה‬‫תוצאה‬ •‫ריצה‬ ‫לזמן‬ ‫מדויק‬ ‫יותר‬ ‫אמד‬ ‫לקבל‬ ‫נרצה‬ ‫כאשר‬ ‫לפעמים‬,‫מספר‬ ‫הקוד‬ ‫את‬ ‫נריץ‬ ‫ממוצע‬ ‫ונחשב‬ ‫פעמים‬ •‫ריצה‬ ‫זמן‬ ‫לחשב‬ ‫אפשר‬ ‫הקלט‬ ‫אורך‬ ‫של‬ ‫כפונקציה‬ ‫ריצה‬ ‫זמן‬ ‫משתנה‬ ‫איך‬ ‫להבין‬ ‫כדי‬ ‫גרף‬ ‫ולצייר‬ ‫שונה‬ ‫בגודל‬ ‫קלט‬ ‫עבור‬
  • 124. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫בגדלים‬ ‫אקראיים‬ ‫מספרים‬ ‫של‬ ‫רשימה‬ ‫למיין‬ ‫למחשב‬ ‫שלוקח‬ ‫זמן‬ ‫המייצג‬ ‫גרף‬ ‫בנו‬: • 2,4,8,16,…,2^24
  • 125. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫בגדלים‬ ‫אקראיים‬ ‫מספרים‬ ‫של‬ ‫רשימה‬ ‫למיין‬ ‫למחשב‬ ‫שלוקח‬ ‫זמן‬ ‫המייצג‬ ‫גרף‬ ‫בנו‬: • 2,4,8,16,…,2^24 •‫פתרון‬:
  • 126. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫בגדלים‬ ‫אקראיים‬ ‫מספרים‬ ‫של‬ ‫רשימה‬ ‫למיין‬ ‫למחשב‬ ‫שלוקח‬ ‫זמן‬ ‫המייצג‬ ‫גרף‬ ‫בנו‬: • 2,4,8,16,…,2^24 •‫פתרון‬: •‫מאלגוריתם‬ ‫נתחיל‬: •‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬ ‫אותם‬ ‫למיין‬ ‫כדי‬ ‫שנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬ ‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
  • 127. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫מאלגוריתם‬ ‫נתחיל‬: •‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬ ‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬ ‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
  • 128. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫מאלגוריתם‬ ‫נתחיל‬: •‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬ ‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬ ‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
  • 129. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫מאלגוריתם‬ ‫נתחיל‬: •‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬ ‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬ ‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
  • 130. ‫מתודה‬ ‫בעזרת‬ ‫מיון‬ ‫דוגמא‬sort •‫מאלגוריתם‬ ‫נתחיל‬: •‫ברשימה‬ ‫מהמספרים‬ ‫אחד‬ ‫לכל‬:[2,4,6,….2^24]‫של‬ ‫מתאים‬ ‫בגודל‬ ‫רשימה‬ ‫ניקח‬ ‫אותם‬ ‫למיין‬ ‫כדי‬ ‫הנחוץ‬ ‫זמן‬ ‫ונמדוד‬ ‫אקראיים‬ ‫מספרים‬.‫ברשימה‬ ‫הזמנים‬ ‫כל‬ ‫נשמור‬ ‫התוצאות‬ ‫כל‬ ‫של‬ ‫גרף‬ ‫נצייר‬ ‫ואז‬
  • 131. MAX SORT •‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬‫חדש‬(MAX SORT)‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬‫נשווה‬‫ריצה‬ ‫זמן‬‫של‬ ‫האלגוריתם‬‫במתודה‬ ‫הממומש‬ ‫לאלגוריתם‬sort
  • 132. MAX SORT •‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬‫חדש‬(MAX SORT)‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬‫נשווה‬‫ריצה‬ ‫זמן‬‫של‬ ‫האלגוריתם‬‫במתודה‬ ‫הממומש‬ ‫לאלגוריתם‬sort •‫האלגוריתם‬: •‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫ריקה‬ ‫לא‬‫נחזור‬‫הבא‬ ‫שלב‬ ‫על‬: •‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez
  • 133. MAX SORT •‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬ ‫במתודה‬ ‫הממומש‬sort: •‫האלגוריתם‬: •‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬ A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez •‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬: • L=[1, 10, 20, 3] Rez=[]
  • 134. MAX SORT •‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬ ‫במתודה‬ ‫הממומש‬sort: •‫האלגוריתם‬: •‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬ A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez •‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬: • L=[1, 10, 3] Rez=[20,]
  • 135. MAX SORT •‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬ ‫במתודה‬ ‫הממומש‬sort: •‫האלגוריתם‬: •‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬ A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez •‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬: • L=[1, 3] Rez=[20,10]
  • 136. MAX SORT •‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬ ‫במתודה‬ ‫הממומש‬sort: •‫האלגוריתם‬: •‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬:‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬ A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez •‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬: • L=[1] Rez=[20,10,3]
  • 137. MAX SORT •‫לאלגוריתם‬ ‫שלו‬ ‫ריצה‬ ‫זמן‬ ‫נשואה‬ ‫כך‬ ‫ואחר‬ ‫רשימה‬ ‫למיון‬ ‫חדש‬ ‫אלגוריתם‬ ‫נפתח‬ ‫כעת‬ ‫במתודה‬ ‫הממומש‬sort: •‫האלגוריתם‬: •‫רשימה‬ ‫בהינתן‬L,‫אשר‬ ‫עד‬L‫הבא‬ ‫שלב‬ ‫על‬ ‫תחזור‬ ‫ריקה‬ ‫לא‬: •‫ב‬ ‫מצא‬-L‫מקסימלי‬ ‫איבר‬A,‫תמחק‬A‫מ‬-L,‫תוסיף‬A‫תשובה‬ ‫רשימת‬ ‫לסוף‬Rez •‫שלנו‬ ‫אלגוריתם‬ ‫לריצה‬ ‫דוגמא‬: • L=[], Rez=[20,10,3,1]
  • 141.
  • 142.
  • 143. ‫דוגמא‬2: •‫ב‬ ‫שימוש‬-List Comprehension‫רשימה‬ ‫של‬ ‫רגילה‬ ‫הגדרה‬ ‫מול‬:
  • 144.
  • 145. ‫סיכום‬ •‫פונקציה‬ ‫בעזרת‬ ‫קוד‬ ‫קטע‬ ‫של‬ ‫ריצה‬ ‫זמן‬ ‫למדוד‬ ‫אפשר‬ ‫איך‬ ‫ראינו‬time‫מספריה‬time •‫הוא‬ ‫שנקבל‬ ‫ריצה‬ ‫זמן‬‫מדויק‬ ‫ולא‬ ‫הערכה‬ •‫דברים‬ ‫בהרבה‬ ‫תלויה‬ ‫זו‬ ‫הערכה‬: •‫הקלט‬ ‫בגודל‬ •‫במחשב‬ •‫בזיכרון‬ •‫במעבד‬CPU •‫פייתון‬ ‫בסביבת‬ •.... •‫ממוצע‬ ‫ונחשב‬ ‫פעמים‬ ‫מספר‬ ‫הקוד‬ ‫את‬ ‫נריץ‬ ‫הערכה‬ ‫לשפר‬ ‫נרצה‬ ‫אם‬