Developing an Algorithm. Simple Program Design, Fourth Edition Chapter 3 2 Objectives In this chapter you will be able to: Introduce methods of analyzing.

Slides:



Advertisements
Similar presentations
Repetition Control Structures
Advertisements

Programming Types of Testing.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Selection control structures
Chapter 2- Visual Basic Schneider
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Logic and Algorithm. Developing an algorithm To help the initial analysis, the problem should be divided into 3 separate components: 1.Input: a list of.
Chapter 2: Algorithm Discovery and Design
Program Design and Development
Pseudocode.
Chapter 1 Program Design
Lecture Notes 8/30/05 Program Design & Intro to Algorithms.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Pseudocode.
Chapter 3 Planning Your Solution
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Sw development1 Software Development 1.Define the problem (Analysis) 2.Plan the solution 3.Code 4.Test and debug 5.Maintain and Document.
Pseudocode algorithms using sequence, selection and repetition
Simple Program Design Third Edition A Step-by-Step Approach
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science, Java Version, Second Edition.
Chapter 3: Completing the Problem- Solving Process and Getting Started with C++ Introduction to Programming with C++ Fourth Edition.
Program Design Simple Program Design Third Edition A Step-by-Step Approach 9.
First Steps in Modularization Simple Program Design Third Edition A Step-by-Step Approach 8.
Chapter 3 Developing an algorithm. Objectives To introduce methods of analysing a problem and developing a solution To develop simple algorithms using.
Developing an Algorithm
Selection Control Structures Simple Program Design Third Edition A Step-by-Step Approach 4.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Array Processing.
Selection Control Structures. Simple Program Design, Fourth Edition Chapter 4 2 Objectives In this chapter you will be able to: Elaborate on the uses.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Developing an Algorithm
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Pseudocode. Simple Program Design, Fourth Edition Chapter 2 2 Objectives In this chapter you will be able to: Introduce common words, keywords, and meaningful.
Pseudocode Simple Program Design Third Edition A Step-by-Step Approach 2.
General Algorithms for Common Business Problems Simple Program Design Third Edition A Step-by-Step Approach 10.
Pseudocode Algorithms Using Sequence, Selection, and Repetition
Repetition Control Structures Simple Program Design Third Edition A Step-by-Step Approach 5.
Pseudocode Algorithms Using Sequence, Selection, and Repetition Simple Program Design Third Edition A Step-by-Step Approach 6.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
Cosc175 - Define Problem/Design Solution/Pseudocode/Trace 1 DEFINE THE PROBLEM.
Chapter 8 First steps in modularisation. Objectives To introduce modularisation as a means of dividing a problem into subtasks To present hierarchy charts.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
1 Program Planning and Design Important stages before actual program is written.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
INTRODUCTION TO PROGRAMMING. Program Development Life Cycle The program development life cycle is a model that describes the stages involved in a program.
The Hashemite University Computer Engineering Department
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.
An Introduction to Programming with C++ Sixth Edition
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Further Modularization, Cohesion, and Coupling. Simple Program Design, Fourth Edition Chapter 9 2 Objectives In this chapter you will be able to: Further.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Chapter 2: Input, Processing, and Output
Chapter 2- Visual Basic Schneider
Chapter 2 : Data Flow Diagram
Program Design Introduction to Computer Programming By:
Pseudocode algorithms using sequence, selection and repetition
Chapter 2- Visual Basic Schneider
Chapter 1 Introduction(1.1)
Chapter 2- Visual Basic Schneider
Chapter 5 Desk Checking/Dry Running.
Introduction to Pseudocode
Presentation transcript:

Developing an Algorithm

Simple Program Design, Fourth Edition Chapter 3 2 Objectives In this chapter you will be able to: Introduce methods of analyzing a problem and developing a solution Develop simple algorithms using the sequence control structure Introduce methods of manually checking the developed solution

Simple Program Design, Fourth Edition Chapter 3 3 To help with this initial analysis, the problem should be divided into three separate components: 1.Input: a list of the source data provided to the problem. 2.Output: a list of the outputs required. 3.Processing: a list of actions needed to produce the required outputs. When dividing a problem into its three different components, you should simply analyze the actual words used in the specification, and divide them into those that are descriptive and those that imply actions Defining the Problem

Simple Program Design, Fourth Edition Chapter 3 4 A program is required to read three numbers, add them together and print their total Tackle this problem in two stages First, underline the nouns and adjectives used in the specification This will establish the input and output components, as well as any objects that are required Second, underline (in a different color) the verbs and adverbs used in the specification Example 3.1 Add Three Numbers

Simple Program Design, Fourth Edition Chapter 3 5 By looking at the underlined words, you can see that the processing verbs are ‘read,’ ‘add together,’ and ‘print’ These steps can now be added to our defining diagram to make it complete When it comes to writing down the processing steps in an algorithm, you should use words that describe the work to be done in terms of single, specific tasks or functions There is a pattern in the words chosen to describe these steps Each action is described as a single verb followed by a two- word object Example 3.1 Add Three Numbers

Simple Program Design, Fourth Edition Chapter 3 6 First establish the input and output components by underlining the nouns and adjectives in the problem statement Now establish the processing steps by underlining the verbs in the problem statement The processing verbs are ‘prompt’, ‘accept’, ‘calculate’, and ‘display’ By finding the associated objects of these verbs, the defining diagram can now be completed Example 3.2 Find Average Temperature

Simple Program Design, Fourth Edition Chapter 3 7 Example 3.3 Compute Mowing Time To establish the input and output components in this problem, the nouns of objects have been underlined By reading these words, you can see that the input components are the length and width of the block, and the length and width of the house

Simple Program Design, Fourth Edition Chapter 3 8 Designing a Solution Algorithm Designing a solution algorithm is the most challenging task in the life cycle of a program Once the problem has been properly defined, you usually begin with a rough sketch of the steps required to solve the problem The first attempt at designing a particular algorithm usually does not result in a finished product Pseudocode is useful in this trial-and-error process, since it is relatively easy to add, delete, or alter an instruction

Simple Program Design, Fourth Edition Chapter 3 9 Checking the Solution Algorithm After a solution algorithm has been established, it must be tested for correctness This step is necessary because most major logic errors occur during the development of the algorithm, and if not detected, these errors can be passed on to the program Desk checking involves tracing through the logic of the algorithm with some chosen test data

Simple Program Design, Fourth Edition Chapter 3 10 Selecting Test Data When selecting test data to desk check an algorithm, you must look at the program specification and choose simple test cases only, based on the requirements of the specification, not the algorithm By doing this, you will still be able to concentrate on what the program is supposed to do, not how

Simple Program Design, Fourth Edition Chapter 3 11 Steps in Desk Checking an Algorithm There are six simple steps to follow when desk checking an algorithm listed on page 26 of the textbook By desk checking an algorithm, you are attempting to detect early errors It is a good idea for someone other than the author of the solution algorithm to design the test data for the program, as they are not influenced by the program logic

Simple Program Design, Fourth Edition Chapter 3 12 Summary The first section of this chapter was devoted to methods of analyzing and defining a programming problem You must fully understand a problem before you can attempt to find a solution The method suggested was to analyze the actual words used in the specification with the aim of dividing the problem into three separate components: input, output, and processing

Simple Program Design, Fourth Edition Chapter 3 13 Summary The second section was devoted to the establishment of a solution algorithm After the initial analysis of the problem, you must attempt to find a solution and express the solution as an algorithm The third section was concerned with checking the algorithm for correctness