Title: Programming Logic and Design Fifth Edition, Comprehensive
1Programming Logic and Design Fifth Edition,
Comprehensive
- Chapter 1
- An Overview of Computers and Logic
2Objectives
- Understand computer components and operations
- Learn about the steps involved in the programming
process - Learn about the data hierarchy and file input
- Use flowchart symbols and pseudocode statements
- Use and name variables
3Objectives (continued)
- Use a sentinel, or dummy value, to end a program
- Manage large flowcharts
- Assign values to variables
- Recognize the proper format of assignment
statements - Describe data types
- Understand the evolution of programming
techniques
4Understanding Computer Components and Operations
- Hardware and software the two major components
of any computer system - Hardware equipment, or devices
- Software programs that contain instructions for
the computer - Four major operations in a computer
- Input
- Processing
- Output
- Storage
5Understanding Computer Components and Operations
(continued)
- Input devices allow data to enter the computer
- Mouse, keyboard, scanner
- Processing working on the data
- Organizing data
- Checking data for accuracy
- Mathematical or other manipulations on data
- Central Processing Unit (CPU) hardware that
performs the tasks
6Understanding Computer Components and Operations
(continued)
- Output devices provide data to the user
- Printer, monitor, speakers
- Programming language special language containing
instructions for the computer - Visual Basic, Java, C, C, COBOL
- Syntax rules governing word usage and
punctuation in the language
7Understanding Computer Components and Operations
(continued)
- Machine language controls the computers on/off
circuitry - Compiler or interpreter software that translates
programming languages to machine language - Program must be free of syntax errors to be run,
or executed, on a computer - To function properly, the logic must be correct
8Understanding Computer Components and Operations
(continued)
- What is wrong with this logic for making a cake?
- Stir
- Add two eggs
- Bake at 350 degrees for 45 minutes
- Add three cups of flour
9Understanding Computer Components and Operations
(continued)
- Logic errors, or semantic errors, are more
difficult to locate than syntax errors - Logic for multiplying a number by 2 (includes
input, processing, and output statements) - Get input number.
- Compute calculated answer as
- inputNumber times 2.
- Print calculatedAnswer.
10Understanding Computer Components and Operations
(continued)
- Two storage categories internal and external
- Internal storage
- Main memory, random access memory (RAM)
- Located inside the computer system
- Volatile contents are lost when power goes down
- External storage
- Persistent contents are relatively permanent
- Floppy drive, hard drive, flash media, magnetic
tape - Located outside the computer system
11Understanding the Programming Process
- Six programming phases
- Understand the problem
- Plan the logic
- Code the program
- Use software to translate the program to machine
language - Test the program
- Put the program into production
12Understanding the Problem
- May be the most difficult phase
- Users may not be able to articulate their needs
well - User needs may be changing frequently
- Programmers may have to learn the users
functional job tasks - Failure to understand the problem is the major
cause of most project failures
13Planning the Logic
- Plan the steps that the program will take
- Use tools such as flowcharts and pseudocode
- Flowchart a pictorial representation of the
logic steps - Pseudocode Natural language representation of
the logic - Walk through the logic before coding by
desk-checking the logic
14Coding the Program
- Select the programming language
- Some languages more efficient for certain tasks
- All languages handle input, arithmetic
processing, output, other standard functions - Logic can be executed in any number of languages
- Write the instructions
- Planning generally more difficult than coding
15Using Software to Translate the Program into
Machine Language
- Programmers write instructions in high-level
languages that resemble a natural language - Compilers or interpreters change the programs
into a low-level machine language that can be
executed - Syntax errors are identified by the compiler or
interpreter
16Using Software to Translate the Program into
Machine Language (continued)
Figure 1-1 Creating an executable program
17Testing the Program
- Execute it with sample data and check results
- Identify logic errors and correct them
- Choose test data carefully to exercise all
branches of the logic
18Putting the Program into Production
- Might mean simply running the program once
- Process might take months if program is used on
regular basis or is part of larger development - Train data-entry people and users
- Change existing data
- Conversion entire set of actions organization
must take to switch over to new program(s)
19Understanding Interactive User Input
- Prompt message displayed on a monitor
- Asks the user for a response
- Command prompt location to type entries to
communicate with the operating system - Graphical User Interface (GUI) allows users to
interact with a program in a graphical environment
20Understanding Interactive User Input (continued)
Figure 1-2 A prompt, response, and output in a
command line environment
21Understanding Interactive User Input (continued)
Figure 1-3 A prompt, response, and output in a
GUI environment
22Understanding the Data Hierarchy and File Input
- Data hierarchy ordering of data types by size
- Character single symbol
- A, 7,
- Field group of characters forming a single data
item - Smith
- Record a group of related fields
- Customer record containing name and address
fields - File a group of related records
- Customer file, containing all customer records
- Database collection of related files, called
tables, that serve the information needs of the
organization
23Understanding the Data Hierarchy and File Input
(continued)
Figure 1-4 The data hierarchy
24Understanding the Data Hierarchy and File Input
(continued)
Figure 1-5 The EMPLOYEE file represented as a
stack of index cards
25Using Flowchart Symbols and Pseudocode Statements
- Flowchart pictorial representation of the logic
- Pseudocode English-like representation of the
logic - Example
- start
- get inputNumber
- compute calculatedAnswer as
- inputNumber times 2
- print calculatedAnswer
- stop
26Using Flowchart Symbols and Pseudocode Statements
(continued)
Figure 1-6 Input symbol
27Using Flowchart Symbols and Pseudocode Statements
(continued)
Figure 1-7 Processing symbol
28Using Flowchart Symbols and Pseudocode Statements
(continued)
Figure 1-8 Output symbol
29Using Flowchart Symbols and Pseudocode Statements
(continued)
- Flowlines
- Connect the steps
- Show the sequence of statements
- Have arrows to show the direction
- Terminal symbol (start/stop symbol)
- Shows the start and end points of the statements
- Lozenge shape
30Using Flowchart Symbols and Pseudocode Statements
(continued)
Figure 1-9 Flowchart and pseudocode of program
that doubles a number
31Using Flowchart Symbols and Pseudocode Statements
(continued)
Figure 1-10 Inefficient pseudocode for program
that doubles 10,000 numbers
32Using Flowchart Symbols and Pseudocode Statements
(continued)
Figure 1-11 Flowchart of infinite
number-doubling program
33Using and Naming Variables
- Variable a memory location whose contents can
vary also called an identifier - Each programming language has its own rules for
naming identifiers, including - Legal characters
- Maximum length
- Use of upper- or lowercase
- Variable name must be a single word, but can be
formed from several words - rate, interestRate, interest_rate
34Using and Naming Variables (continued)
- Choose meaningful names for variables
- Improves the readability and maintainability of
code
Table 1-1 Suitability of suggested variable
names for an employees last name
35Ending a Program by Using Sentinel
Values
- Infinite loop a sequence of statements that
repeats forever with no escape - Avoid infinite loops by testing for a
predetermined value that means stop processing - Decision testing a value
- Flowchart decision symbol a diamond shape with
two flowlines, one for Yes and one for No
36Ending a Program by Using Sentinel Values
(continued)
Figure 1-12 Flowchart of number-doubling program
with sentinel value of 0
37Ending a Program by Using Sentinel Values
(continued)
- Sentinel value (or dummy value)
- Does not represent real data
- Signal to stop
- Can be used with input from files or from users
- End-of-file (EOF) marker
- Code stored in the file that marks the end of the
data - Usually used instead of a sentinel value for file
input
38Ending a Program by Using Sentinel Values
(continued)
Figure 1-13 Flowchart using eof
39Managing Large Flowcharts
- Flowchart connector symbol
- Marks a logic transfer to another location in the
flowchart - Transfer location can be on the same page or on
another page - On-page symbol a circle with a number or letter
to identify the matching transfer location - Off-page symbol a square with a pointed bottom,
containing page number and a number of letter to
identify the matching transfer location
40Managing Large Flowcharts (continued)
Figure 1-14 Flowchart using the connector
41Assigning Values to Variables
- Assignment statement
- Assigns a value to a variable
- Variable must appear on the left side, value on
the right side of the assignment operator - Right side may be an expression that will be
evaluated before storing the value in the
variable - Assignment operator the equal sign () in most
languages - Variable
- Memory location has an address and a value
- Value (contents) is used for various operations
42Understanding Data Types
- Two basic data types
- Text
- Numeric
- Numeric data stored by numeric variables
- Text data stored by string, text, or character
variables - Constants
- Values that do not change while the program is
running - Have identifiers, and can be used like variables
for calculations, but cannot be assigned new
values
43Understanding Data Types (continued)
- Some programming languages implement several
numeric data types, such as - Integer whole numbers only
- Floating-point fractional numeric values with
decimal points - Character or string data is represented as
characters enclosed in quotation marks - x, color
- Data types must be used appropriately
44Understanding Data Types (continued)
Table 1-2 Some examples of legal and illegal
assignments
45Understanding the Evolution of Programming
Techniques
- Programming began in the 1940s, using memory
addresses and machine code directly - Higher-level languages were developed to allow
English-like instructions - Older programs were monolithic, and ran from
beginning to end - Newer programs contain modules that can be
combined to form programs
46Understanding the Evolution of Programming
Techniques (continued)
- Two major programming techniques
- Procedural programming
- Object-oriented programming
- Procedural programming focuses on the procedures
that programmers create - Object-oriented programming focuses on objects
that represent real-world things and their
attributes and behaviors - Both techniques employ reusable program modules
47Summary
- Four major computer operations
- Input
- Processing
- Output
- Storage
- Six programming phases
- Understand the problem
- Plan the logic
- Code the program
- Translate the program to machine language
- Test the program
- Deploy the program
48Summary (continued)
- Data hierarchy
- Character
- Field
- Record
- File
- Database
- Flowchart pictorial representation of program
logic - Variables named memory locations that contain
values
49Summary (continued)
- Testing a value involves making a decision
- Assignment statements store a value into a
variable - Assignment operator the equal () sign in most
languages
50Summary (continued)
- Two major data types text and numeric
- Procedural programming focuses on actions
performed on data - Object-oriented programming focuses on
representing and manipulating objects