++C למתחילים
 
דף הבית >> פרק 2

פרק 2

משפטי בקרה:

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

if- else

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

(ביטוי אמת) if

;הצהרה  

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

if(ביטוי אמת) 
}
.
.
 הצהרה ;
{
 

דוגמה:  

#include<iostream.h>  
#include<conio.h> 
  
    main()
    {
       int x=2,y=3; 
       if (x<y)  
        cout<<"x<y"; 
        getch(); 
        return 0; 
    } 
 

פלט התוכנית:

x < y  

הסבר: התנאי if בודק האם x קטן מ y .אם כן (ובמקרה שלנו x אכן קטן מ y ) תוציא לפלט x < y .התוכנית פשוטה ומובנת, אך מה יקרה אם x היה גדול מ y ? בשביל זה קיים המוצא else . לולאת if - else נראית כך:  

	  

if(ביטוי שקר) } ביטוי שלא יתבצע { else } ביטוי שיבוצע {

 

דוגמה:  

#include<iostream.h>  
#include<conio.h>  
 
int main() 
{ 
   int age; 
     cout<<"please input your age:"; 
      cin>>age; 
     if(age<100) 
     { 
       cout<<"you are pretty young!"; 
     } 
     else if(age==100) 
     { 
       cout<<"you are old"; 
     } 
     else if(age>100) 
     { 
       cout<<"you are really old!!"; 
     } 
    getch(); 
     return 0; 
}
 

הסבר התוכנית: המשתמש מקבל הודעה על המסך please input your age . המשתמש מקיש את גילו, המספר נכנס לתוך משתנה age ,ופה מתחילה לולאת if .מתבצעות שלוש בדיקות כשבמידה ונגיע לערך "אמת" אזי ההוראה שלאחר מכן תצא לפלט. למשל אם הכנסנו 25 כבר בחלק הראשון של הלולאה נקבל ערך "אמת" לכן הפלט יהיה you are pretty young: וכאן אנו בעצם מסיימים את לולאת התנאי ויוצאים ממנה אל השורה return 0; המאשרת לתוכנית הראשית כי התוכנית הסתיימה בהצלחה.  

הקודם הבא