Just realized that your list was sorted ascending, but for some reason, I
latched into 'descending'.  In the text below where I said 'smaller' it
should say 'bigger'.

"...put a number (x) on the front of a list if (first lst) is BIGGER than
x.  If (first lst) is not BIGGER..."

On Sun, Nov 27, 2016 at 3:13 PM, David Storrs <[email protected]>
wrote:

> Ben, I'm guessing that this is homework?  Unless you have an artificial
> constraint stopping it, I would suggest that you take a look at the docs
> for Racket's built-in 'sort' function.  Also, 'cons'.  (See the 'Pairs and
> Lists' documentation.)
>
> As a more general hint, Racket is a functional language with a strong
> grounding in recursion.  The way recursion works (pardon me if you already
> know this, but I'm building to a point) is that you have a function which
> can do two things:  solve a very trivial problem, or call itself again in
> order to get one step closer to that trivial problem.  The standard example
> is the factorial function:
>
> (define (factorial n)
>   (cond [(= n 1) 1]
>             [else n * (factorial (- n 1))]))
>
> This function knows how to solve a trivial problem:  find the factorial of
> 1.  If it's given a number other than 1 then it moves one step closer
> towards the problem that it knows how to solve, building up its result on
> the stack.
>
> The two procedures you want to write would be good candidates for
> recursive solutions.
>
> The first procedure you've already written.  It knows how to solve a
> trivial problem: put a number (x) on the front of a list if (first lst) is
> smaller than x.  If (first lst) is not smaller, then it should do whatever
> is necessary to get one step closer to its result.
>
> The second procedure I don't want to outline too clearly, so I will ask:
> what is the definition of a sorted list?  How do you sort lists of 0, 1, 2,
> and 3 elements?  If you can answer those questions then you'll have your
> solution.  (I suggest answering them in the order I asked them.)
>
> Good luck!
>
> Dave
>
> On Sun, Nov 27, 2016 at 1:31 PM, Jon Zeppieri <[email protected]> wrote:
>
>> The first question is: what is a list? Forget empty lists for a moment.
>> Think about a list with a single real in it. According to your program,
>> what does that look like?
>>
>> You're defining lists in terms of pairs. Okay, so let's say you want a
>> list, where the only element in it is the number 1.0. What does that look
>> like, in terms of pairs. Maybe you have a pair where the "first" field
>> contains 1.0. But what does the "rest" field contain? What is the *rest* of
>> a list that only has one thing in it?
>>
>>
>>
>>
>> > On Nov 27, 2016, at 4:23 PM, Ben Ghanem Anis <[email protected]>
>> wrote:
>> >
>> >> On Sunday, November 27, 2016 at 10:16:34 PM UTC+1, Jon Zeppieri wrote:
>> >> Well, okay, first your program needs to admit the possibility of an
>> empty list. But once it does, see my previous message.
>> >>
>> >>> On Nov 27, 2016, at 3:45 PM, Ben Ghanem Anis <[email protected]>
>> wrote:
>> >>>
>> >>> Hey guys,
>> >>> I need some help ..
>> >>> I need to write two procedures .. first one should be able to insert
>> a real number in the right position in a list (that is by default sorted
>> ascending) made of pairs (make-pair), also i need to use the procedure to
>> write another one that is able to sort in an ascending way a whole list of
>> real numbers.
>> >>> I already did the first step(see included shot) .. but i'm really
>> stuck
>> >>> Help!
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to the Google
>> Groups "Racket Users" group.
>> >>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to [email protected].
>> >>> For more options, visit https://groups.google.com/d/optout.
>> >>> <Untitled.jpg>
>> > And how could i make it accept empty lists ?
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Racket Users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to [email protected].
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to