McGraw-Hill Technology Education McGraw-Hill Technology Education
Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 13A
Creating Computer Programs
McGraw-Hill Technology Education
Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.
What Is a Computer Program?
Computer programs
Also called software Are a list of instructions Instructions are called code CPU performs the instructions Three types
Operating system Utility Application
13A-3
Software Is Stored In Many Files
Executable files
Contain the instructions for the CPU Have extensions of .exe, or .com
13A-4
Software Is Stored In Many Files
Dynamic link libraries
Partial executable file Used to support executable files Have .dll extensions
13A-5
Software Is Stored In Many Files
Initialization files
Contain configuration settings for software Have a .ini extension Modern programs use the registry
13A-6
Software Is Stored In Many Files
Help files
Contain information about the software Information is indexed and searchable Provides an online manual Have a .chm or .hlp extension
13A-7
Software Is Stored In Many Files
Batch files
Used to automate tasks Hold a series of OS commands Have a .bat extension
13A-8
Hardware/Software Interaction
Program execution
Software executes at the CPU level Code to play a sound
Code generates an interrupt CPU tells the sound card to play Sound card plays the file
Programmer creates the code
13A-9
Hardware/Software Interaction
Code
Statements written in a programming language Writing code can be tedious
Code must be perfect Order of steps must be exact
Writing code is quite exciting
Problems are solved New ideas are formed
13A-10
Writing Code
13A-11
Hardware/Software Interaction
Machine code
Recall that computers think in binary Code is translated into machine code
CPU executes the machine code
CPUs have a unique machine code
13A-12
Hardware/Software Interaction
Programming languages
Simplifies the writing of code
English is used to describe the binary
Original code is called source code Several hundred languages exist
13A-13
Hardware/Software Interaction
Compilers and interpreters
Converts source code into binary
Allows code to execute
Checks source code for correctness
13A-14
Hardware/Software Interaction
Compiler
Creates an executable file
Contents are called object code
Executable can run on its own Each language has its own compiler C++ and Java are compiled languages
13A-15
Hardware/Software Interaction
Interpreter
Runs program one line at a time More flexible than compilers Slower than compilers Always needed to execute program Visual Basic and Perl are interpreted
13A-16
Planning a Computer Program
Plans
The steps to solve a problem Describe the expected results Programming without a plan is difficult
13A-17
Planning Tools
Pseudo code
Natural language statements that resemble code Describes what must be done Can be written by non programmers Programmers develop unique versions
13A-18
Planning Tools
Input-processing-output (IPO) charts
Determines what is needed Input column
Data inputted by the user
Processing column
Pseudo code describing the problem solution
Output column
Desired output from the program
13A-19
IPO Chart
13A-20
How Programs Solve Problems
Program control flow
Order program statements are executed Typically executed in order Constructs can change the flow
Decision statements Loops
13A-21
How Programs Solve Problems
Algorithm
Set of steps Always leads to a solution Steps are always the same Flowcharts can describe algorithms
Structured tool for drawing algorithms
Algorithms appear in all programs
13A-22
Flowchart
13A-23
How Programs Solve Problems
Heuristic
Set of steps Solution is usually found Solution may not be optimal Used when algorithms fail
Algorithm is nonexistent or too complex
Appear in more complex applications
Data mining Anti-virus software
13A-24
Structured Programming
Programming using defined structures Creates easy to read code Programs are efficient and run fast Several defined structures
13A-25
Structured Programming
Sequence structure
Describes the flow of the program Typically executed in order Branching statements allow multiple flows
13A-26
Structured Programming
Selection statement
Also called conditional statement Performs a true or false test Determines which code to execute next
13A-27
Structured Programming
Repetition statements
Also called looping structures Repeats a section of code
Until an exit condition is reached
13A-28
Object Oriented Programming
Also known as OOP Enhances structured programming Intuitive method of programming
13A-29
Object Oriented Programming
Code reuse
Code used in many projects Speeds up program development Simplifies program development
13A-30
Object Oriented Programming
Develops objects
All real world items are objects OOP develops code versions Contains data about the item Contains functionality Object encapsulates both into one package
13A-31
Chapter 13A
End of Chapter
McGraw-Hill Technology Education
Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.