Title: Programming Process
1Programming Process
- The programmers job can be broken down into six
programming steps - Understand the problem
- Plan the logic
- Code the program
- Translate the program into machine language
- Test the program
- Put the program into production
2Understand the Problem
- Programmers must first understand what it is the
user wants - To understand the problem, you must analyze it
- Really understanding the problem may be one of
the most difficult aspects of programming - The description of what the user needs may be
vague - The user may not even really know what he or she
wants - Users who think they know what they want
frequently change their minds after seeing sample
output
3Understand the Problem
- Analysis Really Understanding
- Example
- To invite some people, I need the list of people
who work during five more years. - Definite problem or ambiguous problem ?
4Understand the Problem
- Analysis Really Understanding
- Example
- To invite some people, I need the list of people
who work during five more years. - Definite problem or ambiguous problem ?
- Ambiguous problem
- Full-time or part-time worker or both of them ?
- Regular employee or contract employee ?
- Which type of list ?
- A good programmer is often part counselor, part
detective
5Programming Process
- The programmers job can be broken down into six
programming steps - Understand the problem
- Plan the logic
- Code the program
- Translate the program into machine language
- Test the program
- Put the program into production
6Plan the Logic
- Programmer plans the steps to the program,
deciding what steps to include and how to order
them - Example
- Planning tour
- Planning party
- The two most common tools
- flowcharts pictorial representation
- Pseudocode English-like representation
7Plan the Logic
- Flowcharts
- A pictorial representation of the logical steps
it takes to solve a problem. - Uses Standardized Symbols
- Utilize Formula Notation
- Typically Read from Top to Bottom or from
- Left to Right on a Page
8Plan the Logic
Process (Rectangle)
Start/Stop (Terminator)
Input/Output (Parallelogram)
Decision (Diamond)
Connector (Circle)
Flowlines (Arrows)
Predefined Process (Rectangle)
9Sequence, Selection, Repetition
sequence
selection
repetition
entrance
entrance
entrance
exit
10Plan the Logic
- Pseudocode
- An English-like representation of the logical
steps it takes to solve a problem - pseudo a prefix that means false
- Short English-Like Statements
- Not Standardized
- Proper use of indentation
- Example
start get InputNumber compute
calculatedAnswer as InputNumber times 2
print calculatedAnswer stop
11Programming Process
- The programmers job can be broken down into six
programming steps - Understand the problem
- Plan the logic
- Code the program
- Translate the program into machine language
- Test the program
- Put the program into production
12Code the program
- Writing the program in one of more than 400
programming languages - Pascal, Fortran, C, C, Java..
- Concentrate on the syntax of the language
- Exact instruction, symbol, . ?
- Some very experienced programmers
- successfully combining the logic planning and the
actual instruction writing, or coding of the
program, in one step - Writing a post card
- Writing a cinema scenario
13Code the program
- Which is harder Planning the Logic or Coding the
Program? - Example
- Planning the logic Planning mystery novel
- Coding the program Writing English or Spanish
based on the original scenario. - Who gets more annual salary ?
14Programming Process
- The programmers job can be broken down into
six programming steps - Understand the problem
- Plan the logic
- Code the program
- Translate the program into machine language
- Test the program
- Put the program into production
15Translate the Program
- Objective
- Each computer knows only one language, Machine
Language. - High-level Languages must be translated into
Machine Language - Need to compiler or interpreter
- Compiler catches every syntax error.
- When writing a program, a programmer might need
to recompile the code several times - An executable program is created only when the
code is free of syntax errors
16Translate the Program
- Creating an executable program
17Programming Process
- The programmers job can be broken down into six
programming steps - Understand the problem
- Plan the logic
- Code the program
- Translate the program into machine language
- Test the program
- Put the program into production
18Test the Program
- Why does it need to be tested ?
- Syntax Errors by compile
- Logical Errors by test
- Test
- Executing the program with some sample data
- Seeing whether or not the results are logically
correct. - being tested with many sets of data carefully
- Example
start get InputNumber compute
calculatedAnswer as InputNumber times 20
print calculatedAnswer stop
19Programming Process
- The programmers job can be broken down into six
programming steps - Understand the problem
- Plan the logic
- Code the program
- Translate the program into machine language
- Test the program
- Put the program into production
20Put the program into the production
- Once the program is tested adequately, it is
ready for the organization to use. - Putting the program into production might mean
simply running the program once if it was written
to satisfy a users request for a special list.
21Flowchart Pseudocode
- Flowcharts (pictorial representations) and
pseudocode (English-like representations) are
used by programmers to plan the logical steps for
solving a programming problem - Some professional programmers prefer writing
pseudocode to drawing flowcharts, because using
pseudocode is more similar to writing final
statements in programming language
22Flowchart Pseudocode
- Almost every program involves the steps of input,
processing, and output, necessitating some
graphical way to separate them - Arithmetic operation statements are examples of
processing in a flowchart, where you use a
rectangle as the processing symbol containing a
processing statement
23Flowchart Pseudocode
- To represent an output statement, you use the
parallelogram, which is also the same symbol used
for input statements
24Flowchart Pseudocode
- In flowcharts
- Arrows, or flowlines, connect and show the
appropriate sequence of steps - A terminal symbol, or start/stop symbol, should
be included at each end - Often, start or begin is used as the first
terminal symbol and end or stop is used in
the other - The standard terminal symbol is shaped like a
racetrack often called a lozenge, because it
resembles the shape of a medicated candy lozenge
you might use to soothe a sore throat
Flowlines (Arrows)
Start/Stop (Terminator)
25Flowchart Pseudocode
- Complete flowchart for the program that doubles a
number, and the pseudocode for the same problem
start get InputNumber compute
calculatedAnswer as InputNumber times 2
print calculatedAnswer stop
26Naming Variables
- Variables
- memory locations, whose contents can vary or
differ over time. - reasonable and descriptive variable names
- Example
- InputNumber
- caluculatedAnswer
start get InputNumber compute
calculatedAnswer as InputNumber times 2 print
calculatedAnswer stop
27Naming Variables
- Naming Rules
- Every programming language has its own set of
rules for naming variables. - most languages allow both letters and digits
a,b,c, 1,2,3 - some languages allow hyphens and/or underscores
- _ - some allow dollar signs or other special
characters , , _at_ - some allow for foreign characters Japanese,
Spanish - different languages put different limits on
lengths - some languages are case sensitive, others are not
name, Name - in general, variable names may not begin with a
digit name1
28Naming Variables
- Textbook Conventions two rules
- (1) Variable names must be one word
- can contain letters, digits, hyphens,
underscores, with the exception of spaces. - (2) Variable names should have some appropriate
meaning - Undesirable G, u84, fred, mike, richard, pink,
- Desirable rate, name, age, count, score,
index, lastName
employeeLastName, 5employeeLastName,
employeeLast, empLast, emlstnam,
lastNameofTheEmployeeInQuestion, last name (x),
employeelastname,
29Naming Variables
- Assignment values to variables
- Whatever operation is performed to the right of
the equal sign results in a value that is placed
in the memory location to the left of the equal
sign.
compute calculatedAnswer as InputNumber times
2 is the same as calculatedAnswer InputNumber
2
30Naming Variables
- Constant
- A memory location, similar to a variable, except
its value never changes during a program. - taxRate .0825
- Pi 3.141592
- Variables
- memory locations, whose contents can vary or
differ over time.
31Naming Variables
- Data Types two basic types
- Character
- Character a b c d e
- Character string Richard Michale
- Numeric
- Integer , -3, -2, -1, 0, 1, 2, 3, .
- Floating-Point , -2.0, -1.5, -1, -0.5, 0, 0.5,
1.0, .
32Ending a Program
start get InputNumber compute
calculatedAnswer as InputNumber times 2
print calculatedAnswer get
InputNumber compute calculatedAnswer as
InputNumber times 2 print
calculatedAnswer get InputNumber compute
calculatedAnswer as InputNumber times 2
print calculatedAnswer stop
start
get InputNumber
calculatedAnswerInputNumber2
Print calculatedAnswer
33Ending a Program
- An infinite loop is a repeating flow of logic
with no end - To end the program,
- set a predetermined value for inputNumber that
means Stop the program! - The program can then test any incoming value for
inputNumber and, if it is a 0, stop the program - Testing a value is also called making a decision
- Represented in flowchart by diamond shape called
a decision symbol
34Ending a Program
start
start
get InputNumber
get InputNumber
Yes
inputNumber 0 ?
stop
No
calculatedAnswerInputNumber2
calculatedAnswerInputNumber2
Print calculatedAnswer
Print calculatedAnswer
35Ending a Program
- Dummy value
- A pre-selected value that stops the execution of
a program is often called a dummy value since it
does not represent real data, but just a signal
to stop - Sometimes, such a value is called a sentinel
value because it represents an entry or exit
point, like a sentinel who guards a fortress
36Using a Connector
- If a flowchart has six processing steps and a
page provides room for only three, you might
represent the logic as shown below - On-page connector symbol
- Off-page connector symbol
37Evolution of Programming Technique
- Currently, there are two major techniques used to
develop programs and their procedures - Procedural programming focuses on the procedures
that programmers create - Object-oriented programming, focuses on objects,
or things, and describes their features, or
attributes, and their behaviors
38Summary
- A programmers job involves six steps
- Understanding the problem
- Planning the logic
- Coding the problem
- Translating the program into machine language
- Testing the program
- Putting the program into production
- When programmers plan the logic for a solution to
a programming problem, they often use flowcharts
or pseudocode
39Summary
- Testing a value involves making a decision
- Most programming languages use the equal sign to
assign values to variables - Procedural and object-oriented programmers
approach program problems differently