| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > помогите решить задачки |
| Автор: DunhiL11 17.12.2011, 20:55 |
| Помогите пожалуйста решить три задачки по LISPу 1)В списке исключить последнее вхождение элемента 'two' 2)Вычислить сумму 15-ти членов арифметической прогрессии с начальным членом a0=2, d=3. то есть последовательность следующая: 2,5,8,11 и т.д 3) Написат программу, которая по координате (х,y) точки дает ответ, попадает ли точка в заштрихованную область Радиус равен 1. ![]() Буду очень признателен, если поможете.Просто сам никогда не работал в Лисп до этого. |
| Автор: VH_ 18.12.2011, 13:16 | ||||||||
1)
2)
3)
|
| Автор: DunhiL11 19.12.2011, 00:11 |
| Спасибо большое. Подскажите еще пожалуйста как сделать чтоб проверялось одновременно два условия, то есть мне нужно проверить входит ли X в данный отрезок 1<X<6 Можно через Cond или через If Если 1<X<6 То Y = 5*X. Вот как это записать. Буду Вам очень признателен. |
| Автор: newbee 19.12.2011, 00:35 | ||||
|
| Автор: VH_ 19.12.2011, 01:02 | ||
LISP проще, достаточно:
кстати, 1<X<6 называется не "отрезок", а "интервал" |
| Автор: DunhiL11 19.12.2011, 01:14 | ||
Как мне Y вывести на экран. через print что то не хочет. Результатом функции выдает только T или NIL( в зависимости от Х). как будто часть setq не выполняет чтоли... Ага я знаю что это интервал) просто писал быстро, особо не задумываясь. Для меня было главное узнать как проверить одновременно два условия) Спс что отвечаете мне) |
| Автор: VH_ 19.12.2011, 01:18 |
| А чему равен Y, если X не попадает в данный интервал? Вообще LISP ето не Бейсик - тут (setq) является лишним средством. Вы расскажите задачу целиком - вероятно, ее надо иначе решать (чем, "выводом на экран"). |
| Автор: DunhiL11 19.12.2011, 01:22 |
| Хм... по коду значение Y не должно вообще расчитываться если Х не попадает в интервал. а просто выдается NIL Добавлено через 6 минут и 15 секунд Написать программу которая по введенной координате Х вычисляет значение функции Y(x) заданной графически Рисунок приложил. Он конечно корявый, там единичный отрезок= 2 клетки. Но тут мне главное понять ход решения. А интервалы потом можно точные указать |
| Автор: VH_ 19.12.2011, 01:44 |
| Счас сделаем. |
| Автор: DunhiL11 19.12.2011, 01:45 |
| Благодарствую) |
| Автор: VH_ 19.12.2011, 01:58 | ||
Что-нибудь типа этого:
|
| Автор: DunhiL11 19.12.2011, 02:02 |
| спс. щас буду разбираться) |
| Автор: newbee 19.12.2011, 09:37 |
| Это верно, только я по привычке написала более общее и верное решение, в реальных задачах границы обычно не задаются константами, а являются результатом вычисления (у которого помимо времени выполнения могут быть еще и побочные эффекты). Будь < специальной ленивой формой, запись (< a x b) была бы хороша, но < - это просто функция, все параметры которой вычисляются перед ее вызовом. Кстати, а есть лиспы, где < - не функция, а специальная форма? |