Drawing a flowchart is how many people understand a process; it's something that's been used in schools and textbooks for many generations, and it provides a graphic representation of choices and actions that most people find easy to follow.
For newcomers to programming, such as on my
Learning to program in Python course early last week, writing their first loops and conditions can be daunting - and yet they'll very often be familiar with a flowchart.

But it turns out that a program with a conditional in it is no more than a flowchart converted to a textual representation. Rather than a diamond box, the word
if is used, and that may be followed by the contents of the diamond box in brackets - the exact syntax used will depend on the language.
Below the diamond box on a flowchart, you'll typically have rectangular boxes side by side saying what to do if the condition is true ("yes"), and what to do if the condition is not true ("no"). In a program, you can't have two pieces of code side by side, so you'll write them one above the other and indicate somehow (it depends on the language) where one of the blocks ends and the other starts.
Let's take that graphic representaton from the flowchart and show you the structure in PHP or Perl:
if (condition) {
true action
} else {
false action
}
and in Python:
if condition:
true action
else:
false action
Our next "learning to progam in ..." courses are scheduled as follows:
Learning to program in Ruby - from 22nd October 2012
[link]
Learning to program in PHP - from 4th November 2012
[link]
Learning to program in Python - from 3rd December 2012
[link]
Learning to program in Perl - from 10th December 2012
[link]
If you want to learn to program in Lua, Tcl, C or C++, we offer those courses too, though remaining availablity in 2012 is limited. A full schedule, showing all courses at least 6 months ahead, is available
[here].
(written 2012-10-14, updated 2012-10-20)
2e68
Associated topics are indexed under
Q100 - Object Orientation and General technical topics - Learning to Progam [4008] Reading and checking user inputs - first lessons - Ruby - (2013-02-17)
[3551] Some terms used in programming (Biased towards Python) - (2011-12-12)
[3120] Learning to write good programs in C and C++ - separating out repeated code - (2011-01-04)
[2973] Learning to program - where to start if you have never programmed before - (2010-09-28)
[2898] Programming Standards from the start! - (2010-08-02)
[2505] I almost put the bins out this morning - (2009-11-16)
[2504] Learning to program in ... - (2009-11-15)
[2326] Learn a new programming language this summer. - (2009-08-06)
[2294] Can you learn to program in 4 days? - (2009-07-16)
[2286] New to programming? It is natural (but needless) for you to be nervous - (2009-07-14)
[2092] Tracking difficult bugs, the programmer / customer relationship - (2009-03-20)
[2048] Learning to program in PHP, Python, Java or Lua ... - (2009-02-19)
[2001] I have not programmed before, and need to learn - (2009-01-19)
[1985] Learning to program as a part of your job - (2009-01-10)
[1963] Best source to learn Java (or Perl or PHP or Python) - (2008-12-28)
[1605] Learning and understanding scripting programming techniques - (2008-04-08)
[116] The next generation of programmer - (2004-11-13)
Q904 - Object Orientation and General technical topics - Analysing a Programming Task [3461] From flowchart to program - code design for the newcomer - (2011-09-29)
[3366] Specification, Design, Implementation, Testing and Documentation - stages of a (Java) programming project - (2011-07-21)
[3329] Perl from basics - (2011-06-20)
[2834] Teaching examples in Perl - third and final part - (2010-06-27)
[2715] Uploading an image, document or pdf via a browser (php) - (2010-04-10)
[2327] Planning! - (2009-08-08)
[1853] Well structured coding in Perl - (2008-10-24)
[1850] Daisy the Cow and a Pint of Ginger Beer - (2008-10-21)
[1607] Learning to program in Perl - (2008-04-11)
[1513] Perl, PHP or Python? No - Perl AND PHP AND Python! - (2008-01-20)
[1345] Perl and Shell coding standards / costs of an IT project - (2007-09-11)
[747] The Fag Packet Design Methodology - (2006-06-06)
H104 - PHP - Control Statements [3914] While, for, foreach or something else to loop. - (2012-11-06)
[3397] Does a for loop evaluate its end condition once, or on every iteration? - (2011-08-18)
[3200] How a for loop works Java, Perl and other languages - (2011-03-12)
[2912] Predictions for the seagull population - (2010-08-09)
[2304] Extracting real data from an exported file in PHP or Perl - (2009-07-25)
[1825] Question Mark - Colon operator (Perl and PHP) - (2008-10-08)
[1696] Saying NOT in Perl, PHP, Python, Lua ... - (2008-07-04)
[1477] Decisions - small ones, or big ones? - (2007-12-18)
[1220] for loop - how it works (Perl, PHP, Java, C, etc) - (2007-06-06)
[1199] Testing for one of a list of values. - (2007-05-22)
[1191] Smart English Output - via PHP and Perl ? : operator - (2007-05-18)
[962] Breaking a loop - Ruby and other languages - (2006-12-03)
[863] Double and Triple equals operator in PHP - (2006-09-12)
[657] The ternary operator in Python - (2006-03-25)
[421] Don't repeat code - use loops or functions - (2005-08-21)
[406] Assignment, equality and identity in PHP - (2005-08-08)
[353] Wimbledon Neck - (2005-06-20)
[340] Code and code maintainance efficiency - (2005-06-08)
Y103 - Python - Conditionals and Loops [4092] Identity in Python - (2013-05-17)
[3762] Learning to program - the if statement. Python. - (2012-06-12)
[3620] Finding the total, average, minimum and maximum in a program - (2012-02-22)
[3558] Python or Lua - which should I use / learn? - (2011-12-21)
[3439] Python for loops - applying a temporary second name to the same object - (2011-09-14)
[3083] Python - fresh examples from recent courses - (2010-12-11)
[2899] Groupsave tickets - 3 or 4 train tickets for the price of 2 - (2010-08-02)
[2778] Learning to program in Python 2 ... and / or in Python 3 - (2010-05-24)
[1661] Equality, sameness and identity - Python - (2008-05-31)
[1201] No switch in Python - (2007-05-23)
[909] Python is like a narrowboat - (2006-10-30)
[835] Python - when to use the in operator - (2006-08-16)
[788] New - Conditional expressions in Python 2.5 - (2006-07-01)
[668] Python - block insets help with documentation - (2006-04-04)
[299] What - no switch or case statement? - (2005-05-03)
P204 - Perl - Conditionals and Loops [4031] Showing what programming errors look like - web site pitfall - (2013-03-06)
[3004] Increment operators for counting - Perl, PHP, C and others - (2010-10-18)
[2832] Are you learning Perl? Some more examples for you! - (2010-06-27)
[2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast - (2010-04-07)
[2550] Do not copy and paste code - there are much better ways - (2009-12-26)
[2351] Ternary operators alternatives - Perl and Lua lazy operators - (2009-08-12)
[1727] Equality and looks like tests - Perl - (2008-07-29)
[1468] Lexical v Arithemetic testing, Bash and Perl - (2007-12-11)
[930] -> , >= and => in Perl - (2006-11-18)
5734
Some other Articles
Father Christmas to be on train in MelkshamThe course must go on - improvements to tutor travel plans, with immediate effectAutumn scenes from MelkshamAn email marathonFlowchart to program - learning to program with Well HouseA wet SaturdayPublic Transport across Wiltshire - a new mapDistributed, Balanced and Clustered Load Sharing - the differenceThe components of an Apache httpd / Tomcat / MySQL stack and what each doesHere comes Santa - on the train from Melksham to Swindon on 2nd December 2012