Introduction to Programming

How Computers Solve Problems
• Computers also use Algorithms to solve
problems, and change data into information
• Computers can only perform one simple step at
a time
• Complex “Human” Algorithms must be broken
down into simple step-by-step instructions
BEFORE they can be translated into computer
code
Algorithm
Definition:
• An algorithm is a procedure consisting of a
finite set of unambiguous rules (instructions)
which specify a finite sequence of operations
that provides the solution to a problem, or to a
specific class of problems for any allowable set
of input quantities (if there are inputs).
• In other word, an algorithm is a step-by-step
procedure to solve a given problem
Computer Program
• A computer program may also be called:
– Project
– Application
– Solution
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
3
Program Development Cycle
• Software refers to a collection of instructions
for the computer
• The computer only knows how to do what the
programmer tells it to do
• Therefore, the programmer has to know how
to solve problems
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
4
Performing a Task on the Computer
• Determine Output
• Identify Input
• Determine process necessary to turn given
Input into desired Output
INPUT
PROCESS
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
OUTPUT
5
Problem-solving:
Approach like algebra class
• How fast is a car traveling if it goes 50 miles in
2 hours?
• Input: the distance and time the car has
traveled
• Process: speed = distance / time
• Output: a number giving the speed in miles per
hour
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
6
Pictorial representation of the problem
solving process
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
7
Program Planning
• A recipe is a good example of a plan
• Ingredients and amounts are determined by
what you want to bake
• Ingredients are input
• The way you combine them is the processing
• What is baked is the output
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
8
Program Planning Tips
• Always have a plan before trying to
write a program
• The more complicated the problem, the
more complex the plan must be
• Planning and testing before coding saves
time coding
• “Program in Haste - debug forever.”
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
9
Programming Task
• A typical programming task can be divided
into two phases:
• Problem solving phase
– produce an ordered sequence of steps that
describe solution of problem i.e. an algorithm
• Implementation phase
– implement the program in some programming
language
Program Development Cycle
1. Analyze: Define the problem.
2. Design: Plan the solution to the problem.
3. Choose the interface: Select the objects (text boxes,
buttons, etc.).
4. Code: Translate the algorithm into a
programming language.
5. Test and debug: Locate and remove errors.
6. Complete the documentation: Organize all the
materials that describe the program.
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
11
Expressing the Algorithms
• A “Standard” way of describing an algorithm
must exist if we expect our solution to be
understood by others easily
• There are three main standards in
programming:
– PSEUDOCODE
– FLOWCHARTS
– PROGRAMMING LANGUAGE
Pseudocode
• Pseudocode is a generic way of describing an
algorithm without use of any specific programming
language syntax.
• “Pseudo” means “pretend” or “false”
• Pseudo Code is pretend or false computer code;
generic English-like terms that are somewhat like
computer code
• Pseudo Code is not as standardized as flowcharts,
and does not facilitate the breaking down of
problems as well as a flowchart does
Pseudocode Example
• Problem Statement: Obtain a number from the
user, then display twice this number back to the
user.
1. display prompt to user
2. read number
3. result = number * 2
4. display result
Pseudocode
• Advantages
– Almost as easy to learn as expressing the Algorithm in
English
– Easier to translate into a programming language than
stating the solution in English
– The pseudo-code statements closely resemble most
procedural programming languages
• Disadvantages
– This technique relies on your understanding of the
procedural programming languages. For someone
learning their first programming language, this can be
frustrating.
Flowcharts
• A Flowchart is a Visual Representation of an
algorithm
• A Flowchart uses easy-to-understand symbols to
represent actions on data and the flow of data
• Flowcharts aid in breaking down a problem into
simple steps
Flowchart symbols
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
17
Flowchart Symbols (continued)
Chapter 2 - VB 2005 by Schneider- modified
by S. Jane '08
18
Example
• Problem Statement: Obtain a number from
the user, then display square of this number
back to the user.