1215
צפיות
צפיות
1
תשובות
תשובות
לולאת for
שלום,אשמח אם מישהו ישלח לי הסבר נוח ומתומצת לגבי :מה זה לולאת for? למה זה משמש? איך משתמשים בזה? אשמח גם לתרגיל שקשור ללולאת for ולפתרונו…תודה לעוזרים!
שלום,אשמח אם מישהו ישלח לי הסבר נוח ומתומצת לגבי :מה זה לולאת for? למה זה משמש? איך משתמשים בזה? אשמח גם לתרגיל שקשור ללולאת for ולפתרונו…תודה לעוזרים!
1 תשובות
לולאת for משמשת לביצוע פעולה (או קטע קוד שכולל מספר פעולות) מספר פעמים מוגדר מראש.
שימוש לכך הוא למשל במקרה שיש לך רשימה של 5 מספרים, ואתה רוצה לבדוק כמה מהם חיוביים.
מה שתרצה לעשות זה לקחת כל אחד מהמספרים האלו, ולבדוק אם הוא גדול מ-0. כלומר לחזור על הבדיקה 5 פעמים. נגיד שאתה רוצה בסוף גם להציג את כמות המספרים החיוביים,
הנה קטע הקוד שעושה בדיוק את זה (בשפת #C):
int[] numbers =new int[] { 1, -1, 34, -20, 17};
int positiveNumbersCounter = 0;
for (int i = 0 ; i < 5 ; i++)
{
if(numbers[i] > 0)
{
positiveNumbersCounter ++;
}
}
Console.WriteLine("There are "+ positiveNumbersCounter + " positive number.");
הסבר:
בשורה 1 – הגדרתי מערך של 5 מספרים שלמים, שחלקם חיוביים וחלקם שליליים.
שורה 2 – הגדרתי משתנה שבו יישמר מספר המספרים החיוביים, כשבהתחלה אתחלתי אותו (נתתי לו ערך התחלתי) ל-0.
שורה 3 – כאן מתחילה לולאת ה-for: הלולאה תרוץ 5 פעמים: היא מוגדרת על ידי משתנה i שבהתחלה הוא 0, והוא מתקדם כל סיבוב ב-1, כל עוד הוא קטן מ-5 (0,1,2,3,4 כלומר 5 פעמים).
הקוד שמתבצע בכל פעם (או בלוק הפקודות) הוא הקוד שנמצא בתוך הסוגריים המסולסלים שמיד לאחר מכן.
שורה 5- הקוד שמתבצע בלולאה: עושה שימוש במשתנה i שהוגדר עבור הלולאה כדי לגשת כל פעם למקום הבא במערך המספרים:
כאשר i==0 (בסיבוב הראשון של הלולאה), התנאי יהיה:
if(numbers[0]>0)
כלומר ייבק האם המספר הראשון במערך הוא חיובי. אם התשובה חיובית, נכנסנו לבלוק הפקודות שמתבצע בתנאי זה, הכולל את רק את השורה הבאה:
שורה 7 – כאשר התנאי נכון, והמספר הוא חיובי, נוסיף 1 למונה המספרים החיוביים. אם למשל כל המספרים יהיו חיוביים במערך numbers שהוגדר בהתחלה, בכל סיבוב של הלולאה התנאי יחזיר true, והמונה יקודם 5 פעמים ב-1, ויגיע ל-5 לאחר הסיבוב האחרוi של הלולאה.
השורה האחרונה פשוט מציגה על המסך את המשפט שאומר כמה מפסרים חיוביים נמצאו.
פירטתי כמה שניתן כדי שגם מי שממש מתחיל בתכנות יוכל להבין.
אם צריך עוד הסבר אשמח להוסיף.