Role Of Logical Thinking In Programming