Problem Solving, Defining the Problem, Analysis of the Problem
Problem Solving
Whenever we are writing a computer program, our purpose is to solve a problem computationally. So the basic purpose of computer programming is solution of our daily life problems of different areas. This process of programming or problem solving is not just typing a program and then checking its output rather it is a process in which multiple steps fare involved. Our computer programming to solve a program consists of a number of steps which can be described one by one.
Defining the problem:
Problem definition is an important aspect problem solving whether that my be the computer field or any other field. By defining the problem one understand that what input or data has been given and what type of output is required. By this understanding one can get the initial point from where the solution to the problem can be found.
It must be kept in mind that problem definition is a very important step because the way we understand a problem starts right from this step. If a problem is clearly and correctly defined, the solution is highly simplified. One the other hand if some failure occurs in the definition of the problem, the entire solution becomes doubtful and complicated. This problem definition is a statement which is stated correctly, makes it easier to the problem solver how to solve it.
Analysis of the problem
Like the my older post of definition of a problem, by which we can get the basic understanding to it, analysis of the problem is also required. Once a problem has been defined, it must be properly analyzed. By this, we mean that definition of a problem is made as whole whereas the analysis is done in such a way that a problem is divided into various parts called sub-problem and each of these sub-problems are properly arranged in such a way that the sub-problem solution in that specific arrangement of each problem will lead to the overall solution of the main problem.
Analysis of the problem has a lot of advantages. If the problem is analyzed, the problem solver can make his / her logic according to that analysis. Analysis of the problem means looking the problem from each and every angle and finding out some type of initial gateway to its solution that will be the best of all the solutions. Analysis of the problem is just like factorizing a mathematical equation to find out its solution. A mathematical problem which cannot be solved without factorization can be solved when it is correctly factorized. Similarly a hug and complicated problem can be solved with correct logic or wisdom when it is analyzed properly and accurately.
Another example of analysis of a problem may be given like we have a bundle of sticks which has to be broken. Now in this case, if a large number of sticks are tied in that bundle, it will too much difficult to break it as a whole. Now the statement of the problem is "To break the sticks in the bundle in any way:. Proper analysis will soon result into the idea to unite the sticks and break them one by one.
It must be kept in mind that if we properly understand the problem i.e we can successfully define the problem and we have certain logic or wisdom in our mind by which we can analyze and solve the defined problem, only then we shall be able to solve the problem computationally by means of computer program. A computer is having hardware and software that can perform useful operations, even though a computer is being instructed by its programmer and following these programmer instructions, it solves problems. If someone does not have a correct definition and analysis of certain problem, he/she has no logical basis to solve it then he/she cannot give it to the computer to solve it. The output obtained from the steps of problem definition and analysis is the logic of the programmer and it is more important than typing a program or writing a program. A lot of time and hard work is needed to make the logic of programming efficient and the best. For this, most experienced programmers give 90% of their time and effort for improvement of the logic of their programs.
Post a Comment