[plt-scheme] Multiple loops
HtDP shows you how to design programs from scratch for three
chapters. When a data definition is recursive, so are the functions
that process its instances.
In chapter 4, HtDP introduces abstractions over this process. For
linear forms of recursive data, we call them loops. A loop is a
traversal over some form of data, parameterized over the actions you
take at each node. While poor languages (Java, Python) support 3 or 4
loops, Scheme allows you to define your own loops.
So the problem that you were facing in Python would be this in
chapter HtDP/4:
#lang scheme
;; (Listof Number) (Listof Number) -> (Listof Number)
(define (*list onel twol) (map * onel twol))
If I misunderstood and you're also summing up the results of the
multiplications, it would look like this:
#lang scheme
;; (Listof Number) (Listof Number) -> (Listof Number)
(define (*list onel twol) (apply + (map * onel twol)))
Helps? -- Matthias
On Mar 31, 2009, at 1:29 PM, aditya shukla wrote:
> I am not sure if this is the right question for this forum.but
> since htdp is helping me to learn program design approach i think i
> should i ask it.In chapter 12 HTDP , recursion is used to
> implement insertion sort this marks the beginning of designing
> comlex programs.Yesterday i was coding in python and the data
> structure was a list of lists of numbers where i had to multiple
> each element of the list with the other elements of the other
> lists .I tried it using for loops and after a hard time i finally
> got the solution.My question here is are there loops in scheme or
> recursion is used in all the cases and is there is a design rule
> for multiple loops?Any help is appreciated.
>
>
> Aditya
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme