2 DefinitionsFlowchart: is a diagrammatic representation that illustrates the sequence of operations to be performed to get the solution of a problem.
3 Standard Symbols Used ? A A1 Start Print Results Calculate Variables Start Or Stop ProcessStartPrintResultsInput/OutputAOn-Page Connector?YesNoConditionCalculateVariablesProcess RectangleA1Off-page Connector
4 How to Write a Program? Start Define Problem to Solve Think of an AlgorithmThink of a Technique for the SolutionWrite Solution on a Piece of PaperIf not Finished Repeat Steps 4 and 5Write Code and ProgramDebug and TestIf not Finished Repeat Steps 7 and 8Stop
5 How to Write a Program ?(flowchart) StartJob Done?NoDefine Problem to SolveThink of an Algorithm(Technique for the solution)YesWrite Code and ProgramIdea!!!!Debug and TestThink of aTechnique for the solutionJob Done?NoYesStopWrite it downon a piece of paper(before you forget it!!!)
6 Definitions An Algorithm A computer program makes use of algorithms. Is a complete step-by-step procedure for solving a problem or accomplishing a task.( Where the algorithm is represented by drawing “Flowcharts” )
7 Basic Flow Chart Operations All computer instructions are based on four basic processing patterns:Simple SequenceSelection PatternLoop Pattern
8 1.Simple SequenceLogic involves executing instructions one statement after another, in the order presented by the program.This is the simplest and most-used pattern.The computer assumes that all instructions are to be executed in this order unless the program presents other instructions.
9 Read Names Compare with Criteria Print Eligible Names Basic Operations of Flow Charts (Simple Sequence)Read NamesCompare with CriteriaBasic Operations of Flow Charts (Simple Sequence)Print Eligible Names
10 2. Selection PatternRequires that the computer make a choice among two or more items.Each choice is based on one of two comparisons a computer can make: true or false (Yes or No).
12 3. Loop PatternDirects the computer to loop back to a previous statement in the program, repeating the same sequence over again, usually with new data.By looping, the programmer avoids having to repeat the same set of instructions over and over
13 Basic Operations of Flow Charts (Loop Pattern) More Names?NoYesCompare with CriteriaPrint Eligible Names
14 Uses of Flow ChartsFlowcharts play a vital role in the programming of a problem and are quite helpful in understanding the logic of complicated and lengthy problems.Once the flowchart is drawn, it becomes easy to write the program in any high level language.Often we see how flowcharts are helpful in explaining the program to others.Hence, it is correct to say that a flowchart is a must for the better documentation of a complex program.
15 Uses of Flow Charts…….Flow Charts document processes and interrelationships of process stepsFlow Charts identify actual and ideal paths where any product or process flowsFlow Charts are used to identify problems and potential improvementsFlow Charts can be completed on entire processes assemblies with all components, one person or component through a process, combinations of people and machines, transactions following forms or other documents, etc.
16 Advantages of Flow Charts Communication: Flowcharts are better way of communicating the logic of a system to all concerned.Effective Analysis: With the help of flowchart, problem can be analysed in more effective way.Proper Documentation: Program flowcharts serve as a good program documentation, which is needed for various purposes.
17 Advantages of Flow Charts…. Efficient Coding: The flowcharts act as a guide or blueprint during the systems analysis and program development phase.Proper Debugging: The flowchart helps in debugging process.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.
18 Disadvantages of Flow Charts Complex Logic: Sometimes, the program logic is quite complicated. In that case, flowchart becomes complex and clumsy.Alterations and Modifications: If alterations are required the flowchart may require re-drawing completely.Reproduction: As the flowchart symbols cannot be typed, reproduction of flowchart becomes a problem.The Essentials of what Is Done can easily be lost in the technical details of how it is done.
19 Case Study - 1A certain Company gives each of its sales people $1,000 at the beginning of each month to cover travel, lodging, and food expenses.At the end of the month, a salesperson must total his/her expense receipts. If the amount is less than $1,000 then the difference must be returned to the company.Case Study - 1
20 Case Study – 1 (Solution) Here is an algorithm for figuring how much money, if any, must be returned:1-Total the expense receipts for the month.2. Subtract the amount of the expense receipts from 1,000.3. If the remainder is more than 0, return that amount to the company.
21 Case Study – 1 (Flow Chart) StartInput Expenses EYesE<1000?Subtract ExpensesR <= 1000-ENoPrintYou Owe $0Case Study – 1 (Flow Chart)PrintYou Owe $RStop
22 Assume the Employee has Spent Case Study – 1 (Solution 1)Assume the Employee has Spent$1250What would be the amount to return to the company in this case?
23 Case Study – 1 (Solution 1) StartInput ExpensesE<1000?YesE=$1250Subtract ExpensesR <= 1000-ENoPrintYou Owe $0R= $0PrintYou Owe $RStop
24 Case Study – 1 (Solution 2) Now Assume the Employee has Spent $950What would be the amount to return to the company in this case?
25 Case Study – 1 (Solution 2) StartInput ExpensesE<1000?E=$950R = E= $950YesSubtract ExpensesR = 1000-ENoR= $50PrintYou Owe $0PrintYou Owe $RStop
26 Basic Guidelines for Flow Charting In drawing a proper flowchart, all necessary requirements should be listed out in logical order.The flowchart should be clear, neat and easy to follow. There should not be any room for ambiguity in understanding the flowchart.The usual direction of the flow of a procedure or system is from left to right or top to bottom
27 Basic Guidelines for Flow Charting(Cont.) Only one flow line should come out from a process symbol.
28 Basic Guidelines for Flow Charting (Cont.) Only one flow line should enter a decision symbol, but two or three flow lines, one for each possible answer, should leave the decision symbol.YN?<=?>
29 Basic Guidelines for Flow Charting (Cont.) Only one flow line is used in conjunction with terminal symbol.StopStart
30 Basic Guidelines for Flow Charting (Cont.) Write within standard symbols briefly. As necessary, you can use the annotation symbol to describe data or computational steps more clearly.If the flowchart becomes complex, it is better to use connector symbols to reduce the number of flow lines.Avoid the intersection of flow lines if you want to make it more effective and better way of communication.Basic Guidelines for Flow Charting (Cont.)
31 Basic Guidelines for Flow Charting (Cont.) Ensure that the flowchart has a logical start and finish.It is useful to test the validity of the flowchart by passing through it with a simple test dataBasic Guidelines for Flow Charting (Cont.)
32 Case Study - 2Draw a flowchart to find the sum of first 5 natural numbers.
33 Sum = 0StopN = 0N = N + 1?N = 5StartSum = Sum + NNoYesPrint SumNSum112336410515
34 Case Study - 3Draw a flowchart to find the largest of three numbers A,B, and C.
35 Case Study - 3 Start Read A, B, C ? B > C ? A > B ? A > C Yes NoYesYesNoNoPrint BPrint CPrint CPrint AStop
36 Case Study – 3 - (Solutions) Consider four input cases:1. A = ; B = ; C = 32. A = ; B = ; C = 73. A = ; B = ; C = 74. A = ; B = ; C = 3
37 Case Study – 3 (Solution 1) StartB = 7Read A, B, CC = 3?B > C?A > B?A > CYesNoYesYesNoNoPrint BPrint CPrint CPrint AStop
38 Case Study – 3 (Solution 2) StartB = 6Read A, B, CC = 7?B > C?A > B?A > CYesNoYesYesNoNoPrint BPrint CPrint CPrint AStop
39 Case Study – 3 (Solution 3) StartB = 3Read A, B, CC = 7?B > C?A > B?A > CYesNoYesYesNoNoPrint BPrint CPrint CPrint AStop
40 Case Study – 3 (Solution 4) StartB = 3Read A, B, CC = 3?B > C?A > B?A > CYesNoYesYesNoNoPrint BPrint CPrint CPrint AStop
41 Case Study - 4Draw a flowchart for computing factorial N (N!). Where N! = 1 ´ 2 ´ 3 ´ …… N .Test the program for N = 5
42 Case Study – 4 N 5 i Fact 1 1 1 2 2 3 6 4 24 5 120 Start Read N Stopi = 0i = i + 1?i >= NStartFact = Fact * iNoYesPrint FactRead NN5Case Study – 4iFact11122364245120