ההבדל בין לולאה ותוך כדי

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 2 אַפּרִיל 2021
תאריך עדכון: 10 מאי 2024
Anonim
На всех мировых ПОДИУМАХ! Съёмный ВОРОТНИК крючком. Вяжем вместе.
וִידֵאוֹ: На всех мировых ПОДИУМАХ! Съёмный ВОРОТНИК крючком. Вяжем вместе.

תוֹכֶן


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

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

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

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

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


הגדרת לולאה

ב- Java, יש שתי צורות של ל לולאות. הצורה הראשונה היא צורה "מסורתית" והשנייה צורה "לכל אחד".

תחביר

הצורה הכללית של הצהרת לולאה מסורתית.

עבור (אתחול; מצב; איטרציה) {// body of for loop}

  • אתחול - אתחול משתנה השליטה בלולאה של לולאה מבוצע פעם אחת בלבד במהלך האיטרציה הראשונה של הלולאה. כאן, משתנה שליטת הלולאה מאתחל, לעיתים אם משתנה הלולאה לא משמש שוב בשום מקום בתוכנית ומשמש רק כמשתנה השליטה של ​​הלולאה, אז הוא מוצהר ומאושר גם בלולאת 'for'.
  • מצב - התנאי של לולאת ‘for’ מתבצע בכל פעם שהלולאה עוברת איטרציה.
  • עלייה ואיטרציה- הצהרת האיטרציה היא ביטוי המגדיל או מגביל את משתנה השליטה בלולאה.

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

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


עבור כל לולאה והתחביר שלה

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

עבור (סוג iter_variable: collection) חסימת הצהרה

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

דוגמא

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

מחלקה ציבורית ראשי {public static void main (מחרוזת args) {מערך int = {10, 20, 30, 40, 50, 60}; int להוסיף = 0; עבור (int c: array) {System.out.ln ("ערך ב- c" + c); add = add + c; } System.out.ln ("תוספת של רכיבי מערך היא" + הוסף); }} // ערך פלט בערך c 10 בערך 20 ערך בערך c 30 בערך 40 ערך בערך c 50 בערך c 60 תוספת של אלמנטים מערך הוא 210

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

הגדרה של לולאת שעה

ה בזמן לולאה היא הלולאה הבסיסית ביותר הקיימת ב- C ++ וב- Java. העבודה של לולאת זמן דומה הן ב- C ++ והן ב- Java.

תחביר

ההכרזה על לולאת זמן היא כדלקמן

בזמן (תנאי) {הצהרות; // body of loop}

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

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

דוגמא

בוא נדון בעבודה של לולאת זמן. בדוגמה למטה הקוד יהיה בין 1 ל 10.

// דוגמה נמצאת ב- Java. מחלקה ציבורית ראשי {ראשי תיבות של סטטי חלל ציבורי (מחרוזת טיעונים) {int n = 0; בעוד (n <10) {n ++; System.out.ln ("n =" + n); }}} // פלט n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

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

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

// למשל while ((ch = getchar ())! = A) {System.out.ln ("האלף-בית הקלט" + ch); }

כאן מאתחל משתנה הבקרה 'ch' ומצב הלולאה אומת בראש הלולאה.

הערה:

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

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

סיכום:

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