ניתן
לכתוב הוראת חיבור פשוטה, באחת משתי
התבניות הבאות:
חשוב
ביותר לציין, שכל המשתנים או הקבועים, המשמשים
בהוראה אריתמטית כלשהי, חייבים להיות נומריים
(מספריים). המחשב לא יבצע פעולה אריתמטית על
משתנה לא נומרי, ולכן בדוגמאות שלמעלה כל
הקבועים הם נומריים, וכל השדות המוגדרים
בחטיבת הנתונים - אנו מניחים שהPICTURE שלהם מסוג 9.
התוצאה של פעולת החיבור, מאוחסנת תמיד בשדה
האחרון, המצוין בהוראה, כך שזהו המשתנה היחיד
שערכו משתנה לאחר ביצוע הפעולה. שדה אחרון זה,
כפי שאנו רואים, בא מיד לאחר המלה TO
בתבנית 1,
או מיד לאחר
המלה GIVING, כשמשתמשים בתבנית 2, והוא נקרא שדה
התוצאה. חשוב מאוד לזכור, ששדה
התוצאה - אסור שיהיה קבוע, והוא חייב להיות
משתנה כלשהו. ההוראה ADD
HOURS-WORKED TO
40. היא
הוראה שגויה, כיוון ששדה התוצאה הוא קבוע, ולא
שם-שדה, כפי שחייב להיות. כאשר
אנו משתמשים בתכנית בתבנית מספר 1,
הרי בזמן ביצוע ההוראה, כל ערכי המשתנים
והקבועים שבהוראה מסוכמים יחדיו, והתוצאה
מאוחסנת בשדה
האחרון.
כאשר אנו משתמשים בתכנית בתבנית מספר 2, הרי
שבזמן ביצוע ההוראה, כל ערכי המשתנים
והקבועים שלפני המלה GIVING מסוכמים יחדיו, והתוצאה מאוחסנת בשדה
התוצאה. שדה זה ישמש, אפוא, רק
להצגת התוצאה, ואיננו חלק מפעולת החיבור. לדוגמא:
שני הערכים מסוכמים יחדיו, והתוצאה מאוחסנת במשתנה האחרון, בעוד שמשתנה הראשון לא השתנה כלל. לדוגמא:
גם
בדוגמא זו, מסוכמים אותם שני ערכים, כמו
בדוגמא הקודמת, והתוצאה מאוחסנת במשתנה
האחרון, שהוא
TOTAL-HOURS. הערכים של שני המשתנים נשארים ללא
שינוי, גם לאחר ביצוע הפעולה, ואילו הערך
המקורי שבמשתנה התוצאה - נהרס כמובן,
ובמקומו יופיע ערך הסיכום. לערך המקורי אין
כל השפעה על פעולת החיבור עצמה, כיוון
שבמקרה זה משתנה התוצאה איננו חלק מהפעולה.
הפסיק בהוראה אינו הכרחי, ומשמש רק להפרדה
בין משתנים. יש
לזכור, שהשדות המופיעים בהוראה אריתמטית
כלשהי, יכולים להיות שדות המוגדרים ברשומת
קלט או פלט ב-FILE
SECTION, או שדות המוגדרים ב-WORKING-STORAGE
SECTION .
השימוש באותה הוראת חיבור במלים TO ו-GIVING יחדיו אסור בשפת COBOL, ואם נכתוב את ההוראה
הבאה:ADD
TAX TO
NET GIVING TOTAL. , הרי זוהי הוראה שגויה. מכל האמור לעיל
נראה,
שמשתמשים בתבנית מספר 1
כאשר, לאחר ביצוע ההוראה, התוכן המקורי של
השדות כבר אינו נחוץ, ואילו בתבנית מספר 2
נשתמש כאשר אנו צריכים לשמור את תוכן השדות
המקוריים, המשתתפים בביצוע הפעולה, להמשך
התכנית. ניתן
גם להרחיב את שתי התבניות הנ"ל, כפי שנראה
מיד:
רואים,
שלמעשה מספר המשתנים והקבועים כמעט אינו
מוגבל, והוא תלוי בגודלו של המחשב וברמת
התחכום של מהדיר שפת COBOL של המחשב.
התוכן
המספרי של שלושת המשתנים הראשונים אינו
משתנה, אבל התוצאה, שנמצאת בשדה AMT4.
(כמו בדוגמא א'), מכילה רק את ערכי משתנים אלו.
הערך המקורי של AMT4
אינו מסוכם, ואין לו כל השפעה על התוצאה.
התוכן
המספרי של שלושת המשתנים הראשונים אינו
משתנה לאחר ביצוע הפעולה. התוצאה כוללת את
הערכים של כל ארבעת השדות, ונמצאת בשדה AMT4. כאשר
כותבים ב-ANS
COBOL, ניתן להרחיב את תבנית השימוש מספר 1,
כך שע"י אותה הוראה, יתבצעו מספר
פעולות חיבור, כפי שנראה להלן:
וזה כאילו כתבנו:
|
פרק 1 - מבוא לתכנות COBOL.
פרק 2 - ארגון נתונים
פרק 3 - חטיבת הזיהוי
(IDENTIFICATION DIVISION)
פרק 4 - חטיבת הסביב
(ENVIRONMENTAL DIVISION)
פרק 5 - חטיבת הנתונים
(DATA DIVISION)
פרק 6 - חטיבת הביצוע
(PROCEDURE DIVISION)
פרק 7 - הוראת MOVE
פרק 8 - קטעי האחסון לעבודה
פרק 9 - הוראות אריתמטיות
פרק 10- הוראות תנאי
פרק 11 - רישומים נוספים בחתיבת הנתונים
פרק 12 - עריכת פלט מודפס
פרק 13 - הוראות מיוחדות לעריכת הדפסה
פרק 14 - הוראת DISPLAY ו-ACCEPT
|
.איתן 2002. כל הזכויות שמורות למערכת המידע איתן © |