In``` f f f f f f f f f f f f f f f f f f f f f f f f f f f````onl###jfff� � � � � � � � � � � � � � � � � � � � � � � � � � � ��oo��� of��� � �� ����������� � � �����o o o o o o ffff ###o
r```�� � � � � � � � � � � � � � � � � � � � � � � � � � �f f f f f f f f f f f f f f f f f f f f f f f f f f ```he u###hfffffffffffffffffffffffffffffffffffffffffffffffffffff
###ine``` f f� � ����������� ���� � ����������� �� ��� � � �o o o o o f f f f````#@####jffffffffffff fffffffffffffffffffffffffffffffffffffffff"######b`b�� ���������� ������ ��������f o o
o f f ```` ####hfffffffffffffffffffffffffffffffffffffffffffffffffffff � ������ � � �
######``` f f f f f f f f f f f f f f f f f f f f f f f f f f f````######jffff� � � � � � � � � � � � � � � � � � � � � � � � � � � �� o oo� ���� �f oo��ofo���� � ���� ����� ���o o o o ffff
###hfffffffffffffffffffffffffffffffffffffffffffffffffffff
####j ``` f f f f f f f f f f f f f f f f f f f f f f f f f f f````######jffffff� � � � � � � � � � � � � � � � � � � � � � � � � � � � fffffffffff fffffffffffffffffffffffffffffffffff"###0h#f`f� �� � � � � � � ��� �� �f f f o o o f o o
`b` f f f f o f f f o f o f f f f f o� � � � � � � � � � � � � � � � � �� � � � � � � � �f f f f f f f f f```c444###jfffffffffffff ffffffff fffffffffffffffffffffffffffffff �
####0#f`f�� � � � � � � � � � � � � � � � � � � � � � � � � � �f f f f f f f f f f f f f f f f f f f f f f f f f f ```k# %####hfffffffffffffffffo��oo���� ��o oo��offffffffffffffffff ####
%#bf` f f f f f f f f f f� � � � � � � � � � ������� ������� � � � � � � � �o f f f f f f f f f```k######jffffffffffff fffffo��fofff o f offffffffffffffffffffff"######fbf� � � �� � � � � � � � � � � � � �f f f f f f f f f f f f f f f f f f f f f f f f f f ```k######hffffffffffffffffffffffffffffffffffffffffffff � � � � � � � � � � � � �
fffffffff ## #
#`fb f f f f f f f f f f f f� � � � � � � � � � � � �� � � � � � � � � � � � � �f f f f f f f f f f f f f f```h######jffffffffffff ffffffff���oo����offfffffffffffffffffff
######fff�� � � � � � � � � � �� ������� � � � � � � � � � �f f f f f f f f f f o f f f f f f f f f f ````######hfffffffff fffffffffff��fffffff��ffffffffffffffffffffff
####&#ffb f f f f f f f f f f f f f f f� � � � � � � � � � � � � � � �� � � � � � � � � � �f f f f f f f f f f f```k#0####jfffffff ffffffffffffffffffffffffffffffffffffffffffffff"####
#fff�� � � � � � � � � � � � � � � � � � � � � � � � � � �f f f f f f f f f f f f f f f f f f f f f f f f f f ```o#0###&hfffffffffff ffffffffffffffffffff ffffffo fffffffffffff � �
####0#bff f f f f f f f� � � � � � � ���������� � ��� ���� � � � � � � �o f f o f f f f f f f```j######jffffffffff f f f f f f f f f f ```f###&#fhffffffffffffffffff f ffofo o fffffffffff
�� ������ � � � � � � � � � �� � � ��
&f&jffffffffffffffffffff o f o oooffffffffffffffffffff ####
=ff f f f f f f f f f f f f f f f f f f f f f f f f f f ````# fffhffffffffff � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � ��
ffffffffffo fffffffffffffffffffffffffffffff �
#fffjffffffffffffffffffoo������� ���o fffffffffffffffffff
fffhffffffffffffffffffffffffffff ffffffffffffffffffffffff � ####8# f f f f f f f ffffffffffffffffffbfff`f`f`b`b``````` ���������������������� � � � � � � � �
#########AG����� ��############ ## # ;# A� � � ��� �0 ## ############ ##,##;##`# � � P#`#p############# ##d
(##a#0 ##
� � |############# ## # < ### ##### #####3## ##j # #_#� � � � � � � � � ��
###��#####�� ��# d#########d#2#######r### Copyright 1997 John Wiley & Sons, Inc.� � All rights reserved. Reproduction or translation of this work beyond that
###########r#########r##### #��d#########d#2#######r## ##�
#################$##########################�� ��# d######3##d#########2## ##� �� �M F #���####��####T n#� ��K######0##d#########Z### Eighth edition Nancy Stern Hofstra University Robert A. Stern Nassau Community College Prepared by Herbert Rebhun University of Houston -
#Z#########################################>###############################A#### ###########b###############1###############
#########AGg #� � ############## ## # <################r## ##� � � � �� �0 M
,### ##### # d#########d#########>###CHAPTER 8#Decision Making Using
��� �� �� ��
#>#########>#####,###########>#########>####�� ��# d#########d#################### ###���###### ###� ###
#########AGg #� � ��############ ## #7+# A g p� � � � �
############# ## # 1#### ###U ######r## ## 0 M
� � � � � � � �� �
,### ##### # d#########d#########
��� �� �� ��
# use of IF statements for selection.2. The variety of formats and options
#########AGg S� � # ############ ##L# <# A g P� � � � � �
#d#########d#################d#########&###U#n###K#########d#######'###T#n###K## #######d###########T#n###K#########d#######?
###T#n###K#########d###########T#n###K#########d#######
#########AG�� ��# ��############ ##T'=# A� ������ ############# ## #'=#### ###U ######r## ### @
� � � � � � � �
,### ##### # d#########d#############CONTENTS
#################,##########################�� ��# d#########d#########2## ###� ��� # #### ####U n# K#########d######### ###Selection Using Other Options
� �� �� � �� �
#########AGg S� � # ############ ## #'=################r## ##� � � � �� �p M
#########AGg #� � ��############ ##L# <# A p p� � � � ��############# ##� � ;#### ###U ######r## ## 0 M
#########AGg #� � ��############ ##D� �=# A g p� � � ############# #### =#### ###U ######r## ## 0 M
� � � � � � �� �
$### ##### # d#########d#############Basic Conditional Statements
#################$##########################�� ��# d#########d#########2## ##� ���M s#��####��####U n#� ��K#########d######### ###Format for IF statementsIF � condition-1[THEN]* imperative statement-1 . . .[ELSE
7+# A g p� � � �############# ## ##;#### ###U ######r## ##� � � � � �� �0 M
$### ##### # d#########d#############Basic Conditional Statements
#################$##########################�� ��# d#########d#########2## ##� ���M s#��####��####T n#� ��K#########d######### ###Simple Relational Conditions1.� IF identifier-1 IS EQUAL TO identifier-22. IF identifier-1 IS LESS THAN
# ######### ################# #############U#n###K#########d#######,###T#n###K##� � �
#########AGg #� � ��############ ##� � 1# A g p
� � � � �############# ## # 1#### ###U ######r## ##� � � � � � �� �0 M
,### ##### # d#########d#############Basic Conditional Statements#t
# ######### ###############################`################# #########!� �
###U#n###K#########d#############n###d#########d#############n###d#########d#### #########n###d#########d#######!
#########AGg S� � # ############ ##D� � �=# A 7� ���W �############# ##<� =#### ###U ######r## ## p M
#################$##########################�� ��# d#########d#####
#'#########'#################'#########Q###U#n###K#########d###########T#n###K## #######d###########T#n###K#########d###########T#n###K#########d#######
1# A g p
� � � � �############# ##d# 1#### ###########r## ##� � � � �� �0 M
$### ##### # d#########d#############Basic Conditional Statements
1# A g p
� � � � �############# ##l# ;#### ###U ######r## ##� � � � � �� �0 M
$### ##### # d#########d######### ###Interpreting Instruction
��� �� �� ��
#########AGg #� � ��############ ##D� �=# A g� �� ############# ##<# =#### ###U ######r## ## 0 M
� � � � � � �� �
#### ##### # d#########d#############Basic Conditional Statements#T
#########AGg�� ��############ ##D� �=# A g `� � � �############# ##,� =#### ###U ######r## ## M
#################$##########################################�� ��# d#########d#### #####2## ##� �� �} M c#��####��####T n#� ��K#########d######### ###More Than One � Operation Can Be Performed When a Condition Exists.The instruction format
# #########A############################### ################# #####� � �
#########AG7 # W� � ��############ ##D� �=# A g `� � � ############# ####O:#### ###U ######r## ##q @ #
� � � � � � �
$### ##### # d#########d#############Coding Guidelinesi
#################$##########################�� ��# d#########d#########2## ##� �� �} M c#��####��####T n#� ��K#########d######### ###Indenting.Indent statements � within the IF instruction to make programs easier to read and debug. The following is the coding style for conditionals:IF condition THEN
# ######################### ################# #####� � �
#########AGg #� � ��############ ## # 1# A g� � � � ���
############## ## #7+#### ###########r## ##� � � � �� �0 M
$### ##### # d#########d#############Coding Guidelines#
#################$##########################�� ��# d#########d#########2## ##� ����M # #### ####U n# K#########d######### ###Indenting.The technique of
� �� �� � �� �
#########AGg #� � ��############ ## # 1# A g� � � � ���############## ##|� # ;#### ###U ######r## ##� � � � �� �0 M
#### ##### # d#########d#############Basic Conditional Statements##
#################$##########################################�� ��# d#########d#### #####2## ##� ����M � ��# ####��####T n#� ��K#########d#########<###Using Relational Operators in Place of Words.The following symbols for simple relational
conditions are valid within a COBOL statement:RELATIONAL OPERATORSSymbol
#<#########-#################################################<#####
###.###U#n###K#########d#######[###U#n###K#########d###########U#n###K#########d ###########T#n###K#########d###########T#n###K#########d###########T#n###K###### ###d###########T#n###K#########d###########U#n###K#########d#######
#########AGg�� S ############ ##D� � �=# A g 0� � � P############# ##� � =#### ###U ######r## ## M
� � � � ���
#################$##########################################�� ��# d#########d#### #####2## ##� �� �M M 3#��####��####U n#� ��K#########d######### ###Do Not Mix Field � Types in a Comparison.Conditional statements must use fields with the same data types to obtain proper results. In the statement, IF CODE-IN = 123 MOVE NAME-� � IN TO NAME- OUT, CODE-IN should be a nonnumeric field, since it is compared to a nonnumeric literal. As in MOVE operations, the literal should have the same format as the data item. If CODE-OUT has a PICTURE of 9's, the following would be appropriate:IF CODE-OUT = 123 MOVE AMT-IN TO AMT-OUT.Similarly, to ensure correct results, fields that are compared to one another should have the same data types, whether numeric or nonnumeric. Thus, in the statement, IF CTR1 = CTR2 ADD AMT1 TO TOTAL, both CTR1 and CTR2 should be either numeric or
### ###$# >~### ################################# ####
#########AGg #� � ��############ ##D� �=# A g� �� ############# ## #O:#### ###U ######r## ## 0 M
� � � � � � �� �
#### ##### # d#########d#############Basic Conditional Statements#E
### ###\# > ### ################################# ####
#########AGg S� � # ############ ##D� � �=# A 7� ���W ############## ##D� =#### ###U ######r## ## p M
#################$##########################�� ��# d#########d#########2## ##q� ��# # #### ####U n# K#########d#########d###When comparing numeric fields,
� �� �� � ��
### ### > ### ################################# ####
#########AGg #� � ��############ ## #7+# A g p� � � � � ############# ##\# ;#### ###U ######r## ## 0 M
� � � � � � �� �
$### ##### # d#########d#########$###ASCII and EBCDIC Collating
��� �� �� ��
#$#########$#####$###########$#########$####�� ��# d#########d#########2## ##� ���F s#��####��####U n#� ��K#########d######### ###When performing an alphanumeric � comparison, the hierarchy of the comparison, called the collating sequence, depends on the computer being used.The two types of internal codes that are most commonly used for representing data are: EBCDIC, for IBM and IBM-compatible mainframes.ASCII, used on most micros and many minis and mainframes. The
### ### # > ### ################################# ####
#########AGg # � �
############ ## # 1# A g p
�� � � � � � ��############# ##|# ;#### ###U ######r## ##� � � � � �� ��0 ,### ##### # d#########d#########&###ASCII and EBCDIC Collating
��� �� �� ��
### ### # > ### ################################# ####
=# A g
=#### ###U ######r## ## M
#H#########H#####$###########H#########H####�� ��# d#########d#########2## ##� ���M # #### ####T n# K#########d######### ###If an END-IF is not used in an
� �� �� � �� �
IF statement, the placement of periods can affect the logic. Consider the
### ###|#', ### ################################# ####
=# A g p
� � � � �############# #### =#### ###########r## ##� � � � �� �0 M
$### ##### # d#########d#########H###Ending Conditional Sentences
��� �� �� ��
> ### ###############h################# ####
=# A g p
� � � � �############# ##� ��=#### ###########r## ##� � �� �0 M
$### ##### # d#########d#########H###Ending Conditional Sentences
��� �� �� ��
> ### ###############i################# ####
#########AG# # � � ############ ##|
=# A g p
� � � � �############# ## # =#### ###U ######r## ##J 0� � � � � � � ��
$### ##### # d#########d#########$###The CONTINUE or NEXT SENTENCE
��� �� �� ��
### ### # > ### ################################# ####
#########AG@ `� � ############ ## # 1####� � � � ��� # ############# ############## #######r## ##z = &� � � � � �
#
#########
#####,########### #########
1#### ###U ######r## ## 0 M
### ###
1#### ###U ######r## ## p M
# ######### #####$########### ######### ####�� ��# d#########d#########2## ##� �� �m }
### ###,
� �
> ### ################################# ####
#########AGg #� � ��############ ## # 1# A g p� � � � � ��############# ##� �
# ######### #####$########### ######### ####�� ��# d#########d#########2## ##� ���M
### ###
� � �
> ### ############### ################# ####
=##a# ## ############ ## #O:# A g p
� ���� �� � � � � �
############# ##4#O: #######U# #####3## ## # # #### ##### # d#########d#
� � � � � �� �� ��� �� �� ��
###########################################U# ###K#########d#########r## ##� �� �0 M $### ##### # d#########d#########
# ######### #####$########### ######### ####�� ��# d#########d#########2## ##� ���M
#########AGg #� � ��############ ## # 1# A g p� � � � � ��############# ##t�
# ######### #####$########### ######### ####�� ��# d#########d#####
### ### # > ### ################################# ####
=# A
� ���� �############# ##� � �=#### ###U ######r## ##� � � �� �0 M $### ##### # d#########d#########
# ######### #####$########### ######### ####�� ��# d#########d#####!
###2## ##� ���} � ��# ####��####U n#� ��K#########d#############6. IF C = D MOVE 0 TO COUNTER ELSE
### ### # > ### ###############%################# ####
#########AG�� ��# ��############ ## # <# A� � � ����� ############# ##4# ;#### ###U ######r## ### @
� � � � � � � �
$### ##### # d#########d#########
# ######### #####$########### ######### ####�� ��# d#########d#####"###2## ###� ��
# #### ####U n# K#########d######### ###7. Will the following pair of
� �� �� � �� �
### ### # > ### ###############'################# ####
=# A # � �����
############## ##� � �=#### ###U ######r## ##� � � ����M
# ######### #####$########### ######### ####�� ��# d#########d#####$###2## ##1� ���
# #### ####T n# K#########d######### ###8. Write a routine to move the
� �� �� � �� �
### ###l#', ###################+################# ####
#########AG�� �# ��############ ## # <# A� � � ��� �`
############# ## # 1#### ###U ######r## ## @ }
� � � � � � � �� �
$### ##### # d#########d#########
# ######### #####$########### ######### ####�� ��# d#########d#####
#Z#########Z#################Z#########?
#########AGg��� ��############ ###� 7+########T#######r## ##� ����M
###### # >� �