15 June 2008

IT_Chapter_13A

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

Software Is Stored In Many Files

• Executable files

– Contain the instructions for the CPU

– Have extensions of .exe, or .com

• Dynamic link libraries

– Partial executable file

– Used to support executable files

– Have .dll extensions

• Initialization files

– Contain configuration settings for software

– Have a .ini extension

– Modern programs use the registry

• Help files

– Contain information about the software

– Information is indexed and searchable

– Provides an online manual

– Have a .chm or .hlp extension

• Batch files

– Used to automate tasks

– Hold a series of OS commands

– Have a .bat extension

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

• 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

• 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

• Programming languages

– Simplifies the writing of code

• English is used to describe the binary

– Original code is called source code

– Several hundred languages exist

\

• Compilers and interpreters

– Converts source code into binary

• Allows code to execute

– Checks source code for correctness

• 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

• 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

Planning a Computer Program

• Plans

– The steps to solve a problem

– Describe the expected results

– Programming without a plan is difficult

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

• 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

How Programs Solve Problems

• Program control flow

– Order program statements are executed

– Typically executed in order

– Constructs can change the flow

• Decision statements

• Loops

• 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

• 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

Structured Programming

• Programming using defined structures

• Creates easy to read code

• Programs are efficient and run fast

• Several defined structures

• Sequence structure

– Describes the flow of the program

– Typically executed in order

– Branching statements allow multiple flows

• Selection statement

– Also called conditional statement

– Performs a true or false test

– Determines which code to execute next

• Repetition statements

– Also called looping structures

– Repeats a section of code

• Until an exit condition is reached

Object Oriented Programming

• Also known as OOP

• Enhances structured programming

• Intuitive method of programming

• Code reuse

– Code used in many projects

– Speeds up program development

– Simplifies program development

• 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

No comments:

Post a Comment