חשיבות האלגוריתמים
Miscellanea / / August 08, 2023
כאשר אנו מבצעים תוכנת מחשב, איננו יכולים להתחיל לכתוב משפטים (פקודות, הוראות) ללא הילוך נוסף. לפני כן, עלינו לתכנן (וביותר יסודי ככל שהתוכנית שנרצה גדולה וקשה יותר לבנות) מה בדיוק התוכנית הולכת לעשות ואיך היא הולכת לעשות את זה, ולאחר מכן לתרגם את האלגוריתם הזה ל הוראות.
אנו מגדירים אלגוריתם כרצף סופי ומובנה של סדרים המהווים את הוראות עבור מחשב או מכונה אנלוגית אחרת עם יכולות עיבוד (כגון א סמארטפון).
האלגוריתם אינו התוכנית עצמה, אלא האחרון הוא מימוש האלגוריתם ב-a שפה שהמכונה שאמורה להפעיל אותה יכולה להבין את זה.
והנה, הבהרה קטנה: אלגוריתמים מיושמים בדרך כלל במחשבים באמצעות שפות תכנות קבצים ברמה גבוהה, שאינם ניתנים להרצה ישירות, אך הם "ניתנים להידור" (תהליך שיוצר תוֹכנָה שהמחשב יכול להבין ולבצע).
שפת תכנות ברמה גבוהה היא איפשהו בין משהו מובן לאדם של א רגל (למרות שזה דורש ידע טכני מסוים) ומה ניתן להבין ולבצע ישירות על ידי א מַחשֵׁב.
אם נחפש הגדרה אנציקלופדית, אלגוריתמים ישנים כמו ההוראות הכתובות הראשונות לביצוע משימה.
ניקח דוגמה: חליבת פרה. קודם כל להרגיע את החיה. ואז לשים מיכל מתחת לעטינים. לאחר מכן, שבו והסתכלו על העטינים של הפרה. מניחים את הידיים סביב שניים מארבעת העטינים של החיה וסוחטים קלות את בסיס כל עטין. לחזור על
תְנוּעָה עד שלא נשאר חלב בעטינים. כעת בצע את אותו הדבר עבור שני העטינים הנותרים עד שגם הם ריקים. הסר את המיכל המלא בחלב. הוא סיים.בואו נסקור: יש לנו סט של הוראות ספציפיות שמסתיימות בנקודה מסוימת. יש לנו אלגוריתם לחליבת פרות.
בכל האלגוריתמים אנו מוצאים אלמנטים שחוזרים על עצמם, כמו לולאות (חזרה על התנועה), קבלת החלטות (האם העטין ריק? לא -> להמשיך בחליבה; אם -> עבור אל השניים האחרים או סיים), ופעולות.
לאלמנטים הללו, לולאות, תנאים, קפיצות ופעולות, יש את התאמתם במבנים של שפות תכנות. תכנות, למרות שיש להם מספר רב יותר של מבנים כדי להיות מסוגלים להתמודד עם הפתרון של הבעיות הספציפיות הם מופיעים.
האלגוריתם הוא הפשטה של פתרון בעיה, שכאשר היא מיושמת בשפת תכנות, היא דורשת מבנים מסובכים יותר.
זה המקרה של פונקציות, המבצעות משימה ספציפית וניתן לקרוא אותן מחלקים שונים של התוכנית.
ישנן דרכים שונות להביע אלגוריתמים.
האינטואיטיבית ביותר היא זו של השפה הטבעית, כמו במקרה של חליבת פרה שהסברתי בעבר. פשוט מספיק לנו לתאר בצורה תמציתית את ההוראות לביצוע משימה. עם זאת, זו לא דרך סטנדרטית, היא עובדת רק עבור עצמך או בקרב קבוצה קטנה מאוד של אנשים, ולמשימות ממש פשוטות.
אם אנחנו מחפשים משהו מוסדר ומתוקנן, יש לנו את תרשימי זרימה, צורה גרפית ויזואלית מאוד המייצגת את הפעולות וההחלטות העיקריות המתקבלות בביצוע האלגוריתם.
הפסאודוקוד בייצוג פורמלי בטקסט דומה הרבה יותר לשפת תכנות, שיש לה את האלמנטים שלה והיא ניתנת להעברה בקלות לקוד הניתן להידור.
Fotolia: doyata – hanss
כתוב הערה
תרום עם ההערה שלך כדי להוסיף ערך, לתקן או לדון בנושא.פְּרָטִיוּת: א) הנתונים שלך לא ישותפו עם אף אחד; ב) האימייל שלך לא יפורסם; ג) כדי למנוע שימוש לרעה, כל ההודעות מנוהלות.