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

פסקל בזמן

מושג המעגל ומגוונו

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

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

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

מבנה המעגל

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

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

הלולאה נראית כך. Pascal ABC ותוכניות דומות דורשות כתיבת קוד זה:

  • בזמן תנאי לעשות;
  • בגין;
  • גוף המעגל;
  • סוף.

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

תרשים זרימה של מחזור

ב טורבו פסקל בעוד יש את התכונות הבאות:

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

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

pascal abc בזמן

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

בסביבות התכנות הפשוטות ביותר, כולל פסקל ABC, בעוד הלולאה פועלת על פי העיקרון הבא:

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

זהו הבדל מהותי של בעוד מ Repeat, כלומר, מחזור עם תנאי מוקדם מ postcondition.

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

כיצד ניתן לצאת מתוכנית במהלך לולאה?

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

  • בעוד 2> 1 לעשות;
  • כתוב (1).

במקרה זה, כדי לעצור את המשימה, פשוט לחץ על CTRL + F2.

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

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

בעוד מפעיל פסקל

פתרון בעיות

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

פעילות 1: הפונקציה Y = 5-X ^ 2/2 ניתנת. יצירת טבלה של ערכים עם שלב 0.5 = 0.5 על המרווח [5; 5].

אלגוריתם של פעולות:

  • קבע את הערך ההתחלתי עבור משתנה X שווה ל -5 (כלומר, תחילת המרווח);
  • לחשב את הערך של Y עד שהמשתנה x מגיע לקצה הקטע שצוין;
  • להציג את הערכים של הפונקציה abscissas (X);
  • X על ידי השלב הנתון.

זהו הקוד בתוכנית ABC Pascal.

בעוד משימות פסקל

איך נראה הקוד בטורבו פסקל. התמונה הבאה מציגה זאת בבירור.

בעוד משימות פסקל

פעילות 2: בהתחשב במערך A, המורכב מספרים שלמים וחיובייםמספרים שליליים. הוא מכיל 10 אלמנטים. זה הכרחי כדי ליצור מטריצה ​​B, שבו אלמנטים חיוביים של מערך A עם מדד אפילו יוצג. הצג על המסך את מספר הריבועים במספר המטריצה ​​החדשה.

אלגוריתם של פעולות:

  • זה הכרחי כדי לכתוב שגרת כי יהיה "לעבוד" רק עם אלמנטים של מערך A כי יש אינדקס אפילו. בלולאה, ערך המשתנה האחראי על שוויון המדד יגדל ב -2.
  • אם מספר עם אינדקס אפילו מהמטריצה ​​אמתאים לתנאי x> 0, ולאחר מכן הדלפק של רכיבי המערך מתרחב ב -1. הערך הנוכחי של משתנה הדלפק יהיה המדד של המספר המועתק במערך B.
  • בתחילה, summa, אחראי על מציאת סכום הריבועים של מספרים חיוביים, מוקצה 0. ואז, הפעולה תבוצע: ערך חדש של הריבוע מתווסף לסכום הקודם.
  • אל תפחד, אם לא כל חיובימספרים עברו ממטריצה ​​אחת לאחרת. אתה צריך להיות זהיר. רבים מתכנתים מתחילים לשכתב את הקוד בבהלה. יש צורך ללמוד בקפידה את המצב: מספרים חיוביים כי הם אפילו על "מקומות", כלומר, לאחר מדדים כי הם כפולות של 2.

לולאה בזמן pascal abc

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

לולאה בזמן pascal abc

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

</ p>