Wednesday, February 2, 2011

Great post about Logic and Problem - Solving Skills

The following text is taken from the following web site: http://www.eggheadcafe.com/software/aspnet/29604130/c-algorithms--c-puzzles.aspx


Presuming that you are studying programming, a desire to improve your problem-solving skills and understand logic are excellent goals to have in mind. Almost all of programming is problem-solving, and involves the use of logic.

Problem-solving is more of a discipline than a skill, although there areelements of skill involved in it. But the most important aspect is thediscipline, and this holds true for logic as well. The basis of
problem-solving is really fairly simple, but it requires a relentless
attention to detail to do it well.

The first aspect of problem-solving is to identify the problem, and while this may seem obvious, it is not as obvious as it seems. Most problems arenot singular in nature; they are made up of many smaller problems.
For example, you might consider thirst to be a problem. But quenching the thirst is likely to be problematic. First, you must identify a source of water, and ensure that it is good to drink. Second, you must determine how to get to the source of water. Third, you have to figure out how to drink it, whether to cup your hands, use a glass, etc.

So, the first and perhaps most important aspect of problem-solving is analysis. This is the breaking down of a problem into its component smaller problems.
Once each sub-problem has been identified, the solution to the overall problem generally makes itself obvious, as it is the sum total of all the solutions to the smaller problems that constitute the large one.

It is also useful to identify what constitutes a problem. Life is actually full of problems, and it is helpful to learn to identify them and apply
problem-solving skills to them. Any need which is not yet fulfilled is a problem to be solved.

In fact, it is not necessary to find C# algorithms or C# puzzles to develop your problem-solving skills. Playing games can be helpful, as well as solving various types of puzzles.

As for logic, there is a lot to be learned. Here are a couple of places to start. Logic is useful in all sorts of situations, in fact, anything
involving reasoning:

http://www.philosophypages.com/lg/index.htm
http://plato.stanford.edu/entries/aristotle-logic/

As for your specific third question, there is no answer to it, because you have not sufficiently identified the nature of the problem to solve it.
What do you mean by "print?" And what are the parameters for this so-called members of a matrix in a column/row arrangement. However, you did not specify anything about how the members were to be organized, if at all.

To write an application that solves your matrix problem, you have to tell the computer exactly what to do. This means that there is no room for interpretation. When you say "print" you are being very non-specific.
The word actually has a few different definitions, several of which might be applicable. Do you want to "print" these numbers on paper? Do you want to windowed application? And again, you "printed" the matrix using columns and rows, but your problem didn't mention anything about columns and rows. The computer cannot and will not guess how to fill in the blanks in your
requirements.

But as I mentioned earlier, the first step to solving a problem is to
identify all of the aspects of it.


I really find the above beautiful.

No comments:

Post a Comment

Thank you for your thoughts. Your comment will appear in my blog shortly after review.

Have a great day!