אלגוריתם הוא מתכון המוֹרֶה על סדרה של פעולות שביצוען יפתור בעיה נתונה. האלגוריתם מקבל נתונים כקלט ומחזיר נתונים כפלט. הבעיה אינה חייבת להיות בעיה מתמטית, ויכולה להיות קשורה לחיי היום-יום.
בעיית הדרך הקצרה ביותר מהבית לבית הספר – לכל ילד יש בית ובית ספר (או גן ילדים). הקלט לבעיה הוא מפת הרחובות בעיר (ואורכיהם), וכן נקודת המוצא (הבית) ונקודת המטרה (בית הספר). אלגוריתם לפתרון הבעיה צריך להנחות כל ילד איך לחשב בצורה שיטתית את הדרך שבה עליו ללכת כדי להגיע ליעדו במסלול הקצר ביותר.
כֶּפֶל מספרים – כאן הקלט הוא שני מספרים שלמים (מרובי ספרות ככל שנרצה). בכיתות היסוד אנחנו לומדים אלגוריתם לכפל המספרים. איננו מוגבלים באורכי המספרים, ומסוגלים תמיד לכפול ולהגיע לתוצאה הנכונה שהיא הפלט.
משחק וידאו – כאן הפעילות המורכבת שאנו רואים על המסך היא הפלט של אלגוריתם שמקבל כקלט את פעולות המשתמש בכפתורי בקר המשחק ומחשב את מיקום הדמויות במשחק, תנועתן ומצבן בכל רגע ורגע.
כדי להביא תועלת אלגוריתם צריך להיות יעיל – עליו להוביל אותנו אל התוצאה במהירות סבירה. המהירות נמדדת לפי מספר הפעולות הבסיסיות המבוצעות על ידי המחשב במהלך האלגוריתם. נושא היעילות של אלגוריתמים נדון בהרחבה כאן.
אנשי מדעי המחשב מנסים לפתח אלגוריתמים יעילים ומהירים לפתרון בעיות. חלק מהבעיות מגיעות מחיי היום-יום, חלקן מגיע מתחומי מחקר מדעיים.
אחת הדרכים לתאור אלגוריתם היא באמצעות תרשים זרימה (flowchart). בתרשים מופיעים סמלים קבועים המייצגים התחלה, סוף, קליטת נתונים (קלט), פליטת תוצרים (פלט), קבלת החלטות וביצוע פעולות (או חישובים).
הסמלים הללו מקושרים באמצעות חיצים המבהירים את דרך התפתחות החישוב. במקרים רבים קל לשרבט תרשים זרימה אשר מייצג בצורה טובה את האלגוריתם המוצע, וכידוע - שרטוט אחד שווה אלף מלים.
הדוגמא המופיעה מטה ממחישה את הדבר באמצעות תרשים המציג אלגוריתם הבודק אם שני משולשים הנתונים באמצעות ארכי צלעותיהם הם דומים.
התצליחו לעקוב אחר האלגוריתם?
הקליקו על התמונה כדי לראות את תרשים הזרימה המלא.