SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Chapter 1:
An Overview of Computers and
Programming Languages
Objectives
• In this chapter, you will:
– Learn about different types of computers
– Explore the hardware and software components of a
computer system
– Learn about the language of a computer
– Learn about the evolution of programming languages
– Examine high-level programming languages
2C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Objectives (cont’d.)
– Discover what a compiler is and what it does
– Examine a C++ program
– Explore how a C++ program is processed
– Learn what an algorithm is and explore problem-solving
techniques
– Become aware of structured design and object-oriented
design programming methodologies
– Become aware of Standard C++, ANSI/ISO Standard C++,
and C++11
3C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Introduction
• Without software, the computer is useless
• Software is developed with programming languages
– C++ is a programming language
• C++ suited for a wide variety of programming tasks
4C++ Programming: From Problem Analysis to Program Design, Seventh Edition
A Brief Overview of the History of
Computers
• Early calculation devices
– Abacus, Pascaline
– Leibniz device
– Jacquard’s weaving looms
– Babbage machines: difference and analytic engines
– Hollerith machine
5C++ Programming: From Problem Analysis to Program Design, Seventh Edition
A Brief Overview of the History of
Computers (cont’d.)
• Early computer-like machines
– Mark I
– ENIAC
– Von Neumann architecture
– UNIVAC
– Transistors and microprocessors
6C++ Programming: From Problem Analysis to Program Design, Seventh Edition
A Brief Overview of the History of
Computers (cont’d.)
• Categories of computers
– Mainframe computers
– Midsize computers
– Micro computers (personal computers)
7C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Elements of a Computer System
• Hardware
• CPU
• Main memory
• Secondary storage
• Input/Output devices
• Software
8C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Hardware
• CPU
• Main memory: RAM
• Input/output devices
• Secondary storage
9C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Central Processing Unit and Main
Memory
• Central processing unit
– Brain of the computer
– Most expensive piece of hardware
– Carries out arithmetic and logical operations
10C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Central Processing Unit and Main
Memory (cont’d.)
11C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Central Processing Unit and Main
Memory (cont’d.)
• Random access memory
– Directly connected to the CPU
• All programs must be loaded into main memory
before they can be executed
• All data must be brought into main memory before it
can be manipulated
• When computer power is turned off, everything in
main memory is lost
12C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Central Processing Unit and Main
Memory (cont’d.)
• Main memory is an ordered sequence of memory
cells
– Each cell has a unique location in main memory, called the
address of the cell
• Each cell can contain either a programming
instruction or data
13C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Secondary Storage
• Secondary storage: device that stores information
permanently
• Examples of secondary storage:
– Hard disks
– Flash drives
– Floppy disks
– Zip disks
– CD-ROMs
– Tapes
14C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Input/Output Devices
• Input devices feed data and programs into
computers
– Keyboard
– Mouse
– Secondary storage
• Output devices display results
– Monitor
– Printer
– Secondary storage
15C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Software
• Software: programs that do specific tasks
• System programs control the computer
– Operating system monitors the overall activity of the
computer and provides services such as:
• Memory management
• Input/output activities
• Storage management
• Application programs perform a specific task
– Word processors
– Spreadsheets
– Games
16C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Language of a Computer
• Analog signals: continuous wave forms
• Digital signals: sequences of 0s and 1s
• Machine language: language of a computer; a
sequence of 0s and 1s
• Binary digit (bit): the digit 0 or 1
• Binary code (binary number): a sequence of 0s
and 1s
17C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Language of a Computer (cont’d.)
• Byte:
– A sequence of eight bits
• Kilobyte (KB): 210
bytes = 1024 bytes
• ASCII (American Standard Code for Information
Interchange)
– 128 characters
– A is encoded as 1000001 (66th character)
– 3 is encoded as 0110011
18C++ Programming: From Problem Analysis to Program Design, Seventh Edition
19C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Language of a Computer (cont’d.)
The Language of a Computer (cont’d.)
• EBCDIC
– Used by IBM
– 256 characters
• Unicode
– 65536 characters
– Two bytes are needed to store a character
20C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Evolution of Programming
Languages
• Early computers were programmed in machine
language
• To calculate wages = rate * hours in
machine language:
100100 010001 //Load
100110 010010 //Multiply
100010 010011 //Store
21C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Evolution of Programming
Languages (cont’d.)
• Assembly language instructions are mnemonic
• Assembler: translates a program written in assembly
language into machine language
• Using assembly language instructions, wages =
rate • hours can be written as:
LOAD rate
MULT hour
STOR wages
22C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Evolution of Programming
Languages (cont’d.)
• High-level languages include Basic, FORTRAN,
COBOL, Pascal, C, C++, C#, and Java
• Compiler: translates a program written in a high-level
language into machine language
• The equation wages = rate • hours can be
written in C++ as:
wages = rate * hours;
23C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Processing a C++ Program
#include <iostream>
using namespace std;
int main()
{
cout << "My first C++ program." << endl;
return 0;
}
Sample Run:
My first C++ program.
24C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Processing a C++ Program (cont’d.)
• To execute a C++ program:
– Use an editor to create a source program in C++
– Preprocessor directives begin with # and are processed by
the preprocessor
– Use the compiler to:
• Check that the program obeys the language rules
• Translate into machine language (object program)
25C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Processing a C++ Program (cont’d.)
• To execute a C++ program (cont'd.):
– Linker:
• Combines object program with other programs provided by the
SDK to create executable code
• Library: contains prewritten code you can use
– Loader:
• Loads executable program into main memory
– The last step is to execute the program
• Some IDEs do all this with a Build or Rebuild
command
26C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Processing a C++ Program (cont’d.)
27C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Programming with the Problem
Analysis–Coding–Execution Cycle
• Algorithm:
– Step-by-step problem-solving
process
– Solution achieved in finite
amount of time
• Programming is a process of
problem solving
28C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Problem Analysis–Coding–
Execution Cycle (cont’d.)
• Step 1: Analyze the problem
– Outline the problem and its requirements
– Design steps (algorithm) to solve the problem
• Step 2: Implement the algorithm
– Implement the algorithm in code
– Verify that the algorithm works
• Step 3: Maintain
– Use and modify the program if the problem domain
changes
29C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Problem Analysis–Coding–
Execution Cycle (cont’d.)
• Thoroughly understand the problem and all requirements
– Does program require user interaction?
– Does program manipulate data?
– What is the output?
• If the problem is complex, divide it into subproblems
– Analyze and design algorithms for each subproblem
• Check the correctness of algorithm
– Can test using sample data
– Some mathematical analysis might be required
30C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Problem Analysis–Coding–
Execution Cycle (cont’d.)
• Once the algorithm is designed and correctness
verified
– Write the equivalent code in high-level language
• Enter the program using text editor
31C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Problem Analysis–Coding–
Execution Cycle (cont’d.)
• Run code through compiler
• If compiler generates errors
– Look at code and remove errors
– Run code again through compiler
• If there are no syntax errors
– Compiler generates equivalent machine code
• Linker links machine code with system resources
32C++ Programming: From Problem Analysis to Program Design, Seventh Edition
The Problem Analysis–Coding–
Execution Cycle (cont’d.)
• Once compiled and linked, loader can place program
into main memory for execution
• The final step is to execute the program
• Compiler guarantees that the program follows the
rules of the language
– Does not guarantee that the program will run correctly
33C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Example 1-1
• Design an algorithm to find the perimeter and area
of a rectangle
• The perimeter and area of the rectangle are given by
the following formulas:
perimeter = 2 * (length + width)
area = length * width
34C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Example 1-1 (cont’d.)
• Algorithm:
– Get length of the rectangle
– Get width of the rectangle
– Find the perimeter using the following equation:
perimeter = 2 * (length + width)
– Find the area using the following equation:
area = length * width
35C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Example 1-5
• Calculate each student’s grade
– 10 students in a class; each student has taken five tests;
each test is worth 100 points
• Design algorithms to:
– Calculate the grade for each student and class average
– Find the average test score
– Determine the grade
• Data: students’ names; test scores
36C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Example 1-5 (cont’d.)
• Algorithm to determine the average test score:
– Get the five test scores
– Add the five test scores
• Suppose sum stands for the sum of the test scores
– Suppose average stands for the average test score:
• average = sum / 5;
37C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Example 1-5 (cont’d.)
• Algorithm to determine the grade:
if average is greater than or equal to 90
grade = A
otherwise
if average is greater than or equal to 80 and less than 90
grade = B
otherwise
if average is greater than or equal to 70 and less than 80
grade = C
otherwise
if average is greater than or equal to 60 and less than 70
grade = D
otherwise
grade = F
38C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Example 1-5 (cont’d.)
• Main algorithm is as follows:
– totalAverage = 0;
– Repeat the following for each student:
• Get student’s name
• Use the algorithm to find the average test score
• Use the algorithm to find the grade
• Update totalAverage by adding current student’s average test
score
– Determine the class average as follows:
• classAverage = totalAverage / 10
39C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Programming Methodologies
• Two popular approaches to programming design
– Structured
– Object-oriented
40C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Structured Programming
• Structured design:
– Dividing a problem into smaller subproblems
• Structured programming:
– Implementing a structured design
• The structured design approach is also called:
– Top-down (or bottom-up) design
– Stepwise refinement
– Modular programming
41C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Object-Oriented Programming
• Object-oriented design (OOD)
– Identify components called objects
– Determine how objects interact with each other
• Specify relevant data and possible operations to be
performed on that data
• Each object consists of data and operations on that
data
42C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Object-Oriented Programming
(cont’d.)
• An object combines data and operations on the data
into a single unit
• A programming language that implements OOD is
called an object-oriented programming (OOP)
language
• Must learn how to represent data in computer
memory, how to manipulate data, and how to
implement operations
43C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Object-Oriented Programming
(cont’d.)
• Write algorithms and implement them in a
programming language
• Use functions to implement algorithms
• Learn how to combine data and operations on the
data into a single unit called an object
• C++ was designed to implement OOD
• OOD is used with structured design
44C++ Programming: From Problem Analysis to Program Design, Seventh Edition
ANSI/ISO Standard C++
• C++ evolved from C
• C++ designed by Bjarne Stroustrup at Bell
Laboratories in early 1980s
– Many different C++ compilers were available
• C++ programs were not always portable from one
compiler to another
• In mid-1998, ANSI/ISO C++ language standards were
approved
• Second standard called C++11 approved in 2011
45C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Summary
• Computer: electronic device that can perform
arithmetic and logical operations
• Computer system has hardware/software
– Central processing unit (CPU): brain
– Primary storage (MM) is volatile; secondary storage (e.g.,
disk) is permanent
– Operating system monitors overall activity of the
computer and provides services
– Various kinds of languages
46C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Summary (cont’d.)
• Compiler: translates high-level language into
machine code
• Algorithm: step-by-step problem-solving process;
solution in finite amount of time
• Problem-solving process has three steps:
– Analyze problem and design an algorithm
– Implement the algorithm in code
– Maintain the program
47C++ Programming: From Problem Analysis to Program Design, Seventh Edition
Summary (cont’d.)
• Structured design:
– Problem is divided into smaller subproblems
– Each subproblem is solved
– Combine solutions to all subproblems
• Object-oriented design (OOD): a program is a
collection of interacting objects
– Object: data and operations on those data
48C++ Programming: From Problem Analysis to Program Design, Seventh Edition

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Compiler Construction
Introduction to Compiler Construction Introduction to Compiler Construction
Introduction to Compiler Construction Sarmad Ali
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++Ankur Pandey
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptKunal Kishor Nirala
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Theory of Computation
Theory of ComputationTheory of Computation
Theory of ComputationShiraz316
 
Techniques & applications of Compiler
Techniques & applications of CompilerTechniques & applications of Compiler
Techniques & applications of CompilerPreethi AKNR
 
Knowledge representation and Predicate logic
Knowledge representation and Predicate logicKnowledge representation and Predicate logic
Knowledge representation and Predicate logicAmey Kerkar
 
Software review
Software reviewSoftware review
Software reviewamjad_09
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisischandan sharma
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating SystemsMukesh Chinta
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphsdaimk2020
 
OOP in C++
OOP in C++OOP in C++
OOP in C++ppd1961
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory Rajendran
 

Was ist angesagt? (20)

Introduction to Compiler Construction
Introduction to Compiler Construction Introduction to Compiler Construction
Introduction to Compiler Construction
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Lexical analysis - Compiler Design
Lexical analysis - Compiler DesignLexical analysis - Compiler Design
Lexical analysis - Compiler Design
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Theory of Computation
Theory of ComputationTheory of Computation
Theory of Computation
 
Techniques & applications of Compiler
Techniques & applications of CompilerTechniques & applications of Compiler
Techniques & applications of Compiler
 
Knowledge representation and Predicate logic
Knowledge representation and Predicate logicKnowledge representation and Predicate logic
Knowledge representation and Predicate logic
 
Machine language
Machine languageMachine language
Machine language
 
Software review
Software reviewSoftware review
Software review
 
C++ programming
C++ programmingC++ programming
C++ programming
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating Systems
 
Compiler design
Compiler designCompiler design
Compiler design
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphs
 
OOP in C++
OOP in C++OOP in C++
OOP in C++
 
Presentation on operating system
 Presentation on operating system Presentation on operating system
Presentation on operating system
 
Lecture 21 - Preprocessor and Header File
Lecture 21 - Preprocessor and Header FileLecture 21 - Preprocessor and Header File
Lecture 21 - Preprocessor and Header File
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory
 

Ähnlich wie 9781285852744 ppt ch01

9781285852751 ppt c++
9781285852751 ppt c++9781285852751 ppt c++
9781285852751 ppt c++umair khan
 
ch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesLiemLe21
 
Computer Programming
Computer ProgrammingComputer Programming
Computer ProgrammingBurhan Fakhar
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programmingSynapseindiappsdevelopment
 
Review chapter 1 2-3
Review chapter 1 2-3Review chapter 1 2-3
Review chapter 1 2-3ahmed22dg
 
C++ Programming Chapter 01
C++ Programming Chapter 01C++ Programming Chapter 01
C++ Programming Chapter 01Sourng Seng
 
chapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdfchapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdfBernardVelasco1
 
CPP Lecture 1.pptx
CPP Lecture 1.pptxCPP Lecture 1.pptx
CPP Lecture 1.pptxaddisabebaw2
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)Dr. Ahmed Al Zaidy
 
C++ programming program design including data structures
C++ programming program design including data structures C++ programming program design including data structures
C++ programming program design including data structures Ahmad Idrees
 
Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Mohamed El Desouki
 
Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)Shujaat Abbas
 
l1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptxl1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptxssuser6f38e5
 
Overview of computers and programming
Overview of computers and programmingOverview of computers and programming
Overview of computers and programmingJason J Pulikkottil
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++Seble Nigussie
 
Basic of c++ programming
Basic of c++ programmingBasic of c++ programming
Basic of c++ programmingTalha Mughal
 
Chapter 1 Introduction to computer components
Chapter 1 Introduction to computer componentsChapter 1 Introduction to computer components
Chapter 1 Introduction to computer componentsBoonsaaMulataa
 

Ähnlich wie 9781285852744 ppt ch01 (20)

9781285852751 ppt c++
9781285852751 ppt c++9781285852751 ppt c++
9781285852751 ppt c++
 
ch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesch01_an overview of computers and programming languages
ch01_an overview of computers and programming languages
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programming
 
C++ ch1
C++ ch1C++ ch1
C++ ch1
 
Review chapter 1 2-3
Review chapter 1 2-3Review chapter 1 2-3
Review chapter 1 2-3
 
C++ Programming Chapter 01
C++ Programming Chapter 01C++ Programming Chapter 01
C++ Programming Chapter 01
 
computer programming C++
computer  programming C++computer  programming C++
computer programming C++
 
chapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdfchapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdf
 
CPP Lecture 1.pptx
CPP Lecture 1.pptxCPP Lecture 1.pptx
CPP Lecture 1.pptx
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)
 
C++ programming program design including data structures
C++ programming program design including data structures C++ programming program design including data structures
C++ programming program design including data structures
 
Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++
 
01CHAP_1.PPT
01CHAP_1.PPT01CHAP_1.PPT
01CHAP_1.PPT
 
Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)
 
l1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptxl1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptx
 
Overview of computers and programming
Overview of computers and programmingOverview of computers and programming
Overview of computers and programming
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
 
Basic of c++ programming
Basic of c++ programmingBasic of c++ programming
Basic of c++ programming
 
Chapter 1 Introduction to computer components
Chapter 1 Introduction to computer componentsChapter 1 Introduction to computer components
Chapter 1 Introduction to computer components
 

Mehr von Terry Yoast

9781305078444 ppt ch12
9781305078444 ppt ch129781305078444 ppt ch12
9781305078444 ppt ch12Terry Yoast
 
9781305078444 ppt ch11
9781305078444 ppt ch119781305078444 ppt ch11
9781305078444 ppt ch11Terry Yoast
 
9781305078444 ppt ch10
9781305078444 ppt ch109781305078444 ppt ch10
9781305078444 ppt ch10Terry Yoast
 
9781305078444 ppt ch09
9781305078444 ppt ch099781305078444 ppt ch09
9781305078444 ppt ch09Terry Yoast
 
9781305078444 ppt ch08
9781305078444 ppt ch089781305078444 ppt ch08
9781305078444 ppt ch08Terry Yoast
 
9781305078444 ppt ch07
9781305078444 ppt ch079781305078444 ppt ch07
9781305078444 ppt ch07Terry Yoast
 
9781305078444 ppt ch06
9781305078444 ppt ch069781305078444 ppt ch06
9781305078444 ppt ch06Terry Yoast
 
9781305078444 ppt ch05
9781305078444 ppt ch059781305078444 ppt ch05
9781305078444 ppt ch05Terry Yoast
 
9781305078444 ppt ch04
9781305078444 ppt ch049781305078444 ppt ch04
9781305078444 ppt ch04Terry Yoast
 
9781305078444 ppt ch03
9781305078444 ppt ch039781305078444 ppt ch03
9781305078444 ppt ch03Terry Yoast
 
9781305078444 ppt ch02
9781305078444 ppt ch029781305078444 ppt ch02
9781305078444 ppt ch02Terry Yoast
 
9781305078444 ppt ch01
9781305078444 ppt ch019781305078444 ppt ch01
9781305078444 ppt ch01Terry Yoast
 
9781337102087 ppt ch13
9781337102087 ppt ch139781337102087 ppt ch13
9781337102087 ppt ch13Terry Yoast
 
9781337102087 ppt ch18
9781337102087 ppt ch189781337102087 ppt ch18
9781337102087 ppt ch18Terry Yoast
 
9781337102087 ppt ch17
9781337102087 ppt ch179781337102087 ppt ch17
9781337102087 ppt ch17Terry Yoast
 
9781337102087 ppt ch16
9781337102087 ppt ch169781337102087 ppt ch16
9781337102087 ppt ch16Terry Yoast
 
9781337102087 ppt ch15
9781337102087 ppt ch159781337102087 ppt ch15
9781337102087 ppt ch15Terry Yoast
 
9781337102087 ppt ch14
9781337102087 ppt ch149781337102087 ppt ch14
9781337102087 ppt ch14Terry Yoast
 
9781337102087 ppt ch12
9781337102087 ppt ch129781337102087 ppt ch12
9781337102087 ppt ch12Terry Yoast
 
9781337102087 ppt ch11
9781337102087 ppt ch119781337102087 ppt ch11
9781337102087 ppt ch11Terry Yoast
 

Mehr von Terry Yoast (20)

9781305078444 ppt ch12
9781305078444 ppt ch129781305078444 ppt ch12
9781305078444 ppt ch12
 
9781305078444 ppt ch11
9781305078444 ppt ch119781305078444 ppt ch11
9781305078444 ppt ch11
 
9781305078444 ppt ch10
9781305078444 ppt ch109781305078444 ppt ch10
9781305078444 ppt ch10
 
9781305078444 ppt ch09
9781305078444 ppt ch099781305078444 ppt ch09
9781305078444 ppt ch09
 
9781305078444 ppt ch08
9781305078444 ppt ch089781305078444 ppt ch08
9781305078444 ppt ch08
 
9781305078444 ppt ch07
9781305078444 ppt ch079781305078444 ppt ch07
9781305078444 ppt ch07
 
9781305078444 ppt ch06
9781305078444 ppt ch069781305078444 ppt ch06
9781305078444 ppt ch06
 
9781305078444 ppt ch05
9781305078444 ppt ch059781305078444 ppt ch05
9781305078444 ppt ch05
 
9781305078444 ppt ch04
9781305078444 ppt ch049781305078444 ppt ch04
9781305078444 ppt ch04
 
9781305078444 ppt ch03
9781305078444 ppt ch039781305078444 ppt ch03
9781305078444 ppt ch03
 
9781305078444 ppt ch02
9781305078444 ppt ch029781305078444 ppt ch02
9781305078444 ppt ch02
 
9781305078444 ppt ch01
9781305078444 ppt ch019781305078444 ppt ch01
9781305078444 ppt ch01
 
9781337102087 ppt ch13
9781337102087 ppt ch139781337102087 ppt ch13
9781337102087 ppt ch13
 
9781337102087 ppt ch18
9781337102087 ppt ch189781337102087 ppt ch18
9781337102087 ppt ch18
 
9781337102087 ppt ch17
9781337102087 ppt ch179781337102087 ppt ch17
9781337102087 ppt ch17
 
9781337102087 ppt ch16
9781337102087 ppt ch169781337102087 ppt ch16
9781337102087 ppt ch16
 
9781337102087 ppt ch15
9781337102087 ppt ch159781337102087 ppt ch15
9781337102087 ppt ch15
 
9781337102087 ppt ch14
9781337102087 ppt ch149781337102087 ppt ch14
9781337102087 ppt ch14
 
9781337102087 ppt ch12
9781337102087 ppt ch129781337102087 ppt ch12
9781337102087 ppt ch12
 
9781337102087 ppt ch11
9781337102087 ppt ch119781337102087 ppt ch11
9781337102087 ppt ch11
 

Kürzlich hochgeladen

A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 

Kürzlich hochgeladen (20)

A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 

9781285852744 ppt ch01

  • 1. Chapter 1: An Overview of Computers and Programming Languages
  • 2. Objectives • In this chapter, you will: – Learn about different types of computers – Explore the hardware and software components of a computer system – Learn about the language of a computer – Learn about the evolution of programming languages – Examine high-level programming languages 2C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 3. Objectives (cont’d.) – Discover what a compiler is and what it does – Examine a C++ program – Explore how a C++ program is processed – Learn what an algorithm is and explore problem-solving techniques – Become aware of structured design and object-oriented design programming methodologies – Become aware of Standard C++, ANSI/ISO Standard C++, and C++11 3C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 4. Introduction • Without software, the computer is useless • Software is developed with programming languages – C++ is a programming language • C++ suited for a wide variety of programming tasks 4C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 5. A Brief Overview of the History of Computers • Early calculation devices – Abacus, Pascaline – Leibniz device – Jacquard’s weaving looms – Babbage machines: difference and analytic engines – Hollerith machine 5C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 6. A Brief Overview of the History of Computers (cont’d.) • Early computer-like machines – Mark I – ENIAC – Von Neumann architecture – UNIVAC – Transistors and microprocessors 6C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 7. A Brief Overview of the History of Computers (cont’d.) • Categories of computers – Mainframe computers – Midsize computers – Micro computers (personal computers) 7C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 8. Elements of a Computer System • Hardware • CPU • Main memory • Secondary storage • Input/Output devices • Software 8C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 9. Hardware • CPU • Main memory: RAM • Input/output devices • Secondary storage 9C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 10. Central Processing Unit and Main Memory • Central processing unit – Brain of the computer – Most expensive piece of hardware – Carries out arithmetic and logical operations 10C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 11. Central Processing Unit and Main Memory (cont’d.) 11C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 12. Central Processing Unit and Main Memory (cont’d.) • Random access memory – Directly connected to the CPU • All programs must be loaded into main memory before they can be executed • All data must be brought into main memory before it can be manipulated • When computer power is turned off, everything in main memory is lost 12C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 13. Central Processing Unit and Main Memory (cont’d.) • Main memory is an ordered sequence of memory cells – Each cell has a unique location in main memory, called the address of the cell • Each cell can contain either a programming instruction or data 13C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 14. Secondary Storage • Secondary storage: device that stores information permanently • Examples of secondary storage: – Hard disks – Flash drives – Floppy disks – Zip disks – CD-ROMs – Tapes 14C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 15. Input/Output Devices • Input devices feed data and programs into computers – Keyboard – Mouse – Secondary storage • Output devices display results – Monitor – Printer – Secondary storage 15C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 16. Software • Software: programs that do specific tasks • System programs control the computer – Operating system monitors the overall activity of the computer and provides services such as: • Memory management • Input/output activities • Storage management • Application programs perform a specific task – Word processors – Spreadsheets – Games 16C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 17. The Language of a Computer • Analog signals: continuous wave forms • Digital signals: sequences of 0s and 1s • Machine language: language of a computer; a sequence of 0s and 1s • Binary digit (bit): the digit 0 or 1 • Binary code (binary number): a sequence of 0s and 1s 17C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 18. The Language of a Computer (cont’d.) • Byte: – A sequence of eight bits • Kilobyte (KB): 210 bytes = 1024 bytes • ASCII (American Standard Code for Information Interchange) – 128 characters – A is encoded as 1000001 (66th character) – 3 is encoded as 0110011 18C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 19. 19C++ Programming: From Problem Analysis to Program Design, Seventh Edition The Language of a Computer (cont’d.)
  • 20. The Language of a Computer (cont’d.) • EBCDIC – Used by IBM – 256 characters • Unicode – 65536 characters – Two bytes are needed to store a character 20C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 21. The Evolution of Programming Languages • Early computers were programmed in machine language • To calculate wages = rate * hours in machine language: 100100 010001 //Load 100110 010010 //Multiply 100010 010011 //Store 21C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 22. The Evolution of Programming Languages (cont’d.) • Assembly language instructions are mnemonic • Assembler: translates a program written in assembly language into machine language • Using assembly language instructions, wages = rate • hours can be written as: LOAD rate MULT hour STOR wages 22C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 23. The Evolution of Programming Languages (cont’d.) • High-level languages include Basic, FORTRAN, COBOL, Pascal, C, C++, C#, and Java • Compiler: translates a program written in a high-level language into machine language • The equation wages = rate • hours can be written in C++ as: wages = rate * hours; 23C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 24. Processing a C++ Program #include <iostream> using namespace std; int main() { cout << "My first C++ program." << endl; return 0; } Sample Run: My first C++ program. 24C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 25. Processing a C++ Program (cont’d.) • To execute a C++ program: – Use an editor to create a source program in C++ – Preprocessor directives begin with # and are processed by the preprocessor – Use the compiler to: • Check that the program obeys the language rules • Translate into machine language (object program) 25C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 26. Processing a C++ Program (cont’d.) • To execute a C++ program (cont'd.): – Linker: • Combines object program with other programs provided by the SDK to create executable code • Library: contains prewritten code you can use – Loader: • Loads executable program into main memory – The last step is to execute the program • Some IDEs do all this with a Build or Rebuild command 26C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 27. Processing a C++ Program (cont’d.) 27C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 28. Programming with the Problem Analysis–Coding–Execution Cycle • Algorithm: – Step-by-step problem-solving process – Solution achieved in finite amount of time • Programming is a process of problem solving 28C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 29. The Problem Analysis–Coding– Execution Cycle (cont’d.) • Step 1: Analyze the problem – Outline the problem and its requirements – Design steps (algorithm) to solve the problem • Step 2: Implement the algorithm – Implement the algorithm in code – Verify that the algorithm works • Step 3: Maintain – Use and modify the program if the problem domain changes 29C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 30. The Problem Analysis–Coding– Execution Cycle (cont’d.) • Thoroughly understand the problem and all requirements – Does program require user interaction? – Does program manipulate data? – What is the output? • If the problem is complex, divide it into subproblems – Analyze and design algorithms for each subproblem • Check the correctness of algorithm – Can test using sample data – Some mathematical analysis might be required 30C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 31. The Problem Analysis–Coding– Execution Cycle (cont’d.) • Once the algorithm is designed and correctness verified – Write the equivalent code in high-level language • Enter the program using text editor 31C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 32. The Problem Analysis–Coding– Execution Cycle (cont’d.) • Run code through compiler • If compiler generates errors – Look at code and remove errors – Run code again through compiler • If there are no syntax errors – Compiler generates equivalent machine code • Linker links machine code with system resources 32C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 33. The Problem Analysis–Coding– Execution Cycle (cont’d.) • Once compiled and linked, loader can place program into main memory for execution • The final step is to execute the program • Compiler guarantees that the program follows the rules of the language – Does not guarantee that the program will run correctly 33C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 34. Example 1-1 • Design an algorithm to find the perimeter and area of a rectangle • The perimeter and area of the rectangle are given by the following formulas: perimeter = 2 * (length + width) area = length * width 34C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 35. Example 1-1 (cont’d.) • Algorithm: – Get length of the rectangle – Get width of the rectangle – Find the perimeter using the following equation: perimeter = 2 * (length + width) – Find the area using the following equation: area = length * width 35C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 36. Example 1-5 • Calculate each student’s grade – 10 students in a class; each student has taken five tests; each test is worth 100 points • Design algorithms to: – Calculate the grade for each student and class average – Find the average test score – Determine the grade • Data: students’ names; test scores 36C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 37. Example 1-5 (cont’d.) • Algorithm to determine the average test score: – Get the five test scores – Add the five test scores • Suppose sum stands for the sum of the test scores – Suppose average stands for the average test score: • average = sum / 5; 37C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 38. Example 1-5 (cont’d.) • Algorithm to determine the grade: if average is greater than or equal to 90 grade = A otherwise if average is greater than or equal to 80 and less than 90 grade = B otherwise if average is greater than or equal to 70 and less than 80 grade = C otherwise if average is greater than or equal to 60 and less than 70 grade = D otherwise grade = F 38C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 39. Example 1-5 (cont’d.) • Main algorithm is as follows: – totalAverage = 0; – Repeat the following for each student: • Get student’s name • Use the algorithm to find the average test score • Use the algorithm to find the grade • Update totalAverage by adding current student’s average test score – Determine the class average as follows: • classAverage = totalAverage / 10 39C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 40. Programming Methodologies • Two popular approaches to programming design – Structured – Object-oriented 40C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 41. Structured Programming • Structured design: – Dividing a problem into smaller subproblems • Structured programming: – Implementing a structured design • The structured design approach is also called: – Top-down (or bottom-up) design – Stepwise refinement – Modular programming 41C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 42. Object-Oriented Programming • Object-oriented design (OOD) – Identify components called objects – Determine how objects interact with each other • Specify relevant data and possible operations to be performed on that data • Each object consists of data and operations on that data 42C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 43. Object-Oriented Programming (cont’d.) • An object combines data and operations on the data into a single unit • A programming language that implements OOD is called an object-oriented programming (OOP) language • Must learn how to represent data in computer memory, how to manipulate data, and how to implement operations 43C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 44. Object-Oriented Programming (cont’d.) • Write algorithms and implement them in a programming language • Use functions to implement algorithms • Learn how to combine data and operations on the data into a single unit called an object • C++ was designed to implement OOD • OOD is used with structured design 44C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 45. ANSI/ISO Standard C++ • C++ evolved from C • C++ designed by Bjarne Stroustrup at Bell Laboratories in early 1980s – Many different C++ compilers were available • C++ programs were not always portable from one compiler to another • In mid-1998, ANSI/ISO C++ language standards were approved • Second standard called C++11 approved in 2011 45C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 46. Summary • Computer: electronic device that can perform arithmetic and logical operations • Computer system has hardware/software – Central processing unit (CPU): brain – Primary storage (MM) is volatile; secondary storage (e.g., disk) is permanent – Operating system monitors overall activity of the computer and provides services – Various kinds of languages 46C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 47. Summary (cont’d.) • Compiler: translates high-level language into machine code • Algorithm: step-by-step problem-solving process; solution in finite amount of time • Problem-solving process has three steps: – Analyze problem and design an algorithm – Implement the algorithm in code – Maintain the program 47C++ Programming: From Problem Analysis to Program Design, Seventh Edition
  • 48. Summary (cont’d.) • Structured design: – Problem is divided into smaller subproblems – Each subproblem is solved – Combine solutions to all subproblems • Object-oriented design (OOD): a program is a collection of interacting objects – Object: data and operations on those data 48C++ Programming: From Problem Analysis to Program Design, Seventh Edition