Topic: program blocks for control

topics > computer science > programming > Group: program control

goto statement
local declaration of data
notations for brackets
procedure valued variables
structured flow diagram
termination of control unit


Control acts on blocks of statements, basically the elements of flow diagrams. The necessary control structures are sequence,. selection, and repetition; or sequence with single-entry k-exit loops; or skip a block and repeat a block. Blocks simplify programs by grouping statements under a control context. The danger with these general purpose control structures is that they may not match the reason for the structure. (cbb 5/80)
Subtopic: structure programs as blocks up

Quote: procedure for restructuring irregular algorithms with sequence, 'if', and 'while' [»kapoAA1_1978]
Quote: structured system design only allows sequence, repetition and alternative operations [»orrKT_1977]
Quote: single-entry, single-exit constructs are less desirable if more than control flow is considered [»pratT3_1978]

Subtopic: reducible flow graph up

QuoteRef: ahoAV_1973 ;;941 reducible flow graph if treating intervals also as node end up with one interval (all lang. programs are reducible)
QuoteRef: bohmC5_1966 ;;202 can decompose flow charts into 2 or 3 base diagrams only if the results of discrimination tests can be saved
QuoteRef: bohmC5_1966 ;; proof of three necessary and sufficient flows: repetition (one entry and one exit), selecting, and simple sequence
QuoteRef: frieFL1_1974 ;;12 fundamental control mechanism: single entry k exit loops "n-way decision boxes"

Subtopic: control blocks up

Quote: a Smalltalk block is indicated by square brackets
Quote: a Smalltalk block defers execution until it is sent 'value' or 'value:' [»xlrg8_1981]
Quote: Smalltalk has primitive control messages for selection and conditional iteration [»xlrg8_1981]
Quote: Smalltalk uses 'false' and 'true' objects for control; 'false' ignores 'ifTrue:' and evaluates 'ifFalse:' [»xlrg8_1981]
Quote: example of 'whileTrue:' method in Smalltalk [»xlrg8_1981]
Quote: Pancode segments are delimitated by control statements and indentation [»jonsD8_1987]
Quote: Ruby blocks are closures or anonymous methods; code that is stored along with its context; delimitated by braces or do..end [»thomD1_2001]

Subtopic: block terminator up

Quote: avoid ambiguity by requiring a matching terminator for all nested structures; e.g., 'end if' for 'if' [»paneJF9_2002]

Subtopic: user studies up

Quote: found a nestable conditional construct was easier for novices than a branching conditional construct [»simeME1_1973]
Quote: make more syntactic mistakes in a nesting language and fewer semantic mistakes; dropping 'end' was most frequent [»simeME1_1977a]

Subtopic: sectors for branching up

QuoteRef: buxtJN_1962 ;;195 program divided into sectors-default fail branch is next sector, default succeed branch is next statement

Subtopic: history up

QuoteRef: sammJE_1969 ;;425 goto's: labeled, next rule (*), skip a rule (**), repeat (/), call with pushdown (routine name + label pushed), pushdown inserted under top element (routine ++ label), return by popping (+)
QuoteRef: sammJE_1969 ;;461 block by do (statement list)

Related Topics up

Topic: indentation (25 items)
Topic: goto statement (25 items)
Topic: local declaration of data (11 items)
Topic: notations for brackets (9 items)
Topic: procedure valued variables (34 items)
Topic: structured flow diagram (36 items)
Topic: termination of control unit
(22 items)

Updated barberCB 11/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.