[racket] how must I interpreted this exercise
One question left : Did I do this exercise the right way ?
Roelof
Op 25-6-2012 16:21, Roelof Wobben schreef:
> Nope, I think I have to read the whole book to get this kind of problems.
> First a lot of things to learn as lists, quote/unquote, lamba.
>
> Roelof
>
>
>
> Op 25-6-2012 16:14, Matthias Felleisen schreef:
>> This is not this kind of problem.
>>
>>
>> On Jun 25, 2012, at 10:06 AM, Richard Cleis wrote:
>>
>>> That is-near a better solution ;o)
>>>
>>> I think HtDP has problems that require assembling sentences from
>>> different parts of speech. That is a very challenging software field.
>>>
>>> rac
>>>
>>>
>>>
>>> On Jun 25, 2012, at 12:41 AM, Roelof Wobben wrote:
>>>
>>>> You mean something like this :
>>>>
>>>> (check-expect (calculate 0 3) 3)
>>>> (define (calculate getal1 getal2)
>>>> (cond
>>>> [ (equal? getal1 0) getal2]
>>>> [ (equal? getal2 0) getal1]
>>>> [else (sqrt (+ (* getal1 getal1) (* getal2 getal2)))]
>>>> ))
>>>>
>>>> ; String -> String
>>>> ; This function produces a string depending on the input "niet " or ""
>>>> (check-expect (afdrukken "") "Het ingegeven punt is dichtbij het 0
>>>> punt")
>>>> (check-expect (afdrukken "niet ") "Het ingegeven punt is niet
>>>> dichtbij het 0 punt")
>>>> (define (afdrukken s)
>>>> (string-append first_tekst s middle_tekst)
>>>> )
>>>>
>>>>
>>>> ; Struct -> String
>>>> ; Function who outputs "niet" or a empty string depending on the
>>>> calculated distance compared with R.
>>>> (check-expect (is-near (make-posn 1 0) 5) "Het ingegeven punt is
>>>> dichtbij het 0 punt")
>>>> (check-expect (is-near (make-posn 3 4) 5) "Het ingegeven punt is
>>>> niet dichtbij het 0 punt")
>>>> (define (is-near s r)
>>>> ( if (< (calculate (posn-x s) (posn-y s)) r) (afdrukken "")
>>>> (afdrukken "niet ")
>>>> ))
>>>>
>>>>
>>>> Roelof
>>>>
>>>>
>>>>
>>>> Op 25-6-2012 6:18, Richard Cleis schreef:
>>>>> Check-expect is used to test your function.
>>>>> Make that work first.
>>>>>
>>>>> Then you can use the design recipe to make a new function.
>>>>>
>>>>> The new function will accept the output of your first function and
>>>>> return the message that you want… without any repeated words in
>>>>> the function.
>>>>>
>>>>> rac
>>>>>
>>>>> On Jun 24, 2012, at 1:43 PM, Roelof Wobben wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> This soluation is not what I was looking for.
>>>>>> And it uses list which I don't have learned so far.
>>>>>>
>>>>>> So far I have this :
>>>>>>
>>>>>> ; constanten
>>>>>>
>>>>>> (define R 5)
>>>>>> (define first_tekst "Het ingegeven punt")
>>>>>> (define is_tekst "is")
>>>>>> (define middle_tekst "dichtbij het 0 nulpunt")
>>>>>> (define niet "niet")
>>>>>>
>>>>>>
>>>>>> ;Number Number -> Number
>>>>>> ;This function calculates the distance of a given point compared
>>>>>> to the origin
>>>>>> (check-expect (calculate 1 0) 1)
>>>>>> (check-expect (calculate 3 4) 5)
>>>>>> (check-expect (calculate 0 3) 3)
>>>>>> (define (calculate getal1 getal2)
>>>>>> (cond
>>>>>> [ (equal? getal1 0) getal2]
>>>>>> [ (equal? getal2 0) getal1]
>>>>>> [else (sqrt (+ (* getal1 getal1) (* getal2 getal2)))]
>>>>>> ))
>>>>>>
>>>>>> ; Struct -> String
>>>>>> ; Function who outputs a string dependinh on the outcome of the
>>>>>> calculation of the distance to the origin
>>>>>> (check-expect (is-near (make-s 1 0) "Het ingegeven punt is
>>>>>> dichtbij het nulpunt"))
>>>>>> (check-expect (is-near (make-s 3 4) "Het ingeven punt is niet
>>>>>> dichtbij het nulpunt"))
>>>>>> (define (is-near s r)
>>>>>> ( if (< (calculate (posn-x s) (posn-y s)) r)
>>>>>>
>>>>>> Now I can do (string append first_tekst is middle-tekst) and
>>>>>> (string-append first-tekst is niet middle-tekst) but then I do
>>>>>> almost two times the same with one difference the niet part.
>>>>>> And Im looking for a better solution.
>>>>>>
>>>>
>>>
>>> ____________________
>>> Racket Users list:
>>> http://lists.racket-lang.org/users
>>
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
>