Sie sind auf Seite 1von 44

Copyright 2012 Pearson Education, Inc.

Chapter 1
INTRODUCTION
TO COMPUTING
AND ENGINEERING
PROBLEM SOLVING

Outline
Objectives
1. Historical Perspective
2. Recent Engineering Achievements
3. Computing Systems
4. Data Representation and Storage
5. An Engineering Problem-Solving
Methodology
Copyright 2012 Pearson Education, Inc.

Objectives
Introduce computing and engineering
problem solving, including:
A brief history
Recent engineering achievements
A discussion of Numbering Systems
A discussion of hardware and software
A five-step problem-solving methodology
Copyright 2012 Pearson Education, Inc.

Historical Perspective
Augusta Ada Byron
(1815-1852, below)
wrote the first computer
program.

Charles Babbage,
(1792-1871, above)
designed the
Analytical Engine
(left) to process
decimal numbers.
Copyright 2012 Pearson Education, Inc.

Charles Babbage, Esq.


1792-1871
English mathematician.
Designed the Analytical Engine in the
early 1800s.
Published Of the Analytical Engine in
1864.

Copyright 2012 Pearson Education, Inc.

Analytical Engine
Designed to process base ten numbers.
Consisted of four parts:
Storage unit
Processing unit
Input device
Output device

Copyright 2012 Pearson Education, Inc.

Analytical Engine
Luigi F. Menabrea, French engineer and
mathematician, described Babbages
vision of a machine capable of solving any
problem using:
Inputs
Outputs
Programs written on punch cards
Copyright 2012 Pearson Education, Inc.

Augusta Ada Byron


1815-1852
Wrote the English translation of Menabreas
Sketch of the Analytical Engine.
Envisioned the multidisciplinary potential of
the Analytical Engine.
Wrote detailed instructions for performing
numerical computations using the Analytical
Engine.
Copyright 2012 Pearson Education, Inc.

Digital Computers
ABC (Atanasoff Berry Computer)
Developed at Iowa State University between 1939
and 1942 by John Atanasoff and Clifford Berry.
Weighed 700 pounds.
Executed one instruction every 15 seconds.

Copyright 2012 Pearson Education, Inc.

Digital Computers
ENIAC(Electronic Numerical Integrator
And Calculator)
Developed by research team lead by John Mauchly
and J. Presper Eckert during the early 1940s.
Weighed 30 tons.
Executed hundreds of instructions every second.

Copyright 2012 Pearson Education, Inc.

ENIAC vs. Intel Pentium 4

ENIAC executes
hundreds of
operations per
second (30 tons)

Copyright 2012 Pearson Education, Inc.

Todays processors
execute trillions of
operations per
second and weigh
ounces.

Recent Engineering
Achievements

Copyright 2012 Pearson Education, Inc.

Image credits: NASA/JPL/Malin Space Science Systems.

Recent Engineering
Achievements
Extraterrestrial
Explorations
First manned lunar
landing (July 21, 1969)
Mars Global Surveyor,
Mars Reconnaissance
Orbiter, and Mars
Exploration Rovers

Terrestrial Application
Satellites
Copyright 2012 Pearson Education, Inc.

Computer Axial
Tomography (CAT)
Scanners
Computer simulations
Advanced composite
materials.
Speech understanding
Weather, climate, and
global change prediction

Recent Engineering
Achievements
Digital computers
facilitate
multidisciplinary
engineering
achievements that:
Improve our lives.
Expanded the
possibilities for our
future.
Copyright 2012 Pearson Education, Inc.

Changing engineering
environment requires
engineers with:
Communication skills.
Skills for working in
interdisciplinary teams.
An awareness of ethic
issues and environmental
concerns.
A global perspective.

Computing Systems

The von Neumann


Computing Model
Copyright 2012 Pearson Education, Inc.

Computing Systems
A computing system is a complete working
system that includes:
Hardware
Software

Copyright 2012 Pearson Education, Inc.

Hardware
Hardware refers to the physical parts
off the computing system that have
mass (i.e. they can actually be
touched):
Computer
Display
Mouse
Printer

Copyright 2012 Pearson Education, Inc.

Hardware
Jon von Neumann computing model
Input device(s)
Output device(s)
Memory Unit
CPU (Central Processing
Unit) consisting of:
Control Unit
ALU (Arithmetic Logic Unit)

Copyright 2012 Pearson Education, Inc.

Software Interface to
Computer Hardware

Copyright 2012 Pearson Education, Inc.

Software
Computer software refers to programs
that reside and execute electronically
on the hardware.
Compilers
Translate source code

Operating systems
Provide the HCI (Human Computer Interface)

Application programs
Provide problem solutions
Copyright 2012 Pearson Education, Inc.

Building a Program
Computers only understand machine
language. High-level languages like C++
must be translated to machine language
for execution.

Copyright 2012 Pearson Education, Inc.

Key Terms
Source Program
printable/Readable Program file

Object Program
nonprintable machine readable file

Executable Program
nonprintable executable code
Copyright 2012 Pearson Education, Inc.

Errors in Programs
Syntax/Parse Errors
Mistakes with the language.
Always reported by the compiler

Linking Errors
Missing pieces prevent the final assembly of
an executable program.

Run-time Errors
Occur when program is executing.
May or may not be reported.
Copyright 2012 Pearson Education, Inc.

Logic Errors
Can be difficult to find.
Debugging can be time consuming.
Better tools for find bugs

It is important to carefully check the output


of your programs for errors.
Even programs that appear to work correctly
may have bugs!

Copyright 2012 Pearson Education, Inc.

Debugging
Process of eliminating logic errors
(i.e. bugs) from programs.
User-friendly programming environments
such as Microsoft Visual C++ integrate the
compiler with

text processors and code editors


special tools to help find bugs in programs (debugger)
testing tools
and much more

Copyright 2012 Pearson Education, Inc.

Data Representation
and Storage
00110101001001001010101111101110
10101011111011100011010100100100
11000110110101011111001001001010
10101011111101001001000101110001
00100110111110101010001101010011
01001001001010101111101110001101
10100001101010010010111010011111
Copyright 2012 Pearson Education, Inc.

Data Representation
and Storage
Digital computers store information as a
sequence of bits (binary digits).
The value or state of a bit at any given
time can be 0 or 1 (off or on).
Data is stored as a sequence of bytes.
A byte is a sequence of 8 bits.

Copyright 2012 Pearson Education, Inc.

Memory Diagram
Address

Sixteen Bit Word

000

0000101011011101

001

1010001011010100

010

1011010010100101

011

0101001101010101

010

0101000111001110

010

1100110000111010

110

0100011101001001

111

0101110001001000

Copyright 2012 Pearson Education, Inc.

Address Space = 8
Word Size = 16

Data Representation
Right most bit is referred to as the least
significant bit.
Left most bit is referred to as the most
significant bit.
Value stored at address 000 is
00001010110111012 = 278110 But what does
it represent?
Copyright 2012 Pearson Education, Inc.

Numbering Systems
Base ten number system
Ten decimal digits (0,1,2,3,4,5,6,7,8,9)
Each digit multiplies a power of ten

Example:

24510 = 2*102 + 4*101 + 5*100

Copyright 2012 Pearson Education, Inc.

Numbering Systems
Base two (binary) number system
Two binary digits (0,1)
Each digit multiplies a power of two

Example:

101102 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20


= 1*16 + 0*8 + 1*4 + 1*2 + 0*1
= 16 + 0 + 4 + 2 + 0
= 2210
Copyright 2012 Pearson Education, Inc.

Numbering Systems
Base eight number system
Eight octal digits (0,1,2,3,4,5,6,7)
Each digit multiplies a power of eight

Example:

2458 = 2*82 + 4*81 + 5*80


= 2*64 + 4*8 + 5*1
= 128 + 32 + 5
= 1658
Copyright 2012 Pearson Education, Inc.

Numbering Systems
Base sixteen number system
Sixteen hex digits (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Each digit multiplies a power of sixteen

Example:

2FB16 = 2*162 + F*161 + B*160


= 2*256 + F*16 + B*1
= 512 + 240 + 11
= 76310
Copyright 2012 Pearson Education, Inc.

Practice with Number


Systems
1002 = ?8
37168 = ?2
1101001112 = ?10
3A1B16 = ?2

Copyright 2012 Pearson Education, Inc.

Practice with Number


Systems
1002 = 48
37168 = 011 111 001 1102
1101001112 = 42310
3A1B16 = 0011 1010 0001 10112

Copyright 2012 Pearson Education, Inc.

Data Types
Integer Data Type:
Often represented in 4 bytes (System
Dependent)
Left most bit is reserved for the sign of the
number
Remaining 31 bits represent the magnitude
of the number.

Copyright 2012 Pearson Education, Inc.

Data Types
Representation of data affects the
efficiency of arithmetic and logic
operations.
For efficiency, negative integers are often
represented in their 2s complement
form.
The 2s complement of an integer is
formed by negating all of the bits and
adding one.
Copyright 2012 Pearson Education, Inc.

Twos Complement
Form the 2s complement
representation for the value -12710
assuming a word size of 8 bits for
simplicity.
12710 = 011111112
Negate bits: 10000000
Add 1: 10000001

2s complement is 1000 00012


Copyright 2012 Pearson Education, Inc.

Twos Complement
Add 12710 to -12710
011111112

12710

+ 100000012

+ -12710

= 000000002

= 010

Copyright 2012 Pearson Education, Inc.

Data Types
Floating Point Data
Floating point types represent real numbers,
such as 1.25, that include a decimal point.
Digits to the right of the decimal point form the
fractional part of the number.
Digits to the left of the decimal point form the
integral part of the number.

Copyright 2012 Pearson Education, Inc.

Practice with Decimals


Convert 12.2510 to binary.

Copyright 2012 Pearson Education, Inc.

Practice with Decimals


Convert 12.2510 to binary.
First convert the integer part:

1210=11002
Then repeatedly multiply the fractional part by 2:
.25*2=0.5C0
.50*2=1.0C1
Therefore:
12.2510 =1100.012
Copyright 2012 Pearson Education, Inc.

Engineering
Problem-Solving
Methodology

Copyright 2012 Pearson Education, Inc.

Five Step
Problem-Solving
Methodology
1. State the problem clearly.
2. Describe the input and output.
3. Work a hand example.
4. Develop a solution.
5. Test your solution.
Copyright 2012 Pearson Education, Inc.

Das könnte Ihnen auch gefallen