Text 41157, 206 rader
Skriven 2006-10-12 08:56:53 av mark lewis (1:3634/12.0)
Kommentar till text 41146 av Michiel van der Vlist (2:280/5555)
Ärende: pi
==========
MvdV>>> if ((2+2)==5) printf("pi equals 3.12415");
MvdV>>> What value of pi will it print?
ml>> it won't print anything at all ;)
MvdV>> Right! It will not print anythingh at all! If it is a smart
MvdV>> compiler - and some are - it won't even make it into the object
MvdV>> code.
ml> that's interesting... wonder what it (the smart compiler) would do if
ml> the "short-circut boolean" flag was tripped the other way?
MvdV> That is a meaningless question. ((2+2)==5) will never evaluate to
MvdV> TRUE. Unless the compiler is broken and then anything can happen.
no, it is not a meaningless question... you're talking code, now... what would
your compiler do with each of the following?
if (2+2==5) or (3+3==7) then print "egads!";
if (2+2==5) and (3+3==7) then print "EGADS!";
if (2+2==4) or (3+3==7) then print "whew!";
if (2+2==5) or (3+3==6) then print "Whew!";
if (2+2==4) and (3+3==6) then print "WHEW!";
MvdV>> But since nothing is ever printed, the actual value in the
MvdV>> source code is irrelevant isn't it?
ml> that depends on the "short-circut boolean" setting ;)
MvdV> Since it is a constant, no it does not.
suggest you try again ;)
however, for your explicit example, yeah, i'll give it to ya...
now, try these...
a=2; b=2; c=5; d=3; e=3; f=7;
if (a+b==c) or (d+e==f) then print "egads!";
if (a+b==c) and (d+e==f) then print "EGADS!";
c=4;
if (a+b==c) or (d+e==f) then print "whew!";
c=5; f=6;
if (a+b==c) or (d+e==f) then print "Whew!";
c=4; f=6;
if (a+b==c) and (d+e==f) then print "WHEW!";
ml>> "do you want beef or chicken for dinner?"
ml>> how would you answer the above if you had no preference?
MvdV> [..]
ml> no... i added that just to ensure that my statement was understood...
MvdV> As I did when I wrote "....if pi equates 3 instead of...."
MvdV> I admitted that in hindsight it would have been clearer had I
MvdV> left out the "instead of part". Now will you admit that it would
MvdV> have been better to leave out the "mo preference" part?
yeah, sure [shrug] like it really matters a while lot...
ml> and that you and others who might want to jump in wouldn't take that
ml> track in the course...
MvdV> And so instead you created another track to take...
no...
MvdV> See how easy it is to find someone at fault if that is the goal?
duh...
MvdV>> Answering "yes" is logically correct even if there is a
MvdV>> preference. It is even correct if I do not want chicken at all.
MvdV>> When I only want beef and no chicken, it is still correct to
MvdV>> answer "yes".
ml> but i didn't exactly count on this track being taken since it was one
ml> of the points i was trying to make...
MvdV> Just as I did not count on making a typo in the value of pi and
MvdV> creating a track of its own out of it as that was not the point I
MvdV> was trying to make.
right but you also didn't jump to admit and correct it... instead you dragged
it out and argued on but not the same argument you originally had planned ;)
MvdV>> I know that this is not what the average English reader would
MvdV>> agree on, but logic says that (chicken or beef) evaluates to
MvdV>> TRUE if only beef is TRUE.
ml> that's "short circut boolean" logic...
MvdV> Actually it is called "boolean algebra". Which is the generally
MvdV> accepted logic among logicians.
yeah, yeah, yeah... but you are taking the short-circut to get to the answer
instead of evaluating each statement before making the decision...
ml> in my code, as well as many other places, i look to test everything
ml> and not just the first one...
MvdV> Then you write inefficient code.
no, i write accurate code... no shortcuts thru the woods to get to the river
and all that ;) i'm a stickler for accuracy in a lot of cases... especially
when i'm coding... as a lone coder, i've spent months working on routines and
working thru all the possible permutations that i have known of... in some
cases, i discovered some that i hadn't known... if i had just written the
routines and tossed them out there counting on efficiency and a smart compiler
then several of my programs would have had "bugs" or "design flaws" or whatever
you want to call it... i'm not m$ and i don't work for them... i check all
bounds and buffer sizes and process data in chunks... you can't account for
stupid users but you can defend against invalid input...
MvdV>>> We are talking about a right in front of everybody's eyes
MvdV>>> obvious typo that someone tried to turn into me coming to the
MvdV>>> false conslusion that pi equals 3.12415.
ml>> well, i can't say who saw the message you wrote first
MvdV>> It was Bob Klahn who pointed out the typo. I acknowleged by
MvdV>> quoting the first 1500 or so digits of pi.
ml> right, but did anyone else _see_ it before bobK did?
MvdV> How would I know? I told you what I know and that is that Bob
MvdV> Klahn was the one to respond to it. If anyone else spoted it ,
MvdV> they did not respond until after I responded to Bob.
the keyword in my statement is/was "saw"... and bobK's message was the first
one you saw about it... that doesn't mean that there weren't others already in
the queue nor does it mean that there weren't others who wrote and then deleted
the message...
ml> they didn't/don't have to have answered ;)
MvdV> So what is the point of asking a question you know I can not
MvdV> answer?
right now, i don't know and you conviently left out the rest of my statements
in that portion of your quoting... i'll have to try to go back, hunt down the
originals, and rerun the scenerios that lead to those statements... but is it
really worth it? i think not... if it was, you should have also seen the
alternatives and where i was looking to...
MvdV>> Then after the typo was pointed Roy jumped in and twisted it
MvdV>> into me actually having meant to say that pi equals 3.12415....
ml> hehe... sad to say, michiel, he didn't twist it... the statement said
ml> that all on its own...
MvdV> No it didn't. It should be clear to everyone, including those not
MvdV> having taken a course in formal logic that the statement I wrote
MvdV> did not say that I meant to say that pi equals 3.14215...
it doesn't matter what you _meant_ to say... i mean, it does but not for this
"argument"... the statement, as written, says that you said that pi equals
3.12415 (not 3.14215 :wink:)... there's no way for anyone who just sees that
statement, in context or not, to conclude otherwise... those that have read
your writtings over the years would also likely believe that you did intend to
say that as a "play on words"... obviously, several have done just that as did
a newcomer who doesn't know you from shine or shineola :)
MvdV> And for those not familiar with boolean algebra it should have
MvdV> been clear that I did not "conclude" that pi equals 3.14215.
MvdV> I had hoped that after explaining, you would understand. But I
MvdV> see I am wasting my time again. I should have known better.
whatever... you appear to be in a state that i get in sometimes... that state
being that i'm focusing on one argument or explanation while others are doing
their dead level best to point out and discuss another that stems from the same
point...
it is called "speaking across each other" or some such...
MvdV> You do not want to understand, you are unable to understand or I
MvdV> have failed to explain it properly.
oh, i've understood ya completely... you made a typo and didn't make a move to
correct it... instead your argument changed slightly to cover it once it was
pointed out to you...
MvdV> Whatever.. I am not going to waste any more time on this either.
MvdV> So have a nice day.
MvdV> Cheers, Michiel
MvdV> ___ GoldED+/W32-MSVC 1.1.5-b20060315
MvdV> - Origin: http://www.vlist.eu (2:280/5555)
* Origin: (1:3634/12)
|