|
עמוד:164
5 . 5 לולאת for עד כה עסקנו בשני סוגים של לולאות . do while-ו while – בחלק מתבניות הלולאה שהיכרנו השתמשנו במשתנה הנקרא " מונה הלולאה . " למשתנה זה היה ערך התחלתי מסוים שהשתנה במהלך התכנית עד לערך סופי . לעיתים גדל מונה הלולאה , 1-ב או יותר , ולעתים קטן 1-ב או יותר . כאשר נדרש ביצוע של לולאות כאלה נוח להשתמש בלולאת for המכילה את כל המרכיבים הדרושים : אתחול , תנאי , עדכון וגוף הלולאה . דוגמה 5 . 8 קליטת נתונים באמצעות תקשורת טורית כתבו תכנית המשדרת , עם הפעלת המיקרו-בקר , דרך ערוץ התקשורת הטורי , את הצירוף ' @ : ' ולאחר מכן ממתינה לקליטת תווים . התכנית תשדר חזרה ( תהליך הנקרא " הדהוד , " ( echoing כל תו שנקלט עד שתקלוט את התו . ' + ' עם קבלת התו הזה התכנית תסתיים ( לולאה אינסופית . ( הנחות : השידור והקליטה מתבצעים באמצעות פונקציות הספרייה . stdlib . h ערוץ התקשורת הוגדר עבור דוגמה זו . פתרון : + include < reg 51 . h > + include < stdlib . h > char ch ; void main () { */ כאן נדרשים אתחולי ערוץ התקשורת /* שידור רצף ההתחלה putchar ( ' @ ' ); // putchar ( ' : ' ); do { קליטת תו ch = getchar (); // החזרת התו if ( ch ! = ' + ' ) putchar ( ch ); // סיום אם נקלט התו } while ( ch ! = ' + ' ); // + לולאה אינסופית while ( 1 ); // }
|
|