introduction to programming

40
Programming Logic and Design Fourth Edition, Comprehensive Chapter 1 An Overview of Computers and Logic

Upload: chaffey-college

Post on 19-Dec-2014

3.967 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Introduction to Programming

Programming Logic and Design

Fourth Edition, Comprehensive

Chapter 1An Overview of Computers and Logic

Page 2: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 2

Objectives

• Understand computer components and operations

• Describe the steps involved in the programming process

• Describe the data hierarchy

• Understand how to use flowchart symbols and pseudocode statements

• Use and name variables

Page 3: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 3

Objectives (continued)

• Use a sentinel, or dummy value, to end a program

• Use a connector symbol

• Assign values to variables

• Recognize the proper format of assignment statements

• Describe data types

• Understand the evolution of programming techniques

Page 4: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 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: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 5

Understanding Computer Components and Operations (continued)

• Input devices: allow data to enter the computer– Mouse, keyboard, scanner

• Processing: working on the data; such as:– Organizing data – Checking data for accuracy – Mathematical or other manipulations on data

• Central Processing Unit (CPU): hardware that performs the tasks

Page 6: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 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: the rules governing word usage and punctuation in the language

• Machine language: a language that controls the computer’s on/off circuitry

• Compiler or interpreter: software that translates programming languages to machine language

Page 7: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 7

Understanding Computer Components and Operations (continued)

• A program must be free of syntax errors to be run, or executed, on a computer

• To function properly, the logic must be correct• What’s wrong with this logic for making a cake?

Page 8: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 8

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)

Page 9: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 9

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 10: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 10

Understanding the Programming Process

• Six programming phases:1. Understand the problem

2. Plan the logic

3. Code the program

4. Use software to translate the program to machine language

5. Test the program

6. Deploy the program into production

Page 11: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 11

Understanding the Programming Process (continued)

• 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 12: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 12

Understanding the Programming Process (continued)

• 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: English-like representation of the logic– Walk through the logic before coding by desk-

checking the logic

Page 13: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 13

Understanding the Programming Process (continued)

• Coding the program:– Select the programming language– Write the instructions

• Using software to translate the program into machine language:– Programmers write instructions in English-like high-level

languages– Compilers or interpreters change the programs into low-

level machine language that can be executed– Syntax errors are identified by the compiler or

interpreter

Page 14: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 14

Understanding the Programming Process (continued)

Page 15: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 15

Understanding the Programming Process (continued)

• 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

• Putting the program into production– Do this after testing is complete and all known errors

have been corrected– May require coordination with other related activities

or software

Page 16: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 16

Understanding the Data Hierarchy

• Data hierarchy: ordering of data types by size– Character: single symbol (letter, number, special

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 17: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 17

Understanding the Data Hierarchy (continued)

Page 18: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 18

Using Flowchart Symbols and Pseudocode Statements

• Flowchart: pictorial representation of the logic

• Pseudocode: English-like representation of the logic– Example:

Page 19: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 19

Using Flowchart Symbols and Pseudocode Statements (continued)

• Flowchart input symbol:

Page 20: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 20

Using Flowchart Symbols and Pseudocode Statements (continued)

• Flowchart processing symbol

Page 21: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 21

Using Flowchart Symbols and Pseudocode Statements (continued)

• Flowchart output symbol:

Page 22: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 22

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 23: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 23

Using Flowchart Symbols and Pseudocode Statements (continued)

Page 24: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 24

Using Flowchart Symbols and Pseudocode Statements (continued)

• Back-pointing arrows show statements that will be repeated

Page 25: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 25

Using and Naming Variables

• Variable: a memory location whose contents can vary; also called an identifier

• Each programming language has it own rules for naming identifiers, including:– Legal characters– Maximum length– Use of upper or lower case

• Variable name must be a single word, but can be formed from several words– rate, interestRate, interest_rate

Page 26: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 26

Using and Naming Variables (continued)

• Choose meaningful names for variables– Improves the readability and maintainability of code

Page 27: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 27

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 28: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 28

Ending a Program by Using Sentinel Values (continued)

Page 29: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 29

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 30: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 30

Ending a Program by Using Sentinel Values (continued)

Page 31: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 31

Using the Connector

• 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 32: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 32

Using the Connector (continued)

Page 33: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 33

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 34: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 34

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 35: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 35

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 36: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 36

Understanding Data Types (continued)

Page 37: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 37

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 38: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 38

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 39: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 39

Summary

• Four major computer operations: input, processing, output, and 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

• Data hierarchy: character -> field -> record -> file -> database

• Flowchart: pictorial representation of program logic• Variables: named memory locations that contain

values

Page 40: Introduction to Programming

Programming Logic and Design, Introductory, Fourth Edition 40

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

• Two major data types: text and numeric

• Procedural programming focuses on actions performed on data

• Object-oriented programming focuses on representing and manipulation objects