Дефиниране на цифрови данни
Елементите с цифрови данни се дефинират от клаузата PICTURE. Всеки 9 в описанието на данните представлява десетична цифра.
Characterswithspecialmeaningsthatcanappearare:Pindicatesleading0andtrailing0Sindicator,plusorminussignVimpliesadecimalpoint
Данни за определени аспекти Набор от числа.
Показване на цифрови данни
За да направите цифровите данни по-лесни за четене при показване и отпечатване, можете да използвате флагове за него (като: десетична точка, запетая, знак за долар и знак за дебит и знак за кредит) Форматиране на цифрови данни.
Например редактирана цена е редактиран елемент с цифрови данни в следния код:
05PricePic9(5)v99.
05Edited-pricePic$zz,zz9,99.
...
MovePriceToEdited-price
Показване на редактирана цена
Преместване на редактирана цена в цена
DisplayPrice
Контролиране на съхранението на цифрови данни
Цифровите данни, съдържащи програмата COBOL, могат да бъдат съхранени в следния формат: Външен десетичен (USAGEDISPLAY) Външен плаваща запетая (USAGEDISPLAY) Вътрешен десетичен (USAGEPACKED-DECIMAL) Двоичен (USAGEBINARY) Локален двоичен (USAGECOMP-5) Вътрешен десетичен (USAGECOMP-1, US AGECOMP-2)
COMP и COMP-4 са еквивалентни на BINARY(двоичен) и COMP-3 са еквивалентни на (packeddecimal)PACKED-DECIMALCOMP.
Аритметични операции
OBNOАритметичните операции имат следните методи: оператори ИЗЧИСЛЯВАНЕ, СЪБИРАНЕ, ИЗВАЖДАНЕ, УМНОЖЕНИЕ И РАЗДЕЛЕНИЕ.
4.4.1ArithmeticstatementCOMPTEstatementassignsthevalueofanexpressiontooneormoredataitems.TheCOMPUTEstatementcanbeusedtoeasilycombinearithmeticoperations,andisnotsubjecttoresultstoragerestrictionssuchasADD,SUBSTRACT,MULTIPLY,andDIVIDEstatements.
4.4.1.1ADDstatementADDсинтаксис1:
ДОБАВИ идентификатор-1,идентификатор-2,...КЪМ идентификатор-n[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДОБАВЯНЕ]
Пример:
ADDNUM1TONUM2.
ADDNUM1,10TONUM2.
ADDNUM1,NUM2TONUM3ONSIZEERRORPERFORM100-ГРЕШКА.
ADDSyntax2:
ДОБАВИ идентификатор-1,идентификатор-2,…[ДО]идентификатор-nGIVINGидентификатор-m[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДОБАВЯНЕ]
Пример:
ADDNUM1TONUM2GIVINGNUM3.
ADDNUM1,NUM2GIVINGNUM3.
ADDNUM1,10TONUM2GIVINGNUM3.
ADDSyntax3:
ADDCORRidentifier-1TOidentifier-2[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1
[NOTONSIZEERRORstatement-2][END-ADD]
Пример:
03 ТЕКУЩ МЕСЕЦ.
05PAYPIC9(3)V9(2).
05TAXPIC9(2)V9(2).
03г.г.
05PAYPIC9(3)V9(2).
05TAXPIC9(2)V9(2).
p>ADDCORRRENT-MONTHTOYTD.
4.4.1.2SUBTRACTstatementSUBTRACTсинтаксис1:
ИЗВАЖДАНЕ идентификатор-1, идентификатор-2,…ОТ идентификатор-n
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1
[NOTONSIZEERRORstatement-2]
[КРАЙ-ИЗВАЖДАНЕ]
Пример:
ИЗВАЖДАНЕ NUM1 ОТ NUM2.
ИЗВАЖДАНЕсинтаксис2:
ИЗВАЖДАНЕ идентификатор-1 идентификатор-2,…ОТ идентификатор-n
ДАВАНЕИдентификатор-m[ЗАКРЪГЛЕН]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ИЗВАЖДАНЕ]
Пример:
ИЗВАЖДАНЕ NUM1 ОТ NUM2GIVINGNUM3.
ИЗВАЖДАНЕ синтаксис 3:
SUBTRACTCORRidentifier-1FROMidentifier-2
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ИЗВАЖДАНЕ]
Пример:
ИЗМЕЩАНЕ НА CORRREC1FROMREC2.
4.4.1.3MULTIPLYизраз MULTIPLYсинтаксис1:
MULTIPLYidentifier-1BYidentifier-2
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-УМНОЖАВАНЕ]
Пример:
MULTIPLYNUM1BYNUM2.
MULTIPLYсинтаксис2:
MULTIPLYidentifier-1BYidentifier-2
ДАВАНЕИдентификатор-3
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-УМНОЖАВАНЕ]
Пример:
MULTIPLYNUM1BYNUM2GIVINGNUM3.
4.4.1.4DIVIDEstatementDIVIDEсинтаксис1:
DIVIDEidentifier-1INTOidentifier-2
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДЕЛЕНИЕ]
Пример:
DIVIDENUM1INTONUM2.
DIVIDEсинтаксис2:
DIVIDEidentifier-1INTOidentifier-2
ДАВАНЕИдентификатор-3
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДЕЛЕНИЕ]
Пример:
DIVIDENUM1INTONUM2GIVINGNUM3.
DIVIDEсинтаксис 3:
DIVIDEidentifier-1BYidentifier-2
ДАВАНЕИдентификатор-3
[ЗАКРЪГЛЕНО]
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДЕЛЕНИЕ]
Пример:
DIVIDENUM1BYNUM2GIVINGNUM3.
DIVIDEсинтаксис4:
DIVIDEidentifier-1INTOidentifier-2
ДАВАНЕИдентификатор-3
[ЗАКРЪГЛЕНО]
ОСТАТЪК идентификатор-4
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДЕЛЕНИЕ]
Пример:
DIVIDENUM1INTONUM2GIVINGNUM3REMAINDERNUM4.
DIVIDEсинтаксис 5:
DIVIDEidentifier-1BYidentifier-2
ДАВАНЕИдентификатор-3
[ЗАКРЪГЛЕНО]
ОСТАТЪК идентификатор-4
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ-ДЕЛЕНИЕ]
Пример:
DIVIDENUM1BYNUM2GIVINGNUM3REMAINDERNUM4.
4.4.1.5COMPUTEstatementCOMPUTEсинтаксис:
COMPUTEidentifier-1[ROUNDED],identifier-2[ROUNDED],...
=аритметичен израз
[ONSIZEERRORstatement-1]
[NOTONSIZEERRORstatement-2]
[КРАЙ НА ИЗЧИСЛЕНИЕ]
Пример:
КОМПЮТЪРЕН РЕЗУЛТАТ=NUM1*NUM2+NUM3-NUM4.
4.4.2ArithmeticexpressionallowsnumericdataitemstoappearPlacescanbereplacedwitharithmeticexpressions.
Аритметичните изрази могат да имат положителни и отрицателни знаци (+,-), знаци за степен (**), знаци за деление или умножение (/, *) и знаци плюс или минус (+, -).
4.4.3 Цифрови вградени функцииВградените цифрови функции могат да се показват само там, където цифровите изрази наистина са разрешени.
Thenumberbuilt-infunctionreturnsasignedvalue.Thefunctionitselfcanberegardedasatemporarydigitaldataitem.
Ето някои цифрови вградени функции: Обработка на числа: LENGTH, MAX, MIN, NUMVAL, NUMVAL-C, ORD-MAX, ORD-MIN Дата и час: ТЕКУЩА ДАТА, ДАТА ДО-ГГГГММДД,… И т.н. Математика: ЦЯЛО ЧИСЛО, ЛОГ, СУМА, SIN, COS, MOD и др.
Пример:
COMPUTEX=ДЪЛЖИНА(ЗАПИС).
COMPUTEY=MAX(X,Y).