|
|
|
DunhiL11 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Помогите пожалуйста решить три задачки по LISPу
1)В списке исключить последнее вхождение элемента 'two' 2)Вычислить сумму 15-ти членов арифметической прогрессии с начальным членом a0=2, d=3. то есть последовательность следующая: 2,5,8,11 и т.д 3) Написат программу, которая по координате (х,y) точки дает ответ, попадает ли точка в заштрихованную область Радиус равен 1. Буду очень признателен, если поможете.Просто сам никогда не работал в Лисп до этого. |
|||
|
||||
VH_ |
|
||||||||
Бывалый Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
1)
2)
3)
|
||||||||
|
|||||||||
DunhiL11 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Спасибо большое.
Подскажите еще пожалуйста как сделать чтоб проверялось одновременно два условия, то есть мне нужно проверить входит ли X в данный отрезок 1<X<6 Можно через Cond или через If Если 1<X<6 То Y = 5*X. Вот как это записать. Буду Вам очень признателен. |
|||
|
||||
newbee |
|
||||
Бревно Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: нет Всего: 19 |
Это сообщение отредактировал(а) newbee - 19.12.2011, 00:36 -------------------- You're face to face With man who sold the world |
||||
|
|||||
VH_ |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
LISP проще, достаточно:
кстати, 1<X<6 называется не "отрезок", а "интервал" Это сообщение отредактировал(а) VH_ - 19.12.2011, 01:03 |
|||
|
||||
DunhiL11 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Как мне Y вывести на экран. через print что то не хочет. Результатом функции выдает только T или NIL( в зависимости от Х). как будто часть setq не выполняет чтоли... Ага я знаю что это интервал) просто писал быстро, особо не задумываясь. Для меня было главное узнать как проверить одновременно два условия) Спс что отвечаете мне) Это сообщение отредактировал(а) DunhiL11 - 19.12.2011, 01:16 |
|||
|
||||
VH_ |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
А чему равен Y, если X не попадает в данный интервал?
Вообще LISP ето не Бейсик - тут (setq) является лишним средством. Вы расскажите задачу целиком - вероятно, ее надо иначе решать (чем, "выводом на экран"). Это сообщение отредактировал(а) VH_ - 19.12.2011, 01:22 |
|||
|
||||
DunhiL11 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Хм... по коду значение Y не должно вообще расчитываться если Х не попадает в интервал. а просто выдается NIL
Добавлено через 6 минут и 15 секунд Написать программу которая по введенной координате Х вычисляет значение функции Y(x) заданной графически Рисунок приложил. Он конечно корявый, там единичный отрезок= 2 клетки. Но тут мне главное понять ход решения. А интервалы потом можно точные указать Присоединённый файл ( Кол-во скачиваний: 2 ) 19122011212.jpg 974,72 Kb |
|||
|
||||
VH_ |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
Счас сделаем.
|
|||
|
||||
DunhiL11 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Благодарствую)
|
|||
|
||||
VH_ |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
Что-нибудь типа этого:
|
|||
|
||||
DunhiL11 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
спс. щас буду разбираться)
|
|||
|
||||
newbee |
|
|||
Бревно Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: нет Всего: 19 |
Это верно, только я по привычке написала более общее и верное решение, в реальных задачах границы обычно не задаются константами, а являются результатом вычисления (у которого помимо времени выполнения могут быть еще и побочные эффекты). Будь < специальной ленивой формой, запись (< a x b) была бы хороша, но < - это просто функция, все параметры которой вычисляются перед ее вызовом.
Кстати, а есть лиспы, где < - не функция, а специальная форма? -------------------- You're face to face With man who sold the world |
|||
|
||||
Правила форума LISP | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | LISP | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |