Search Result for "loop-and-a-half":

The Free On-line Dictionary of Computing (19 January 2023):

loop-and-a-half A loop structure with its termination test in the middle. This contrasts with the more common while loop which has the test at the beginning or a repeat loop which has it at the end. A generic example gets a value, tests it then processes it: while (true) value = get(); if (isTerminal(value)) break; process(value); Alternatives require either an extra get() before the loop: value = get(); while (! isTerminal(value)) process(value); value = get(); } or an extra test for termination: do value = get(); done = isTerminal(value); if (! done) process(value); while (! done); The structure is discussed, though not named as such, in [Donald Knuth, "Structured programming with goto statements", Computing Surveys, December 1974]. A good summary is presented in [Eric S. Roberts, "Loop Exits and Structured Programming: Reopening the Debate", ACM SIGCSE, March 1995]. (2019-09-03)