
current < 100 עוצר לפני 100 עצמו, ולכן כדי לכלול אותו צריך <= 100.if בודק שהשארית של החלוקה ב-7 היא 0, ואם כן מדפיס את המספר.current++). בלי הקידום הלולאה לא תתקדם לעולם.for (int i = 1; i <= 100; i++) { if (i % 7 == 0) Console.WriteLine(i); }foreach (char letter in name) { Console.WriteLine(letter); }הטקסט המלא של הדקות הראשונות בהרצאה «לולאות - For, While (שפת #C)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים להרצאה מעניינת על לולאות שהם סוג של בקרה בתכנות. משפטי בקרה בתכנות. אנחנו נדבר על לולאות מסוגים שונים.
נדבר על for, על while, על do while, על for each. זאת הולכת להיות הרצאה מעניינת ואנחנו נעבור ישירות לוויז'ואל סטודיו ונראה איך אנחנו עושים מדפיסים על המסך.
נעשה תוכנה שמדפיסה על המסך כל המספרים המתחלקים ב-7, בין 1 ל-100, כל המספרים שיודעים להתחלק ב-7 בין 1 ל-100 ללא שארית.
אז נעשה תוכנה חדשה, פרויקט חדש מסוג Console Application ונכתוב לו מתחלק ב-7. מתחלק ב-7, ככה נקראת האפליקציה שלי, מתחלק ב-7.
יופי. אני עכשיו צריך לעבור על כל המספרים מ-1 עד 100 ולבדוק האם הם מתחלקים ב-7. כמובן שלולאה זה הדבר הכי מתאים לעשות זאת ואנחנו אנחנו נעשה משתנה שנקרא current number מספר הנוכחי והמספר הנוכחי שלנו יתחיל ממה הוא יתחיל?
הוא יתחיל מ-1. נתחיל מ-1. ועכשיו אנחנו צריכים לעבור בלולאה מ-1 עד 100 וכל הזמן להגדיל אותו 1, 2, 3 להגדיל אותו ולבדוק האם הוא מתחלק ב-7.
אז נתחיל בלולאת while. נתחיל בלולת while. while כל עוד, כל עוד current number קטן מ-100 תעשה את הקוד הבא, אוקיי?
while אומר כל עוד התנאי הזה הוא אמת, כל עוד התנאי הזה הוא true, עושים את הקוד. מה התנאי? שהמספר הנוכחי קטן מ-100.
טוב מאוד. שימו לב, זה לא כולל את ה-100. את ה-100 עצמו הוא לא יכלול כי 100 לא קטן מ-100. אז אם אני רוצה שזה יכלול את ה-100, אני צריך או קטן שווה או 101, אוקיי?
או 101 או קטן שווה. יפה. אז מ-1 עד 100 לא כולל 100. איך אנחנו עכשיו נעשה כזה דבר? אנחנו נעשה if אם הוא מתחלק ב-7.
if current number, מודולו, זוכרים את המודולו שלנו? מודולו מתחלק ב-7 והשארית שווה ל-0. אם הוא מתחלק ב-7 והשארית של הפעולה הזאת היא שווה ל-0, אז תדפיס אותו על המסך.
תדפיס אותו על המסך, קונסול רייטליין, תדפיס על המסך את המספר הזה. יופי. זאת כל התוכנה.
זאת כל התוכנה שלנו, התוכנה שלנו זאת בעצם הלולאה הזאת, אתם רואים זאת הלולאה הזאת שהיא עושה מ-1 עד 100 ובודקת האם זה מתחלק ב-0. שימו לב, יש פה משהו קטן שחסר, Current Number הזה צריך להוסיף לו עוד 1 בסיום הלולאה.
זאת אומרת, לקראת סיום הלולאה אני עושה לו Current Number++, זוכרים מה זה פלוס פלוס? זה להוסיף לו עוד 1 וזה לקדם אותו ב-1, כדי שיהיה 1, 2, 3, 4.
לבד הוא לא יודע להתקדם. אז יופי אז בעצם עשינו לו ערך תחילי התחלנו אותו באיזשהו ערך בדקנו בווייל כל עוד התנאי מתקיים ולקראת הסוף קידמנו אותו באחד בוא נראה שזה עובד הנה תראו מה מה יצא לנו קונטרול F5 7 14 21 28 חברה יפה מאוד התוכנה הצליחה זאת לולאת וייל בוא נעשה אותו דבר בווייל קצת שונה יש וייל טיפה שונה שההבדל פה בואו אני אראה לכם אותו ואתם תבינו ישר מה
ההבדל. אני כותב פה do ופה את ה-while. שימו לב, ה-while הגיע לסוף הלולאה, כן, שימו לב, זה התחיל ב-do, תעשה, יש לך את הבלוק, ובסוף יש לך את המשפט של ה-while,
אוקיי? מה ההבדל? שפה ב-do הוא ייכנס פנימה בכל מקרה, ורק אחרי שהוא נכנס פנימה וביצע את כל הקוד הזה, רק אז הוא יבדוק האם התנאי בכלל מתקיים.
ואם התנאי אכן מתקיים, הוא יעשה אותו שוב. ואם התנאי לא מתקיים, הוא יצא ממנו. אבל לפחות פעם אחת פה הוא ייכנס, כאשר התנאי נבדק בסוף ולא בהתחלה. זה ההבדל.
אתם רואים, התוצאה היא אותה תוצאה, אבל התנאי נבדק בסוף ולא בהתחלה. טוב מאוד. דרך אגב, לחדה הבחנה, במקרה כזה הוא יעשה גם את ה-100, כי ב-99 הוא ייכנס פנימה, ואז יבצע 99 ויקדם אותו ב-1, ואז...
בסדר אם הייתי מקדם אותו בהתחלה זה היה עושה אותו, טוב לא חשוב, בקיצור זה עושה אותו דבר רק פעם אחת הוא נכנס פנימה ובסוף הוא עושה את הבדיקה, טוב לא לשכוח לעשות קארט נאמבר פלוס פלוס כי לבד הוא לא יודע לעשות, בואו נעבור ללולה מתחרה כן גם תוצאה זאת תהיה אותה תוצאה פשוט טכנולוגיה אחרת נקראת לולת פור אז אנחנו עושים כזה דבר פור אומרים איזה שהוא משתנה את ההתחול שלו ממה הוא מתחיל נניח במקרה הזה הוא מתחיל מ-1,
אפשר להוריד את השורה הזאת, יופי. אומרים Current Number הזה, את התנאי, עכשיו שמים פה את התנאי, כן, שמים פה את התנאי, שימו לב, ואת הקידום.
הכל נמצא באותה שורה. שימו לב, זאת לולה מאוד, מה שנקרא, משוכללת, לולה עד 4. שמתם לב מה הורדנו? הורדנו את כל השורות.
הורדנו שורת אתחול, הורדנו שורת תנאי, ושמנו הכל אחד אחרי השני ברצף. יפה אפשר אפילו את האינט הזה להכניס לפה ואפילו לא צריך כלום תראו איזה יופי זה ממש זה ממש מצמצם הרבה שורות קוד וזאת לולאה שמאוד אוהבים להשתמש בה 4 אז ה4 הזאת כדי לא לבלבל אתכם מחולקת לשלושה חלקים עם נקודות פסיק בחלק הראשון אתחול
המשתנה אתחול האינדקס בחלק השני בדיקה כל עוד התנאי הזה מתקיים ממשיכים להתגלגל בגוף הלולאה ושלוש, בסוף הקוד מקדמים באחד. גם הקידום נמצא פה. ואז הקוד שלי במקרה הזה לבדוק האם זה מתחלק בשבע.
בואו נבדוק, תראו איזה יופי, הכל עובד, הכל פועל, מצוין. לולאה אחרונה שנדבר עליה זה מסוג שונה לגמרי, לולאה שנקראת כמו for, גם שכלול של for, שנקראת for each.
אז בואו נעשה דבר כזה, נעשה פה סטרינג מסוג שם נניח, שם של הבן אדם, ונתחיל אותו בחיים, אוקיי? עכשיו המטרה שלנו זה להדפיס כל אות בנפרד, בשורה נפרדת, אות-אות.
אז יש לולאה מאוד מאוד משוכללת שנקראת for each, שיודעת לעבור על כל אות בנפרד, על כל אלמנט בנפרד. for each.
אני כותב בסוגריים, יש פה גם כזה דבר שאני יכול להשתמש באינטליסנס, זה נקרא אינטליסנס, תבנית מוכנה, לחצתי טאב פעמיים, זה מאוד נוח.
איך אתם יכולים לדעת מתי אתם יכולים להשתמש בזה? כשאתם כותבים for each, אתם רואים, יש לזה כזה קוד סניפט כזה. לוחצים טאב טאב, אתם רואים, יש פה סימן מיוחד כזה.
לוחצים טאב טאב, הוא כותב לכם תבנית. וצובע לכם אפילו את הטאב בצבעים שונים, שיהיה לכם קל. אז בואו נשתמש בזה. for each, בסוגריים, אני כותב איזה סוג, איזה משתנה אני רוצה.
char, אותיות בודדות. איך אני אקרא לזה? אני אקרא לזה אות. אות. באיזה קולקשן? באיזה אוסף? באוסף שנקרא name. יופי.
תעבור אות אות, ועכשיו קונסול רייטליין, קונסול רייטליין, בסוגריים אות. מה עושה הדבר הזה? העלולה הזאת לבד לוקחת כל אות בנפרד מ-Name ומכניסה אותה לתוך המשתנה שקוראים לו אות.
עוברת אלמנט-אלמנט. בואו נראה מה התוצאה. אתם רואים חיים נכתב אחד אחרי השני. כאילו, האות הזה כל פעם מכיל את האות הנוכחית, את האות השונה.
כדי שיהיה לנו יותר ברור בואו נעשה פה breakpoint, את הנקודה האדומה הזאת, את הרמזור האדום נדליק לו, ונעשה לו דיבאג, שימו לב, בזמן הדיבאג עצרנו פה, היינו, אנחנו באות h, כי פעם ראשונה נכנסנו, בתוך אות יש h כרגע, האות הראשונה של חיים.
אנחנו עושים לו תמשיך הלאה, הלולאה הזאתי לבד הכניסה עכשיו a פנימה, כל פעם היא מכניסה אות אחרת, זה הקטע של הלולאה, שכל פעם נכנסת אות אחרת, ובעצם הוא ככה מסתובב בתוך הקוד הזה, גם יכולתם לראות בקוד הקודם שהוא מסתובב ומסתובב ומסתובב, כל עוד הוא, הנה, נגמר והוא יצא החוצה.
יופי. בואו נחזור דקה לקוד הקודם. נעשה קונטרול Z, נחזור לקוד הקודם. גם לראות את הדיבאג שלו, שיהיה לכם יותר קל. אני עושה קונטרול Z, כן, קונטרול Z, הנה, חזר לנו.
חזרנו ללולאת הפור הקודמת שהייתה לנו על המסך. גם פה אנחנו נעשה ברקפוינט. נעשה פה ברקפוינט, נקודה אדומה, ונראה איך זה עובד.