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

Document Details

TidyOakland3557

Uploaded by TidyOakland3557

Technion - Israel Institute of Technology

חניל זרבאילוב

Tags

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

Summary

המסמך מציג מושגים בסיסיים של חשיבה אלגוריתמית, כולל הגדרה של אלגוריתם, תכונות של אלגוריתם טוב, דוגמאות לאלגוריתמים, תרשים אלגוריתם והדגמה לתרגום אלגוריתם לשפת תכנות Java. המסמך מיועד לכיתה י'

Full Transcript

‫‪.3‬חשיבה אלגוריתמית‬ ‫‪.3‬‬ ‫חשיבה‬ ‫אלגוריתמית‬ ‫‪1‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬...

‫‪.3‬חשיבה אלגוריתמית‬ ‫‪.3‬‬ ‫חשיבה‬ ‫אלגוריתמית‬ ‫‪1‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫מהו אלגוריתם?‬ ‫הגדרה‬ ‫אלגוריתם הוא סדרת הוראות מדויקת שמסבירה איך לבצע משימה או לפתור בעיה‪.‬‬ ‫תכונות של אלגוריתם טוב‬ ‫דוגמאות מחיינו‬ ‫מסתיים תוך מספר‬ ‫ניתן‬ ‫מסודר‬ ‫פתרון תרגיל‬ ‫הוראות‬ ‫מתכון‬ ‫צעדים סופי‬ ‫לביצוע‬ ‫וברור‬ ‫מתמטי‬ ‫הגעה ליעד‬ ‫לפסטה‬ ‫‪2‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫דוגמאות לאלגוריתמים‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫כל סדרת פעולות יכולה להיות מתוארת כאלגוריתם‪ ,‬למשל‪:‬‬ ‫קבע עם‬ ‫בחר זמן‬ ‫בחר בית‬ ‫חברים‬ ‫הקרנה‬ ‫קולנוע‬ ‫צפייה בסרט‬ ‫בקולנוע עם‬ ‫חברים‬ ‫תהנו‬ ‫מהסרט!‬ ‫תגיעו‬ ‫בחר סרט‬ ‫הכנס לאתר‬ ‫לקולנוע בזמן‬ ‫‪3‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫דוגמאות לאלגוריתמים‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫אבל לא כל סדר פעולות הוא כזה פשוט‪ ,‬למשל‪:‬‬ ‫התחל לאסוף‬ ‫מבחנים מתלמידים‬ ‫חישוב ממוצע‬ ‫האם אספת את‬ ‫ציונים‬ ‫כל המבחנים?‬ ‫כן‬ ‫סכום את‬ ‫חלק במספר‬ ‫לא‬ ‫כל הציונים‬ ‫התלמידים‬ ‫יש לנו את‬ ‫הממוצע!‬ ‫‪4‬‬ ‫אסוף מבחן‬ ‫מתלמיד‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫תרשים אלגוריתם‬ ‫אז איך בתכלס מתארים אלגוריתם בצורה ויזואלית?‬ ‫בעזרת תרשים מסודר עם צורות מוסכמות כמובן!‬ ‫)מפתחים אוהבים תרשימים‪ ,‬תתרגלו(‬ ‫חץ‬ ‫מקבילית‬ ‫מעויין‬ ‫מלבן‪/‬ריבוע‬ ‫פינות מעוגלות‬ ‫מעבר בין‬ ‫פעולת‬ ‫תנאי‬ ‫שלב באלגוריתם‬ ‫התחלה‪/‬סוף‬ ‫שלבים‬ ‫קלט‪/‬פלט‬ ‫(אם ‪ -‬אז)‬ ‫או פעולה‬ ‫‪5‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫תרשים אלגוריתם‬ ‫בנוסף‪ ,‬גם נצטרך לתאר מה מקבלים באלגוריתם‪ ,‬מה עושים ומה התוצאה הרצויה‬ ‫פלט‬ ‫עיבוד‬ ‫קלט‬ ‫‪Output‬‬ ‫‪Process‬‬ ‫‪Input‬‬ ‫מה התוצאה‬ ‫מה השלבים‬ ‫מה המידע‬ ‫שהאלגוריתם מחזיר?‬ ‫שהאלגוריתם מבצע?‬ ‫שהאלגוריתם מקבל?‬ ‫למשל‪:‬‬ ‫למשל‪:‬‬ ‫מספר‪ ,‬טקסט‪ ,‬רשימה‬ ‫מספר‪ ,‬טקסט‪ ,‬רשימה‬ ‫‪6‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫דוגמא לאלגוריתם‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫הבעיה‬ ‫לבדוק אם מספר הוא זוגי או אי‪-‬זוגי‪.‬‬ ‫תרשים‬ ‫התחלה‬ ‫פלט‬ ‫עיבוד‬ ‫קלט‬ ‫‪Output‬‬ ‫‪Process‬‬ ‫‪Input‬‬ ‫מה התוצאה‬ ‫מה השלבים‬ ‫מה המידע‬ ‫שהאלגוריתם מחזיר?‬ ‫שהאלגוריתם מבצע?‬ ‫שהאלגוריתם מקבל?‬ ‫האם המספר‬ ‫מתחלק ב‪2-‬‬ ‫לא‬ ‫כן‬ ‫ללא שארית?‬ ‫״זוגי״‬ ‫אם המספר מתחלק ב‪2-‬‬ ‫מספר שלם‬ ‫נדפיס‬ ‫נדפיס‬ ‫או‬ ‫ללא שארית‪ ,‬הוא זוגי‪.‬‬ ‫״אי‪-‬זוגי״‬ ‫״זוגי״‬ ‫״אי‪-‬זוגי״‬ ‫אחרת‪ ,‬הוא אי‪-‬זוגי‪.‬‬ ‫סוף‬ ‫‪7‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫אלגוריתמים ופתרון בעיות‬ ‫אוקיי‪...‬אבל בשביל מה אנחנו צריכים את כל זה בכלל?‬ ‫אלגוריתמים עוזרים לנו‬ ‫לפרק בעיות מורכבות לצעדים פשוטים וברורים‪.‬‬ ‫בעזרתם אנו יכולים‬ ‫לכתוב תוכניות מחשב בקלות בעזרות שפות תכנות‪.‬‬ ‫‪8‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫תרגום אלגוריתם‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫תרשים‬ ‫התחלה‬ ‫לשפת תוכנה‬ ‫נחזור לדוגמא שהיתה לנו‬ ‫ניקח את התרשים ונתרגם אותו לפקודות‬ ‫‪x=2‬‬ ‫בשפת התוכנה ‪:Java‬‬ ‫אנו מניחים כי המספר (‪ )X‬הוא ‪ 2‬למען הפשטות‬ ‫האם המספר‬ ‫;‪int x = 2‬‬ ‫לא‬ ‫מתחלק ב‪2-‬‬ ‫כן‬ ‫{ )‪if (x % 2 == 0‬‬ ‫ללא שארית?‬ ‫;)"זוגי"(‪System.out.println‬‬ ‫{ ‪} else‬‬ ‫נדפיס‬ ‫נדפיס‬ ‫;)"אי‪-‬זוגי"(‪System.out.println‬‬ ‫״אי‪-‬זוגי״‬ ‫״זוגי״‬ ‫}‬ ‫סוף‬ ‫‪9‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫מסקנה‬ ‫כתיבת אלגוריתמים היא חלק בלתי‬ ‫נפרד מפיתוח תוכנה!‬ ‫‪10‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫אז על מה דיברנו?‬ ‫הגדרה‬ ‫אלגוריתם הוא סדרת הוראות מדויקת שמסבירה איך לבצע משימה או לפתור בעיה‪.‬‬ ‫פלט‬ ‫עיבוד‬ ‫קלט‬ ‫‪Output‬‬ ‫‪Process‬‬ ‫‪Input‬‬ ‫מה התוצאה‬ ‫מה השלבים‬ ‫מה המידע‬ ‫שהאלגוריתם מחזיר?‬ ‫שהאלגוריתם מבצע?‬ ‫שהאלגוריתם מקבל?‬ ‫חץ‬ ‫מקבילית‬ ‫מעויין‬ ‫מלבן‪/‬ריבוע‬ ‫פינות מעוגלות‬ ‫מעבר בין‬ ‫פעולת‬ ‫תנאי‬ ‫שלב באלגוריתם‬ ‫התחלה‪/‬סוף‬ ‫שלבים‬ ‫קלט‪/‬פלט‬ ‫(אם ‪ -‬אז)‬ ‫או פעולה‬ ‫‪11‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬ ‫‪.3‬חשיבה אלגוריתמית‬ ‫נתראה בסרטון הבא!‬ ‫בו נדבר על שפות תכנות‬ ‫‪Join the World of Programming‬‬ ‫חניל זרבאילוב | מדעי המחשב | כיתה י׳‬

Use Quizgecko on...
Browser
Browser