Month: September, 2007

Самоучка

24 September, 2007 (19:18) | Материалы | No comments

Привет, я вернулся из отпуска и уже втягиваюсь в рабочий процесс. Сегодня продолжу публикацию решений из SICP.
Рассматривая вчера накопившуюся корреспонденцию, я наткнулся на блог Майкла Харрисона (Michael Harrison), именующего себя Самоучкой (Autodidact). Майкл является профессиональным веб-программистом из США, который, как и многие его коллеги, не имеет формального образования в области компьютерных наук. С сентября он начал самостоятельно […]

Поездка в Черногорию

5 September, 2007 (21:08) | Личное | No comments

У меня уже решены все упражнения из раздела 1.2, но, к сожалению, в ближайшие 2 недели ничего опубликовать не получится, так как завтра я уезжаю на отдых в Черногорию - очень красивое место. По приезду продолжу публикацию решений упражнений из SICP с новыйми силами и удвоенным энтузиазмом.
А Черногория, вот она какая:

Фотография взята с великолепного ресурса Владимира Моисеева […]

SICP в Формате Texinfo

3 September, 2007 (19:17) | Материалы | No comments

Всем, кто хочет читать SICP на Unix-ах с помощью Emacs будет приятно узнать, что SICP доступен также в формате Texinfo на сайте Нила Ван Дайка. Скачивайте и читайте.

Решение упражнения 1.21 из SICP

1 September, 2007 (22:48) | Решения упражнений | No comments

> (smallest-divisor 199)
199

> (smallest-divisor 1999)
1999

> (smallest-divisor 19999)
7

День знаний

1 September, 2007 (19:54) | Преподавание, Разное | No comments

Поздравляю всех обучаемых и обучающих с Днем знаний (1 сентября)!
Хочу пожелать не прекращать учиться никогда, как бы давно ни были закончены школы и вузы. А обучение кого-то, по большому счету, это и собственное обучение тоже.

Решение упражнения 1.20 из SICP

1 September, 2007 (18:53) | Решения упражнений | 1 comment

Итак, у нас вновь сравнение нормального и аппликативного порядков вычислений. В данном случае речь идет об эффективности. Сначала набросаем процесс для нормального порядка (знаком > отмечается текущее количество выполненных операций remainder:
>0
(gcd 206
     40)
>0
(if (= 40 0)
    206
    (gcd 40
         (remainder 206
                    40)))
>0
(gcd 40
     (remainder 206
                40)))
>0
(if (= (remainder 206
                  40)
       0)
    40
    (gcd (remainder 206
                    […]