From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: reilly@zeta.org.au (Andrew Reilly) Subject: Re: Software landmines (loops) Date: 1998/09/02 Message-ID: <6si29e$1ul@gurney.reilly.home>#1/1 X-Deja-AN: 386963397 References: <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@news.erols.com> <6sdiav$e0g$1@hirame.wwa.com> <6sfcft$70p$1@hirame.wwa.com> <6sfcu4$bks@saluki-news.it.siu.edu> <35ed3d4a.2378710@news.erols.com> <6sfqul$ggg$1@hirame.wwa.com> <6sh30l$k4i$1@nnrp1.dejanews.com> <6sh4o4$afu$1@hirame.wwa.com> Content-Type: text/plain; charset=us-ascii Organization: Andrew and Catherine Reilly at home Mime-Version: 1.0 Reply-To: reilly@zeta.org.au Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-02T00:00:00+00:00 List-Id: In article <6sh4o4$afu$1@hirame.wwa.com>, "Robert Martin" writes: > > dennison@telepath.com wrote in message <6sh30l$k4i$1@nnrp1.dejanews.com>... >>In article <6sfqul$ggg$1@hirame.wwa.com>, >> "Robert Martin" wrote: >>> iteration is the last or not. Also, a programmer must be aware that the >>> last statement in the loop body will not be executed on the last iteration. >> >>Yes, but if that's what the algorithm is *supposed* to do, rephrasing it with >>flags and if statements won't change that. > > On the contrary, it is possible to create a loop body with a single > invariant, and whose last line will be executed in every iteration. How can you say this? Or are you counting the endloop statement as the last line? If the algorithm requires middle exit, and you achieve that with a flag and an if..endif section around the second half of the loop, then the second part doesn't execute on the last iteration, exactly like a break. -- Andrew Reilly Reilly@zeta.org.au