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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID 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: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public From: john-clonts@hlp.com Subject: Re: Software landmines (loops) Date: 1998/09/02 Message-ID: <6sken3$jv0$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 387247898 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@ <904556531.666222@miso.it.uq.edu.au> <6sgror$je8$3@news.indigo.ie> <6sh3qn$9p2$1@hirame.wwa.com> <35ece7ee.1489912@news.erols.com> <35ED7082.1889@hfl.tc.faa.gov> X-Http-Proxy: 1.0 x11.dejanews.com:80 (Squid/1.1.22) for client 204.254.32.141 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Wed Sep 02 21:52:34 1998 GMT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada X-Http-User-Agent: Mozilla/3.01Gold (Win95; I) Date: 1998-09-02T00:00:00+00:00 List-Id: In article <35ED7082.1889@hfl.tc.faa.gov>, Robert Oliver wrote: > Ell wrote: > > > The assertion that "single entry, single exit" is a required, or even > > desirable, maxim of structured programming is a myth. > > > > No one (including RCM) can show that this maxim is in fact a coding > > heuristic put forward by any of the founders of the structured > > paradigm. [Check past posts in this thread.] > > Edward Yourdan, in his book Techniques of Program Structure and Design > discusses this article: > > C. Bohm and G. Jacopini, "Flow Diagrams, Turing Machines, and Languages > with Only two Formation Rules", Communications of the ACM, May 1996, > pages 366-371. > > (Is this not *the* foundational article for structured programming?) > > Yourdan says: > > "According to Bohm and Jacopini, we need three basic building blocks in > order to construct a program: > > 1. A process box. > 2. A generalized loop mechanism. > 3. A binary-decision mechanism. > > The process box, shown in Fig. 4.1, may be thought of as a single > computational statement (or machine language instruction) *or as any > other proper conputational sequence with only one entry and one exit* - > such as a subtoutine." > > The emphasis between *...* above is his (shown in italics) not mine. > > In the next paragraph he says: > > "Note that the constructs shown in Fig. 4.2(a) and 4.2(b) {the decision > and > loop control structures} can themselves be thought of as a process box > since they have only one entry and one exit. Thus we can define a > transformation from a looping operation to a process box ..." > > I added the part between braces {}. > > I do not have the Bohm and Jacopini article. All I have is Yourdans > description of it. > > However, it seems clear from his description that the "single entry - > single exit" principle is fundamental to structured programming. > Yourdan > goes on to discuss some practical implementations such as various loop > constructs and the case statement. During this discussion, he uses the > "single entry - single exit" principle repeatedly and refers to it as > part of the "black-box principle". > > Bob Oliver > But wait: ... statementA; statementB; subroutine1(); statementC; Doesn't subroutine1() here qualify as having a single entrance/exit *regardless* how many "return" statements happen to be coded within it? Or does it even bear upon the discussion? John -----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum