++C למתחילים
 
דף הבית >> פרק 2>> for<< do-while<< while<<if else if

לולאת for:

לולאות for הן השימושיות ביותר מבין הלולאות שראינו עד כה . צורת הכתיבה שלהן:  

for(קידום מונה ; תנאי ; איתחול מונה)

ביצוע שורות קוד ;
 

בלולאת for משתמשים כאשר ידוע לפני תחילת הלולאה כמה איטרציות תהינה.

כמו שראינו כבר בלולאת while ,גם ללולאת for יש שלוש תכונות, ושלושתן כתובות בכותרת של הלולאה. נזכיר את שלוש התכונות:

  1. אתחול מונה.
  2. תנאי.
  3. קידום המונה.
 

סדר הפעולות בכניסה ללולאת for הוא:

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

#include <iostream.h> 
#include <conio.h> 
   
    int main() 
    { 
      for(int x=0; x<100; x++) 
      { 
       cout<<x<<endl;  
      } 
    getch(); 
    return 0; 
    } 
 

פלט התוכנית:

יודפס למסך 0 עד 99 כשאחרי כל מספר נרד שורה .  

הסבר התוכנית: בכניסה ללולאת ה for אנו מצהירים על משתנה מסוג int ומאתחלים אותו ל 0.(שימו לב כי יכולנו להגדיר את משתנה x כמשתנה מסוג int בשורה לפני לולאת ה for אך בגלל נוחיות הגדרנו זאת כך). לאחר מכן נבדוק האם התנאי מתקיים?כן הוא מתקיים (0<100) ,ונתחיל בבלוק הלולאה, שבמקרה שלנו מוציא לנו את x כפלט למסך ויורד שורה. שלב הבא - קידום x ב 1 ,ובדיקת קיום התנאי שוב, שגם כעת הוא מתקיים (1<100) . נשים לב כי הלולאה מתקיימת עד שיודפס המספר 99 ,ואז נקדם את x שוב ב 1 והוא יהיה שווה 100 ,וכמו קודם נבדוק שוב את התנאי האם 100<100 ?כמובן שלא ,לכן נצא מהלולאה לפקודה שאחריה ובמקרה שלנו - סוף התוכנית.  

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

#include<iostream.h> 
#include<iostream.h>  
  
    main()
    {
       int i, j ;
       for(i=0,j=10;i<10;i++, j--)
        cout<<i<<'*'<<j<<'='<<i*j<<' ';
        cout<<endl;
       getch();
       return 0;
    }
 

פלט התוכנית:

9=1*9 16=2*8 21=3*7 24=4*9 25=5*5 24=6*4 21=7*3 16=8*2 9=9*1 0=10*0  

הסבר התוכנית: בתוכנית זו איתחלנו את משתנה i ל 0 ואת משתנה j ל 10 ובכל יציאה מבלוק הלולאה , מקודם i ב 1 ואילו j מופחת ב 1. קיימות אפשרויות נוספות לכתיבת לולאת for אותן נראה בהמשך. לסיכום: לולאת for היא מעין "אחות תאומה" ללולאת while רק שלולאת for מסודרת יותר ולעניות דעתי אף מובנת יותר בקריאה. למעשה כל פעולה המבוצעת על ידי לולאת while ניתן לבצע בעזרת לולאת for ולהיפך.  

הקודם הבא