Popravljena funkcija, več testnih primerov

main
Jurij Podgoršek 2024-04-21 17:13:16 +02:00
parent 04440ffed9
commit e015981f91
1 changed files with 29 additions and 3 deletions

View File

@ -54,15 +54,41 @@ Stoy 1977
: -43/180
** 1.3 procedura, ki prejme 3 argumente in vrne vsoto kvadratov vecjih dveh
#+begin_src scheme :exports both
#+begin_src scheme :exports both :results table
(define (vsota-vecjih-kvadratov a b c)
(cond ((<= a b c) (+ (* b b) (* c c)))
((<= b a c) (+ (* a a) (* c c)))
(else (+ (* b b) (* a a)))))
;; ^ NAROBE! <= primerja vse tri stevilke, ne prvo z drugima dvema oz. ostalimi
(vsota-vecjih-kvadratov 6 1 7)
(define (+kvadrat a b) (+ (* a a) (* b b)))
(define (vsota-vecjih-kvadratov2 a b c)
(if (>= a b)
(if (>= b c)
(+kvadrat a b)
(+kvadrat a c))
(if (>= a c)
(+kvadrat a b)
(+kvadrat b c))))
(list
"Pricakovano"
'(85 41 164 89)
"Funkcija1"
(list (vsota-vecjih-kvadratov 6 1 7)
(vsota-vecjih-kvadratov 3 4 5)
(vsota-vecjih-kvadratov 8 10 2)
(vsota-vecjih-kvadratov 3 8 5))
"Funkcija2"
(list (vsota-vecjih-kvadratov2 6 1 7)
(vsota-vecjih-kvadratov2 3 4 5)
(vsota-vecjih-kvadratov2 8 10 2)
(vsota-vecjih-kvadratov2 3 8 5)))
#+end_src
#+RESULTS:
: 85
| Pricakovano | (85 41 164 89) | Funkcija1 | (85 41 164 73) | Funkcija2 | (85 41 164 89) |
** 1.4