23
Business Programming I Fall – 2000 By Jim Payne

Business Programming I Fall – 2000 By Jim Payne Lecture 01Jim Payne - University of Tulsa2 Links: Early History of Computers Virginia Tech – History

Embed Size (px)

Citation preview

Business Programming I

Fall – 2000By

Jim Payne

Lecture 01 Jim Payne - University of Tulsa 2

Links: Early History of Computers

Virginia Tech – History of ComputingVirtual Museum of the United KingdomSmithsonian Museum - Computers

Lecture 01 Jim Payne - University of Tulsa 3

History of Computing Devices

Ancient Counting Devices notches, knots, pebbles, stone counting tablets

Napier’s Bones and Gunter’s Slide Rule Charles Babbage – Grandfather of Computing

Hollerith’s Tabulating Machine Howard Aiken’s – Harvard - MARK I

Lecture 01 Jim Payne - University of Tulsa 4

The Electronic Revolution

John Atanasoff and Clifford Berry - @ Iowa State University – The ABC Machine (1st fully electronic computer) Father of Modern Computing

The ENIAC – Mauchly / Eckert VonNeumann’s Contributions

The UNIVAC - Remember 1951, 1952, 1954

Lecture 01 Jim Payne - University of Tulsa 5

Electronic Computers

Generations of Computers First Generation – Vacuum Tubes 1950’s Second Generation – Transistors 1959 Third Generation - Integrated Circuits

1964 Ted Hoff, Mazor, and Fagin develop the

Intel 4004 microprocessor “Computer on a Chip” It could process 60,000 instructions per second - $300

Fourth Generation - LSIC’s Large Scale Integrated Circuits 1971

Lecture 01 Jim Payne - University of Tulsa 6

Types of Programs

Operating Systems Windows, System 8, Unix

Utility Programs Scandisk, Sorting, Virus Scanner

Application Programs MS-Word, MS-Excel, Payroll Program in COBOL

Lecture 01 Jim Payne - University of Tulsa 7

Types of Languages

Machine Languages 1100000110101100010110100010101010

Assembler Languages INP A MPY B STA C OUT C

High Level Languages FORTRAN, COBOL, PASCAL, C, JAVA, VISUAL BASIC

Lecture 01 Jim Payne - University of Tulsa 8

History of Languages

Charles Babbage – 1833

Difference Engine Analytical Engine Babbage’s Model

Difference Engine

Link: Babbage biography

Lecture 01 Jim Payne - University of Tulsa 9

Babbage’s Model

INPUT OUTPUT

PRIMARY MEMORY

CONTROL UNIT

ARITHMETIC UNIT

PROBLEM: ANSWER = A + B * C

Lecture 01 Jim Payne - University of Tulsa 10

Babbage’s Model

PRIMARY MEMORY

CONTROL UNIT

ARITHMETIC UNIT

PROBLEM: ANSWER = A + B * C

A,B,C

A = 3

B = 4

C = 2

ANSWER

ANSWER =

14 or 11 ?

Lecture 01 Jim Payne - University of Tulsa 11

Order of Operations Rules

If parentheses are present, resolve them first (then or otherwise) Precedence Rules: Exponentiation First Multiplication & Division Equal Precedence Addition & Subtraction Equal Precedence (items of equal precedence – left to right)

Lecture 01 Jim Payne - University of Tulsa 12

Babbage’s Model

3,4,2

Mem:

CU:

AU:

PROBLEM: ANSWER = A + B * C

A 3 B 4

C 2

INP A,B,C

Lecture 01 Jim Payne - University of Tulsa 13

Babbage’s Model

3,4,2

Mem:

CU:

AU:

PROBLEM: ANSWER = A + B * C

A 3 B 4

C 2

4

LDA B

Lecture 01 Jim Payne - University of Tulsa 14

Babbage’s Model

3,4,2

Mem:

CU:

AU:

PROBLEM: ANSWER = A + B * C

A 3 B 4

C 2

4

MPY C

4

MPY C

8

Lecture 01 Jim Payne - University of Tulsa 15

Babbage’s Model

3,4,2

Mem:

CU:

AU:

PROBLEM: ANSWER = A + B * C

A 3 B 4

C 2

8

ADD A

11

ADD A

8

Lecture 01 Jim Payne - University of Tulsa 16

Babbage’s Model

PROBLEM: ANSWER = A + B * C

3,4,2

Mem:

CU:

AU:

A 3 B 4

C 2

11

STA D

D 11

Lecture 01 Jim Payne - University of Tulsa 17

Babbage’s Model

3,4,2

Mem:

CU:

AU:

A 3 B 4

C 2

PROBLEM: ANSWER = A + B * C

D 11

11

OUT D

Problem: A + B * C

Inputs: A,B,C

Program:

INP A,B,C

LDA B

MPY C

ADD A

STA D

OUT D

INPUTS:

OUTPUT:

ACCUMULATOR:

3,4,2

48

11

11

Lecture 01 Jim Payne - University of Tulsa 19

Contribution by Babbage’sAssistant Augusta Ada - Countess of Lovelace (Lord Byron’s daughter)

She suggested that if they could ever get the Difference Engine or the Analytical Engine to work for three values of A,B, and C then a simple GOTO statement could cause the “program” to work over and over. “LOOPING”

For this contribution, Ada of Lovelace is often called the world’s 1st Programmer.

Link to biography

Problem: A + B * C

Inputs: A,B,C

Program:

INP A,B,C

LDA B

MPY C

ADD A

STA D

OUT D

INPUTS:

OUTPUT:

ACCUMULATOR:

5,5,4

520

25

25

Problem: (A + B) * C

Inputs: A,B,C

Program:

INP A,B,C

LDA A

ADD B

MPY C

STA D

OUT D

INPUTS:

OUTPUT:

ACCUMULATOR:

5,5,4

510

40

40

Problem: (A + 2) – (B+C)

Inputs: A,B,C

Program:LDA A

ADC 2

STA T1

LDA B

ADD C

STA T2

LDA T1

SUB T2

STA D

OUT D

INPUTS:

OUTPUT:

ACCUMULATOR:

7,3,4

2

7

9

3

7

9

2

Lecture 01 Jim Payne - University of Tulsa 23