פרק
9 הוראות
אריתמטיות. |
ב.
הוראת
חיסור
|
ניתן
לכתוב הוראת חיסור פשוטה, באחת משתי
התבניות הבאות.
(שם-נתון-ח)
FROM ... ,[שם-נתון-2] , {שם-נתון-1} SUBTRACT
[קבוע-2]
{קבוע-1}
|
או:
(שם-נתון-ח)
GIVING (שם-נתון-ח-1)
FROM ... , {שם-נתון-1} SUBTRACT
(קבוע-ח-1)
{קבוע-1}
|
SUBTRACT
25 FROM
FLDA.
SUBTRACT
FLDA, FLDB, 99 FROM FLDC.
SUBTRACT
TAX FROM GROSS
GIVING NET.
.SUBTRACT
TAX, FICA, INSUR-PREM
FROM
GROSS GIVING
NET
|
כל
הכללים שלמדנו בפרק א', לגבי הוראת החיבור,
תקפים גם לגבי הוראת החיסור, שגם היא הוראה
אריתמטית. לכן, הוראה שתיכתב כך: .SUBTRACT TAX
FROM 100 היא הוראה שגויה, כיוון
ששדה התוצאה חייב להיות משתנה, ואסור
שיהיה קבוע. בכל מקרה, שנרצה להפחית סכום
כלשהו מקבוע, נצטרך להשתמש בתבנית מספר 2 (עם GIVING),
כללים
לפעולת החיסור - סיכום תמציתי
|
-
כל
המשתנים והקבועים חייבים להיות נומריים.
-
שדה התוצאה (שאחרי המלה
FROM בתבנית שימוש 1 , או אחרי המלה
GIVING בתבנית
שימוש 2) חייב להיות
משתנה, ואסור שיהיה קבוע.
בשימוש
בתבנית מספר 1, ערכי כל המשתנים והקבועים
שלפני המלה
FROM מסתכמים
יחד, והסיכום מופחת
מהמשתנה שאחרי המלה
FROM התוצאה
( ההפרש) מאוחסנת במשתנה שאחרי המלה
FROM . כל יתר המשתנים נשארים בערכיהם
המקוריים.
בשימוש
בתבנית מספר 2, הפעולה שמתבצעת זהה לפעולה, אשר
הוסברה בכלל מספר 3, אבל
התוצאה מאוחסנת במשתנה שאחרי המלה
GIVING, שלערכו המקורי אין שום השפעה על הפעולה.
במקרה זה, גם במשתנה או בקבוע, שאחרי המלה GIVING, נשאר הערך המקורי.
|
כדי
להמחיש את שתי צורות השימוש הנ"ל, נסתכל
בדוגמאות הבאות:
SUBTRACT
15.4, TAX, TOTAL FROM AMT.
|
|
AMT
|
TOTAL |
TAX
|
לפני
ביצוע ההוראה
|
100
|
10
|
30
|
אחרי
ביצוע ההוראה
|
44.6
|
10
|
30
|
|
מהערך
שבמשתנה AMT מופחת הסכום של כל הערכים האחרים.
התוצאה מאוחסנת בAMT.
SUBTRACT
15.4, TAX, TOTAL FROM AMT
GIVING NET.
|
|
NET
|
AMT |
TOTAL
|
TAX
|
לפני
ביצוע ההוראה
|
87
|
100
|
10
|
30
|
אחרי
ביצוע ההוראה
|
44.6
|
100
|
10
|
30
|
|
הערך
המקורי שבמשתנה NET אינו משתתף בפעולת החיסור, ואין לו כל
השפעה על התוצאה הסופית,
שמאוחסנת במשתנה זה.
בתכנית
COBOL נשתמש בתבבית מספר 1 , כאשר איננו
צריכים לשמור על הערכים המקוריים של השדות
המשתתפים בחיסור, ובתבנית מספר 2, כאשר אנו
צריכים בהמשך התכנית להשתמש באותם שדות,
בערכיהם המקוריים, לשימושים נוספים מלבד
החיסור.
גם
בהוראת חיסור, כמו בהוראת חיבור, כל הפסיקים
אינם הכרחיים, ומשמשים רק ליתר בהירות של
המשפט. בכתיבה ב-COBOL, אם משתמשים בפסיק, חייב לבוא אחריו
מרווח אחד לפחות. ניתן לבצע מספר
פעולות חיסור, בהוראה אחת בודדת, ע"י
הרחבת תבנית השימוש מספר 1 , כלהלן (כמו בחיבור):
SUBTRACT
AMT1, AMT2, AMT3
FROM TOTAL1, TOTAL2, TOTAL3.
|
וזה
כאילו כתבנו:
SUBTRACT
AMT1 FROM TOTAL1.
SUBTRACT
AMT2 FROM TOTAL2.
SUBTRACT
AMT3 FROM TOTAL3.
|
תבנית מספר 1 של הוראת החיסור היא כדלקמן:
...
,(שם-נתון-ח+1),(שם-נתון-ח)
FROM ...
,[שם-נתון-2]
,[שם-נתון-1] SUBTRACT
[קבוע-2]
[קבוע-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
|