Re: Transformation Rules

*To*: mathgroup at smc.vnet.net*Subject*: [mg119722] Re: Transformation Rules*From*: Bob Hanlon <hanlonr at cox.net>*Date*: Sat, 18 Jun 2011 19:57:09 -0400 (EDT)*Reply-to*: hanlonr at cox.net

data = RandomInteger[100, 10] {3, 27, 71, 1, 84, 42, 80, 55, 95, 33} data //. {s___, x_, e___} /; x <= Max[s] :> {s, e} {3, 27, 71, 84, 95} Bob Hanlon ---- Stefan Salanski <wutchamacallit27 at gmail.com> wrote: ============= Hey everyone, I found a sort of intro/tutorial notebook on my hard drive that I must have downloaded a while ago. "ProgrammingFundamentals.nb". I am not sure of the source, though the author appears to be a Mr. Richard Gaylord. "These notes form the basis of a series of lectures given by the author, in which the fundamental principles underlying Mathematica's programming language are discussed and illustrated with carefully chosen examples. This is not a transcription of those lectures, but the note set was used to create a set of transparencies which Professor Gaylord showed and spoke about during his lectures. These notes formed the basis for both a single 6 hour one-day lecture and a series of four 90 minute lectures, delivered to professionals and to students." I sent it to a friend and recommended that he look through and try out some of the exercises to become more familiar with Mathematica. It was written in a previous version of Mathematica (dunno which, just not 8), but still has a lot of great exercises to try out. (the only real difference being the new implementation of RandomInteger and RandomReal instead of Random[Integer] and Random[Real]) Anyway, I have gotten stumped on one of the Transformation Rule exercises which I have restated below: Use a transformation rule to take a list of elements and return a list of those elements that are greater than all of the preceding elements in the list. How can this be done with transformation rules?