Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

return

10.05.2020, 19:59. Показов 1108. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пак Программирование Том 2
Переменная x принимает последовательно значения 3, 5, 7. Если
х < 6, то к значению прибавляется 4 и сумма выводится на печать.
В противном случае цикл прерывается оператором R E T U R N .
Lisp
1
2
3
4
5
[8]> (DOLIST (x '(3 5 7)) (IF (< x 6) (print (+ x 4))
(RETURN)))
7 
9 
NIL
В книге в ответах указано 3 и 5, а не 7 и 9, как получается на самом деле.
Если убрать RETURN, то ответ тот же самый остается.
Как поправить, чтобы понять, в чем смысл добавления RETURN?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2020, 19:59
Ответы с готовыми решениями:

Условный выход из функции: PROG RETURN
Пока не понимаю, что делает prog? Знаю про prog1, prog2, progn. Здесь http://www.mari-el.ru/mmlab/home/lisp/LECTION5/index.html...

Haskell return
привет! main:: String -&gt; IO main:: String -&gt; IO() main:: IO()

Не работает return
Я уже сутки пытаюсь понять, почему у меня не работает return. Возможно у меня уже взгляд замылился, или просто нелепицу пишу. В...

22
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.05.2020, 19:26
Студворк — интернет-сервис помощи студентам
Речь идёт не про язык, а про алгоритмы. В любых языках похожие задачи решаются похожим образом.
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
26.05.2020, 20:15
Да ну, конечно, по-разному. В функциональном подходе была бы рекурсия. В более высокоуровневом языке была бы примитивная операция - member (CL) или in (Python). При векторном подходе, наверно, построили бы маску, типа np.any(a == N), где a == N - булев массив.

Добавлено через 4 минуты
Вообще, циклы - это олдскульно. У лисповых циклов хотя бы то преимущество, что это внутри они циклы, а снаружи - выражения, возвращающие значения, как любые другие.
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.05.2020, 08:04
С одной стороны соглашусь, но это уже пошли частности.

Очевидной мыслью будет перебрать в цикле весь список и сравнить a==N.

Python
1
2
3
for i in ls:
    if i == N:
        pass
Сложность будет O(n), где n - количество элементов в списке.

Кстати,
Цитата Сообщение от helter Посмотреть сообщение
или in (Python).
Python
1
N in ls
Имеет всю ту же сложность в O(n): https://wiki.python.org/moin/TimeComplexity

А дальше уже пошли различные ухищрения для оптимизации:
1) векторизация и распараллеливание (работает в разы быстрее на нескольких вычислительных ядрах). Примитивно: разрезаем список на равные M частей и параллельно проверяем каждый. O(n/M) + накладные расходы

2) break:
Python
1
2
3
4
5
is_found = False
for i in ls:
    if i == N:
        is_found = True
        break
Сложность остаётся той же самой O(n), но на реальных данных работает быстрее. Это ответ ТСу зачем нужен return.

3) сортировка и бинарный поиск: O(n log n) + O(?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2020, 08:04

Почему не работает return
Почему выполняется строка server_print(&quot;666666666666666666666666&quot;) Файла tratatatratatatratata.txt нет перед запуском кода ...

Подскажите новичку по return
Форма передает fname, пишу метод: def fio=(fname) puts fname endвсе прекрасно передается, в консоле вижу содержимое fname,...

Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}?
package com.company; import java.io.Serializable; public class person implements Serializable { protected String name; ...

Что такое в jquery и java return false и return true
Если я правильно понимаю, то return false отменяет действие по умолчанию, например клик по ссылке, а return true это наоборот приводит в...

В чем разница между return и return false/true
Привет всем. Вот подскажите плиз) return; return false; return true; расскажите пожалуйста об етих операторах.. чем они...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru