For 2023 (and 2024 ...) - we are now fully retired from IT training. We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here)) |
Selling curry to the chinese takeaway
Have you ever walked into a Chinese Takeaway and sold them three chicken curries with rice? Or gone to your local station and bought three tickets for yesterday? I'll be you haven't - there are certain things that don't work quite the same way when you go negative. I can't carry on once my car has run out of petrol, secure in the knowledge that I can then put 11 gallons into my 10 gallon tank when I reach the next filling station.
But with some things, negative values ARE acceptable. What is the temperature today? 6? 4? -4? The only difference is that you'll want gloves and need to scrape ice in the latter case.
When writing code to establish the maximum of a series of numbers, it's very tempting to assume that the largest_so_far is zero, then compare each of your series with largest_so_far and note the new value if it's higher. Which works very well if you've got positive numbers. But what were the temperatures in Sptitzbergen last week? -15, -20, -15, a hot -8, and -14. So my tempting algorithm wouldn't work - it would give me a scorching zero degrees.
Solution? Don't start at zero ... start at the first value in the series. Here's an example of a part of that code in Tcl:
if {$count} {
if {$biggest < $input} {set biggest $input}
if {$smallest > $input} {set smallest $input}
} else {
set biggest $input
set smallest $input
} (written 2008-03-31, updated 2008-04-01)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles G906 - Well House Consultants - Programming Standards [148] Programming in isolation - (2004-12-11) [272] More to programming than just programming - (2005-04-08) [343] Should I use structured or object oriented? - (2005-06-10) [356] Sudoku helper or sudoku cheat - (2005-06-23) [945] Code quality counts - (2006-11-26) [1679] PHP - Sanitised application principles for security and useability - (2008-06-16) [1852] Perl and Blackberries - (2008-10-23) [2322] Looking for a practical standards course - (2009-08-05) [2363] Alpaca Case or Camel Case - (2009-08-16) [2364] Getting it right from the start - new programmers - (2009-08-17) [3685] Programming Standards in Lua - (2012-04-06)
Some other Articles
Cambidge - Tcl, Expect and Perl coursesFresher tutor, better courseEvery link has two ends - fixing 404s at the recipientComparing hotels - as a guest and from the proprietors viewSelling curry to the chinese takeawayFirst Great Western WeekendPlease support improvements in our train serviceKeep the client experience easy - single server contact pointSetting up a new user - Linux or UnixEaster Sunday at 404, The Spa
|
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|