Re: How to find the greatest of two numbers without using the comparison operators?
- From: "Pete Dashwood" <dashwood@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 1 Sep 2007 01:16:14 +1200
"Aparajita" <aparajita.mohanty@xxxxxxxxx> wrote in message
news:1188561799.566239.84930@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Aug 31, 3:28 pm, "Pete Dashwood"
<dashw...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
"Aparajita" <aparajita.moha...@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."
Hi Pete,
Thanks for your response.
I got an alternate solution,
like this
IF A-B IS POSITIVE
DISPLAY "A IS GREATER"
ELSE
DISPLAY "B IS GREATER"
END-IF.
What is your opinion on the above solution? Or if you find any
limitations or constraints with this code, please let me know.
Yes, you are on the right track. But the code is flawed.
What happens if A = B? Your code will incorrectly display that "B IS
GREATER".
You should seek to understand the code yourself, then you won't need my
opinion (or anyone else's...) as to constraints or limitations on it. Had
you taken my advice and checked out the COBOL SIGN test you could have
written a better solution. HINT: It's not too late... :-)
Read about the COBOL SIGN Test, then see if you can fix it yourself.
Picking up a solution from someone else is only one way to solve a problem,
although it is sometimes a valid approach. Always analyse whatever you pick
up, until you understand it thoroughly yourself. If you don't understand it,
don't use it... :-)
Cheers,
Pete.
--
"I used to write COBOL...now I can do anything."
.
- References:
- Prev by Date: Re: How to find the greatest of two numbers without using the comparison operators?
- Next by Date: Re: How to find the greatest of two numbers without using the comparison operators?
- Previous by thread: Re: How to find the greatest of two numbers without using the comparison operators?
- Next by thread: Re: How to find the greatest of two numbers without using the comparison operators?
- Index(es):
Relevant Pages
|