Chapter 1: Introduction to Computers and
Programming
Starting Out with C++
Early Objects
Seventh Edition
by Tony Gaddis, Judy Walters,
and Godfrey Muganda
MODIFIED FOR CMPS 1043 – Computer Science I
Midwestern State University – Department of Computer Science
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Topics
1.1 Why Program?
1.2 Computer Systems: Hardware and
Software
1.3 Programs and Programming Languages
1.4 What Is a Program Made of?
1.5 Input, Processing, and Output
1.6 The Programming Process
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-2
1.1 Why Program?
Computer – programmable machine designed to
receive input, follow instructions, produce output
Program – instructions written in a special
language and stored in computer memory to
make it accomplish a task
Programmer – person who writes instructions
(programs) to make computer perform a task
SO, without programmers, no programs; without
programs, the computer cannot do anything
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-3
1.2 Computer Systems: Hardware and
Software
Main Hardware Component Categories
*physical components that make up a
computer
1.
2.
3.
4.
5.
Central Processing Unit (CPU)
Main Memory (RAM)
Secondary Storage Devices
Input Devices
Output Devices
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-4
Main Hardware Component Categories
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-5
Central Processing Unit (CPU)
Includes
• Control Unit
– Retrieves & decodes program
instructions
– Coordinates computer
operations
• Arithmetic & Logic Unit
(ALU)
– Performs mathematical
operations & comparisons
• Where are instructions &
data stored? Registers
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-6
The CPU's Role in Running a Program
Machine/Execution CYCLE :
• Fetch: get the next program instruction
from main memory, copy into CPU
• Decode: interpret instruction & generate a
signal
• Execute: route the signal to the
appropriate component to perform an
operation
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-7
Main Memory (aka Memory)
• Holds both program
instructions & data
• Volatile – erased
when power is
removed or computer
turned off
• Also called Random
Access Memory
(RAM) or Memory
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-8
Main Memory Organization
• Bit
– Smallest piece of memory
– Stands for binary digit
– Has values 0 (off) or 1 (on)
8 bits
• Byte
– 8 consecutive bits
0 1 1 0 0 1 1 1
– Addressable
• Word
– Usually 4 consecutive bytes
– Has an address
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1 byte
1-9
Secondary Storage
• Non-volatile - data retained when
program is not running or computer is
turned off
• Comes in variety of media
– optical: CD or DVD drive
– flash: USB flash drive
– magnetic: floppy & hard disk drive, internal
or external
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-10
Input Devices
• Used to send information to the
computer from outside
• Many devices can provide input
– keyboard, mouse, microphone, scanner,
digital camera, disk drive, CD/DVD drive,
USB flash drive
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-11
Output Devices
• Used to send information from the
computer to the outside
• Many devices can be used for output
– Computer screen, printer, speakers, disk
drive, CD/DVD recorder, USB flash drive
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-12
Software Programs That Run on a
Computer
• Operating System Software
– programs that manage the computer hardware & other
programs that run on the computer
– How many programs can run at once?
• Single tasking - one program at a time (MS-DOS)
• Multitasking – multiple programs at a time (UNIX, Windows
XP/Vista/7/8)
– How many people can use computer at the same time?
• Single user – MS-DOS, early versions of Windows
• Multiuser – UNIX, Windows
• Application Software
– programs that provide services to the user.
Ex: word processing, games, programs to solve specific problems
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-13
1.3 Programs and Programming
Languages
• Program
a set of instructions directing a computer to
perform a task
• Programming Language
a language used to write programs
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-14
Programs and Programming Languages
Types of languages
– Low-level: used for communication with computer
hardware directly – Machine language, Assembly
language – machine specific
– High-level: closer to human language, English-like
Well known high-level languages (p. 9)
Basic, C, C++, C#, Java, COBOL, FORTRAN,
Pascal, JavaScript, Python, Ruby, Visual Basic
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-15
From a High-level Program to an
Executable File
1. Create file containing the program with a
text editor.

What form is program file? ASCII (plain text)
2. Run preprocessor to convert source file
directives to source code program
statements.
3. Run compiler to convert source program
statements into machine instructions.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-16
From a High-level Program to an
Executable File
4. Run linker to connect hardware-specific
library code to machine instructions,
producing an executable file.
Steps 2) through 4) are often performed by a
single command or button click.
Errors occurring at any step will prevent
execution of the following steps.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-17
From a High-level Program to an
Executable File
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-18
ASCII Code
• Character code consisting or 8 (7) bits
• See Appendix A (page 1141)
A
B
a
?
9
• Others:
0100 0001
0100 0010
0110 0001
0011 1111
0011 1001
EBCDIC, Unicode
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-19
1.4 What Is a Program Made Of?
Common elements in programming
languages:
– Key Words (Reserved Words)
– Programmer-Defined Identifiers
– Operators
– Punctuation
– Syntax
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-20
Example Program
#include <iostream>
using namespace std;
int main()
{
double num1 = 5,
num2, sum;
num2 = 12;
sum = num1 + num2;
cout << "The sum is " << sum;
return 0;
}
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-21
Key Words
• Also known as reserved words
• Have a special meaning in C++
• Cannot be used for another purpose
• Written using lowercase letters
• Examples in program (shown in green):
using namespace std;
int main()
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-22
Programmer-Defined Identifiers
• Names made up by the programmer
• Not part of the C++ language
• Used to represent various things, such as
variables (memory locations)
• Example in program (shown in green):
double num1
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-23
Operators
• Used to perform operations on data
• Many types of operators
– Arithmetic: +, -, *, /
– Assignment: =
• Examples in program (shown in green):
num2 = 12;
sum = num1 + num2;
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-24
Punctuation
• Characters that mark the end of a
statement or separate items in a list
• Generally: semicolon & comma
• Example in program (shown in green):
double num1 = 5,
num2, sum;
num2 = 12;
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-25
Lines vs. Statements
In a source file,
A line is all of the characters entered before a
carriage return.
Blank lines improve the readability of a
program.
Here are four sample lines. Line 3 is blank:
double num1 = 5, num2, sum;
num2 = 12;
sum = num1 + num2;
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-26
Lines vs. Statements
In a source file,
A statement is an instruction to the computer to
perform an action.
A ; indicates the end of a statement
A statement may contain keywords, operators,
programmer-defined identifiers, punctuation.
A statement may fit on one line or it may occupy
multiple lines.
Here is a single statement that uses two lines:
double num1 = 5,
num2, sum;
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-27
Variables
• A variable is a named location in computer
memory (in RAM)
• It holds a piece of data, that can change
• It must be defined before it can be used
– Specify variable name & type
• Example variable definition:
int num1;
double num2;
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-28
1.5 Input, Processing, and Output
Three steps that many programs perform
1) Gather input data
-
from keyboard
from files on disk drives
2) Process the input data
3) Display the results as output
-
send it to the screen or a printer
write it to a file
Input  Process  Output
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-29
ERRORS (aka Bugs)
1. Syntax: rule of format/structure are not followed
1. Detected during compilation
2. Misspellings, capitalizations, punctuation
2. Runtime (Exception)
1. Detected during execution of program
2. E.G. Variable with no value, divide by zero
3. Semantic – programmer meant one thing but
wrote another
1. Detected after execution by programmer/user
2. E.G. Meant to + but *, Brackets misplaced { }
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-30
Debugging Process
• Trace by hand
– Play the “stupid” computer
• Use compiler Debugger Functions & Tools
• Incremental Development
– Write small part of program
– Compile & Run until correct
– Add additional codes
– Repeat
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-31
Interpreter vs. Compiler
For each
instruction/command
• Decode the instruction
• Execute
• If there is a syntax or
runtime error, STOP
• Basic (some versions)
• Python
For the entire program
• Convert each instruction
into machine code
– If there is a syntax
error, try to keep going
but stop before
execution
• Execute entire program
– If there is a runtime
error, stop execution
• C++, Pascal, Fortran
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-32
1.6 The Programming Process
1. Define what the program is to do.
2. Visualize the program running on the computer.
3. Use design tools to create a model of program.
Problem Solving Steps, Hierarchy charts, flowcharts,
pseudo code, etc.
4. Check the model for logical errors.
5. Write the program source code.
6. Compile the source code.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-33
The Programming Process (cont.)
7. Correct any errors found during compilation.
8. Link the program to create an executable file.
9. Run the program using test data for input.
10. Correct any errors found while running the
program.
Repeat steps 4 - 10 as many times as necessary.
11. Validate the results of the program.
Does the program do what was defined in step 1?
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-34
Homework
• Vocabulary posted on the web site
– Will be collected for grading!!
• RECOMMENDED
– 7E-Pg. 22 -25: 8E-Pg. 23-26:Questions 1 – 33
(will not be collected for grading, but will help
you prepare for quizzes & test)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-35
Descargar

PowerPoint Slides for Starting Out with C++ Early …