Re: How to find the greatest of two numbers without using the comparison operators?



Pete,
Usually I am "amused" by DD's "do your own homework" and don't follow up on
it. However, when I first saw this question last night, it had ME stumped.
Certainly, it HAD TO BE homework (because I can't think of any "good" reason to
make this restriction in a business environment). Also, when I was thinking
about it, I was NOT looking at the original question, so I didn't remember that
the two fields were numeric. Therefore, I could think of ways to do it with
words (not symbols) and without an IF (using intrinsic function MAX), or with
only = (not > or <); but I couldn't come up with a solution that actually met
the requirement. I am glad you gave the hint and others more on the solution.

P.S. To OP who gave

IF A-B ....

This may just be a typo (or my misreading a post),but Standard COBOL requires
spaces around the subtraction sign.
"A-B" is a single data item name, like ADDRESS-OF-HOUSE
while
"A - B" is an arithmetic expression

--
Bill Klein
wmklein <at> ix.netcom.com
"Pete Dashwood" <dashwood@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5jq8r6Fqh1sU1@xxxxxxxxxxxxxxxxxxxxx


"Aparajita" <aparajita.mohanty@xxxxxxxxx> wrote in message
news:1188542463.524263.317700@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi,

I want to find the greatest of two given numbers say 'A' and 'B.

That would be the "greater" of two numbers; the "greatest" implies at least
three...

The condition is that I should use the IF clause but not comparison
operators like '<', '>','=' etc.
Is there any other operator in COBOL by which we can compare two
numbers.

No there isn't.

But what you want CAN be done.

a clue: Check out the COBOL SIGN test.

Then think about how a computer is able to make comparisons. How would a
"compare" instruction (on any platform) "work"? If you had to build a
computer, how would you build a "compare" instruction? Given that all you can
do is arithmetic and sign checking, how would you implement a "compare"?

Post your thoughts here, and we'll see how you go.

Pete.
--
"I used to write COBOL...now I can do anything."



.



Relevant Pages

  • Re: interesting use of NEXT SENTENCE vs. CONTINUE
    ... I am asking how a machine language BRANCH instruction (which has a SINGLE ... can be SLOWER than a machine language COMPARE instruction that has ... If 150 programmers are each compiling 5 COBOL programs ... possibility that ALTERED code in your environment may not be a good thing, ...
    (comp.lang.cobol)
  • Re: Performance of PACK/UNPACK instructions
    ... Cobol will pack before doing a compare for when the operands in the ... compare are not the same data type and atleast one operand is numeric. ... Cobol will not do a pack/unpack pair for a compare ... ... hence instructions like pack and unpack. ...
    (bit.listserv.ibm-main)
  • Re: interesting use of NEXT SENTENCE vs. CONTINUE
    ... It's my recollection that for at least early S/360 COBOL implementations the ... branch instruction to which the GO TO after the ALTERed LABEL pointed. ... compare that concerns me, it's the cost of the PCW manipulation (at the time ... > I see standards as being a helpful guide to new people joining the team. ...
    (comp.lang.cobol)
  • Re: how to compare two time
    ... WC> int begin = time; ... WC> How about COBOL? ... When you want to compare times, it is better to use these functions ... FUNCTION INTEGER-OF-DATE which for many applications is more important ...
    (comp.lang.cobol)
  • Re: how to compare two time
    ... WC> int begin = time; ... WC> How about COBOL? ... When you want to compare times, it is better to use these functions ... FUNCTION INTEGER-OF-DATE which for many applications is more important ...
    (comp.lang.cobol)