COBOL – UNIT 11
Intrinsic Functions
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
Intrinsic Functions
מבוא
סוגי הפונקציות
סוגי הפרמטרים
פונקציות מחרוזת
פונקציות סטטיסטיות
פונקציות מתימטיות
פונקציות תאריכים
תרגילים
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
2
Intrinsic FUNCTIONs
Intrinsic FUNCTIONsהם פונקציות פנימיות של
קובול.
לא מדובר בUser defined Functions -
הפונקציה מחזירה ערך שניתן לשלבו בביטויים
מתאימים
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
3
- Intrinsic FUNCTIONsהמשך
ניתן להשתמש בתוצאה של פונקציה כאחד מהאופרנדים
של פקודת קובול או כפרמטר לפונקציה אחרת.
לא ניתן להשתמש בפונקציה כיעד של חישוב.
צורת השימוש:
)FUNCTION Function-name (Arguments
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
4
סוגי הפונקציות
Alphanumeric
< לטיפול במחרוזות/טקסט
Numeric
< מחזירות ערך עם סימן .אפשר להשתמש בהן רק
בביטויים אריתמטיים
Integer
< ערכים נומריים ללא Vועם סימן
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
5
פרמטרים
הפרמטרים בתוך הסוגריים יכולים להיות:
משתנים )כולל כניסה בטבלה(
ביטויים אריתמטיים
קבועים
מספר הפרמטרים יכול להיות:
אפס )סוגריים ריקים(
אחד )לדוגמה ב(SQRT -
יותר מאחד )לדוגמה ב(REM -
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
6
סוגי הפרמטרים
NUMERIC
ALPHABETIC
ALPHANUMERIC
שלם
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
7
טבלאות כפרמטר לפונקציה
כאשר פונקציה מאפשרת ריבוי פרמטרים ,ניתן להשתמש ב-
ALLכדי לציין את כל הכניסות של הטבלה
אם בטבלה צוין גם OCCURS...DEPENDING ONאז
מספר הכניסות נקבע ע"י המשתנה שצוין בDEPENDING -
ON
דוגמה:
= COMPUTE WS10-TOTAL
))FUNCTION SUM (TB01-NUM(ALL ALL
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
8
פונקציות מחרוזתיות
הערך המוחזר
התו הנמצא במיקום int
בטבלת הEBCDIC/ASCII -
אורך המחרוזת
הפיכת המחרוזת לאותיות
קטנות
הפיכת הערך שבפרמטר לנומרי
מיקום התוו בטבלת ה-
ASCII/EBCDIC
המחרוזת בסדר הפוך
הפיכת המחרוזת לאותיות
גדולות
COBOL – Unit 11
פרמטרים
סוג הפונקציה
פונקציה
Alphanumeric
int
CHAR
Integer
Alphanumeric
any
string
LENGTH
LOWER-CASE
Numeric
Integer
alphanumeric
string
NUMVAL
ORD
Alphanumeric
Alphanumeric
string
string
REVERSE
UPPER-CASE
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
9
דוגמאות- פונקציות מחרוזתיות
MOVE
MOVE FUNCTION
FUNCTION CHAR(FUNCTION
CHAR(FUNCTION ORD('a'))
ORD('a'))
TO
TO WS20-CHAR-X
WS20-CHAR-X
COMPUTE
COMPUTE WS30-ORDENAL-ASCII-POSITION-I
WS30-ORDENAL-ASCII-POSITION-I ==
FUNCTION
FUNCTION ORD
ORD (FUNCTION
(FUNCTION CHAR(61))
CHAR(61))
MOVE
MOVE FUNCTION
FUNCTION LENGTH
LENGTH (WS20-CHAR-X)
(WS20-CHAR-X)
TO
TO CN10-ORIGINAL-VAR-LENGTH
CN10-ORIGINAL-VAR-LENGTH
IF
FUNCTION
IF FUNCTION LOWERCASE(WS20-CHAR-X)=
LOWERCASE(WS20-CHAR-X)= WS20-CHAR-X
WS20-CHAR-X
THEN
THEN
DISPLAY
DISPLAY 'The
'The value
value is
is lowercase'
lowercase'
END-IF
END-IF
IF
IF FUNCTION
FUNCTION UPPERCASE(WS20-CHAR-X)=
UPPERCASE(WS20-CHAR-X)= WS20-CHAR-X
WS20-CHAR-X
THEN
THEN
DISPLAY
DISPLAY 'The
'The value
value is
is Uppercase'
Uppercase'
END-IF
END-IF
COMPUTE
COMPUTE WS01-NUM-N
WS01-NUM-N ==
FUNCTION
FUNCTION NUMVAL(FUNCTION
NUMVAL(FUNCTION REVERSE('12'))
REVERSE('12'))
10
מימון – ייעוץ והדרכה במחשבים בע"מ.כל הזכויות שמורות לד
COBOL – Unit 11
פונקציות סטטיסטיות
הערך המוחזר
הערך המקסימלי
ממצוע
ממוצע של המינימום
והמקסימום
ערך מינימלי
מיקום הערך המקסימלי
מיקום הערך המינימלי
ההפרש בין הערך
המקסימלי לערך
המינימלי
סטיית התקן
סכום הפרמטרים
שונות
COBOL – Unit 11
סוג
Any
Numeric
Numeric
פרמטרים
1 or more, any
1 or more, num
1 or more, num
פונקציה
MAX
MEAN
MIDRANGE
Any
Integer
Integer
Any
1 or more, any
1 or more, any
1 or more, any
1 or more,
int/num
MIN
ORD-MAX
ORD-MIN
RANGE
Numeric
Numeric
Numeric
1 or more, num
1 or more, num
1 or more, num
STANDARD-DEVIATION
SUM
VARIANCE
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
11
דוגמאות- פונקציות סטטיסטיות
COMPUTE WS02-NUM-V99 =
FUNCTION MAX[MIN](WS01-INTEGER TB01NUM(ALL 3))
COMPUTE WS01-INTEGER =
FUNCTION ORD-MAX[ORD-MIN](TB01NAME(ALL ALL))
COMPUTE WS02-NUM-V99 =
FUNCTION MEAN[STANDARDDEVIATION][MEDIAN]
[MIDRANGE][RANGE][SUM][VARIANCE](TB01
-NUM(ALL ALL))
12
מימון – ייעוץ והדרכה במחשבים בע"מ.כל הזכויות שמורות לד
COBOL – Unit 11
פונקציות מתימטיות
פונקציה
13
פרמטרים
סוג
ACOS
ASIN
ATAN
COS
FACTORIAL
INTEGER
INTEGER-PART
LOG
LOG10
MOD
RANDOM
REM
SIN
1,num
1,num
1,num
1,num
1,int
1,num
1,num
1,num
1,num
2,int1 int2
1,int or none
2,num1 num2
1,num
Numeric
Numeric
Numeric
Numeric
Integer
Integer
Integer
Numeric
Numeric
Integer
Numeric
Numeric
Numeric
SUM
SQRT
TAN
1 or more, int/num
1,num
1,num
Numeric
Numeric
Numeric
מימון – ייעוץ והדרכה במחשבים בע"מ.כל הזכויות שמורות לד
COBOL – Unit 11
דוגמאות- פונקציות מתימטיות
COMPUTE WS04-INT =
FUNCTION MOD(WS03-NUM-V99
COMPUTE WS02-NUM-V99 =
FUNCTION REM (WS03-INT1
5)
WS04-INT2)
COMPUTE CN01-FACTORIAL =
FUNCTION FACTORIAL (WS01-INTEGER)
COMPUTE WS01-INTEGER =
FUNCTION INTEGER[-PART] (WS02-NUM-V99)
14
מימון – ייעוץ והדרכה במחשבים בע"מ.כל הזכויות שמורות לד
COBOL – Unit 11
פונקציות תאריכים
הלוח הגרגוריאני נבחר לשמש את פונקציות התאריכים
התאריך ההתחלתי הוא יום שני 1 ,ינואר .1601וזהו יום
מספר .1
כל פונקציות התאריכים מתרגמות את התאריך למספר
הסידורי שלו בלוח הגרגוריאני.
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
15
פונקציות תאריכים
סוג
הערך המוחזר
התאריך והזמן הנוכחי
תרגום מספר לתאריך בצורה YYYYMMDD
תרגום מספר לתאריך בצורה YYYYDDD
תרגום תאריך בצורה YYYYMMDDלמספר
תרגום תאריך בצורה YYYYDDDלמספר
COBOL – Unit 11
פרמטרים
Alphanumeric
Integer
Integer
Integer
Integer
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
None
1,int
1,int
1,int
1,int
פונקציה
CURRENT-DATE
DATE-OF-INTEGER
DAY-OF-INTEGER
INTEGER-OF-DATE
INTEGER-OF-DAY
16
דוגמאות- פונקציות תאריכים
חישוב גיל בימים
03 WS01-CURRENT-DATE.
05 WS01-CURRENT-DATE-9
PIC 9(8).
03 WS02-BIRTH-DATE
PIC 9(8) VALUE 19451203.
03 WS03-AGE-IN-DAYS
PIC 9(5).
MOVE FUNCTION CURRENT-DATE TO WS01-CURRENT-DATE
COMPUTE WS03-AGE-IN-DAYS =
FUNCTION INTEGER-OF-DATE(WS01-CURRENT-DATE) –
FUNCTION INTEGER-OF-DATE(WS02-BIRTH-DATE)
17
מימון – ייעוץ והדרכה במחשבים בע"מ.כל הזכויות שמורות לד
COBOL – Unit 11
פונקציות תאריכים -המשך
איך לחשב את היום בשבוע?
השתמש בשארית החלוקה ב7 -
= COMPUTE WS10-DATE-DAY-OF-WEEK
FUNCTION REM (FUNCTION INTEGER-OF)DATE (WS11-DATE-YYYYMMDD
)7
הפונקציה תחזיר 0 :עבור יום ראשון 1 ,עבור יום שני...
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
18
תרגילים
.1הפרש בין תאריכים
חשב את ההפרש בין שני תאריכים
.2הוספת ימים לתאריך
חשב את התאריך המתקבל ע"י הוספת מספר ימים
לתאריך נתון
COBOL – Unit 11
כל הזכויות שמורות לד .מימון – ייעוץ והדרכה במחשבים בע"מ
19
© Copyright 2025