16
מבוא לתכנות מדעי הרצאה2 חלק2 אלגוריתם תוכנה2016 Igor Kleiner

מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

Embed Size (px)

Citation preview

Page 1: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

מבוא לתכנות מדעי

2חלק 2הרצאה

אלגוריתם

תוכנה

2016

Igor Kleiner

Page 2: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

אלגוריתם

אלגוריתם-לפני שנמשיך ללמוד פייתון נצטרך להגדיר מושג חדש וחשוב •

Page 3: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

אלגוריתם

אלגוריתם–לפני שנמשיך ללמוד פייתון נצטרך להגדיר מושג חדש וחשוב •

?מה זה אלגוריתם•

?מה הבדל בין אלגוריתם לתוכנה•

Page 4: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

אלגוריתם

אלגוריתם הוא תיור מדויק של פתרון לבעיה מסוימת: במילים פשוטות•

:אלגוריתם דומה למתכון•במתכון רשומים שלבים להכנת אוכל •

לבעיה באלגוריתם רשומים שלבים של פתרון •

Page 5: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

אלגוריתם

אלגוריתם הוא תיור מדויק של פתרון לבעיה מסוימת: במילים פשוטות•

:אלגוריתם דומה למתכון•במתכון רשומים שלבים להכנת אוכל •בעיהבאלגוריתם רשומים שלבים של פתרון של •

אלגוריתם יכול להיות כתוב בשפה כלשהי•...,בערבית, ברוסית, בעברית, באנגלית•בשפה מתמטית•בשפת מחשב•בעזרת דיאגרמת מעברים••....

Page 6: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

אלגוריתם

אלגוריתם הוא תיור מדויק של פתרון לבעיה מסוימת: במילים פשוטות•

:אלגוריתם דומה למתכון•במתכון רשומים שלבים להכנת אוכל •באלגוריתם רשומים שלבים של פתרון של ביעה•

אלגוריתם יכול להיות כתוב בשפה כלשהי•...,בערבית, ברוסית, בעברית, באנגלית•בשפה מתמטית•בשפת מחשב•בעזרת דיאגרמת מעברים•

אנשים שונים יכולים לכתוב אלגוריתמים שונים לאותה בעיה •

Page 7: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

דוגמא לאלגוריתם

צלזיוס למעלות פרנהייטממעלות לפתח אלגוריתם שמעביר טמפרטורה : בעיה•

Page 8: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

דוגמא לאלגוריתם

צלזיוס למעלות פרנהייטממעלות לפתח אלגוריתם שמעביר טמפרטורה : בעיה•

:תיור כללי של אלגוריתם•(input)קבלת טמפרטורה בצלזיוס •

(processing)חישובים מתמטיים•

(output)הצגת תשובה•

Page 9: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

דוגמא לאלגוריתם

צלזיוס למעלות פרנהייטעלות ממלפתח אלגוריתם שמעביר טמפרטורה : בעיה•

:תיור כללי של אלגוריתם•קבלת טמפרטורה בצלזיוס•

חישובים מתמטיים•

הצגת תשובה•

:אלגוריתם•(X-נסמן קלט ב)קבלת קלט ממשתמש •

32לתוצאה נוסיף , 5-את התוצאה נחלק ב, 9-בXנכפיל •

אחרוןנחזיר למשתמש תוצאת חישוב •

Page 10: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

דוגמא לאלגוריתם

לפתח אלגוריתם שמעביר טמפרטורה מעלות צלזיוס למעלות פרנהייט: בעיה•

:תיור כללי של אלגוריתם•קבלת טמפרטורה בצלזיוס•

חישובים מתמטיים•

הצגת תשובה•

:אלגוריתם•(X-נסמן קלט ב)קבלת קלט ממשתמש •

32לתוצאה נוסיף , 5-את התוצאה נחלק ב, 9-בXנכפיל •

אחרוןנחזיר למשתמש תוצאת חישוב •

:בדיקה•12->12*9=108->108/5=21.6->21.6+32=53.6

Page 11: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

דוגמא לאלגוריתם

לפתח אלגוריתם שמעביר טמפרטורה מעלות צלזיוס למעלות פרנהייט: בעיה•

:אלגוריתם•(X-נסמן קלט ב)קבלת קלט ממשתמש 1.

9-בXנכפיל 2.

5-את התוצאה נחלק ב3.

32לתוצאה נוסיף 4.

אחרוןנחזיר למשתמשת תוצאת חישוב 5.

Page 12: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

Algorithm vs Program

?מהו הבדל בין אלגוריתם לתוכנה•

?האם זה אותו דבר•

Page 13: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

Algorithm vs Program

?מהו הבדל בין אלגוריתם לתוכנה•

?האם זה אותו דבר•

:נסתכל בדוגמא•

Page 14: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

Algorithm vs Program

?מהו הבדל בין אלגוריתם לתוכנה•

?האם זה אותו דבר•

:נסתכל בדוגמא•

•www.codeskulptor.org/#user42_SE25eQSD1D_0.py

Page 15: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

Algorithm vs Programאיך לפתור את הבעיה-אלגוריתם זה תיור •

תוכנה היא מימוש של האלגוריתם בשפת תכנות כלשהי•

ויכול לבצע" מבין"תוכנה היא סדרת הפקודות שמחשב •

R-למשל בפייתון או ב, כלשהיבהינתן אלגוריתם אנו יכולים לממש אותו בשפת תכנות •או בשפת תכנות אחרת

( האם הוא יעיל, האם הוא נכון, האם הוא טוב)אפשר לכתוב אלגוריתם ולנתח אותו •תכנותללא קשר לשום שפת

('סמסטר ב)יש קורסים שלמים ששם לומדים רק אלגוריתמים וניתוח שלהם •

Page 16: מבוא לתכנות מדעי פייתון הרצאה 2 חלק 2 Python

אלגוריתם נגד מתכון

מתכון אפילו אם הוא לא מספיק מדויק או אם הוא מכיל טעויות אנשים יכול להבין •קטנות

משמעי-וחדאלגוריתם חייב להיות מדויק ממתכון אבל להבדיל •

יהי מסוגל להריץ אותהשמחשב כך , גם תוכנה צריכה להיות מדויקת ללא טעויות•