OberonCore
https://forum.oberoncore.ru/

Хабаровский учебник по КП: решение задач
https://forum.oberoncore.ru/viewtopic.php?f=80&t=3610
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Понедельник, 17 Октябрь, 2011 10:52 ]
Заголовок сообщения:  Хабаровский учебник по КП: решение задач

Товарищи прорешивают задачи из учебника на КП/ББ и других языках: https://github.com/kemiisto/ModernProgr ... heGroundUp

Автор:  Евгений Темиргалеев [ Понедельник, 17 Октябрь, 2011 11:11 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

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 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

Да, так гораздо лучше!

Автор:  kemiisto [ Понедельник, 17 Октябрь, 2011 13:01 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

А ведь я это читал... Переделал. Как-бы оно ещё само в мозг отложилось... :)

Автор:  Info21 [ Понедельник, 17 Октябрь, 2011 17:18 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

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

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

Автор:  ==== [ Понедельник, 17 Октябрь, 2011 18:24 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

О цикле смотрите: viewtopic.php?p=25353#p25353

Автор:  Валерий Лаптев [ Понедельник, 17 Октябрь, 2011 18:31 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

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

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

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

Автор:  Info21 [ Понедельник, 17 Октябрь, 2011 20:03 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

Эх....

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

Автор:  Peter Almazov [ Понедельник, 17 Октябрь, 2011 21:45 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

Валерий Лаптев просто забыл, что Info21 "распознал" в двоичном поиске т.н. "линейный поиск".

Автор:  Владислав Жаринов [ Вторник, 18 Октябрь, 2011 05:43 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

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

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

Автор:  Info21 [ Вторник, 18 Октябрь, 2011 20:09 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

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

Автор:  Валерий Лаптев [ Вторник, 18 Октябрь, 2011 21:16 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП: решение задач

Peter Almazov писал(а):
Валерий Лаптев просто забыл, что Info21 "распознал" в двоичном поиске т.н. "линейный поиск".

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/