/ / אלגוריתם בלוק דיאגרמה: תוכניות, משימות, אלמנטים, בנייה

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

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

תרשים זרימה

אלגוריתם ואלגוריתמיזציה

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

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

אלמנטים של תרשים זרימה

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

דיאגרמת הגוש של אלגוריתם התוכנית היארצף של סמלים גרפיים הקובעים את ביצוע הפעולות הספציפיות, כמו גם את הקשרים ביניהם. בתוך כל תמונה כזו, מצוין מידע על המשימה שתבוצע. הגדלים והתצורה של הסמלים הגרפיים, כמו גם סדר הרישום של הרצפים, מוסדרים על ידי GOST 19003-80 ו- GOST 19002-80.

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

1. תהליך הוא פעולה חישובית או רצף של פעולות כאלה.

2. פיתרון - בדיקת מצב נתון.

3. שינוי - כותרת המחזור.

4. תהליך מוגדר מראש - קריאה לפרוצדורה.

5. מסמך - הדפסה ופלט נתונים.

6. כרטיס ניקוב - קלט מידע.

7. קלט / פלט - קלט / פלט נתונים.

8. מחבר - שבירת קווי זרימה.

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

10. פרשנות - משמש להצבת תוויות הסבר.

11. זרימות אנכיות ואופקיות - כיוון רצף, קו תקשורת בין בלוקים.

12. מיזוג - הצטרפות לנחלים.

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

דוגמאות של תרשימי זרימה

כללי כיתוב

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

ערוך תרשים זרימה

משתנים, קבועים ומיקומי זיכרון

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

מערכים

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

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

תרשים זרימה של התוכנית

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

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

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

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

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

תרשימי זרימה של אלגוריתמים: דוגמאות

שקול כיצדאלגוריתם מסועף. בואו ניקח פונקציה כדוגמה: z = y / x. נראה מהתנאי שלמשוואה זו יש מגבלה אחת - אינך יכול לחלק באפס. לכן יש צורך לא לכלול פתרון זה ולהזהיר את המשתמש לגבי השגיאה שהתרחשה. ראשית, מתווה דיאגרמת גוש של האלגוריתם. זה יורכב משבעה בלוקים. הסמל הגרפי הראשון הוא "התחל", השני הוא "הזן", כאן עליכם להגדיר את הערכים X ו- Y. לאחר מכן הולכת החסימה "החלטה", בה נבדק התנאי: X = 0. במקרה זה, האוטומט בודק את התא בקבוע, אם הערך שהוזן עולה בקנה אחד איתו, החלטת האלגוריתם תעבור לאורך הענף "כן". במקרה זה, השליטה מועברת לבלוק הרביעי והמכונה מוציאה "שגיאה", העבודה מסתיימת בסמל השביעי "סוף". אם תוצאת הבדיקה היא שלילית, אז תהליך החלוקה מתבצע בסמל הגרפי החמישי ונקבע ערך Z. בבלוק השישי התוצאה מוצגת על המסך.

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

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

דוגמה לפיתרון אלגוריתם מסועף

שקול דוגמה שנותנת דיאגרמת בלוקיםאלגוריתם עם מספר לא ידוע של מעברים מראש. לשם כך עליך לפתור את הבעיה - ציין את המספר הקטן ביותר של חברים בסדרה של מספרים טבעיים, שסכומם עולה על המספר K. דיאגרמת גוש כזו של האלגוריתם מורכבת משמונה סמלים. ראשית, אנו מזינים את הערך של המספר K (מס '2). ואז, בבלוק 3, המשתנה P מקבל את הערך "one", כלומר ספירת המספרים הטבעיים תתחיל ממנו. והסכום המצטבר C בהתחלה מקבל את הערך "אפס". יתר על כן, השליטה מועברת לבלוק החמישי, שם מתבצעת הפקודה: С = С + П. כלומר, ערכי התאים C ו- P מסוכמים, והתוצאה מוחלפת ב- C. לאחר הוספת החבר הראשון ברצף זה בגוש 6, נבדק התנאי - האם הסכום עולה על המספר שצוין K? אם התנאי לא מתקיים, השליטה מועברת לבלוק הרביעי, שם נוסף אחד למשתנה P והמעבר מתבצע שוב לחסימה מס '5. הליך זה יימשך עד למילוי התנאי: C> K, כלומר הסכום הצבור יעלה על הערך שצוין. משתנה P הוא מונה הלולאה. ואז יש מעבר לחסימה מספר 7, שם מודפסות תוצאות העבודה.

האלגוריתם ניתן על ידי דיאגרמת הבלוק

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

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

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

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

פירוק אלגוריתם

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

אהבתי:
0
הודעות פופולריות
התפתחות רוחנית
מזון
כן