
while ואחריו תנאי בסוגריים עגולים. הפקודות שבין הסוגריים המסולסלים מתבצעות שוב ושוב כל עוד התנאי נכון. לפני כל סיבוב התנאי נבדק מחדש, ואם הוא כבר שקר מההתחלה, הפקודות לא מתבצעות כלל.הטקסט המלא של הדקות הראשונות בהרצאה «לולאת While» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו עוברים בעולם האלגוריתמיקה לנושא שנקרא לולאות. לולאה זה סך הכל פקודה שמאפשרת לבצע סדרה של פקודות שוב ושוב.
כלומר, אם אנחנו רוצים לקחת איזושהי פקודה או יותר ולבצע אותם בצורה חוזרת שוב ושוב, כלומר מספר פעמים, אז אנחנו יכולים להגדיר את אותן פקודות בתוך משהו שנקרא לולאה.
למה חשוב לנו לדעת את זה? קודם כל קורה המון שאנחנו רוצים לבצע משהו מספר רב של פעמים. בואו נחשוב על כמה דוגמאות. נניח שמשתמש מכניס שם משתמש וסיסמה ואנחנו רוצים לאפשר לו לעשות את זה, בוא נניח חמש פעמים.
חמש פעמים אנחנו נותנים לו צ'אנס להכניס שם משתמש וסיסמה, אם הוא טועה חמש פעמים אנחנו רוצים לסגור לו את התוכנית. אז זה מצב שאנחנו רוצים לבצע את הקליטה והבדיקה של שם המשתמש והסיסמה חמש פעמים.
אז במקום פשוט לחזור על הקוד חמש פעמים אנחנו יכולים לעטוף אותו באיזושהי פקודה שמתארת ריצה של חמש פעמים של מה שנמצא בתוכה. תכף אנחנו הולכים לראות איך עושים את זה.
דוגמה נוספת, אנחנו רוצים לקלוט מהמשתמש סדרה של בוא נניח 100 ערכים של מניות, לבצע חישוב ולהגיד לו איזה מנייה כדאי לו לקנות, נניח איזה מנייה היא הכי זולה בשביל לקנות.
אז הקליטה של 100 המניות, אנחנו רוצים לבצע את הקליטה שוב ושוב ושוב ככה 100 פעם. לא כל כך הגיוני שאנחנו נרשום 100 פקודות שונות, כלומר 100 שורות של קליטת ערך.
אנחנו יכולים לעשות את זה בפקודה אחת ולומר לתוכנית לחזור על הפקודה הזאת 100 פעמים. אז בואו נראה קודם כל איך אנחנו יכולים לעשות את זה. בתכנות, בעולם התכנות ב-C-Sharp יש ארבע לולאות: לולא הראשונה נקראת y, לולא השנייה נקראת do y, לולא השלישית נקראת for,
לולאה רביעית, נקראת for each. אנחנו בסרטון הזה הולכים ללמוד את לולאת וייל, שני הסרטונים הבאים do while ו-for ולולאת for each זאת לולאה שקשורה לעולם האוספים או יותר נכון קולקשנים ואנחנו הולכים בהמשך כאשר נלמד על אוספים לראות איך בדיוק עובדים עם לולאת for each. אז בואו נתחיל עם לולאת וייל.
מה לולאת וייל אומרת המילה וייל באנגלית זה כל עוד ואנחנו בעצם רוצים לומר למערכת. כל עוד איזשהו תנאי מסוים שאנחנו מגדירים בתוך הסוגריים של הלולאה מתקיים, כלומר אם התנאי שווה true, ברצוננו לבצע את סדרת הפקודות שנמצאות בתוך הבלוק של הלולאה, תוך הפתיחה והסגירה של הסוגריים המסוסלים.
בואו נראה דוגמה. נניח שיש לנו פה int number ונכניס לתוכו 1, כשאנחנו רוצים לבדוק כל עוד number יותר קטן מ-10 אנחנו רוצים להציג Hello. אם אנחנו כרגע נבדוק מה התוכנית עושה, התוכנית מגדירה תא זיכרון שנקרא num ומכניסה לתוכו 1. לאחר מכן היא בודקת האם num יותר קטן מ-10 התשובה תהיה true.
אם התשובה היא true תוכנית נכנסת ומבצעת את הפקודות של הלולאה. היא מבצעת את הפקודות של הלולאה רק פעם אחת ולאחר מכן היא חוזרת ובודקת שוב את התנאי. כמובן שאין שום שינוי של נ"מ, ולכן נ"מ ימשיך להיות 1, והוא עדיין ימשיך להיות 10.
זה אומר שהפקודה שוב פעם תתבצע. בואו נניח שאנחנו הולכים לבצע דבר כזה. מה שבעצם עשינו פה זה הפקודה של הדפסת הלואו, הולכת להתבצע ולהציג על המסך את המילה הלואו בלי סוף פעמים.
בואו נריץ, כנראה שיש לנו מה שנקרא לולאה אינסופית בשביל לשבור לולאה אינסופית בקונסול כל מה שצריך לעשות זה ללחוץ קונטרול c וזה פשוט מפסיק את פעילות הקונסול ואנחנו כמובן לא רוצים לעשות לולאה אינסופית זה בדרך כלל יהיה איזשהו באג באלגוריתם ולכן אנחנו צריכים ללכת ולבצע איזשהו שינוי במשתנה num
בכדי שמתישהו התנאי הזה יפסיק להיות true ופה אנחנו יכולים פשוט להעלות אותו ב-1. כעת הלולאה הזאת תדפיס תשע פעמים את המילה הלואו.
בואו נסתכל, 1, 2, 3, 4,