Sie sind auf Seite 1von 46

Lesson 4 - 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 bodys 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

Preliminary Investigation
-problem definition

Implementation
-training
-conversion
-evaluation
-maintenance

Analysis
-gather data
-analyze data
-develop requirements

SDLC
Design
-preliminary design
-detail design

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 users 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 doesnt 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 0s and 1s.
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 users 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, its 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 (IPOs) 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
Process symbol

Input/Output block

Decision symbol

On-page Connector
Off-page Connector

Initialization symbol

Flow lines

Flowcharting
Basic Flowcharting Symbols
Terminal
- used to signify the
beginning and end of
flowchart

OVAL

START

Flowcharting
Basic Flowcharting Symbols

Hexagon

SUM=0
PRODUCT=0

Preparation/Initialization

- signifies the preparation of


data
Used to select initial
conditions
Used to represent instructions
or group of instructions that
will alter or modify a programs
course of execution

Flowcharting
Basic Flowcharting Symbols

Parallelogram

Read A
Print A

Input/Output

-shows input and output.


Data are to be read into
the computer memory
from an input device or
data are to be passed
from the memory to an
output device.

Flowcharting
Basic Flowcharting Symbols

Rectangle

Sum = A+B

Process/Processing

-performs any calculations


hat are to be done.

Flowcharting
Basic Flowcharting Symbols

Diamond

If x>5

Decision

-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
condition specified within the
outline is fulfilled.

Flowcharting
Basic Flowcharting Symbols

Small Circle

On-page Connector

-show the entry or exit point of


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

Flowcharting
Basic Flowcharting Symbols

Pentagon

Off-page Connector

-designates entry or to
exit from one page when
a flowchart requires
more 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 dont. 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 doesnt 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

READ N

PRINT N

END

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

Draw a flowchart that will compute and display the sum


and product of two numbers. Write its equivalent
algorithm.

START

Sum = 0
Product = 0

Read A,B

Sum = A + B
Product = A * B

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

END

Construct a flowchart that will convert an inputted number in


Fahrenheit to its equivalent measure in Celsius.
Formula: C = (5/9)*(F-32)

START

Celsius=0

Read Fah

Celsius=(5/9)*
(Fah-32)

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

END

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:
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.
Step 4: Print the number and the
remark Higher

START

Input A,B

A>B

Print A,
Higher

F
Print B,
Higher

END

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

Name=
Remarks =

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,
remark is Passed. However, if Grade is
below 60, remark is Failed.
Step 5: Print the name, grade and remarks.

Read Name,
Grade

If Grade
>60

Remarks =
Failed

Remarks =
Passed

Print Name,
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 employees
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

Das könnte Ihnen auch gefallen