CH 01

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 47

Chapter 1 - An Introduction to

Computers and Problem Solving


• 1.1 An Introduction to Computing and
Visual Basic
• 1.2 Program Development Cycle
• 1.3 Programming Tools

1
1.1 An Introduction to Computing
and Visual Basic

• Miscellaneous Questions
Communicating with the
Computer
• Machine language – low level, hard for
humans to understand
• Visual Basic – high level, understood by
humans, consists of instructions such as
Click, If, and Do

3
Programming and
Complicated Tasks
• Tasks are broken down into instructions
that can be expressed by a programming
language
• A program is a sequence of instructions
• Programs can consist of only a few
instructions or millions of lines of
instructions

4
All Programs Have in
Common:
• Take data and manipulate it to produce a
result
• Input – Process – Output
• Input – from files, the keyboard, or other
input device
• Output – usually to the monitor, a printer, or
a file

5
Hardware and Software

• Hardware – the physical components of


the computer
• Central processing unit
• Disk drive
• Monitor
• Software – the instructions that tell the
computer what to do

6
Zero-Based Numbering
In Visual Basic, items are usually counted
beginning with 0 instead of 1.
That is, 0th , 1st, 2nd, …

7
Programmer and User

• Programmer – the person who solves the


problem and writes the instructions for
the computer
• User – any person who uses the
program written by the programmer

8
Windows Versions

Windows 7 Windows 8 Windows 10


9
1.2 Program Development Cycle

• Performing a Task on the Computer


• Program Planning

10
Terminology

A computer program may also be called:


• Project
• Application
• Solution

11
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

12
Performing a Task on the
Computer
• Determine Output
• Identify Input
• Determine process necessary to turn
given Input into desired Output

13
Problem-Solving: Approach
Like Algebra Problem
• How fast is a car traveling if it goes 50
miles in 2 hours?
• Output: a number giving the speed in
miles per hour
• Input: the distance and time the car has
traveled
• Process: speed = distance / time

14
Pictorial representation of the
Problem Solving Process

15
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

16
Program Planning (continued)

• 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.

17
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.).

18
Program Development Cycle
(continued)
4. Code: Translate the algorithm into
a programming language.
5. Test and debug: Locate and
remove any errors in the program.
6. Complete the documentation:
Organize all the materials that
describe the program.

19
1.3 Programming Tools

• Flowcharts
• Pseudocode
• Hierarchy Chart
• Direction of Numbered NYC Streets
Algorithm
• Class Average Algorithm

20
Programming Tools
Three tools are used to convert algorithms into
computer programs:
•Flowchart - Graphically depicts the logical
steps to carry out a task and shows how the
steps relate to each other.
•Pseudocode - Uses English-like phrases with
some Visual Basic terms to outline the program.
•Hierarchy chart - Shows how the different
parts of a program relate to each other.

21
Algorithm

A step-by-step series of instructions for


solving a problem (a recipe is an example
of an algorithm).

22
Problem Solving Example

• How many stamps should you use when


mailing a letter?
• One rule of thumb is to use one stamp
for every five sheets of paper or fraction
thereof.

23
Algorithm

1. Request the number of sheets of paper;


call it Sheets. (input)
2. Divide Sheets by 5. (processing)
3. Round the quotient up to the next
highest whole number; call it Stamps.
(processing)
4. Reply with the number Stamps. (output)

24
Flowchart

Graphically depict the logical steps to carry


out a task and show how the steps relate
to each other.

25
Flowchart Symbols

26
Flowchart Symbols
(continued)

27
Flowchart
Example

28
Pseudocode

Uses English-like phrases with some


Visual Basic terms to outline the task.

29
Pseudocode Example

Determine the proper number of stamps for a


letter
Read Sheets (input)
Set the number of stamps to Sheets / 5
(processing)
Round the number of stamps up to the next
whole number (processing)
Display the number of stamps (output)

30
Hierarchy Chart

• Shows how the different parts of a program


relate to each other
Hierarchy charts are also called
• structure charts
• HIPO (Hierarchy plus Input-Process-Output)
charts
• top-down charts
• VTOC (Visual Table of Contents) charts

31
Hierarchy Charts Example

Obtain

32
Divide-and-Conquer Method

• Used in problem solving – take a large


problem and break it into smaller
problems
• Solve the small problems first

33
Statement Structures

• Sequence – execute instructions from one


line to the next without skipping over any
lines
• Decision - if the answer to a question is “Yes”
then one group of instructions is executed. If
the answer is “No,” then another is executed
• Looping – a series of instructions are
executed repeatedly

34
Sequence
Flow Chart

35
Decision Flow Chart

36
Direction of Numbered NYC
Streets Algorithm
• Problem: Given a street number of a
one-way street in New York City, decide
the direction of the street, either
eastbound or westbound
• Discussion: in New York City even
numbered streets are Eastbound, odd
numbered streets are Westbound

37
Flowchart

38
Pseudocode

Program: Determine the direction of a


numbered NYC street
Get street
If street is even Then
Display Eastbound
Else
Display Westbound
End If

39
Hierarchy Chart

40
Looping
Flow Chart

41
Class Average Algorithm

Problem: Calculate and report the average


grade for a class
Discussion: The average grade equals the sum
of all grades divided by the number of students
Input: Student grades
Processing: Find sum of the grades; count
number of students; calculate average
Output: Average grade

42
Flowchart

43
Pseudocode
Program: Determine average grade of a class
Initialize Counter and Sum to 0
Do While there are more data
Get the next Grade
Add the Grade to the Sum
Increment the Counter
Loop
Compute Average = Sum / Counter
Display Average

44
Hierarchy Chart

45
Comments

• When tracing a flowchart, begin at the start


symbol and follow the flow lines to the end
symbol.
• Testing an algorithm at the flowchart stage is
known as desk checking.
• Flowcharts, pseudocode, and hierarchy
charts are program planning tools that are
independent of the language being used.

46
Tips and Tricks of Flowcharts

• Flowcharts are time-consuming to write and


difficult to update
• For this reason, professional programmers
are more likely to favor pseudocode and
hierarchy charts
• Because flowcharts so clearly illustrate the
logical flow of programs, they are a valuable
tool in the education of programmers

47

You might also like