Написал простенькую программку, вроде должно работать. Вычисляет функцию методом бисекций. Но интерпретатор выдает странную ошибку. (define e 2.7182818284590452353602874) ;(define (f x) (+ x (expt e (* -1 x)))) (define (f x) (x)) (define (good_section? a b) (< (* (f a) (f b)) 0)) (define (guess a b m) ( (cond ((= (f a) 0) a) ((= (f b) 0) b) ((= (f m) 0) m) (else (cond ((good_section? a m) (guess a m (/ (+ a m) 2)) ) ((good_section? m b) (guess m b (/ (+ m b) 2)) ) (else m) ) ) ) ) ) (define (bissect a b) (guess a b (/ (+ a b) 2))) (bissect -1 0) Ошибка ;ERROR: Wrong type to apply: -1 ; in expression: (x) ; in scope: ; (x) procedure f ;STACK TRACE 1; ((x)) 2; (((#@cond ((#@= (#@f #@a) 0) a) ((= (f b) 0) b) ((= (f m) 0) m ... 3; (#@bissect -1 0) Помогите =)
Ответ на:
комментарий
от UrbanSerj
Ответ на:
комментарий
от UrbanSerj
Ответ на:
комментарий
от Laz
Ответ на:
комментарий
от UrbanSerj
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от UrbanSerj
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [Ada] Не компилится код (2010)
- Форум интерпретаторы scheme и факториал (2008)
- Форум Валиден ли код? (2018)
- Форум Stardew Valley не запускается (2021)
- Форум [scheme][haskell][oop][fp] Мысли вслух (2012)
- Форум Помогите сделать макрос красивым (2013)
- Форум Scheme (2011)
- Форум Scheme (2006)
- Форум Scheme (2005)
- Форум Scheme, идентификаторы (2012)