שלום לכולם

שלום לכולם

אני רק BEGGINER כמו שאומרים בלימדת שפת ++C ואני מעונין לדעת עם מישהו מבין מה היחדויות של WHILE ומה השימוש העיקרי של SWITCH
 

nfnf

New member
המממ

אתה מתכוון while לעומת for? switch נועד בדרך כלל כדי לחסוך if-ים,והתוכנית יוצאת לפעמים יותר קריאה. מבחינת שקילות של כוח תכנותי הם שקולים.
 

galh

New member
שלום.. שלום...

בלולאת while התנאי נבדק לפני הכניסה ללולאה, זה ההבדל. השימוש העיקרי ב- switch הוא לבדוק תנאי שהתוצאות לגביו ידועות וקבועות (לדוגמא בחירה באפשרויות של תפריט שמוספרות מ- 1 עד 5).
 

ihovav

New member
לא מדוייק

בראשון התנאי נבדק לפני כל איטרציה של הלולאה ובשני בתום כל איטרציה של הלולאה
1 -> while (a > 0) { a--; }; 2 -> { a--; }while (a >10);​
במקרה ש A שווה ל 10 כשהתכנית מגיעה לקטע הלולאה - הראשון לא יבוצע - והשני יבוצע כי הבדיקה היא אחרי האיטרציה ולא לפני כמו בראשון
 

galh

New member
נראה לי שהתיקון שלך לא מדויק

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

odstudio

New member
תשובות יותר מפורטות:

בקשר ל- while: לולאת while בודקת תנאי בוליאני (המצוי בסוגריים), וכל עוד הוא מתקיים היא חוזרת על עצמה. ניתן "לחקות" לולאת for בעזרת לולאת while, אולם השימוש בלולאת for נעשה על-מנת לקדם ערך משתנה בעוד השימוש בלולאת while לא "מחייב" זאת. בקשר ל- switch: מיועדת לבדיקת ערך משתנה מסויים ולבצע פקודות עפ"י ערך זה. לא ניתן לבדוק תנאי בוליאני בפקודת switch בניגוד ל- if. פקודת switch יעילה יותר לעומת פקודת if - הקומפיילר יוצר קוד יעיל יותר בשפת מכונה. לכן, אם רק בודקים ערך מסויים ועל-פיו רוצים לבצע פקודות, משתמשים ב- switch. אם בודקים תנאים בוליאניים שעל-פיהם רוצים לבצע פקודות, "אין ברירה" אלא להשתמש ב- if-else.
 

gilad_no

New member
הערה קטנה,

ניתן לבדוק תנאי בוליאני בעזרת SWITCH.
switch(x) { case 0: cout<<"x is FALSE!"; break; default: cout<<"x is TRUE!"; }​
לא כ"כ יעיל וקריא, אבל אפשרי :)
 
למעלה