מחפש את המילה המקבילה בפעולתה משפת C לשפת VISUAL - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


poltergeits

Recommended Posts

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

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

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


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

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

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

קישור לתוכן
שתף באתרים אחרים

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

ושימוש ב-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)....

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...