pumpkin-problem

You have problems, and we're glad to hear them. Explain the problem, what you have tried, and where you got stuck.
Feel free to share a little info on yourself and the course.
Forum rules
Please respect your teacher's guidelines. Homework is a learning tool. If we just post answers, we aren't actually helping. When you post questions, be sure to show what you have tried or what you don't understand.
Post Reply
jeltedeproft
Posts: 4
Joined: Thu Oct 10, 2013 6:45 am

pumpkin-problem

Post by jeltedeproft » Mon Oct 28, 2013 6:15 am

Hello everyone,

for school i have to make a function that hangs pumpkins (= lampion in the code) on a horizontal line

we already have a few functions in place :


(define (lampion r l)
(vc-append (filled-rectangle 2 l) (pumpkin r))) which makes a pumpkin on a vertical line


(define (rijg-aan-draad lampionnetjes) which hangs all the pumpkins on a tread, in this function "lampionnetjes" = a collection of pumpkins
(vc-append (filled-rectangle (pict-width lampionnetjes) 2)
lampionnetjes))

these are the programs i made , i had to make it a few different ways and i am only having trouble with the last way
the first way wa through regular recursion

(define (slinger-simpel n r)
(define (lampionnetjes k)
(if (= k 1)
(lampion r 10)
(ht-append (lampion r 10)
(lampionnetjes (- k 1)))))
(rijg-aan-draad (lampionnetjes n)))

the second way was through iteration

where the "acc" was used as a blanco sheet to put the pumpkins on

now i have to do it again, but now i have to use the "do" function. I am really having trouble with this.
I know the body of a do funtion, where you first say which parameters and what they have to do evertyime.
And then you write how the program stops and at last you write the body's u need. This is the code i already got


(define (slinger4 n r l acc)
(do ((aantal n (- aantal 1))
(lengte-koord 1 (+ lengte-koord 1)))
((= aantal 0))
(ht-append (lampion r lengte-koord)

for your simplicity i will translate into english (its dutch)

(define (handle4 n r l acc)
(do ((amount n (- amount 1))
(length-string 1 (+ length-string 1)))
((= amount 0))
(ht-append (pumpkin r length-string)))

so i have

n = the amount of pumpkins
r = width pumpkins
l = length of the string connecting the pumpkins to the horizontal line
acc = the blanco list where all the pumpkins need to go

so to summarize my problem, i know how to use recursion and iteration, but i dont know how to impement a do function into this.

Many thanks for your help

i would upload a picture of how the function looks like, but i dont know how to do this :s

Post Reply