01 - Computers Internet WWW

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 34

C++ How to Program, 7/e

1992-2010 by Pearson Education, Inc. All Rights


Reserved.

A computer is a device that can perform computations and


make logical decisions billions of times faster than human
beings can.
Todays fastest supercomputers can perform thousands of
trillions (quadrillions) of instructions per second!
Computers process data under the control of sets of
instructions called computer programs.
Programs guide the computer through orderly sets of actions
specified by people called computer programmers.
A computer consists of various devices referred to as
hardware.
The programs that run on a computer are referred to as
software.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Virtually every computer may be envisioned as divided into


six logical units or sections:

Input unit. This receiving section obtains from input devices and
places it at the disposal of the other units so that it can be processed.
Output unit. This shipping section takes information that the
computer has processed and places it on various output devices to
make it available for use outside the computer.
Memory unit. This rapid-access, relatively low-capacity
warehouse section retains information that has been entered
through the input unit, making it immediately available for
processing when needed. It also retains processed information until it
can be placed on output devices by the output unit. Information in
the memory unit is volatile. The memory unit is often called either
memory or primary memory.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Arithmetic and logic unit (ALU). This manufacturing section


performs calculations. It also contains the computers decision
mechanisms. In todays systems, the ALU is usually
implemented as part of the next logical unit, the CPU.
Central processing unit (CPU). This administrative section
coordinates and supervises the operation of the other sections.

Tells the input unit when information should be read into the memory
unit
Tells the ALU when information from the memory unit should be used
in calculations
Tells the output unit when to send information from the memory unit to
certain output devices.
Many of todays computers have multiple CPUs and, hence, can perform
many operations simultaneouslysuch computers are called
multiprocessors. A multi-core processor implements multiprocessing on
a single integrated circuit chip.
1992-2010 by Pearson Education, Inc.
All Rights Reserved.

Secondary storage unit. This is the long-term, high-capacity


warehousing section. Programs or data not actively being
used by the other units normally are placed on secondary
storage devices (e.g., your hard drive) until theyre again
needed, possibly hours, days, months or even years later.
Therefore, information on secondary storage devices is said to
be persistent.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

In 1977, Apple Computer popularized personal computing.


In 1981, IBM, the worlds largest computer vendor,
introduced the IBM Personal Computer (PC).
This quickly legitimized personal computing in business, industry
and government organizations, where IBM mainframes were heavily
used.

Machines could be linked together in computer networks,


sometimes over telephone lines and sometimes in local area
networks (LANs) within an organization.
Led to the phenomenon of distributed computing, in which an
organizations computing is distributed over networks to the sites
where the organizations work is performed.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Todays personal computers are as powerful as the


million-dollar machines of just a few decades ago.
Information is shared easily across computer networks,
where computers called servers offer a common data
store that may be used by client computers distributed
throughout the network, hence the term client/server
computing.
C++ has become widely used for writing software for
operating systems, for computer networking and for
distributed client/server applications.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

The Internet was initiated in the late 1960s with


funding supplied by the U.S. Department of Defense.
Originally designed to connect the main computer
systems of about a dozen universities and research
organizations.
With the introduction of the World Wide Web, the
Internet has exploded into the worlds premier
communication mechanism.
The Internet and the World Wide Web are surely among
humankinds most important and profound creations.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Programmers write instructions in various programming


languages, some directly understandable by computers and others
requiring intermediate translation steps.
Computer languages may be divided into three general types:
Machine languages
Assembly languages
High-level languages

Any computer can directly understand only its own machine


language.

The natural language of a computer and as such is defined by its hardware de-sign.

Machine languages are machine dependent.

Too slow (for development), tedious and error prone for most
programmers.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

English-like abbreviations that represent elementary operations


formed the basis of assembly languages.
Translator programs called assemblers convert assemblylanguage programs to machine language.
Programmers still had to use many instructions to accomplish
even the simplest tasks.
To speed the programming process, high-level languages were
developed in which single statements could be written to
accomplish substantial tasks.
Translator programs called compilers convert high-level
language programs into machine language.
Interpreter programs execute high-level language programs
directly (without the delay of compilation), although slower than
compiled programs run.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

C++ evolved from C, which evolved from two previous


programming languages, BCPL and B.
BCPL was developed in 1967 by Martin Richards as a language
for writing operating systems software and compilers for
operating systems.
Ken Thompson modeled many features in B after their
counterparts in BCPL and used B to create early versions of the
UNIX operating system at Bell Laboratories in 1970.
The C language was evolved from B by Dennis Ritchie at Bell
Laboratories.
C initially became widely known as the development language of the
UNIX operating system.
Today, most operating systems are written in C and/or C++.
C is available for most computers and is hardware independent.
Its possible to write C programs that are portable to most computers.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

C++, an extension of C, was developed by Bjarne


Stroustrup in the early 1980s at Bell Laboratories.
C++ provides capabilities for object-oriented
programming.
Objects are essentially reusable software components
that model items in the real world.
Modular, object-oriented design and implementation
makes programmers much more productive than can
previous popular programming techniques.
Object-oriented programs are easier to understand,
correct and modify.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

C++ programs consist of pieces called


classes and functions.
Most C++ programmers take advantage of the rich
collections of classes and functions in the C++
Standard Library.
Two parts to learning the C++ world.

The C++ language itself, and


How to use the classes and functions in the C++ Standard
Library.

Many special-purpose class libraries are supplied by


independent software vendors.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Microprocessors are having a profound impact in intelligent consumer


electronic devices.
Recognizing this, Sun Microsystems in 1991 funded an internal
corporate research project code-named Green.
Resulted in the development of a C++-based language called Java
Created by James Gosling.

The World Wide Web exploded in popularity in 1993, and Sun saw the
immediate potential of using Java to add dynamic content to web
pages.
Java garnered the attention of the business community because of the
phenomenal interest in the World Wide Web.
Java is now used to develop large-scale enterprise applications, to
enhance the functionality of web servers, to provide applications for
consumer devices and for many other purposes.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

FORTRAN (FORmula TRANslator) was developed by


IBM Corporation in the mid-1950s to be used for
scientific and engineering applications that require
complex mathematical computations.
Still widely used in engineering applications.

COBOL (COmmon Business Oriented Language) was


developed in the late 1950s by computer
manufacturers, the U.S. government and industrial
computer users.
Used for commercial applications that require precise and
efficient manipulation of large amounts of data.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Structured programminga disciplined approach to writing


programs that are clearer and easier to test, debug and
modify than large programs produced with previous
techniques.
Pascal programming language was created by Professor
Niklaus Wirth in 1971.
Designed for teaching struc-tured programming and rapidly became
the preferred pro-gramming language in most colleges.

The Ada language was developed under the sponsorship of


the U.S. Department of Defense (DoD) during the 1970s
and early 1980s.

The DoD wanted one language that would fill most of its needs.
One important capability of Ada, called multitasking, allows
program-mers to specify that many activities are to occur in parallel.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

The BASIC (Beginners All-purpose Symbolic Instruction Code)


programming language was developed in the mid-1960s at Dartmouth
College as a means of writing simple programs.
Primary purpose was to familiarize novices with programming techniques.

Microsofts Visual Basic language was introduced in the early 1990s to


simplify Windows application development
One of the most popular programming languages.

The .NET platform provides capabilities for creating and running


applications that can execute on computers distributed across the
Internet.
Three primary programming languages

Visual Basic (based on the original BASIC)


Visual C++ (based on C++)
Visual C# (based on C++ and Java; developed expressly for the .NET platform).

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

C++ systems generally consist of three parts: a program


development environment, the language and the C++
Standard Library.
C++ programs typically go through six phases: edit,
preprocess, compile, link, load and execute.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Phase 1 consists of editing a file with an editor program


(normally known simply as an editor).
You type a C++ program (typically referred to as source code)
using the editor, make corrections and save the program.
C++ source code filenames often end with the .cpp,
.cxx, .cc or .C extensions (note that C is in uppercase)
which indicate that a file contains C++ source code.
Two editors widely used on UNIX systems are vi and emacs.
C++ software packages such as Microsoft Visual C++
(msdn.microsoft.com/vstudio/express/visual
c/default.aspx) have editors integrated into the
programming environment.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

In phase 2, you give the command to compile the program.


In a C++ system, a preprocessor program executes automatically
before the compilers translation phase begins.
The C++ preprocessor obeys commands called preprocessor
directives, which indicate that certain manipulations are to be
performed on the program before compilation.
These manipulations usually include other text files to be
compiled, and perform various text replacements.
The most common preprocessor directives are discussed in the
early chapters; a detailed discussion of preprocessor features
appears in Appendix E, Preprocessor.
In phase 3, the compiler translates the C++ program into
machine-language code (also referred to as object code).

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Phase 4 is called linking.


The object code produced by the C++ compiler
typically contains holes due to missing parts, such as
references to functions from standard libraries.
A linker links the object code with the code for the
missing functions to produce an executable program.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Phase 5 is called loading.


Before a program can be executed, it must first be
placed in memory.
This is done by the loader, which takes the executable
image from disk and transfers it to memory.
Additional components from shared libraries that
support the program are also loaded.
Finally, in Phase 6, the computer, under the control of
its CPU, executes the program one instruction at a time.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Programs do not always work on the first try.


Each of the preceding phases can fail because of
various errors that we discuss throughout the book.
If this occurs, youd have to return to the edit phase,
make the necessary corrections and proceed through
the remaining phases again to determine that the
corrections fix the problem(s).

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

Most programs in C++ input and/or output data.


Certain C++ functions take their input from cin (the
standard input stream; pronounced see-in), which is
normally the keyboard, but cin can be redirected to
another device.
Data is often output to cout (the standard output stream;
pronounced see-out), which is normally the computer
screen, but cout can be redirected to another device.
When we say that a program prints a result, we normally
mean that the result is displayed on a screen.
Data may be output to other devices, such as disks and hardcopy
printers.

There is also a standard error stream referred to as cerr that


is used for displaying error messages.
1992-2010 by Pearson Education, Inc.
All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

1992-2010 by Pearson Education, Inc.


All Rights Reserved.

You might also like