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

Reply via email to