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

מהי הצהרה מותנית?

אופרטור מותנה

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

תיאור כללי של היישום

אופרטור מותנה בפסקל

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

מפעיל ענף מותנה

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

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

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

דוגמה עם "פסקל"

משפט מותנה

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

אם a = y
אז
op: = Sqr (a-y)
Other
לכתוב (ערכים לא חוקיים הוזנו);

מהו מתג?

תכנות תנאי מותנה

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

היסטוריה של התפתחות

משתמש בהצהרה מותנית

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

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

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

תכונות של חישוב ביטויים לוגיים

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

  1. חישוב מלא. כל הפרמטרים מחושבים עם הערכים הנתונים, ולאחר מכן I.
  2. חישוב לא שלם. כל פרמטר נחשב בנפרד. אם הביטוי נכון, הפרמטר הבא מחושב. תקף עבור OR.

מסקנה

- מפעיל סניף מותנה

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