programming logic and design fifth edition, comprehensive chapter 1 an overview of computers and...

50
Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Upload: winfred-leonard

Post on 04-Jan-2016

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design

Fifth Edition, Comprehensive

Chapter 1An Overview of Computers and Logic

Page 2: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 2

Objectives

• 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

Page 3: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 3

Objectives (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

Page 4: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 4

Understanding 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

Page 5: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 5

Understanding 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

Page 6: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 6

Understanding 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

Page 7: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 7

Understanding Computer Components and Operations (continued)

• Machine language: controls the computer’s 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

Page 8: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 8

Understanding Computer Components and Operations (continued)

• What is wrong with this logic for making a cake?StirAdd two eggsBake at 350 degrees for 45 minutesAdd three cups of flour

Page 9: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 9

Understanding 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.

Page 10: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 10

Understanding 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

Page 11: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 11

Understanding 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

Page 12: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 12

Understanding 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 user’s functional job tasks

• Failure to understand the problem is the major cause of most project failures

Page 13: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 13

Planning 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

Page 14: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 14

Coding 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

Page 15: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 15

Using 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

Page 16: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 16

Using Software to Translate the Program into Machine Language (continued)

Figure 1-1 Creating an executable program

Page 17: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 17

Testing 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

Page 18: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 18

Putting 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)

Page 19: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 19

Understanding 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

Page 20: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 20

Understanding Interactive User Input (continued)

Figure 1-2 A prompt, response, and output in a command line environment

Page 21: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 21

Understanding Interactive User Input (continued)

Figure 1-3 A prompt, response, and output in a GUI environment

Page 22: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 22

Understanding 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

Page 23: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 23

Understanding the Data Hierarchy and File Input (continued)

Figure 1-4 The data hierarchy

Page 24: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 24

Understanding the Data Hierarchy and File Input (continued)

Figure 1-5 The EMPLOYEE file represented as a stack of index cards

Page 25: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 25

Using 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

Page 26: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 26

Using Flowchart Symbols and Pseudocode Statements (continued)

Figure 1-6 Input symbol

Page 27: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 27

Using Flowchart Symbols and Pseudocode Statements (continued)

Figure 1-7 Processing symbol

Page 28: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 28

Using Flowchart Symbols and Pseudocode Statements (continued)

Figure 1-8 Output symbol

Page 29: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 29

Using 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

Page 30: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 30

Using Flowchart Symbols and Pseudocode Statements (continued)

Figure 1-9 Flowchart and pseudocode of program that doubles a number

Page 31: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 31

Using Flowchart Symbols and Pseudocode Statements (continued)

Figure 1-10 Inefficient pseudocode for program that doubles 10,000 numbers

Page 32: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 32

Using Flowchart Symbols and Pseudocode Statements (continued)

Figure 1-11 Flowchart of infinite number-doubling program

Page 33: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 33

Using 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

Page 34: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 34

Using 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 employee’s last name

Page 35: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 35

Ending 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

Page 36: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 36

Ending a Program by Using Sentinel Values (continued)

Figure 1-12 Flowchart of number-doubling program with sentinel value of 0

Page 37: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 37

Ending 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

Page 38: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 38

Ending a Program by Using Sentinel Values (continued)

Figure 1-13 Flowchart using eof

Page 39: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 39

Managing 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

Page 40: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 40

Managing Large Flowcharts (continued)

Figure 1-14 Flowchart using the connector

Page 41: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 41

Assigning 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

Page 42: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 42

Understanding 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

Page 43: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 43

Understanding 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

Page 44: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 44

Understanding Data Types (continued)

Table 1-2 Some examples of legal and illegal assignments

Page 45: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 45

Understanding 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

Page 46: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 46

Understanding 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

Page 47: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 47

Summary

• 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

Page 48: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 48

Summary (continued)

• Data hierarchy: – Character – Field – Record – File – Database

• Flowchart: pictorial representation of program logic

• Variables: named memory locations that contain values

Page 49: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 49

Summary (continued)

• Testing a value involves making a decision

• Assignment statements: store a value into a variable

• Assignment operator: the equal (=) sign in most languages

Page 50: Programming Logic and Design Fifth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Programming Logic and Design, Fifth Edition, Comprehensive 50

Summary (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