0% found this document useful (0 votes)
41 views

An Introduction To Computers and Problem Solving

This document provides an overview of computers and problem solving, including the program development cycle, programming tools like flowcharts and pseudocode, and examples of algorithms for calculating speed from a distance and time and determining the average grade for a class. It discusses how programs take input, process it, and produce output and how problems can be broken down into a series of instructions for the computer to execute.

Uploaded by

Mustafa Adil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

An Introduction To Computers and Problem Solving

This document provides an overview of computers and problem solving, including the program development cycle, programming tools like flowcharts and pseudocode, and examples of algorithms for calculating speed from a distance and time and determining the average grade for a class. It discusses how programs take input, process it, and produce output and how problems can be broken down into a series of instructions for the computer to execute.

Uploaded by

Mustafa Adil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

1

AN INTRODUCTION TO
COMPUTERS AND
PROBLEM SOLVING
07/31/21 Lecture 1
An Introduction to Computers and Problem
Solving
2

 1.1 An Introduction to Computers


 1.2 Program Development Cycle
 1.3 Programming Tools

07/31/21
Communicating with the Computer
3

 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

07/31/21
Compiler
4

 A compiler translates a high-level language into


machine language.
 The Visual Basic compiler points out certain types of
errors during the translation process.

07/31/21
Programming and Complicated Tasks
5

 Tasks are broken down into instructions that can be


expressed by a programming language
 A program is a sequence of instructions
 Programs can be only a few instructions or millions
of lines of instructions

07/31/21
All Programs Have in Common:
6

 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

07/31/21
Hardware and Software
7

 Hardware – the physical components of the


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

07/31/21
Programmer and User
8

 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

07/31/21
1.3 Program Development Cycle
9

 Performing a Task on the Computer


 Program Planning

07/31/21
Terminology
10

A computer program may also be called:


 Project
 Application
 Solution

07/31/21
Program Development Cycle
11

 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

07/31/21
Performing a Task on the
12
Computer
 Determine Output
 Identify Input
 Determine process necessary to turn given Input into
desired Output

07/31/21
Problem-Solving: Approach Like
13
Algebra Problem
 Example: Addition
 Output: a number giving the result of addition.
 Input: numbers you need to add.
 Process: Result = num1 + num2.

07/31/21
Pictorial representation of the Problem
14
Solving Process

07/31/21
Program Planning
15

 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

07/31/21
Program Planning (continued)
16

 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

07/31/21
Program Development Cycle
17

1. Analyze: Define the problem.


2. Design: Plan the solution to the problem.
3. Choose the interface: Select the objects (text
boxes, buttons, etc.).

07/31/21
Program Development Cycle
(continued)
18

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.

07/31/21
1.4 Programming Tools
19

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

07/31/21
Algorithm
20

A step-by-step series of instructions for solving a


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

07/31/21
Programming Tools
21

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.

07/31/21
Problem Solving Example
22

How fast is a car traveling


if it goes X miles in n
hours?

07/31/21
Algorithm
23

1. Request the distance and time the car has


traveled(input)
2. speed = distance / time. (processing)
3. a number giving the speed in miles per hour.
(output)

07/31/21
Flowchart
24

Graphically depicts the logical steps to carry


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

07/31/21
Flowchart Symbols
25

07/31/21
Flowchart Symbols (continued)
26

07/31/21
Flowchart
27
Example
start

Distance
time

Speed=
Distance/time

Speed

End

07/31/21
Pseudocode
28

Uses English-like phrases with some Visual


Basic terms to outline the task.

07/31/21
Pseudocode Example
29

Determine the distance and time the car has traveled


(input)
Calculate speed of car by divide the distance over time
(speed = distance / time) (processing)
Display a number giving the speed in miles per
hour(output)

07/31/21
Hierarchy Chart
30

 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

07/31/21
Divide-and-Conquer Method
31

 Used in problem solving – take a large problem and


break it into smaller problems
 Solve the small problems first

07/31/21
Statement Structures
32
 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

07/31/21
Sequence
33
Flow Chart

07/31/21
34 Decision Flow Chart

07/31/21
Looping
35
Flow Chart

07/31/21
Direction of Numbered NYC Streets
36
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

07/31/21
Flowchart
37

07/31/21
Pseudocode
38

Program: Determine the direction of a numbered


NYC street
Get street
If street is even Then
Display Eastbound
Else
Display Westbound
End If
07/31/21
Hierarchy Chart
39

07/31/21
Class Average Algorithm
40

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

07/31/21
Flowchart
41

07/31/21
Pseudocode
42

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
07/31/21
Hierarchy Chart
43

07/31/21
Comments
44

 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 in dependent of the
language being used.

07/31/21
Tips and Tricks of Flowcharts
45

 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

07/31/21

You might also like