Prof B I Khodanpur HOD Dept of CSE
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering. Email. ID: bi. khodanpur@gmail. com Subject: Computer Fundamentals (For EDUSAT) Common Paper for BA / B. Com / B. Sc Code: CS-54
Types of OS: Operating System can also be classified as, n Single User Systems n Multi User Systems
Single User Systems: n Provides a platform for only one user at a time. n They are popularly associated with Desk Top operating system which run on standalone systems where no user accounts are required. Example: DOS n
Multi-User Systems: n Provides regulated access for a number of users by maintaining a database of known users. n Refers to computer systems that support two or more simultaneous users. n Another term for multi-user is time sharing. n Ex: All mainframes and are multi-user systems. Example: Unix n
Contents n Today's Topic: Problem Solving Techniques n We will learn 1. Problem Statement. 2. Algorithm Types, Example 3. Flowchart n Symbols, Examples. n
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, n n 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: 1. 2. 3. 4. 5. Input Output Definiteness Effectiveness Termination
Algorithm (Contd…): n To find largest of three numbers Start Read 3 numbers: num 1, num 2, num 3 if num 1 > num 2 then go to step 5 if num 2 > num 3 then print num 2 is largest else print num 3 is largest goto step 6 5) if num 1 > num 3 then print num 1 is largest else print num 3 is largest 6) end. 1) 2) 3) 4)
Algorithm (Contd…): Example: One of the simplest algorithms is to find the largest number in an (unsorted) list of numbers. High-level description: 1) 2) 3) 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 Largest. Number Input: A non-empty list of numbers L. Output: The largest number in the list L. 1) 2) 3) 4) largest ← L 0 for each item in the list L, do if the item > largest, then largest ← the item return largest
Flowchart: What is a Flowchart? n n n 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. n 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. n Diamond use it to represent a decision point in the process. n Circle use it to represent a point at which the flowchart connects with another process. n
ADVANTAGES OF USING FLOWCHARTS: n n 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…): n Proper Debugging: Flowchart helps in debugging process. n 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 if…else 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.
Flow Chart to find largest of two numbers: Start Read A, B Yes Is A > B No Print B Print A End
Flowchart to find the largest of three numbers A, B, and C: NO
LIMITATIONS OF USING FLOWCHARTS: n Complex logic: Sometimes, the program logic is quite complicated. In that case, flowchart becomes complex and clumsy. n Alterations and Modifications: If alterations are required the flowchart may require re-drawing completely. n Reproduction: As the flowchart symbols cannot be typed, reproduction of flowchart becomes a problem.
Flowchart (Exercise): 1. Draw a flowchart to depict all steps that you do reach your college. 2. Draw Flowchart for Linear search.
- Slides: 27