Download - Problem Solving.ppt

Transcript
  • ContentsToday's Topic: Problem Solving Techniques

    We will learnProblem Statement.AlgorithmTypes, ExampleFlowchartSymbols, Examples.

  • Problem Solving Techniques

  • Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this stage include Algorithms and flowcharts for identifying the expected steps of a process. Therefore to solve any problem,

    Collect and analyze information and data Talk with people familiar with the problem If at all possible, view the problem first hand Confirm all findings

  • Algorithm: The algorithm is part of the blueprint or plan for the computer program, an algorithm is: An effective procedure for solving a class of problems in a finite number of steps.

    Every algorithm should have the following 5 characteristic feature:InputOutputDefinitenessEffectivenessTermination

  • Algorithm (Contd):To find largest of three numbersStartRead 3 numbers: num1, num2, num3if num1 > num2 then go to step 5if num2 > num3 then print num2 is largest else print num3 is largest goto step 6if num1 > num3 then print num1 is largest else print num3 is largestend.

  • Algorithm (Contd):Example: One of the simplest algorithms is to find the largest number in an (unsorted) list of numbers.

    High-level description:

    Assume the first item is largest. Look at each of the remaining items in the list and if it is larger than the largest item so far, make a note of it. The last noted item is the largest in the list when the process is complete.

  • Algorithm (Contd): Formal description: Written in prose but much closer to the high-level language of a computer program, the following is the more formal coding of the algorithm in pseudo code (find the largest number in an (unsorted) list of numbers)

    Algorithm LargestNumber Input: A non-empty list of numbers L. Output: The largest number in the list L.

    largest L0 for each item in the list L, do if the item > largest, then largest the item return largest

  • Flowchart:What is a Flowchart?The flowchart is a means of visually presenting the flow of control through an information processing systems, the operations performed within the system and the sequence in which they are performed. It is a graphic representation of how a process works, showing, at a minimum, the sequence of steps. Flowcharts are generally drawn in the early stages of formulating computer solutions.

  • Flowchart (Contd):Guideline for drawing a flowchart: Flowcharts are usually drawn using some standard symbols; Some standard symbols, which are frequently required for flowcharting many computer programs are shown below,-

  • Flowchart (Contd):A set of useful standard Flowchart symbols:Rounded box use it to represent an event which occurs automatically. Rectangle or box use it to represent an event which is controlled within the process. Typically this will be a step or action which is taken. Diamond use it to represent a decision point in the process. Circle use it to represent a point at which the flowchart connects with another process.

  • ADVANTAGES OF USING FLOWCHARTS: Communication: Flowcharts are better way of communicating the logic of a system Effective analysis: Problem can be analyzed in more effective way. Proper documentation: Flowcharts serve as a good program documentation Efficient Coding: Flowcharts act as a guide or blueprint during the systems analysis and program development phase.

  • ADVANTAGES OF USING FLOWCHARTS (Contd):Proper Debugging: Flowchart helps in debugging process.

    Efficient Program Maintenance: The maintenance of operating program becomes easy with the help of flowchart.

  • Flow chart of the while loop :

  • Flow chart of the for loop:

  • The flow chart of the if statement:

  • The flow chart of the ifelse statement:

  • The flow chart of the switch statement:

  • Flowchart for finding the sum of first five natural numbers ( i.e. 1,2,3,4,5):

  • Flowchart (Example):Flowchart to find the sum of first 50 natural numbers.

  • StartRead A, BIs A > BPrint APrint BEndYesNoFlow Chart to find largest of two numbers:

  • Flowchart to find the largest of three numbers A,B, and C: NO

  • LIMITATIONS OF USING FLOWCHARTS: 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.

  • Flowchart (Exercise):Draw a flowchart to depict all steps that you do reach your college.

    Draw Flowchart for Linear search.