1 / 29

Chapter 8 . Sequence Control

Chapter 8 . Sequence Control. Levels of sequence control Sequencing with expressions Statement-level sequence control Prime programs. Sequence control. Control of the order of execution of the operations both primitive and user defined.

lisbet
Download Presentation

Chapter 8 . Sequence Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 8 . Sequence Control • Levels of sequence control • Sequencing with expressions • Statement-level sequence control • Prime programs

  2. Sequence control Control of the order of execution of the operations both primitive and user defined. Implicit:determined by the order of the statements in the source program or by the built-in execution model Explicit:the programmer uses statements to change the order of execution (e.g. uses If statement)

  3. Levels of sequence control Expressions: How data are manipulated using precedence rules and parentheses. Statements: conditional and iteration statements change the sequential execution. Declarative programming: an execution model that does not depend on the order of the statements in the source program. Subprograms: transfer control from one program to another.

  4. Sequencing with expressions What is the sequence of performing the operations? How is the sequence defined, and how is it represented? Functional composition : Basic sequence-control mechanism: Given an operation with its operands, the operands may be: ·        Constants ·        Data objects ·        Other operations

  5. Example Example: 3 * (var1 + 5) operation - multiplication, operator: *, arity - 2 operand 1: constant (3) operand 2: operation addition operand1: data object (var1) operand 2: constant (5)

  6. More examples and questions Example 2: 3* var1 +5 Question: is the example equivalent to the above one? Example 3:3 + var1 +5 Question: is this equivalent to (3 + var1) + 5, or to 3 + (var1 + 5) ?

  7. Precedence and associativity Precedence concerns the order of applying operations Associativity deals with the order of operations of same precedence. Precedence and associativity are defined when the language is defined - within the semantic rules for expressions.

  8. Arithmetic operations / expressions Linear representation of the expression tree:        Prefix notation ·        Postfix notation ·        Infix notation Prefix and postfix notations are parentheses-free.

  9. Execution-time representation of expressions Machine code sequence Tree structures - software simulation Prefix or postfix form - requires stack, executed by an interpreter.

  10. Evaluation of tree representation Eager evaluation - evaluate all operands before applying operators. Lazy evaluation

  11. Problems Side effects - some operations may change operands of other operations. Error conditions - may depend on the evaluation strategy (eager or lazy evaluation) Boolean expressions - results may differ depending on the evaluation strategy.

  12. Statement-level sequence control Forms of statement-level control Composition– Statements are executed in the order they appear in the source code. Alternation – Two sequences form alternatives so one sequence or the other sequence is executed but not both. (conditionals) Iteration– A sequence of statements that are executed repeatedly

  13. Explicit Sequence Control goto X if Y goto X – transfer control to the statement labeled X if Y is true. break

  14. Structured programming

  15. Structured programming design (1)   Hierarchical design of program structures (2)   Representation of hierarchical design directly in the program text using "structured" control statements. (3)   The textual sequence corresponds to the execution sequence (4)   Use of single-purpose groups of statements

  16. Structured control statements • Compound statements • Conditionals • Iterations

  17. Compound statements Typical syntax:   begin statement1; statement2; ... end;   Execute each statement in sequence. Sometimes (e.g., C) { ... } used instead of begin ... end

  18. Conditional statements if expression then statement1 else statement2 if expression then statement1  a choice among many alternatives nested ifstatements casestatements Implementation:jump and branch machine instructions, jump table implementation for case statements (see fig. 8.7)

  19. Iteration statements Simple repetition (for loop) Specifies a count of the number of times to execute a loop: perform statement K times;   for loop - Examples: for I=1 to 10 do statement; for(I=0;I<10; I++) statement;

  20. Repetition while condition holds while expression do statement; Evaluate expression and if true execute statement, then repeat process. repeat statement until expression; Execute statement and then evaluate expression. Repeat if expression is not true. C++ for loop functionally is equivalent to repetition while condition holds

  21. Problems with structured sequence control Multiple exit loops Exceptional conditions Do-while-do structure Solutions vary with languages, e.g. in C++ - break statement, assert for exceptions.

  22. Prime programs Three types of nodes to be used in a flowchart

  23. Some definitions Any flowchart is a graph of directed arcs and these 3 types of nodes A proper program is a flowchart with: •1 entry arc •1 exit arc •There is a path from entry arc to any node to exit arc

  24. Prime programs, composite programs A prime program is a proper program which has no embedded proper subprogram of greater than 1 node. (i.e., cannot cut 2 arcs to extract a prime subprogram within it). A composite program is a proper program that is not prime.

  25. Primes of up to 4 nodes

  26. Structure theorem Any flowchart can be represented using only if statements, while statements and sequence control statements

More Related