OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 09:15

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 10:52 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Товарищи прорешивают задачи из учебника на КП/ББ и других языках: https://github.com/kemiisto/ModernProgr ... heGroundUp


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 11:11 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
https://github.com/kemiisto/ModernProgr ... al/03/BBCB
https://github.com/kemiisto/ModernProgr ... al/04/BBCB (аналогичная)
В решении задачи 03, автор, наверное, не учитывает, что процедуры чтения не требуют предусловием In.Done:
Код:
    In.Open;

    sum := 0;
    WHILE In.Done DO
      In.Int(n);
      IF In.Done & (n >= 0) THEN
        sum := sum + n;
      END;
    END;

    StdLog.Int(sum);
Если учитывать, получается шаблонная схема полного прохода с фильтрацией:
Код:
    In.Open;

    sum := 0; In.Int(n);
    WHILE In.Done DO
      IF n >= 0 THEN sum := sum + n END;
      In.Int(n)
    END;

    StdLog.Int(sum);
По-моему, это решение более ясное. Надеюсь, уважаемый kemiisto (автор), согласится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 12:39 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Да, так гораздо лучше!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 13:01 

Зарегистрирован: Воскресенье, 03 Февраль, 2008 12:50
Сообщения: 249
А ведь я это читал... Переделал. Как-бы оно ещё само в мозг отложилось... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 17:18 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
kemiisto писал(а):
А ведь я это читал... Переделал. Как-бы оно ещё само в мозг отложилось... :)
В мозг нужно прожечь стандартные шаблоны "полный проход" и "линейный поиск" для цикла while, а также ту мысль, что если встретится что-то более сложное, то оно либо есть оптимизация while (например, из-за того, что какое-то подвыражение в охране цилка нужно сохранить, или оно вычисляется процедурой-не функцией), либо цикл Дейкстры.

(((
До сих пор поверить не могу, что в моем файле 2005 г. эта классификация встречается первый раз. Если кто найдет предтеч, пож., сообщите. Разбор зоопарков циклов в фортране не предлагать :)
)))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 18:24 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
О цикле смотрите: viewtopic.php?p=25353#p25353


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 18:31 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
kemiisto писал(а):
А ведь я это читал... Переделал. Как-бы оно ещё само в мозг отложилось... :)
В мозг нужно прожечь стандартные шаблоны "полный проход" и "линейный поиск" для цикла while, а также ту мысль, что если встретится что-то более сложное, то оно либо есть оптимизация while (например, из-за того, что какое-то подвыражение в охране цилка нужно сохранить, или оно вычисляется процедурой-не функцией), либо цикл Дейкстры.

(((
До сих пор поверить не могу, что в моем файле 2005 г. эта классификация встречается первый раз. Если кто найдет предтеч, пож., сообщите. Разбор зоопарков циклов в фортране не предлагать :)
)))

1. Бинарный поиск - тоже надо.
2. Ну, линейный-то поиск - он, конечно, был с самого начала. Другое дело, что мне не попадалось акцентирования на фильтрации и классификации. То есть примеры-то были, но только у вас появилось конкретное название и тем самым - схема.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 20:03 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Эх....

С классификацией утверждение было, что она как бэ исчерпывающая.
А это не то же самое, что "вот, есть".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2011 21:45 

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 563
Откуда: Москва
Валерий Лаптев просто забыл, что Info21 "распознал" в двоичном поиске т.н. "линейный поиск".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Октябрь, 2011 05:43 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Info21 писал(а):
...В мозг нужно прожечь стандартные шаблоны "полный проход" и "линейный поиск" для цикла while, а также ту мысль, что если встретится что-то более сложное, то оно либо есть оптимизация while (например, из-за того, что какое-то подвыражение в охране цилка нужно сохранить, или оно вычисляется процедурой-не функцией), либо цикл Дейкстры.

До сих пор поверить не могу, что в моем файле 2005 г. эта классификация встречается первый раз. Если кто найдет предтеч, пож., сообщите....
Вы имеете в виду выделение линейного и бинарного поиска как базовых разнвидностей алгоритмов? Встречал у Рембольда во "Введении в информатику". Это немецкий учебник 1991 года, на русский был перевод 1996-го. Правда, там полный проход явно не обобщается - вместо этого обсуждаются удаление/вставка/добавление в конец элемента. Ну и сортировка само собой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Октябрь, 2011 20:09 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Драконограф писал(а):
Info21 писал(а):
До сих пор поверить не могу, что в моем файле 2005 г. эта классификация встречается первый раз. Если кто найдет предтеч, пож., сообщите....
Вы имеете в виду выделение линейного и бинарного поиска как базовых разнвидностей алгоритмов?
Да нет, имелась в виду классификация возможных циклов для практически-методических целей.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Октябрь, 2011 21:16 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Peter Almazov писал(а):
Валерий Лаптев просто забыл, что Info21 "распознал" в двоичном поиске т.н. "линейный поиск".

Я не забыл.
Но для программиста в данном случае обобщение до схемы линейного поиска не нужно.
Пусть будет явное обозначение и явная другая схема.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB