© paradigm publishing inc. 12-1 chapter 12 programming concepts and languages

37
© Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

Upload: collin-wiggins

Post on 25-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-1

Chapter 12Programming Concepts and Languages

Page 2: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-2

Presentation Overview

• Programming Concepts• Problem-Solving Techniques• The Evolution of Programming Approaches• Programming Development and Documenta

tion Tools• Programming Errors• The Software Development Life Cycle• Major Programming Languages

Page 3: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-3

Programming Concepts

What makes up a programming language?– Program – instructions telling a computer how to

perform tasks– Programming languages – languages that

communicate with the computer to create programs– Source code – text files that make up a

programming language– Four main computer language programming

elements are variables, executable statements, looping, and decision statements.

Page 4: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-4

Programming Concepts

High-Level versus Low-Level Languages– Low-level language (machine code) is a binary

language consisting of 1s and 0s; runs faster and takes up less disk space.

– High-level language is similar to natural languages, making it easier to learn and use.

Page 5: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-5

Programming Concepts

Each generation of programs builds on the contributions of the group of languages that preceded it.

Page 6: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-6

Programming Concepts

Classic Programming Elements– Variable – data value stored in computer memory– Executable statement –performs an action and

then proceeds to the next statement in sequence– Looping – allows a program to return to a

previously executed instruction and repeat it– Decision statement – point in a program where

different actions may be performed depending on specific conditions

Page 7: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-7

Programming Concepts

Looping allows a computer program to continuously repeat the same steps, such as a program designed to direct a traffic light to display yellow, red, and green lights at a consistent rate.

Page 8: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-8

Programming Concepts

Using an if-then statement based on a particular action, such as pushing the crosswalk button, a program can interrupt the looping pattern, making the program more useful.

Page 9: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-9

Problem-Solving TechniquesTop-down design approach helps programmers break a large project into manageable parts. Breakdown process continues until there are no more steps.

Page 10: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-10

Problem-Solving Techniques

Problem-Solving Steps1. Identify the problem.

2. Analyze the problem.

3. Brainstorm solutions and choose the best one.

4. Write the algorithm.

5. Prototype the solution.

6. Implement and test the solution.

Page 11: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-11

Problem-Solving Techniques

Step-by-step pseudocode algorithm for changing a lightbulb.

Page 12: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-12

The Evolution of Programming Approaches

Structured Programming– Creates groups of instructions as independent

elements.– Structured groups of instructions are built on a

routine, which is a section of a program to handle a function.

– A routine is broken down into steps to accomplish the function.

Page 13: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-13

The Evolution of Programming Approaches

Modules– Code modules handle separate components of a

program.– Each module is a solid portion of a larger structure.– Modules are reusable, and modularity helps in

tracking down errors.– A macro is a recording of steps to perform a

repetitive task.

Page 14: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-14

The Evolution of Programming Approaches

Object-Oriented Programming– Object-oriented programming (OOP) defines

each module (object) with definite rules for interfacing and a protected set of variables.

– Protected variables allow a programmer to prevent data from being altered during program execution.

Page 15: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-15

The Evolution of Programming Approaches

Rapid Application DevelopmentRapid application development (RAD) reduces cost by decreasing time needed to develop a project.

Programmers using RAD follow guidelines• Use visual development (4GL) tools when possible• Rapidly prototype new projects• Approach coding with these priorities – Use existing code first. – Buy someone else’s code second. – Write new code last.

Page 16: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-16

Programming Development and Documentation Tools

Compilers and Interpreters– Compiler – program that translates programming

language source code into machine code– Interpreter – translates instructions one-by-one as

source code is being executed; identifies errors as they are encountered, including the line containing the error

Page 17: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-17

Programming Development and Documentation Tools

Debuggers– Debugger – a software tool that helps programmers

find errors quickly.– Allows programmers to examine closely what is

happening when a program runs.– Usually an integral component of compilers and

interpreters.

Page 18: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-18

Programming Development and Documentation Tools

Document Tools– Flowchart – provides a visual diagram of an

algorithm– CASE tools – help programming team schedule and

coordinate its operations– Comment – informal message inserted into a

program usually to explain source code to later users

Page 19: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-19

Programming Development and Documentation Tools

These symbols are used in flowcharts to represent the logic of a program.

Page 20: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-20

Programming Development and Documentation Tools

Flowcharts help programmers visualize the steps in a software program.

Page 21: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-21

Programming Development and Documentation Tools

Flowcharts help programmers visualize the steps in a software program.

Page 22: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-22

Programming Errors

What programming errors are in programs?– Syntax errors – typing errors or misunderstanding of

rules of the language– Logic errors – program instructs computer to

perform an action incorrectly– Run-time errors – mistakes that occur when an

application is running (crash or infinite loop)– Style errors – poorly written programming code that

may cause dissatisfaction with program

Page 23: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-23

The Software Development Life CycleWhat are the steps in the software development life cycle?

The software development life cycle involves planning, designing, implementing, testing, and release of application software.

Page 24: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-24

Major Programming Languages

Commonly used programming languages

Page 25: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-25

Major Programming Languages

Machine Code– programming language that computers actually read

and interpret– machine code written in a binary string of 1s and 0s– difficult to memorize the long binary strings that

comprise the machine code

Page 26: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-26

Major Programming Languages

Assembly Language– uses symbols and words to represent elements of

machine code– must be converted to machine code by a compiler– runs fastest and uses least memory– programs are difficult to write and development times

are lengthened

Page 27: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-27

Major Programming Languages

COBOL– used chiefly for business applications by large

institutions and companies– is slow and cumbersome language, but has large body

of existing code and many programmers know the language

Page 28: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-28

Major Programming Languages

RPG– commonly used in business environments– inefficient, but simplifies coding of database

applications– is familiar to many programmers– often used on midrange and mainframe computers

Page 29: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-29

Major Programming Languages

FORTRAN– for many years, the language of choice for math,

science, and engineering projects– still in use today in factories and laboratories

Page 30: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-30

Major Programming Languages

BASIC– high-level language that is friendlier and more natural

than COBOL or FORTRAN.– runs slowly, but faster to develop for programmers.

This sequence of code will print the numbers 1 to 10.

Page 31: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-31

Major Programming Languages

Visual Basic (VB)– language of choice for developing software

prototypes or for developing interfaces for Windows platforms

– quick and easy to develop, but run slowly and is demanding of RAM and disk space

– supports graphic interfaces

Page 32: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-32

Major Programming Languages

C– compromise between high-level and low-level

languages, containing components of BASIC and assembly language

– not as easy to read as BASIC, but runs considerably faster and uses less space

Page 33: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-33

Major Programming Languages

C++– superset of C; any C program should run in C++.– added features such as object-oriented programming.

This sequence of code will print the numbers 1 to 10.

Page 34: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-34

Major Programming Languages

C#– modern object-oriented language derived from C++

and Java– combines productivity of Visual Basic with power of

C++– allows use of features in Microsoft.NET framework,

C, and Microsoft’s Component Object Model (COM)

Page 35: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-35

Major Programming Languages

Scripting Languages– interpreted language that is relatively easy to learn and

use– explains what a computer should do in English-like

terms but not precisely how the computer should do it– Hypertext Markup Language (HTML), JavaScript,

VBScript, and perl are scripting languages

Page 36: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-36

Major Program-ming LanguagesThis sequence of code directs a browser to display buttons users can click to change the background color within the Web browser window.

Page 37: © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages

© Paradigm Publishing Inc. 12-37

On the Horizon

Based on the information presented in this chapter and your own experience, what do you think is on the horizon?