Chapter 1 – Introduction to Computers and C++ Programming pot - Pdf 11

 2003 Prentice Hall, Inc. All rights reserved.
1
Chapter 1 – Introduction to Computers
and C++ Programming
Outline
1.1 Introduction
1.2 What is a Computer?
1.3 Computer Organization
1.4 Evolution of Operating Systems
1.5 Personal Computing, Distributed Computing and
Client/Server Computing
1.6 Machine Languages, Assembly Languages, and High-Level
Languages
1.7 History of C and C++
1.8 C++ Standard Library
1.9 Java
1.10 Visual Basic, Visual C++ and C#
1.11 Other High-Level Languages
1.12 Structured Programming
1.13 The Key Software Trend: Object Technology
1.14 Basics of a Typical C++ Environment
1.15 Hardware Trends
 2003 Prentice Hall, Inc. All rights reserved.
2
Chapter 1 – Introduction to Computers
and C++ Programming
Outline
1.16 History of the Internet
1.17 History of the World Wide Web
1.18 World Wide Web Consortium (W3C)
1.19 General Notes About C++ and This Book


Object-oriented programming
 2003 Prentice Hall, Inc. All rights reserved.
4
1.2 What is a Computer?

Computer

Device capable of performing computations and making
logical decisions

Computer programs

Sets of instructions that control computer’s processing of
data

Hardware

Various devices comprising computer

Keyboard, screen, mouse, disks, memory, CD-ROM,
processing units, …

Software

Programs that run on computer
 2003 Prentice Hall, Inc. All rights reserved.
5
1.3 Computer Organization


Immediately available for processing

Retains processed information

Until placed on output devices

Memory, primary memory
4. Arithmetic and logic unit (ALU)

“Manufacturing” section

Performs arithmetic calculations and logic decisions
 2003 Prentice Hall, Inc. All rights reserved.
7
1.3 Computer Organization

Six logical units of computer
5. Central processing unit (CPU)

“Administrative” section

Supervises and coordinates other sections of computer
5. Secondary storage unit

Long-term, high-capacity “warehouse” section

Storage

Inactive programs or data


 2003 Prentice Hall, Inc. All rights reserved.
9
1.4 Evolution of Operating Systems

Multiprogramming

Many jobs or tasks sharing computer’s resources

“Simultaneous” operation of many jobs

Timesharing

1960s

Special case of multiprogramming

Users access computer through terminals

Devices with keyboards and screens

Dozens, even hundreds of users

Perform small portion of one user’s job, then moves on to
service next user

Advantage:

User receives almost immediate responses to requests
 2003 Prentice Hall, Inc. All rights reserved.
10


Information shared across networks

Client/server computing

File servers

Offer common store of programs and data

Client computers

Access file servers across network

UNIX, Linux, Microsoft’s Window-based systems
 2003 Prentice Hall, Inc. All rights reserved.
12
1.6 Machine Languages, Assembly
Languages, and High-level Languages

Three types of computer languages
1. Machine language

Only language computer directly understands

“Natural language” of computer

Defined by hardware design

Machine-dependent



Convert to machine language

Example:
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
 2003 Prentice Hall, Inc. All rights reserved.
14
1.6 Machine Languages, Assembly
Languages, and High-level Languages

Three types of computer languages
3. High-level languages

Similar to everyday English, use common mathematical
notations

Single statements accomplish substantial tasks

Assembly language requires many instructions to
accomplish simple tasks

Translator programs (compilers)

Convert to machine language

Interpreter programs

Directly execute high-level language programs

 2003 Prentice Hall, Inc. All rights reserved.
16
1.7 History of C and C++

History of C++

Extension of C

Early 1980s: Bjarne Stroustrup (Bell Laboratories)

“Spruces up” C

Provides capabilities for object-oriented programming

Objects: reusable software components

Model items in real world

Object-oriented programs

Easy to understand, correct and modify

Hybrid language

C-like style

Object-oriented style

Both
 2003 Prentice Hall, Inc. All rights reserved.

Develop large-scale enterprise applications

Enhance functionality of web servers

Provide applications for consumer devices

Cell phones, pagers, personal digital assistants, …
 2003 Prentice Hall, Inc. All rights reserved.
19
1.10 Visual Basic, Visual C++ and C#

BASIC

Beginner’s All-Purpose Symbolic Instruction Code

Mid-1960s: Prof. John Kemeny and Thomas Kurtz
(Dartmouth College)

Visual Basic

1991

Result of Microsoft Windows graphical user interface (GUI)

Developed late 1980s, early 1990s

Powerful features

GUI, event handling, access to Win32 API, object-oriented
programming, error handling

21
1.10 Visual Basic, Visual C++ and C#

C#

Anders Hejlsberg and Scott Wiltamuth (Microsoft)

Designed specifically for .NET platform

Roots in C, C++ and Java

Easy migration to .NET

Event-driven, fully object-oriented, visual programming
language

Integrated Development Environment (IDE)

Create, run, test and debug C# programs

Rapid Application Development (RAD)

Language interoperability
 2003 Prentice Hall, Inc. All rights reserved.
22
1.11 Other High-level Languages

FORTRAN

FORmula TRANslator

Structured programming (1960s)

Disciplined approach to writing programs

Clear, easy to test and debug, and easy to modify

Pascal

1971: Niklaus Wirth

Ada

1970s - early 1980s: US Department of Defense (DoD)

Multitasking

Programmer can specify many activities to run in parallel
 2003 Prentice Hall, Inc. All rights reserved.
25
1.13 The Key Software Trend: Object
Technology

Objects

Reusable software components that model real world items

Meaningful software units

Date objects, time objects, paycheck objects, invoice objects,
audio objects, video objects, file objects, record objects, etc.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status