Тема: sheme вычисление квадратного корня

Ответить в теме
Показано с 1 по 3 из 3
  1. Вверх #1
    Новичок Аватар для Programming4Life
    Пол
    Мужской
    Сообщений
    99
    Репутация
    32

    По умолчанию scheme вычисление квадратного корня

    начал sicp

    Код:
    (define (try-sqrt guess x)
    	(if (guess? guess x)
    		guess
    	(try-sqrt (improve guess x) x)))
    
    (define (guess? guess x)
    	(if(< (module (- x guess)) 0.2)
    		#t #f))
    	
    (define (module x)
    	(if (> x 0)
    		x
    	(- x)))
    	
    (define(improve guess x)
    	(/ (+ (/ x guess) guess) 2))
    по отдельности improve, guess?, module работают нормально, при вызове try-sqrt видимо происходит зацикливание. в чем ошибка не пойму
    =====================================
    заметил ошибку, предикат неверный был, забыл guess в квадрат возвести
    Код:
    (define (guess? guess x)
    	(if(< (module (- x (* guess guess))) 0.2)
    		#t #f))
    Последний раз редактировалось Programming4Life; 24.06.2013 в 16:40. Причина: увидел ошибку


  2. Вверх #2
    Новичок
    Пол
    Мужской
    Возраст
    45
    Сообщений
    19
    Репутация
    11
    меня в sicp хватило на первые три главы потом пошел ад с какими то фигурами и их преобразованиями
    его я пропустил
    ну и алгоритм хаффмана стоил того чтобы его пощупать
    потом я забил =)

  3. Вверх #3
    Посетитель
    Пол
    Мужской
    Сообщений
    126
    Репутация
    37
    Такая же фигня. Дропнул на средине 3-ей главы, т.к. мозг начал перегреваться.

Ответить в теме

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения