הסבר

longisland

New member
הסבר

מישהו יכול להסביר לי בקצרה ודיוק מה ההבדל בין if and while הם ניראים לי פחות או יותר אותו הדבר(מבצעים פעולה מסויימת אם התנאי שבין הסוגריים הוא נכון) אני מתקשה למצוא את ההבדל החד ביניהם תודה מראש
 

sadde1

New member
בבקשה

if מבצע את הפעולה פעם אחת בלבד (אם התנאי שלו true) או בכלל לא (אם התנאי false) while מבצע את הפעולה (בלולאה) כל עוד התנאי הוא true (מפסיק או לא מבצע כלל אם התנאי false). אבי
 

Lard

New member
ת´אמת אצלי בספרות של האו"פ כתוב

אם אני זוכר נכון שכול מה שאתה יכול לעשות ב if אתה יכול לעשות בwhile
 

nahsh

New member
כן, אבל:

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

yuvalzr

New member
טוב אל תסבכו את הבן אדם

אחי זה די פשוט: ככה if זה תנאי כלומר אם התנאי מתקיים תעשה את הפעולות (שכתובות אחריו) ו while זה "כל עוד" כלומר כל עוד התנאי מתקיים תבצע את הפעולות - מה שאומר שהוא יבצע את הבלוק (אתה יודע מה זה בלוק נכון השתי סוגריים המסולסלות) פעם אחרי פעם כל עוד התנאי מתקיים מה שחשוב לזכור זה שלסים לב שהלולאה לא תיהיה אין סופי כי אז אתה תיהיה בבעיה (תלחץ קונטרול+פאוז (ctrl+pause) אם אתה רואה שהרצת תוכנית עם לולאה אין סופית אם משהו לא ברור תרגיש חופשי לשאול. יובל
 

longisland

New member
../images/Emo4.gif

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

תמר,

New member
התנאי ב-if וב-while נכתב באופן זהה

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

LandMLIGHTS

New member
מה קורה לכם

WHILE נועד לתנאי שיבדק ב-LOOP ו-IF נועד לתנאי קצר.
 

longisland

New member
זה באופן רישמי

בתכלס מה ההבדל? במעשי! שניהם מבצעים פעולה בין סוגריים אם התנאי מתקיים לא?
 

nahsh

New member
באופן מעשי ו"רישמי" כאחד:

התוכן בwhile, יתבצע כל עוד התנאי יתקיים, כלומר יחזור ויתבצע שוש ושוב ושוב. התוכן בif, יתבצע פעם אחת בלבד, ורק במידה שהתנאי מתקיים. הנה דוגמא:
int i=0; while (i<10) i++; if (i==10) i--; else i++;​
בקטע הראשון, איתחלנו את i ל0. עכשיו הגענו לwhile ואנחנו בודקים: הוא קטן מ10? התשובה היא כן. אז נבצע את הכתוב למטה ונגדיל את i ב1. עכשיו הגענו לקטצ´: אנחנו לא ממשיכים לשורה הבאה, אלא חוזרים לבדוק את התנאי שרשום בwhile. התנאי מתקיים שוב, שהרי 1 קטן מ10. כך ממשיכים עד שi שווה ממש ל10, ואז התנאי לא מתקיים יותר, ואפשר להמשיך הלאה. בif, לא נחזור לבדוק את התנאי אחרי ביצוע התוכן, אלא נמשיך הלאה בקוד.
 

biker_jo

New member
נורא פשוט

תנשום עמוק ..... ותסתכל בתמונה. שתי הפונקציות מתנהגות כמו IF ז"א מגיעים אל ה IF או ה WHILE, ובודקים את הסוגריים. אם התשובה היא כן, אז נכנסים פנימה אל ה } ומבצעים עד ה {. ההבדל הוא שב IF, לאחר ההגעה לסוף, ל {, ממשיכים לפקודה הבאה. ב WHILE, התוכנית חוזרת לבדוק את התנאי הראשוני, את הסוגריים שוב. מעין GOTO לאותה נקודה, והמשך כרגיל. מקווה שעזרתי.
 

LandMLIGHTS

New member
אם אתם מתעסקים בשאלות

כאלה נראה לי שהפורום התחיל לשעמם אתכם. נו באמת מה ההבדל בין IF ל WHILE? מה אתם לא יודעים? איך אתם מגדירים את עצמכם מתכנתים, זה הדבר הכי בסיסי בשפות תיכנות.
 

longisland

New member
מזל שיש אנשים כמוך בעולם

אז בוא אני אעזור לך להבין כי כנראה אתה לא מצליח לבד! 1.יש אנשים שמתחילים ללמוד תכנות כי זה מעניין אותם. עכשיו.שים לב.כאשר מתחילים ללמוד נושא חדש בחיים מתחילים ללמוד מהבסיס. הבנת עד כאן? אם לא.חזור ל 1 אם כן המשך ל 2 2. פורום תכנות כמו כל פורום אחר ברשת האינטרנט (אני מנסה להסביר במילים פשוטות)נועד על מנת לשאול שאלות .לקבל תשובות וכו וכו לכן. אם אין לך משהו מועיל להוסיף לפורום הזה לך לפורום קומיקס. נ.ב. לכל השאר שהגיבו אני מודה לכם מאוד קלטתי את העניין
 

LandMLIGHTS

New member
טוב חמוד אני מקבל את זה

צודק טעיתי פורום זה נועד לשאלות. תסבירו לי בבקשה מה ההבדל בין FOR ל IF ל WHILE ל DO WHILE ל DO LOOP ל DO UNTIL ל FOR NEXT ל FOR EACH NEXT ומה ההבדל בין הגדרת משתנה כ-LONG או DOUBLE וכולי. אף אחד לא אמר לא לישאול שאלות אפילו הכי קטנות אבל כמה אפשר לברבר על שאלות חסרות עינין. עונים וממשיכים הלאה.
 
למעלה