Decision Tables and Pseudocode

Slides:



Advertisements
Similar presentations
Algorithms 10 IST – Topic 6.
Advertisements

Program Flowchart, Pseudocode & Algorithm development
Chapter 2: Problem Solving
CSC 123 Systems Analysis & Design
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Introduction to Flowcharting
Understanding the Three Basic Structures
Chapter 3 IFTHENELSE Control Structure © 2008 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. Marilyn Bohl/Maria Rynn Tools for Structured.
An Object-Oriented Approach to Programming Logic and Design
Computer Programming Rattapoom Waranusast Department of Electrical and Computer Engineering Faculty of Engineering, Naresuan University.
Programming Logic and Design Seventh Edition
1 Pseudocode For Program Design. 22 Rules for Pseudocode Write only one statement per line Capitalise initial keyword Indent to show hierarchy and structures.
ITEC113 Algorithms and Programming Techniques
What is Pseudocode? Pseudocode is "halfway" between english and a programming language. It is a description of a process in detail, though not necessarily.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 4 – Introducing Algorithms, Pseudocode and.
System Concepts for Process Modeling  Process Concepts  Process Logic  Decomposition diagrams and data flow diagrams will prove very effective tools.
Chapter 9 Describing Process Specifications and Structured Decisions
Chapter 2: Input, Processing, and Output
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
1 Chapter 8 Designing Small Programs. 2 A ‘Procedure’ v A set of instructions which describe the steps to be followed in order to carry out an activity.
© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
Chapter 3 Planning Your Solution
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
ALGORITHMS AND FLOWCHARTS
Chapter 9 Structuring System Requirements: Logic Modeling
PROGRAMMING, ALGORITHMS AND FLOWCHARTS
Chapter 9 Describing Process Specifications and Structured Decisions
Chapter 11 Describing Process Specifications and Structured Decisions Systems Analysis and Design Kendall and Kendall Fifth Edition.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 4 – Wage Calculator Application: Introducing.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Flowcharts.
Selection Control Structures. Simple Program Design, Fourth Edition Chapter 4 2 Objectives In this chapter you will be able to: Elaborate on the uses.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Flowcharts.
BACS 287 Programming Logic 1. BACS 287 Programming Basics There are 3 general approaches to writing programs – Unstructured – Structured – Object-oriented.
ITEC113 Algorithms and Programming Techniques
Dale Roberts 1 Program Control - Algorithms Department of Computer and Information Science, School of Science, IUPUI CSCI N305.
CMSC 104: Peter Olsen, Fall 99Lecture 9:1 Algorithms III Representing Algorithms with pseudo-code.
Pseudocode An Introduction. Flowcharts were the first design tool to be widely used, but unfortunately they do not reflect some of the concepts of structured.
Programming Logic and Design, Introductory, Fourth Edition1 Understanding the Three Basic Structures Structure: a basic unit of programming logic Any program.
© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Topic: Control Statements. Recap of Sequence Control Structure Write a program that accepts the basic salary and allowance amount for an employee and.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Pseudocode An Introduction. Flowcharts were the first design tool to be widely used, but unfortunately they do not reflect some of the concepts of structured.
Algorithms and Pseudocode
Programming Logic and Design Fourth Edition, Comprehensive Chapter 5 Making Decisions.
P ROGRAMMING L OGIC GWDA123 Sharon Kaitner, M.Ed. Winter 2015: Week 2.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
Fundamentals of Algorithms MCS - 2 Lecture # 3. Representation of Algorithms.
Pseudocode. Algorithm A procedure for solving a problem in terms of the actions to be executed and the order in which those actions are to be executed.
Flow Charts And Pseudo Codes Grade 12. An algorithm is a complete step-by- step procedure for solving a problem or accomplishing a task.
 Problem Analysis  Coding  Debugging  Testing.
Pseudocode An Introduction
Process Specifications and Structured Decisions
Programming Fundamentals
ALGORITHMS AND FLOWCHARTS
Pseudocode An Introduction
Unit# 9: Computer Program Development
Chapter 9 Structuring System Requirements: Logic Modeling
Understanding the Three Basic Structures
ALGORITHMS AND FLOWCHARTS
Understanding Problems and how to Solve them by using Computers
Chapter 11 Describing Process Specifications and Structured Decisions
Chapter 9 Structuring System Requirements: Logic Modeling
Overview Functional Testing Boundary Value Testing (BVT)
Pseudocode For Program Design.
Presentation transcript:

Decision Tables and Pseudocode Rizwan Rehman Asstt. Professor Centre for Computer Studies

Decision Tables - General Decision tables are a precise yet compact way to model complicated logic. Decision tables, like if-then-else and switch-case statements, associate conditions with actions to perform. But, unlike the control structures found in traditional programming languages, decision tables can associate many independent conditions with several actions in an elegant way.

Decision Tables - Usage Decision tables make it easier to observe that all possible conditions are accounted for. Decision tables can be used for: Specifying complex program logic Generating test cases (Also known as logic-based testing) Logic-based testing is considered as: structural testing when applied to structure (i.e. control flow graph of an implementation). functional testing when applied to a specification.

Decision Tables - Structure Conditions - (Condition stub) Condition Alternatives – (Condition Entry) Actions – (Action Stub) Action Entries Each condition corresponds to a variable, relation or predicate Possible values for conditions are listed among the condition alternatives Boolean values (True / False) – Limited Entry Decision Tables Several values – Extended Entry Decision Tables Don’t care value Each action is a procedure or operation to perform The entries specify whether (or in what order) the action is to be performed

To express the program logic we can use a limited-entry decision table consisting of 4 areas called the condition stub, condition entry, action stub and the action entry: Condition entry Rule1 Rule2 Rule3 Rule4 Condition1 Yes No Condition2 X Condition3 Condition4 Action1 Action2 Action3 Condition stub Action stub Action Entry

We can specify default rules to indicate the action to be taken when none of the other rules apply. When using decision tables as a test tool, default rules and their associated predicates must be explicitly provided. Rule5 Rule6 Rule7 Rule8 Condition1 X No Yes Condition2 Condition3 Condition4 Default action

Decision Table - Example Conditions Printer does not print Y N A red light is flashing Printer is unrecognized Actions Heck the power cable X Check the printer-computer cable Ensure printer software is installed Check/replace ink Check for paper jam Printer Troubleshooting

Pseudocode

Flowcharts were the first design tool to be widely used, but unfortunately they do not reflect some of the concepts of structured programming very well. Pseudocode, on the other hand, is a newer tool and has features that make it more reflective of the structured concepts. The drawback is that the narrative presentation is not as easy to understand and/or follow.

Rules for Pseudocode Write only one statement per line Capitalize initial keyword Indent to show hierarchy End multiline structures Keep statements language independent

One Statement Per Line Each statement in pseudocode should express just one action for the computer. If the task list is properly drawn, then in most cases each task will correspond to one line of pseudocode. Task List Read name, hours worked, rate of pay Perform calculations gross = hours worked * rate of pay Write name, hours worked, gross Pseudocode READ name, hoursWorked, payRate gross = hoursWorked * payRate WRITE name, hoursWorked, gross

Capitalize Initial Keyword In the example below note the words: READ and WRITE. These are just a few of the keywords to use, others include: READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE Pseudocode READ name, hoursWorked, payRate gross = hoursWorked * payRate WRITE name, hoursWorked, gross

Indent to Show Hierarchy Each design structure uses a particular indentation pattern Sequence: Keep statements in sequence all starting in the same column Selection: Indent statements that fall inside selection structure, but not the keywords that form the selection Loop: Indent statements that fall inside the loop but not keywords that form the loop READ name, grossPay, taxes IF taxes > 0 net = grossPay – taxes ELSE net = grossPay ENDIF WRITE name, net

End Multiline Structures READ name, grossPay, taxes IF taxes > 0 net = grossPay – taxes ELSE net = grossPay ENDIF WRITE name, net See the IF/ELSE/ENDIF as constructed above, the ENDIF is in line with the IF. The same applies for WHILE/ENDWHILE etc…

Language Independence Resist the urge to write in whatever language you are most comfortable with, in the long run you will save time. Remember you are describing a logic plan to develop a program, you are not programming!

The Selection Structure amount < 100 yes no interestRate = .06 interestRate = .10 IF amount < 100 interestRate = .06 ELSE Interest Rate = .10 ENDIF Pseudocode 

The Looping Structure In flowcharting one of the more confusing things is to separate selection from looping. This is because each structure use the diamond as their control symbol. In pseudocode we avoid this by using specific keywords to designate looping WHILE/ENDWHILE REPEAT/UNTIL

WHILE / ENDWHILE count = 0 WHILE count < 10 ADD 1 to count WRITE count ENDWHILE WRITE “The End” Start count = 0 count <10 Mainline count = 0 WHILE count < 10 DO Process ENDWHILE WRITE “The End” Process ADD 1 to count WRITE count  Modular Write “The End” add 1 to count write count Stop

REPEAT / UNTIL count = 0 REPEAT ADD 1 to count WRITE count Start count = 0 REPEAT ADD 1 to count WRITE count UNTIL count >= 10 WRITE “The End” count = 0 add 1 to count Mainline count = 0 REPEAT DO Process UNTIL count >= 10 WRITE “The End” Process ADD 1 to count WRITE count  Modular write count count <10 Write “The End” Stop

Advantages & Disadvantages Flowchart Advantages: Standardized Visual Pseudocode Advantages Easily modified Implements structured concepts Done easily on Word Processor Flowchart Disadvantages: Hard to modify Structured design elements not implemented Special software required Pseudocode Disadvantages: Not visual No accepted standard, varies from company to company

Thank You