chapters 1-3 program design and development

advertisement
Program Design and
Development
Steps In Program
Development
• Define the Problem
– Inputs, outputs, processes
• Outline the solution
– Major steps
– Major subtasks
– Major control structures (repetition loops)
– Major variables
– Mainline Logic
Steps in PD Continued
• Develop Algorithm
– Using pseudocode and flowcharts
• Test Algorithm
• Code into programming language
• Run complier
• Document and maintain the program
Types of Programming
• Structured/Top Down Programming
– Starting with solution and working into more complex
details
• Modular Design
– Grouping tasks together by function
• Structure Theorem
– Elimination of GOTO, replacement with IF-THENELSE
Algorithm Definition
• Lists the steps involved in accomplishing a task
• Written in simple english and not a formal
document
– An algorithm must be
• Lucid, precise, and unambiguous
• Give the correct solution in all cases
• Eventually end
Pseudocode
• Essentially it is structured english and formalized to look
like high-level computer languages
– Statements are written in simple english
– Each instruction is written on a single line
– Keywords and indentations are used to signify control
structures
– Each set of instructions is written from top to bottom with
only one entry and one exit
– Groups of statements may be formed into modules and
that group given a name
Program Data
• Variables, constants, and literals
• Integer - 16
– Byte length - 8
– Short integer - 32
– Long integer - 64
• Real
– Float – single precision
– Double – double precision
• Character
• Boolean
Data Structures
• Record
• File
• Array
• String
Basic Computer Operations
• A computer can receive information
– “READ” and “GET”
• A computer can put out information
– “PRINT”, “WRITE”, “PUT”, “OUTPUT”, and “DISPLAY”
• A computer can perform arithmetic actions
– + for ADD
– - for SUBTRACT
– * for MULTIPLY
– / for DIVIDE
– () for PARENTHESES
Basic Computer Options Cont.
•
A computer can assign a value to a variable or memory
– To give an initial value use “INITALISE” or “SET”
– To assign a value use ‘=‘
– To keep a piece of information for later use ‘SAVE’ or ‘STORE’
•
A computer can compare variables and select one of two
alternative actions
– Use of IT THEN and ELSE
– Actually it can select multiple actions
•
A computer can repeat a group of actions
– DOWHILE
The Structure Theorem
• Sequence
– The straightforward listing of each step
• Selection
– The presentation of a condition and the choice
between two actions
• Repetition
– The presentation of a set of instructions to be
performed repeatedly as long as a condition is true
Developing An Algorithm
• Defining the Problem
– Input
– Output
– Processing
• Use Meaningful Name
Designing an Algorithm
• Begin with a rough sketch of steps required to
solve the problem
• Use these requirements and structure theorem
to establish how the processing will take place
• It is important to not start coding until the
necessary steps of defining the problem and
designing the solution algorithm have been
solved.
Checking an Algorithm
• Choose simple input test case
• Establish what the expected result should be
• Make a table of relevant variable names
• Walk through the test case
• Continue the process until the algorithm is
correct
Selection Control Structures
• Used to illustrate a choice between two or more actions
• Simple IF statement
• Simple selection with null false branch (null ELSE
statement)
• Combined selection (IF/AND)
• Nested IF Statement
– Linear nested IF statement
The CASE Structure
• Another way of expressing a linear
nested IF statement
• Can often appear cumbersome
Repetition Control Structures
• Developed because many programs
require the same logic to be repeated for
several sets of data.
• Example
– DOWHILE condition p is true
• Statement block
– ENDO
DOWHILE Loop Processing
• The logical condition p is tested
• If condition p is found to be true, the statements
listed in the statement block will be executed
once. Control is returned to the retesting of
condition p.
• If condition p is found to be false, control
passes to the next statement after ENDDO and
no further processing takes place within the
loop.
Two important DOWHILE
considerations
• Testing of the condition is done at the
beginning of the loop.
• The only way to terminate the loop is to
render the DOWHILE consideration false.
REPEAT_UNTIL Structure
• Is the exact opposite of the DOWHILE
• Condition is checked at the end as
opposed to the beginning
• Counted repetition
• Question—is any method better than
another?
Time for Practice
Download