Algorithm and Flow Charting
Algorithm and Flow Charting
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
SDLC
Design -preliminary design -detail design
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.
Understand the problem. Plan the logic. Code the program. Compile the program into machine language. Test the program. Put the program into production.
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.
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.
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.
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.
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
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 On-page Connector
Off-page Connector
Input/Output block
Initialization symbol
Decision symbol
Flow lines
Flowcharting
Basic Flowcharting Symbols Terminal - used to signify the beginning and end of flowchart
OVAL
START
Flowcharting
Basic Flowcharting Symbols
Preparation/Initialization
Hexagon
SUM=0 PRODUCT=0
- 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
Input/Output
Parallelogram
Read A Print A
-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
Process/Processing
Rectangle
Sum = A+B
Flowcharting
Basic Flowcharting Symbols
Decision
Diamond
If x>5
-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
On-page Connector
Small Circle
-show the entry or exit point of the flowchart. A non-processing 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
Off-page Connector
Pentagon
-designates entry or to exit from one page when a flowchart requires more than one page.
Flowcharting
Basic Flowcharting Symbols
Flowlines
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 rate! - should be one word - 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.
Use op1 > op2 op1 >= op2 op1 < op2 op1 <= op2 op1 == op2 op1 != op2 op1 not= op2 Returns true if op1 is greater than op2 op1 is greater than or equal to op2 op1 is less than op2 op1 is less than or equal to op2 op1 and op2 are equal op1 and op2 are not equal
Flowcharting
Logical Operators
Use logical operators (also called Boolean operators) to express relationships between search expressions.
Use cond1 and cond2 cond1 or cond2 not cond ! cond Returns true if both condition should be true either one of the condition is true
Draw a flowchart that will accept and display a number. Write its equivalent algorithms.
START
READ N
PRINT N
END
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
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
Sum = A + B Product = A * B
Construct a flowchart that will convert an inputted number in Fahrenheit to its equivalent measure in Celsius. Formula: C = (5/9)*(F-32) (5/9)*(F-
START
Celsius=0
Read Fah
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.
Celsius=(5/9)* (Fah-32)
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.
START
Input A,B
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
Print A, 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
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.
Name= Remarks =
If Grade >60
Remarks = Passed
Remarks = Failed
END
SEATWORK
DEI Manufacturing Company plans to give a yearyearend 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
Mod 2