Anda di halaman 1dari 46

Lesson 5 - Lecture in

Algorithm and Flowcharting

Introduction to Programming Languages


Lesson Objectives
 At the end of the lecture the students
should be able to:
 Define terms in programming such as: system,
SDLC, flowcharting, algorithm, compile, syntax
errors, etc.
 Know the steps in programming.
 Know the different symbols for flowcharting
and how to use them.
What is system?
 Is an organized set of related components
established to accomplish a certain task.
 Note: There are natural systems such as
the body’s cardiovascular system but many
systems have been planned and
deliberately put into place by people.
What is system?
 For example: a fast-food franchise has a
system of serving a customer including
taking an order, assembling the food and
collecting the amount due.
Phases of SDLC
System Development Life Cycle
Preliminary Investigation: Determining the
problem
Analysis: Understanding the existing system
Design: Planning the new system
Development: Doing the work to bring the new
system into being
Implementation: Converting the new system
Analysis
Preliminary Investigation -gather data
-problem definition -analyze data
-develop requirements

Implementation
SDLC
-training
Design
-conversion
-preliminary design
-evaluation
-detail design
-maintenance

Development
-scheduling
-programming
-testing
Computer Program
 Is a set of detailed, step-by-step instructions that
directs the computer what you want it to do. It is
a notation for expressing instructions to be
carried out by a computer.
 Programs are written in a programming language,
which is a set of rules that provides a way of
telling the computer what operations to perform.
 The person who creates computer program is
called computer programmer.
Activities Involve in
Programming
 Understand the problem.
 Plan the logic.
 Code the program.
 Compile the program into machine
language.
 Test the program.
 Put the program into production.
Activities involve in
Programming
Understanding the Problem

 Before writing the program the programmer must first


understand the problem.
 Satisfy the user’s need
 One of the most difficult task since description of what
is needed may be vague, or worse yet, the user may
not even know what he/she wants.
 A good programmer is part counselor, and part
detective.
Activities Involve in
Programming
Plan the Logic
The process of planning for the solution of the
problem.
 They are referred to as “ALGORITHMS”
 Two most common tools are FLOWCHARTS and
PSEUDOCODE.
 Involves writing down steps (in English).

 The programmer doesn’t worry about syntax at this

point, just the sequence of events that will lead from


available input to the desired output.
Activities Involve in
Programming
Code the Program

 There are over 400 programming languages that


exist.
 Most programming languages have translators
also known as compiler and interpreters.
 Pascal, C, C++, Visual Basic, Cobol, etc.
 The part in which the programmer worry about the
correct syntax; command, punctuation, spelling, etc.
 The actual construction of the source code.
Activities involve in
Programming

Compile the program into Machine Language

 Machine language - the only language a machine


knows.
 Its consists of 0’s and 1’s.
 Compiler is a special program that translates high-level
language instructions into machine language.
 Compiler catches all syntax errors.
Activities involve in
Programming

Test the Program

 To execute and then run the program. The program upon execution
is being subjected to different kinds of test data to anticipate and
correct errors that might occur before releasing the program to the
users.
 Errors can be classified into two: (1) syntactical or logical errors (2)
compile or run-time errors.
Activities involve in
Programming
Put the Program into Production

 The organization can now use the program.


 Training personnel to use the program.
 Running the program using the actual data.
 Test for user’s approval.
Algorithm

 A sequence of well-understood steps that one takes to


do something.
 A set of instructions for a person to follow in order to
accomplish a certain task.
 A sequence of instructions that tell how to solve a
particular problem.
 It is a finite set of instructions that specify a sequence of
operations to be carried out in order to solve a specific
problem or class of problems.
 Examples:
 directions for going to a certain place
 baking a chocolate cake
 computing income tax
 searching for a name in a telephone directory
Example:
Prepare a Cup of Coffee
 Step 1: Fill kettle with water.
 Step 2: Turn on stove.
 Step 3: Put kettle on stove.
 Step 4: If water is boiling proceed to step#5 otherwise wait.
 Step 5: Turn off stove
 Step 6: Fill mug with boiled water
 Step 7: Put 1 tsp. of coffee in mug.
 Step 8: With sugar, put 2 tsp. of sugar in mug, otherwise proceed
to step#9.
 Step 9: With milk, pour 1 tbsp. of milk in mug, otherwise proceed to
step#10.
 Step 10: Stir contents of mug
Characteristics of an Algorithm

 Specify each step or instruction exactly.


 There must be no ambiguity.
 The instructions must be clear.

 There must be a finite number of steps.


 The algorithm must terminate.
 There must be a stopping point.

 There must be an output.


 The algorithm must produce the correct result.
Flowcharting
What is Flowcharting?

 A graphical representation of the logical steps that solves a


problem.
 Programmers use flowcharts to understand the logic
processing of data.
 To visualize how statements in a program are interrelated.
 Although time consuming, it’s the best tool for beginners.
 Use of symbol and phrases to designate the logic of how a
problem solved.
 A common method for defining the logical steps of flow within a
program by using a series of symbols to identify the basic input,
process and output (IPO’s) function within a program.
 A diagram representing the logical sequence in which a
combination of steps or operation is to be performed. It is a
blueprint of the program.
Flowcharting
Types of Flowcharts

 Program Flowcharts
 Depicts the detailed logical flow of process in a program.
 System Flowcharts
 Shows the logic flow of data from one source to another.
 Divided into functions of departments or personnel.
 Symbols are used to represent documents used and
operations undertaken.
 Highlights excessive information flow, duplication of
information stored in different locations and reasons for
delay of transactions.
Flowcharting
Basic Flowcharting Symbols

Terminal block
On-page Connector

Process symbol
Off-page Connector

Input/Output block
Initialization symbol

Decision symbol Flow lines


Flowcharting
Basic Flowcharting Symbols

 Terminal
OVAL - used to signify the beginning
and end of flowchart

START
Flowcharting
Basic Flowcharting Symbols

 Preparation/Initialization

Hexagon - signifies the preparation of data


- Used to select initial conditions
- Used to represent instructions or
group of instructions that will
SUM=0 alter or modify a programs
PRODUCT=0 course of execution
Flowcharting
Basic Flowcharting Symbols

 Input/Output

Parallelogram
-shows input and output.
Data are to be read into the
computer memory from an
input device or data are to
Read A be passed from the memory
Print A to an output device.
Flowcharting
Basic Flowcharting Symbols

 Process/Processing

Rectangle
-performs any calculations hat
are to be done.

Sum = A+B
Flowcharting
Basic Flowcharting Symbols

 Decision

Diamond -signifies any decisions that are to


be done. Two alternative
execution paths are possible.
The path to be followed is
selected during the execution by
testing whether or not the
T F condition specified within the
If x>5
outline is fulfilled.
Flowcharting
Basic Flowcharting Symbols

 On-page Connector

-show the entry or exit point of the


flowchart. A non-processing
Small Circle symbol used to connect one part
of a flowchart to another without
drawing flowlines. Conserves
space by keeping related blocks
A near one another, reduces the
number of flowlines in complex
program and eliminates cross
lines from taking place.
Flowcharting
Basic Flowcharting Symbols

 Off-page Connector

Pentagon -designates entry or to exit


from one page when a
flowchart requires more
B than one page.
Flowcharting
Basic Flowcharting Symbols

 Flowlines

-signifies the process that is


to be executed next
Flowcharting
Basic Flowcharting
 Almost every program involves the steps of input,

processing and output.


 Example:
Get number
Answer = number *2
Print Answer
 Most flowcharts need some way to separate each step.

 Drawing different boxes around each statement is the

standard convention.
 Input operation are represented in a parallelogram. A

statement in English is written inside the parallelogram.


Flowcharting

What are Variables?


 Memory allocations, the content of which may vary/change.
 The capability of memory variables to change its content
makes the computers and programming worthwhile.
 Because one memory location can be used over and over
again with different values, program instructions can be
written once and then used for thousands of problems.
 Giving names (for identification) may vary from one
programming language to another; some may allow
hyphens; others allows underscores; some languages allow
dollar signs, others don’t. There are languages that limits the
length of names to a variable.
Flowcharting
Rules in naming variables...
 Must be one word.
 May contain letters, numbers, hyphens,
underscores.
 Must not start with a number.
 Must not contain a space.
 Must have some meaning.

Invalid Variable names


 interest rate - should be one word
 rate! - contains ! an invalid character
 xyxxx - although this is allowed, it doesn’t mean
or imply anything that it may hold.
 #total - should not start with a special character.
Flowcharting
Types of Variables
 Numeric Variables

 The type of variable that can hold a number.

 In this example: Answer = number * 2

 Some languages allow additional types of data; Pascal and C

distinguish between integer or whole number numeric variables and


floating point, decimal and fractional numeric variables.
 Character, Text or String Variables

 Variables that can hold letters of the alphabet and other special

character such as punctuation marks.


 Example:

NAME = “WASHINGTON”
 Logical or Boolean Variables

 A special type of variable that can only have two values - TRUE or

FALSE.
Flowcharting
Arithmetic Operators and Mathematical Statements
 Addition (+)

 Subtraction (-)

 Multiplication (*)

 Division (/)

 Modulus (%)

 A mathematical statement is composed of a left variable, an


assignment operator (usually in the form of an equal sign) a
series of operands(may be a set of the same variables or a new
set of variables, and /or constants) and (arithmetic) operators.
 Example:

x=x+1
sum = a + b
Flowcharting
Constants
 A constant is a value that never changes during the
execution of the program.
 Constants can be any type-numeric, alphabetic or
special symbols.
 Like variable, constants can be named. The computer
sets up a specific memory location to hold the value of
the constant.
 During the execution of the program, the constant is
referred to by name. Once the constant is given a
value, it cannot be changed during the execution of
the program.
Flowcharting
Relational Operator
 A relational operator compares two values and
determines the relationship between them.

Operator Use Returns true if


> op1 > op2 op1 is greater than op2
>= op1 >= op2 op1 is greater than or equal to op2
< op1 < op2 op1 is less than op2
<= op1 <= op2 op1 is less than or equal to op2
== op1 == op2 op1 and op2 are equal
!= / not= op1 != op2 op1 and op2 are not equal
op1 not= op2
Flowcharting
Logical Operators
 Use logical operators (also called Boolean operators) to
express relationships between search expressions.

Operator Use Returns true if


and cond1 and cond2 both condition should be true
or cond1 or cond2 either one of the condition is true
not (negation) not cond
! cond
ADVANTAGES OF USING
FLOWCHARTS

1. Communication: Flowcharts are better way of communicating the logic


of a system to all concerned.
2. Effective analysis: With the help of flowchart, problem can be analyzed
in more effective way.
3. Proper documentation: Program flowcharts serve as a good program
documentation, which is needed for various purposes.
4. Efficient Coding: The flowcharts act as a guide or blueprint during the
systems analysis and program development phase.
5. Proper Debugging: The flowchart helps in debugging process.
6. Efficient Program Maintenance: The maintenance of operating program
becomes easy with the help of flowchart. It helps the programmer to put
efforts more efficiently on that part
LIMITATIONS OF USING
FLOWCHARTS

1. Complex logic: Sometimes, the program logic is quite


complicated. In that case, flowchart becomes complex and
clumsy.
2. Alterations and Modifications: If alterations are required
the flowchart may require re-drawing completely.
3. Reproduction: As the flowchart symbols cannot be typed,
reproduction of flowchart becomes a problem.
4. The essentials of what is done can easily be lost in the
technical details of how it is done.
Draw a flowchart that will accept and display a number. Write
its equivalent algorithms.

START
Algorithm:
Step 1: Read in the value of N.
READ N
Step 2: Print the value of N.

PRINT N

END
Draw a flowchart that will compute and display the sum and
product of two numbers. Write its equivalent algorithm.

START Algorithm:
Step 1: Initialize Sum and Product
into 0.
Sum = 0 Step 2: Read in the values of A and
Product = 0 B.
Step 3: Compute the sum by
adding A and B then compute the
Read A,B
product by multiplying A and B.
Step 4: Print the computed value of
Sum and Product.

Sum = A + B Print Sum,


Product = A * B END
Product
Construct a flowchart that will convert an inputted number in
Fahrenheit to its equivalent measure in Celsius.
Formula: C = (5/9)*(F-32)

START Algorithm:
Step 1: Initialize Celsius into 0.
Step 2: Read in the value of
Celsius=0 Fahrenheit.
Step 3: Compute the value of
Celsius.
Read Fah Step 4: Print the computed value of
Celsius.

Celsius=(5/9)*
(Fah-32) Print
END
Celsius
Draw a flowchart that will input values for A and B. Compare two
values inputted and print which of the values is higher including the
remark “Higher”. Write its equivalent algorithm.

Algorithm:
START Step 1: Read the values of A and B.
Step 2: Test if A is greater than B.
Step 3: If A is greater than B, A is higher.
However, if A is less than B, B is higher.
Input A,B Step 4: Print the number and the remark
“Higher”

T
A>B Print A,
“Higher”
F

Print B, END
“Higher”
Draw a flowchart that will input grade of student and determine
whether the grade is passed or failed. Print the name, grade and
remarks of student. Write its equivalent algorithm.

START Algorithm:
Step 1: Initialize name and remarks into blanks.
Step 2: Read in values for Grade and Name.
Step 3: Test if Grade is greater than or equal to 60.
Step 4: If Grade is greater than or equal to 60,
Name=“ “ remark is “Passed”. However, if Grade is below
Remarks = “ “ 60, remark is “Failed”.
Step 5: Print the name, grade and remarks.

Read Name,
Grade

If Grade Remarks =
>60 “Passed”

Remarks = Print Name,


“Failed” Grade, Remarks
END
SEATWORK

 DEI Manufacturing Company plans to give a year-


end bonus to each of its employee. Draw a
flowchart which will compute the bonus of an
employee. Consider the following conditions: If
the employee’s monthly salary is less than 2,000
pesos, the bonus is 50% of the salary; for
employees with salaries greater than 2,000 pesos,
the bonus is 1,500 pesos. Print the name and the
corresponding bonus for each employee. Write
each equivalent algorithms.
Pseudocode
 uses everyday language to prepare a brief set of instructions
in the order in which they will appear in the finished program.
 It is an abbreviated version of actual computer code (that's
why it is called pseudocode).
 Pseudocode looks more like a real program than the flowchart
does. It allows the programmer to focus on the steps required
to solve a program rather than on how to use the computer
language.
 An advantage of pseudocode is that it can be used to
describe a program to a nontechnical user and can still
provide guidelines for the writing of program code.
Pseudocode

 A textual presentation of a flowchart


 Close to a natural language

 The control structures impose the logic

 May become a part of the program documentation


 Could be translated into a program

Anda mungkin juga menyukai