On 2003-03-05, Arie Folger wrote: > On Wednesday 05 March 2003 15:59, Beni Cherniavsky wrote: > > - You can't write a loop that will execute the same code many times. > > This too existed in Babbage's engine but algorithms were written > > expecting such an ability long before, for example Euclid's > > algorithm for finding the GCD of two numbers. How do you > > implement it in a spreadsheet? > > > > The only way to implement loops is but unrolling them - an > > optimization excercise that should never be inflicted on a > > programmer in his source code - but with the extra requirement to > > unroll them *completely* which requires you to know the total > > number of iterations beforehand (or at least an upper bound). > > Not correct nowadays. I did complex using solver and table plugins in Excel > (StarOffice didn't have them then, and didn't have the possibility to > incorporate arbitrary programming languages, only starbasic). Depending on > the model, I did or did not know the number of iterations ahead of time. > Annoying was that the spreadsheet refreshed itself after every iteration, > which is extremely slow, but that can be overriden in some spreadsheets. > If you mean that you iterated "in place" (changing the value in the same cell many times), that's nice but it can't provide for cases where the *output* needs to be of variable length.
OK, I admit that most spreadsheets contain enough complex tools that allow to escape most limitations if you are determined enough; in particular my claim that spreadsheets are not turing complete is very easy to break. Nevertheless, the limitations I described apply to the normal model of working upon which spreadsheets are based; neing able to escape this model (e.g. by "macros") is no excuse for basing everything on it. -- Beni Cherniavsky <[EMAIL PROTECTED]> I'm too lazy to use GUI - why should I click all these things to get my job done? ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]
