My 2-cents worth,

I think Richard's & Glenn's comment cover the basics but I always try to write in 'modules'. I think of my program as a bunch of sub-tasks & I solve each sub-task & write it as a separate entity & test it. After I have enough of these modules done I string them together. This tends to make code easier to read & seem less complex. Often when I start a project, I have no clear design in mind. I just build the modules I need and as I build them the overall design becomes clear.

Indentation for loops & if statemets, lots of white space & comments help a lot. Then with experience you will evolve a stlye that suits you.
_________________________
Jack