Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Лабы по LISP 
:(
    Опции темы
gigi1988
Дата 9.1.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Люди, не люблю обращаться с просьбой сделать что-то за меня, но нужна помощь. А если говорить прямо необходимо решить лабы по данному языку. Прошу не ругать, если не затруднит то решить.  Прошу не от лени, а просто в связи с отсутствием времени на изучение данного языка. Попытка бегло пробежаться для того, чтобы решить данные лабы успехом не увенчалась. Всё-таки это не C. Лабы по-моему представлению не сложные для тех кто работает на данном языке. Поэтому если не трудно помогите. Всех благодарю за внимание.

I.    Решите задачу, используя рекурсивную подпрограмму:
Функция, вычисляющая сумму квадратов целых чисел от 1 до n 
II.    Вычислить (1-sin (0.1))+(1+sin (0.2))+ (1-sin (0.3))+ ...+(1+sin (1.0)).
III.   Вычислить среднее геометрическое шести вводимых чисел.
PM MAIL   Вверх
VH_
Дата 10.1.2010, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



I.
Код
(defun F (N)
 (if (zerop N) 0
  (+ (* N N) (F (1- N)))))

PM MAIL   Вверх
VH_
Дата 10.1.2010, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



III. ?
Код
(expt (* число1 число2 число3 число4 число5 число6) 1/6)


Это сообщение отредактировал(а) VH_ - 10.1.2010, 17:35
PM MAIL   Вверх
gigi1988
Дата 11.1.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.4.2007

Репутация: нет
Всего: нет



Спасибо огромное за помощь! Весьма признателен. Есть на свете понимающие люди
PM MAIL   Вверх
AyeAye
Дата 19.1.2010, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



вторая
Код

;;вычисление ряда.
(defun culc(x)
  (prog (s)
    (setq s
      (if (> (mod (round (* x 10)) 2) 0);round приводит вещественное к целому.
        -1 ;если четное x
        1 ;если не четное x
      )
    )
    (if (> x 0.1)
      (return (+ (+ 1 (* s (sin x))) (culc (- x 0.1)) ))
      (return (+ 1 (* s (sin x))))
    )
  )
)
(culc 1) ;11.409233463428622


Это сообщение отредактировал(а) AyeAye - 19.1.2010, 17:08
PM MAIL   Вверх
k0rvin
Дата 24.1.2010, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Цитата(AyeAye @ 19.1.2010,  16:34)
вторая
Код

;;вычисление ряда.
(defun culc(x)
  (prog (s)
    (setq s
      (if (> (mod (round (* x 10)) 2) 0);round приводит вещественное к целому.
        -1 ;если четное x
        1 ;если не четное x
      )
    )
    (if (> x 0.1)
      (return (+ (+ 1 (* s (sin x))) (culc (- x 0.1)) ))
      (return (+ 1 (* s (sin x))))
    )
  )
)
(culc 1) ;11.409233463428622

какой ужасный как по стилю оформления, так и по алгоритму код. от того и результат ошибочный

правильно так:
Код

(defun f (i)                                                                               
  (1+ (* (if (oddp i) -1 1) (sin (/ i 10)))))
                                                                                                
(defun sum (fn)                                                                            
  (loop for i from 1 to 10                                                                 
        summing (funcall fn i)))

(sum 'f) ; => 10.409233 


Это сообщение отредактировал(а) k0rvin - 24.1.2010, 00:49


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
_sg
Дата 25.4.2014, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: 2
Всего: 2



III.
Код

(defun expt-n-m (n m)
  (loop for a from 1 to n collect (expt a m)))

> (expt-n-m 10 2)
(1 4 9 16 25 36 49 64 81 100)


Добавлено через 2 минуты и 6 секунд
Код

(defun sum-expt-n-m (n m)
  (reduce #'+ (loop for a from 1 to n collect (expt a m))))

> (sum-expt-n-m 10 2)
385

--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.