Uploaded by Ahmad Khaled

chapter 1

• Without software, the computer is useless.
• Software is developed with programming languages.
• C++ is one of the most popular programming languages.
– TIOBE Index
– LangPop.com
• C++ is suited for a wide variety of programming tasks.
C++ Versus C
• C++ evolved from C, and you can think of C as
being a subset of C++.
• So in learning C++, you’re also learning C (and
then some).
• Other popular languages that evolved from C
include Java, C#, Objective-C.
• 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
The Language of a Computer
• Digital devices (computers, iPods, cell phones, …)
use binary code to represent information. This
means they store all information (numbers, text,
images, music, …) as sequences of 0s and 1s.
• Each 0 or 1 in such a sequence is called a bit (short
for binary digit).
• Example of an 8-bit sequence: 01101100
• A typical song in an MP3 file might contain 40
million bits.
The Language of a Computer (cont’d.)
• Byte:
– A sequence of eight bits
• Kilobyte (KB): 210 bytes = 1024 bytes
• Table 1-1 on page 7(next slide) shows some other
related terms.
• This is useful general information, but not critical
to what we’ll do in this course.
The Language of a Computer (cont’d.)
The Language of a Computer (cont’d.)
• At least three different encodings have been used to
represent text as sequences of 0s and 1s.
• ASCII (American Standard Code for Information
– 128 characters; see Appendix C in textbook.
– Formerly used by IBM.
• Unicode
– 65,536 characters; covers most modern alphabets.
The Evolution of Programming Languages
• Early computers were programmed in machine language.,
which required the programmer to type sequences of 0s
and 1s.
• To calculate wages = rate * hours in machine
100100 010001
100110 010010
100010 010011
The Evolution of Programming Languages
• Assembly language replaces sequences of 0s and 1s
with mnemonics (abbreviations such as LOAD or
• Using assembly language instructions, wages =
rate * hours can be written as:
LOAD rate
MULT hour
STOR wages
The Evolution of Programming Languages
• High-level languages include Basic, FORTRAN,
COBOL, Pascal, C, C++, C#, and Java. Programs
written in these language look much more like
• Compiler: translates a program written in a highlevel language into machine language.
• The equation wages = rate * hours can be
written in C++ as:
wages = rate * hours;
Processing a C++ Program
Processing a C++ Program (cont’d.)
• Steps in processing a C++ program:
– Use an editor to create source
code in C++.
– Preprocessor directives begin
with # and are processed by
the preprocessor.
– Compiler:
• Checks that the program obeys
the language rules.
• Translates into machine
language (object program).
Processing a C++ Program (cont’d.)
• Steps in processing a C++ program (cont’d.):
– Linker:
• Combines object program with
other files to create executable
• Library: contains prewritten
code you can use.
– Loader:
• Loads executable program into
main memory.
– The last step is to execute the program.
Programming with the Problem Analysis–
Coding–Execution Cycle
• Algorithm:
– Step-by-step problemsolving process
– Solution achieved in finite
amount of time
• Programming is a process
of problem solving.
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
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
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