מצב מאוד שכיח בתכנות, בכתיבת הוראה אריתמטית כלשהי, הוא קבלת תוצאה, שאיננה מדוייקת לגמרי. כיצד מתרחש מצב שכזה? נשים לב לדוגמא הבאה:
AMT1 AMT2 AMT3
כיוון
ששדה התוצאה הוא משתנה המוגדר רק עם שתי
ספרות דיוק לאחר הנקודה העשרונית, מתבצע
קיצוץ של הספרה הימנית ביותר 12.857 + 25.142 = 37.99,
כך שהתוצאה המתקבלת איננה האמיתית ממש.
באופן כללי, במקרים אלו, ברור שתוצאה יותר
רצויה היתה התשובה 38.00, כלומר, תוצאה
המעוגלת כלפי מעלה, בסיפרה הימנית. על
מנת להשיג עגול בהוראות אריתמטיות, ניתן
להשתמש בעיגול התוצאה, בכל סוגי ההוראות
שלמדנו, בעיגול התוצאה כפי שנראה בדוגמאות
להלן:
אפשר
להשתמש בטכניקה זו גם בצורת הכתיבה עם GIVING,
כפי שנראה מיד. בכל המקרים השונים, המילה
השמורה ROUNDED תבוא מיד לאחר שם המשתנה, שהוא שדה
התוצאה.
אם
שדות הנתונים AMT1 ו-AMT2
אמנם מכילים את הערכים כפי שצויינו בדוגמא,
התוצאה אשר תתקבל בשתי הדוגמאות היא שהערך
יעוגל ל-38.00. יש
לשים לב, שהשימוש ב-ROUNDED אינו הכרחי בכתיבה, והוא אכן רשות
בלבד, ולא חובה. בכל מקרה, בו
נכתוב בהוראה לעגל, נקבל תמיד תוצאה מעוגלת
כלפי מעלה, בהתאם להגדרת משתנה התוצאה. אם לא
נשתמש באפשרות העיגול, יכולים להיות מקרים של
תוצאות מקוצצות. בדוגמא שלהלן נראה, כיצד אנו
מקבלים שתי תוצאות שונות, במקרים של שימוש ב-ROUNDED,
או אי שימוש בו (בהתאם לרצוננו): דוגמא DISCOUNT TOTAL AMT
במקרה
זה, התוצאה המתקבלת (99.98 - 87.23 = 12.75) מכילה שתי ספרות אחר הנקודה, וכיוון
שמשתנה
התוצאה מוגדר ללא ספרות עשרוניות כלל, הרי
נקבל ב-AMT
את המספר 12
, לאחר קיצוץ של הספרות מימין.
במקרה
זה, אותה תוצאה 12.75
מעוגלת כלפי מעלה, ולפי הגדרת משתנה התוצאה,
נקבל ב-AMT
את המספר 13 (שהוא שונה מ-12
בתבנית מס'1 ). אם
משתמשים במלה ROUNDED, בהוראת ה-DIVIDE עם שארית, הרי מלה זו תופיע ראשונה (
לפי הכלל,
צמודה למשתנה התוצאה); בצורה הבאה:
|
פרק 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. כל הזכויות שמורות למערכת המידע איתן © |