• No results found

Copyright 2012 Pearson Education, Inc. Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING

N/A
N/A
Protected

Academic year: 2021

Share "Copyright 2012 Pearson Education, Inc. Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

Copyright © 2012 Pearson Education, Inc.

Chapter 1

INTRODUCTION

TO COMPUTING

AND ENGINEERING

PROBLEM SOLVING

(2)

Copyright © 2012 Pearson Education, Inc.

Outline

Objectives

1. Historical Perspective

2. Recent Engineering Achievements 3. Computing Systems

4. Data Representation and Storage 5. An Engineering Problem-Solving

Methodology

(3)

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

(4)

Historical Perspective

Copyright © 2012 Pearson Education, Inc.

Charles Babbage, (1792-1871, above)

designed the Analytical Engine

(left) to process decimal numbers.

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

(5)

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.

(6)

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.

(7)

Analytical Engine

• Luigi F. Menabrea, French engineer and mathematician, described Babbage’s

vision of a machine capable of solving any problem using:

– Inputs – Outputs

– Programs written on punch cards

Copyright © 2012 Pearson Education, Inc.

(8)

Augusta Ada Byron 1815-1852

• Wrote the English translation of Menabrea’s 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.

(9)

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.

(10)

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.

(11)

ENIAC vs. Intel Pentium 4

Copyright © 2012 Pearson Education, Inc.

ENIAC executes hundreds of

operations per second (30 tons)

Today’s processors execute trillions of operations per second and weigh ounces.

(12)

Recent Engineering Achievements

Copyright © 2012 Pearson Education, Inc. Image credits: NASA/JPL/Malin Space Science Systems.

(13)

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

• Computer Axial

Tomography (CAT) Scanners

• Computer simulations

• Advanced composite materials.

• Speech understanding

• Weather, climate, and global change prediction

Copyright © 2012 Pearson Education, Inc.

(14)

Recent Engineering Achievements

• Digital computers facilitate

multidisciplinary engineering

achievements that:

– Improve our lives.

– Expanded the

possibilities for our future.

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

Copyright © 2012 Pearson Education, Inc.

(15)

Computing Systems

Copyright © 2012 Pearson Education, Inc.

The von Neumann Computing Model

(16)

Computing Systems

• A computing system is a complete working system that includes:

– Hardware – Software

Copyright © 2012 Pearson Education, Inc.

(17)

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.

(18)

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.

(19)

Software Interface to Computer Hardware

Copyright © 2012 Pearson Education, Inc.

(20)

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.

(21)

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.

(22)

Key Terms

• Source Program

– printable/Readable Program file

• Object Program

– nonprintable machine readable file

• Executable Program

– nonprintable executable code

Copyright © 2012 Pearson Education, Inc.

(23)

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.

(24)

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.

(25)

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.

(26)

Data Representation and Storage

00110101001001001010101111101110 10101011111011100011010100100100 11000110110101011111001001001010 10101011111101001001000101110001 00100110111110101010001101010011 01001001001010101111101110001101 10100001101010010010111010011111

Copyright © 2012 Pearson Education, Inc.

(27)

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.

(28)

Memory Diagram

Address Space = 8 Word Size = 16

Copyright © 2012 Pearson Education, Inc.

Address Sixteen Bit Word

000 0000101011011101 001 1010001011010100 010 1011010010100101 011 0101001101010101 010 0101000111001110 010 1100110000111010 110 0100011101001001 111 0101110001001000

(29)

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

0000101011011101

2

= 2781

10

But what does it represent?

Copyright © 2012 Pearson Education, Inc.

(30)

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:

Copyright © 2012 Pearson Education, Inc.

245

10

= 2*10

2

+ 4*10

1

+ 5*10

0

(31)

Numbering Systems

• Base two (binary) number system

• Two binary digits (0,1)

• Each digit multiplies a power of two

– Example:

Copyright © 2012 Pearson Education, Inc.

10110

2

= 1*2

4

+ 0*2

3

+ 1*2

2

+ 1*2

1

+ 0*2

0

= 1*16 + 0*8 + 1*4 + 1*2 + 0*1 = 16 + 0 + 4 + 2 + 0

= 22

10

(32)

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:

Copyright © 2012 Pearson Education, Inc.

245

8

= 2*8

2

+ 4*8

1

+ 5*8

0

= 2*64 + 4*8 + 5*1 = 128 + 32 + 5

= 165

8

(33)

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:

Copyright © 2012 Pearson Education, Inc.

2FB

16

= 2*16

2

+ F*16

1

+ B*16

0

= 2*256 + F*16 + B*1 = 512 + 240 + 11

= 763

10

(34)

Practice with Number Systems

100

2

= ?

8

3716

8

= ?

2

110100111

2

= ?

10

3A1B

16

= ?

2

Copyright © 2012 Pearson Education, Inc.

(35)

Practice with Number Systems

100

2

= 4

8

3716

8

= 011 111 001 110

2

110100111

2

= 423

10

3A1B

16

= 0011 1010 0001 1011

2

Copyright © 2012 Pearson Education, Inc.

(36)

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.

(37)

Data Types

• Representation of data affects the efficiency of arithmetic and logic operations.

• For efficiency, negative integers are often represented in their 2’s complement

form.

• The 2’s complement of an integer is formed by negating all of the bits and adding one.

Copyright © 2012 Pearson Education, Inc.

(38)

Two’s Complement

• Form the 2’s complement

representation for the value -127

10

assuming a word size of 8 bits for simplicity.

127

10

= 01111111

2

Negate bits: 10000000 Add 1: 10000001

• 2’s complement is 1000 0001

2

Copyright © 2012 Pearson Education, Inc.

(39)

Two’s Complement

• Add 127

10

to -127

10

Copyright © 2012 Pearson Education, Inc.

01111111

2

127

10

+ 10000001

2

 + -127

10

= 00000000

2

= 0

10

(40)

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.

(41)

Practice with Decimals

Convert 12.25

10

to binary.

Copyright © 2012 Pearson Education, Inc.

(42)

Practice with Decimals

Convert 12.25

10

to binary.

First convert the integer part:

12

10

=1100

2

Then repeatedly multiply the fractional part by 2:

.25*2=0.5C0 .50*2=1.0C1 Therefore:

12.25

10

=1100.01

2

Copyright © 2012 Pearson Education, Inc.

(43)

Engineering

Problem-Solving Methodology

Copyright © 2012 Pearson Education, Inc.

(44)

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.

References

Related documents

• Alcohols are classified as primary, secondary, or tertiary according to the number of carbon substituents bonded to the hydroxyl-bearing carbon. • Alcohols with one substituent

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings.. About this Chapter About

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings Copyright © 2005 Pearson Education,.. Inc., publishing as

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings.. About this Chapter About

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings.. About this Chapter About

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings... Copyright © 2004

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings.. About this Chapter About

Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings Copyright © 2004 Pearson Education, Inc., publishing as Benjamin Cummings.. About this Chapter About