עבור לתוכן

מחפש את המילה המקבילה בפעולתה משפת C לשפת VISUAL

Featured Replies

פורסם
אגב, הידעתם - switch הוא בעצם גם כן סוג של Goto.

goto זה בסך הכל jump למקום קבוע בקוד.

עם switch/case אפשר לעשות דברים פסיכיים כמו -


switch(x){
case 1: if (y) {
case 2: break;
}
else {
case 3: //do something
}
{

והכיף לא נגמר... (מיותר לציין שזה מתקמפל ורץ)

מה שכן - מעניין להסתכל על קוד האסמבלי שנוצר מדברים כאלה.

פורסם

^^^^

או Branch למקום מסויים אם מסתכלים על אסמבלי.

פורסם

Real Programmers aren't afraid to use GOTO's

מי בכלל מקשיב למורים למחשבים? :bash:

פורסם

זו לא הייתה מורה למחשבים, זו הייתה מדריכה בקורס, ואני קצת יותר מעריך אותה מהמורים למחשבים בבי"ס.

ושימוש ב-Goto פשוט מראה על תכנון גרוע של התכנית.

או כמו שאמר לי מורה אחר:

"באג בדיזיין -> זין בדיבאג."

פורסם

GOTO זה לא דבר כ"כ נורא, וחוץ מזה הרי גם ככה באסמבל יש מלא GOTO של קפיצות לשורות קוד שונות בתוכנית,

ואם אין ברירה אז לא אסון להשתמש בו, אבל רק במידת הצורך.

פורסם

נכון, גם ככה יש באסמבלר Goto.

ובסופו של דבר כל השליטה של ה-flow של התכנית נעשית באמצעות Goto ו-Call (שהוא בעצם Goto משוכלל)

אבל, שפות תיכנות נותנות לך סט בסיסי של פונקציות לשליטה על ה-flow (לולאות, תנאים וכו'), והוא אמור להספיק.

ויש סיבה טובה לכך - אתה רוצה שהקוד שלך יהיה קריא ומובנה.

קשה לי לחשוב על מקרה שאין לך ברירה אלא להשתמש ב-Goto.

(ואני לא מדבר על ה-On Error Goto של VB)

פורסם

יכולים להשתמש בGOTO כדי שהקוד שלך יהייה קריא יותר. תחשוב שיש לך מלא IFים וכל IF עושה הרבה הרבה דברים(ולכן יש לו הרבה שורות). אתה לא מעוניין ללכת לפונ חדשה, ולאתחל את כל המשתנים שלך מחשב, אלא לשמור על המשתנים הנוכחים שלך ועל הערכים שלך. הדרך היחידה כאן היא להשתמש בGOTO.

פורסם

אם יש לך כמות כזו אדירה של משתנים, אז כנראה שיש קשרים ביניהם ואתה יכול לקבץ אותם לקלאסים.

ואז זה גם יהיה קריא יותר (בלי קשר ל-Goto).

דרך אגב, באותה מידה יכולת להשתמש במשתנים גלובאליים. גם מגעיל, אבל קצת פחות.

פורסם

אבל משתנים גלובליים יהיו בכל תוכנית, ולא רק בפונ הנל.

פורסם

דרך אגב, בקטע קוד הראשון של ה FOR, במקום לדלג על המספרים האי-זוגיים בתוך הלולאה, אפשר בתוך פקודת ב FOR במקום להגדיל באחד כל פעם להגדיל ב 2 (במקום I++ לעשות I=I+2)....

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים