[ Prev ]
2021-11-10

-- Nov 10 In-Class Exercise Thread
(define (ipaux 11 12 sum)
     (if (or (null? 11) (null? 12))
          sum
          (if (and (number? (car 11)) (number? (car 12)))
               (ipaux (cdr 11) (cdr 12) (+ sum (* (car 11) (car 12))));
               (ipaux (cdr 11) (cdr 12) sum)
          )
     )
)
(define (ip 11 12) (ipaux 11 12 0))
(define (ipaux 11 12 sum) (if (or (null? 11) (null? 12)) sum (if (and (number? (car 11)) (number? (car 12))) (ipaux (cdr 11) (cdr 12) (+ sum (* (car 11) (car 12)))); (ipaux (cdr 11) (cdr 12) sum) ) ) ) (define (ip 11 12) (ipaux 11 12 0))

-- Nov 10 In-Class Exercise Thread
(define (ip L1 L2 result)
    (if (or (null? L1) (null? L2)) result
        (if (or (null? L!)(null? L2))
            (ip (cdr L1) (cdr L2) (+ result (* (car L1) (car L2))))
        )
    )    
)
(define (inner-product L1 L2) (ip L1 L2 0))
(define (ip L1 L2 result) (if (or (null? L1) (null? L2)) result (if (or (null? L!)(null? L2)) (ip (cdr L1) (cdr L2) (+ result (* (car L1) (car L2)))) ) ) ) (define (inner-product L1 L2) (ip L1 L2 0))

-- Nov 10 In-Class Exercise Thread
(define (ipaux A B sum)
    (if (null? A) sum 
        (if (null? B) sum
            (ipaux (cdr A) (cdr B) (+ sum (* (car A) (car B)))))))
(define (ip A B) (ipaux A B 0))
(define (ipaux A B sum) (if (null? A) sum (if (null? B) sum (ipaux (cdr A) (cdr B) (+ sum (* (car A) (car B))))))) (define (ip A B) (ipaux A B 0))

-- Nov 10 In-Class Exercise Thread
(define (ip l1 l2 sum) (if (or (null? l1)(null? l2)) sum (if (and (number? (car l1)) (number? (car l2))) (ip (cdr l1) (cdr l2) (+ sum (* (car l1) (car l2)))) (ip (cdr l1) (cdr l2) sum)))) (ip '(1 2 3) '(4 5 6) 0) 32
<nowiki> (define (ip l1 l2 sum) (if (or (null? l1)(null? l2)) sum (if (and (number? (car l1)) (number? (car l2))) (ip (cdr l1) (cdr l2) (+ sum (* (car l1) (car l2)))) (ip (cdr l1) (cdr l2) sum)))) (ip '(1 2 3) '(4 5 6) 0) 32 </nowiki>
2021-11-15

-- Nov 10 In-Class Exercise Thread
(define (ip x y)
  (helper x y 0))
(define (helper x y z)
  if((null? x)
    z
  if((null? y)
    z
  (helper (cdr x) (cdr y) (+ z (* (car x) (car y))))
  )
))
(define (ip x y) (helper x y 0)) (define (helper x y z) if((null? x) z if((null? y) z (helper (cdr x) (cdr y) (+ z (* (car x) (car y)))) ) ))

-- Nov 10 In-Class Exercise Thread
 (define (ip l1 l2)
   (ip-aux l1 l2 0))
 
 (define (ip-aux l1 l2 pRes)
   (if (or (null? l1) (null? l2)) pRes
   (ip-aux (cdr l1) (cdr l2) (+ pRes (*(car l1) (car l2)))))
(Edited: 2021-11-15)
(define (ip l1 l2) (ip-aux l1 l2 0)) (define (ip-aux l1 l2 pRes) (if (or (null? l1) (null? l2)) pRes (ip-aux (cdr l1) (cdr l2) (+ pRes (*(car l1) (car l2)))))

-- Nov 10 In-Class Exercise Thread
(define (ip_aux l1 l2 inner_product)
  (if (or (null? l1) (null? l2))
    (if (and (number? (car l1) (number? (car l2))))
      (ip_aux (cdr l1) (cdr l2) (+ inner_product (* (car l1) (car l2))))
    )
  )
) 
 
(define (ip l1 l2)
  (ip_aux l1 l2 0)
)
<pre> (define (ip_aux l1 l2 inner_product) (if (or (null? l1) (null? l2)) (if (and (number? (car l1) (number? (car l2)))) (ip_aux (cdr l1) (cdr l2) (+ inner_product (* (car l1) (car l2)))) ) ) ) (define (ip l1 l2) (ip_aux l1 l2 0) ) </pre>

-- Nov 10 In-Class Exercise Thread
(define (ip x y)
   (iphelp x y 0))
 (define (iphelp x y z)
   (if (null? x) z
       (if (null? y) z
           (iphelp (cdr x) (cdr y) (+ z (* (car x) (car y))))))) 
(define (ip x y) (iphelp x y 0)) (define (iphelp x y z) (if (null? x) z (if (null? y) z (iphelp (cdr x) (cdr y) (+ z (* (car x) (car y)))))))
X