Chap 01-1 jwfiles

30
Computer Science: A Structured Programming Approach Using C 1 Objectives To review basic computer systems concepts To be able to understand the different computing environments and their components To review the history of computer languages To be able to list and describe the classifications of computer languages To understand the steps in the development of a computer program To review the system development life cycle Chapter 1 Chapter 1 Introduction to Computers Introduction to Computers

description

C Language Basics material

Transcript of Chap 01-1 jwfiles

Page 1: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 1

Objectives ❏ To review basic computer systems concepts ❏ To be able to understand the different computing environments

and their components ❏ To review the history of computer languages ❏ To be able to list and describe the classifications of computer

languages ❏ To understand the steps in the development of a computer

program ❏ To review the system development life cycle

Chapter 1Chapter 1Introduction to ComputersIntroduction to Computers

Page 2: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 2

1-1 Computer Systems

Today computer systems are found everywhere. Today computer systems are found everywhere. Computers have become almost as common as Computers have become almost as common as televisions. But what is a computer? A computer is a televisions. But what is a computer? A computer is a system made of two major components: hardware and system made of two major components: hardware and software.software.

Computer HardwareComputer Software

Topics discussed in this section:Topics discussed in this section:

Page 3: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 3

FIGURE 1-1 A Computer System

Page 4: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 4

FIGURE 1-2 Basic Hardware Components

Page 5: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 5

FIGURE 1-3 Types of Software

Page 6: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 6

FIGURE 1-4 Relationship between system and application software

Page 7: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 7

1-2 Computing Environments

In the early days of computers, there was only one In the early days of computers, there was only one environment, the mainframe computer hidden in a central environment, the mainframe computer hidden in a central computing department. With the advent of minicomputers and computing department. With the advent of minicomputers and personal computers, the environment changed with computers personal computers, the environment changed with computers on virtually every desktop. In this section we describe several on virtually every desktop. In this section we describe several different environments.different environments.

Personal Computing EnvironmentTime-Sharing EnvironmentClient/Server EnvironmentDistributed Computing

Topics discussed in this section:Topics discussed in this section:

Page 8: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 8

FIGURE 1-5 Personal Computing Environment

Page 9: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 9

FIGURE 1-6 Time-sharing Environment

Page 10: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 10

FIGURE 1-7 The Client/Server Environment

Page 11: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 11

FIGURE 1-8 Distributed Computing

Page 12: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 12

1-3 Computer Languages

To write a program for a computer, we must use a computer To write a program for a computer, we must use a computer language. Over the years computer languages have evolved language. Over the years computer languages have evolved from machine language to natural languages.from machine language to natural languages.

Machine LanguagesSymbolic LanguagesHigh-Level Languages

Topics discussed in this section:Topics discussed in this section:

Page 13: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 13

FIGURE 1-9 Computer Language Evolution

Page 14: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 14

PROGRAM 1-1 The Multiplication Program in Machine Language

Page 15: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 15

The only language understood by computer hardware is machine language.

NoteNote

Page 16: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 16

PROGRAM 1-2 The Multiplication Program in Symbolic Language

Page 17: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 17

Symbolic language uses symbols, or mnemonics, to represent the various machine language instructions.

NoteNote

Page 18: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 18

PROGRAM 1-3 The Multiplication Program in C

continued

Page 19: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 19

PROGRAM 1-3 The Multiplication Program in C (continued)

Page 20: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 20

1-4 Creating and Running Programs

In this section, we explain the procedure for turning a program In this section, we explain the procedure for turning a program written in C into machine language. The process is presented in written in C into machine language. The process is presented in a straightforward, linear fashion, but you should recognize that a straightforward, linear fashion, but you should recognize that these steps are repeated many times during development to these steps are repeated many times during development to correct errors and make improvements to the code.correct errors and make improvements to the code.

Writing and Editing Programs Compiling ProgramsLinking ProgramsExecuting Programs

Topics discussed in this section:Topics discussed in this section:

Page 21: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 21

FIGURE 1-10 Building a C Program

Page 22: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 22

1-5 System Development

We’ve now seen the steps that are necessary to build a program. We’ve now seen the steps that are necessary to build a program. In this section, we discuss how we go about developing a In this section, we discuss how we go about developing a program. This critical process determines the overall quality program. This critical process determines the overall quality and success of our program. If we carefully design each and success of our program. If we carefully design each program using good structured development techniques, our program using good structured development techniques, our programs will be efficient, error-free, and easy to maintain.programs will be efficient, error-free, and easy to maintain.

System Development Life CycleProgram Development

Topics discussed in this section:Topics discussed in this section:

Page 23: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 23

FIGURE 1-11 Waterfall Model

Page 24: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 24

An old programming proverb:Resist the temptation to code.

NoteNote

Page 25: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 25

FIGURE 1-12 Structure Chart for Calculating Square Footage

Page 26: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 26

PseudocodeEnglish-like statements that follow a loosely defined syntax

and are used to convey the design of an algorithm.

NoteNote

Page 27: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 27

ALGORITHM 1-1 Pseudocode for Calculate Bathrooms

Page 28: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 28

FIGURE 1-13 Flowchart for Calculate Bathrooms

Page 29: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 29

Except for the most simple program, one set oftest data will not completely validate a program.

NoteNote

Page 30: Chap 01-1 jwfiles

Computer Science: A Structured Programming Approach Using C 30

1-6 Software Engineering

Software engineering is the establishment and use of sound Software engineering is the establishment and use of sound engineering methods and principles to obtain software that is engineering methods and principles to obtain software that is reliable and that works on real machines. reliable and that works on real machines.

This definition, from the first international conference on This definition, from the first international conference on software engineering in 1969, was proposed 30 years after the software engineering in 1969, was proposed 30 years after the first computer was built. During that period, software was more first computer was built. During that period, software was more of an art than a science. of an art than a science.