אלגוריתם: מושג, מאפיינים, מבנה וסוגים

תוכן עניינים:

אלגוריתם: מושג, מאפיינים, מבנה וסוגים
אלגוריתם: מושג, מאפיינים, מבנה וסוגים
Anonim

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

במאמר זה ננתח את המושגים הבסיסיים של האלגוריתם.

ההיסטוריה של הופעת האלגוריתמים

אלגוריתם - מושג שהופיע במאה ה- XII. המילה "אלגוריתם" עצמה מגיעה מהפרשנות הלטינית לשמו של המתמטיקאי המפורסם במזרח התיכון, מוחמד אל-ח'ואריזמי, שכתב את הספר "על ספירה אינדיאנית". ספר זה מתאר כיצד לכתוב נכון מספרים טבעיים באמצעות ספרות ערביות, ומתאר את האלגוריתם של פעולות עם עמודה מעל מספרים כאלה.

במאה ה-12 תורגם הספר "על חשבון ההודי" ללטינית, ואז הופיעה ההגדרה הזו.

אינטראקציה של האלגוריתם עם אדם ומכונה

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

דוגמה מצוינת לביצוע מדויק של הוראה נתונה היא תנור מיקרוגל ריק שממשיך לפעול למרות היעדר מזון בתוכו.

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

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

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

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

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

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

באופן כללי, לאלגוריתם יש הגדרות רבות, מספר מדענים מאפיינים אותו בצורה שונה.

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

יש קונספט שונה של אלגוריתם, גם סוגי האלגוריתמים שונים - למשל לאדם שרודף אחרי מטרה, ולטכנולוגיה.

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

אלגוריתם תוכנית
אלגוריתם תוכנית

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

1. דיסקרטיות (רצף של פעולות בודדות) - כל אלגוריתם צריך להיות מיוצג כסדרה של פעולות פשוטות, שכל אחת מהן צריכה להתחיל לאחר השלמת הקודמת.

2. ודאות - כל פעולה של האלגוריתם צריכה להיות כל כך פשוטה וברורה שלמבצע אין שאלות ואין לו חופש פעולה.

3. יעילות - תיאור האלגוריתם צריך להיות ברור ומלא, כך שלאחר ביצוע כל ההוראות, המשימה תגיע לסיומה ההגיוני.

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

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

ישנם סוגים שונים של אלגוריתמים,אבל יש שלושה עיקריים.

אלגוריתם מחזורי

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

איטרציה של לולאה היא ביצוע של כל הפריטים הכלולים בגוף הלולאה.חלקי הלולאה שמבוצעים כל הזמן מספר מסוים של פעמים נקראים לולאה עם מספר קבוע של איטרציות.

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

הסוג הפשוט ביותר של מחזור קבוע.

ישנם שני סוגים של אלגוריתמים מחזוריים:

  • לולאה עם תנאי מוקדם. במקרה זה, גוף הלולאה בודק את מצבה לפני ביצועה.
  • לולאה עם postcondition. בלולאה עם postcondition, התנאי נבדק לאחר סיום הלולאה.
סוגי אלגוריתמים
סוגי אלגוריתמים

סוגים לינאריים של אלגוריתמים

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

מבנה האלגוריתם
מבנה האלגוריתם

אלגוריתם הסתעפות

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

דוגמה. שאלה: "יורד גשם?" אפשרויות תשובה: "כן" או "לא". אם"כן" - פתח את המטרייה, אם "לא" - שים את המטרייה בתיק.

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

אלגוריתם עזר

אלגוריתם עזר יכול לשמש באלגוריתמים אחרים על ידי ציון שמו בלבד.

מונחים שנמצאו באלגוריתמים

התנאי הוא בין המילים "אם" ו-"אז".

לדוגמה: אם אתה יודע אנגלית, לחץ על אחת. במשפט זה, החלק של הביטוי "אתה יודע אנגלית" יהיה התנאי.

נתונים הם מידע הנושא עומס סמנטי מסוים ומוצג בצורה כזו שניתן לשדר אותו ולהשתמש בו עבור אלגוריתם זה.

תהליך אלגוריתמי - פתרון בעיה לפי אלגוריתם באמצעות נתונים מסוימים.

מבנה האלגוריתם

לאלגוריתם יכול להיות מבנה שונה. על מנת לתאר אלגוריתם, שהמושג שלו תלוי גם במבנה שלו, ניתן להשתמש במספר דרכים שונות, למשל: מילולית, גרפית, תוך שימוש בשפה אלגוריתמית שפותחה במיוחד.

באיזו שיטה ייעשה שימוש תלוי במספר גורמים: מורכבות המשימה, כמה מפורט צריך להיות תהליך פתרון הבעיה וכו'.

גרסה גרפית של האלגוריתם

אלגוריתם גרפי - מושג המרמז על פירוק פעולות שצריך לבצע כדי לפתור בעיה ספציפית, לפי צורות גיאומטריות מסוימות.

דיאגרמות גרפיות אינן מוצגות באופן אקראי. כדי שהם יוכלוכדי להבין כל אדם, משתמשים לרוב בתרשימים זרימה ובסטרוקטוגרמות של נאסי-שניידרמן.

כמו כן, דיאגרמות בלוקים מצוירות בהתאם ל-GOST-19701-90 ו-GOST-19.003-80.הדמויות הגרפיות המשמשות באלגוריתם מחולקות ל:

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

באלגוריתם גרפי, הצורות הגיאומטריות המשמשות לייצוג נתונים נקראות בלוקים.

כל הבלוקים הולכים ברצף "מלמעלה למטה" ו"משמאל לימין" - זה כיוון הזרימה הנכון. עם הרצף הנכון, הקווים המחברים את הבלוקים זה לזה אינם מראים את הכיוון. במקרים אחרים, כיוון הקווים מסומן בחצים.

סכימת אלגוריתם נכונה לא צריכה לכלול יותר מיציאה אחת מבלוקים לעיבוד ופחות משתי יציאות מבלוקים האחראים על פעולות לוגיות ובדיקת מצב.

איך לבנות אלגוריתם בצורה נכונה?

מבנה האלגוריתם, כאמור לעיל, חייב להיות בנוי לפי GOST, אחרת הוא לא יהיה מובן ונגיש לאחרים.

מתודולוגיית ההקלטה הכללית כוללת את הפריטים הבאים:

השם שלפיו יהיה ברור איזו בעיה ניתן לפתור באמצעות תכנית זו.

לכל אלגוריתם חייב להיות התחלה וסוף מסומנים בבירור.

אלגוריתמיםכל הנתונים, גם קלט וגם פלט, חייבים להיות מתוארים בצורה ברורה וברורה.

חישוב אלגוריתמים
חישוב אלגוריתמים

בעת קומפילציה של אלגוריתם, יש לשים לב לפעולות שיאפשרו לבצע את הפעולות הנחוצות לפתרון הבעיה בנתונים הנבחרים. תצוגה משוערת של האלגוריתם:

  • שם כימה.
  • Data.
  • התחל.
  • Teams.
  • End.

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

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

סגלגל אופקי - התחלה וסוף (סימן סוף).

מלבן אופקי - חישוב או פעולות אחרות (סימן תהליך).

מקבילית אופקית - קלט או פלט (סימן נתונים).

מעוין אופקי - בדיקת מצב (סימן החלטה).

משושה אופקי מוארך - שינוי (סימן הכנה).

דגמי אלגוריתם מוצגים למטה.

נוסחה-מילולית של בניית האלגוריתם.

אלגוריתמים של נוסחה-מילולית נכתבים בצורה שרירותית, בשפה המקצועית של האזור אליו שייכת המשימה. תיאור הפעולות בדרך זו מתבצע באמצעות מילים ונוסחאות.

מושג האלגוריתם סוגי אלגוריתמים
מושג האלגוריתם סוגי אלגוריתמים

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

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

יצירה ושימוש באלגוריתמים במדעי המחשב הם תהליך יצירתי יותר מאשר, למשל, ביצוע הנחיות לפתרון בעיה במתמטיקה.

יש גם תוכנית מיוחדת "אלגוריתם" שעוזרת לאנשים שאינם יודעים בתחום התכנות ליצור תוכניות משלהם. משאב כזה יכול להפוך לעוזר הכרחי עבור אלה שעושים את צעדיהם הראשונים במדעי המחשב ורוצים ליצור משחקים משלהם או כל תוכנה אחרת.

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

מסקנה

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

מוּמלָץ: