An Overview of Computers and Logic

advertisement
Objectives
• Learning about Programming
• Describe the steps involved in the
programming process
• Understand how to use flowchart
• Use Sentinel value to end a program
• Use a connector symbol
• Describe data types
2
Learning about Programming
• Program is a set of instructions that you write to
tell a computer what to do
• A computer language has rules governing its word
usage and punctuation
• These rules are called syntax
• Every computer operates on circuitry that consists of
millions of on-off (0 and 1) switches (binary system)
– Data from “Star trek” speaks the machine (binary) language.
3
Learning about programming
• Each programming language uses a piece of
software to translate the specific programming
language into the computer’s on-off circuitry
language (machine language)
• The language translation software is called a
compiler (or translator). All instructions converted at
once from high-level language to machine language.
• Syntax errors are relatively easy to locate and correct
4
The instruction “ADD 2 and 5 and assign the result to variable y” written in different
programming languages
5
Learning about programming
• For each program to work properly, you must give the
instructions to the computer in a specific sequence,
you must not leave any instructions out, and you
must not add extraneous instructions
• By doing this, you are developing the logic of the
computer program
• Once instructions have been inputted into the
computer and translated into machine language, a
program can be run or executed
6
Understanding the
Programming Process
•
A programmer’s job involves writing instructions,
and can be broken down into six programming
steps:
1. Understand the problem (analysis and design 1)
2. Plan the logic (analysis and design 2)
3. Code the program
4. Translate the program into machine language
5. Test the program
6. Put the program into production
7
Understand the Problem
• Professional computer programmers write programs
to satisfy the needs of users
• Because programmers are providing a service to
users, programmers must first understand what the
users want
• Understanding of business problems
– Computer Science vs. MIS
8
Plan the Logic
• The heart of the programming process lies in
planning the program’s logic
• During this phase of the programming process, the
programmer plans the steps to the program, deciding
what steps to include and how to order them
• The programmer doesn’t worry about the syntax of
any particular language at this point, just about
figuring out what sequence of events will lead from
the available input to the desired output
9
RELATIVE COSTS OF REPAIRING ERRORS
(BASED ON CONSULTANT REPORTS & TRADE LITERATURE)
5
4
COSTS
3
2
1
0
10
Code the Program
• Some very experienced programmers can
successfully combine the logic planning and the
actual instruction writing, or coding of the program,
in one step
• This may work for planning and writing a very
simple program, just as you can plan and write a
postcard to a friend using one step
• The planning step is actually more difficult than the
spelling and grammar rules you must learn
11
Translate the Program
into Machine Language
• Languages like Java are available for
programmers to use because someone has
written a translator program (a compiler or
interpreter) that changes the English-like
high-level language in which the programmer
writes into the low-level machine language
that the computer understands
12
Test the Program
• A program that is free of syntax errors is not
necessarily free of logical errors
• Once a program is free from syntax errors,
the programmer can test it—that is, execute it
with some sample data to see whether or not
the results are logically correct
• Programs should be tested with many sets of
data
13
Put the Program into Production
• Once the program is tested adequately, it is ready for
the organization to use
• However, the process might take months if the
program will be run on a regular basis, or if it is one
of a large system of programs being developed
• Conversion, the entire set of actions an organization
must take to switch over to using a new program or
set of programs, can sometimes take months or
years to accomplish
14
15
Inherent Problems
• Uneven and thin spread application domain knowledge
amongst developers
• Rare utilization of existing code (program)
• Users requirements can be fluctuated and conflicted
• Easy breakdown of communication and coordination
• Difficult to manage project scheduling – typical
scheduling techniques such as (PERT/CPM) does not
work properly in programming world
16
Using Flowchart Symbols
• When programmers plan the logic for a solution to a
programming problem, they often use one of two
tools, flowcharts or pseudocode
• A flowchart is a pictorial representation of the logical
steps it takes to solve a problem – beginners
• Pseudocode (“sue-dough-code”) is an English-like
representation of the same thing – experts
– Using pseudocode involves writing down all the steps you
will use in a program (more similar to writing the final
statements in the programming language)
17
Using Flowchart Symbols
18
Using Flowchart Symbols
• To show the
correct
sequence of
these
statements,
you use
arrows, or
flowlines, to
connect the
steps
19
Flowchart of Infinite
Number-Doubling Program
20
Ending a Program by
Using Sentinel Values
• The diamond symbol usually contains a two mutually
exclusive answers like yes and no or true and false or
value zero to stop the program
• A preselected value that stops the execution of a
program is often called a dummy value because it
does not represent real data, but just a signal to stop
• Sometimes such a value is called a sentinel value
because it represents an entry or exit point like a
sentinel that guards a fortress
• Many programming languages use the term eof (for
“end of file”) to stop the program
21
Flowchart for Number-Doubling Program
with Sentinel Value of Zero
22
Flowchart Using EOF
23
Using the Connector
• By using just the input, processing, output,
decision, and terminal symbols, you can represent
the logic for many diverse applications
• Only one other symbol needed for a flow chart is
the connector
• A connector will be used when limited page size
forces you to continue the flowchart on the
following page
24
Flowchart Using the Connector
25
Flowcharting Example
•Draw a flowchart of your
preparation to go to work or
school in the morning.
•Include at least two
decisions and two loops.
26
Example figure
Understanding Data Types
• Computers deal with two basic types of data—character
and numeric
• When you use a specific number value, like 43, within a
program, you write it using the digits and no quotation
marks
• A specific numeric value is often called a numeric
constant, because it does not change
• When you use a specific character value, or string of
characters, like “Chris,” you enclose the string or
character constant within quotation marks
27
Understanding Data Types
• Similarly, most computer languages allow at least two
distinct types of variables
• One type of variable can hold a number and is often
called a numeric variable
• Most programming languages have a separate type
of variable that can hold letters of the alphabet and
other special characters such as punctuation marks
• Depending on the language, these variables are
called character, text, or string variables
28
Understanding Data Types
• Some languages have different rules for naming the
variables, but with others you must include a simple
statement (called a declaration) telling the computer
which type of data to expect
• Some languages allow for several types of numeric
data
• Languages like Pascal, C++, C#, and Java
distinguish between integer or whole number
variables, and floating-point or fractional numeric
variables that contain a decimal point
29
Summary
• You write computer instructions in a computer
programming language that requires specific syntax
• A programmer’s job involves understanding the
problem, planning the logic, coding the program,
translating the program into machine language,
testing the program, and putting the program into
production
• When programmers plan the logic for a solution to a
programming problem, they often use flowcharts or
pseudocode
30
Summary
• You represent a decision in a flowchart by drawing a
diamond-shaped decision symbol which contains a
question
• A circular connector symbol is used to continue a
flowchart that does not fit on a single page
• Most programming languages allow the equal sign to
assign values to variables
• Programmers must distinguish between numeric and
character variables because computers handle the
two types of data differently
• A variable declaration tells the computer which type
31
of data to expect
Download