Практическое занятие 1.
Понятие алгоритма. Свойства алгоритмов.

Алгоритмика

Дата публикации

1 сентября 2025 г.

Файл изменен

21 октября 2025 г.

1 Понятие алгоритма. Числовые и логические алгоритмы.

1.1 Вопросы

  1. Что такое алгоритм? Приведите определение в общем и юридическом контексте.
  2. В чём разница между числовыми и логическими алгоритмами? Приведите примеры.
  3. Какие элементы обязательно должны присутствовать в любом алгоритме?

1.2 Задачи

  1. Приведите три примера алгоритмов, с которыми может столкнуться юрист в своей профессиональной деятельности (например, порядок подачи жалобы, алгоритм проверки законности увольнения и т.п.).
  2. Может ли рецепт приготовления блюда считаться алгоритмом? А инструкция по заполнению налоговой декларации? Обоснуйте ответ, опираясь на признаки алгоритма.

2 Алгоритмы в юридических процессах и правовых нормах.

2.1 Вопросы

  1. Где в юридической практике можно встретить алгоритмы? Приведите 3 примера.
  2. Можно ли считать правовую норму алгоритмом? Обоснуйте.
  3. Какие юридические процедуры наиболее алгоритмизированы? Почему?
  4. В чём опасность чрезмерной алгоритмизации правоприменения?
  5. Обоснуйте, почему судебное усмотрение (например, при назначении наказания) не может быть полностью алгоритмизировано. Какие свойства алгоритма нарушаются в этом случае?

2.2 Задачи

  1. Проанализируйте судебное решение и выделите в нём алгоритмическую структуру: факты, квалификация, применение нормы, вывод.
  2. Возьмите любую статью Кодекса об административных правонарушениях РФ. Выделите из неё логическую структуру: условия наступления ответственности, последовательность действий должностного лица, возможные исходы. Можно ли считать эту структуру алгоритмом? Почему?

3 Свойства алгоритмов.

3.1 Вопросы

  1. Перечислите основные свойства алгоритмов. Объясните каждое.
  2. Какое свойство алгоритма нарушается, если в инструкции по составлению договора указано: «Укажите существенные условия, если сочтёте нужным»?
  3. Почему юридические алгоритмы должны быть детерминированными? Приведите пример из юридической практики, где отсутствие детерминированности может привести к ошибке.
  4. Почему свойство дискретности важно при составлении административных регламентов?
  5. Как проявляется свойство результативности в алгоритме подачи иска в суд?
  6. Может ли алгоритм не обладать свойством массовости? Приведите пример такого алгоритма из правовой сферы.

3.2 Задачи

  1. Возьмите типовую инструкцию (например, «Порядок регистрации юридического лица») и проанализируйте её на соответствие свойствам алгоритма. Укажите, какие свойства соблюдены, а какие — нет.
  2. Исправьте фрагмент «алгоритма» так, чтобы он соответствовал свойству однозначности: «Подайте документы в регистрирующий орган. Если всё хорошо — вас зарегистрируют. Если нет — могут отказать».
  3. Приведите пример юридического процесса, где нарушение свойства результативности может привести к правовым последствиям.
  4. В отделе кадров организации используется следующая инструкция по увольнению сотрудника: «Если сотрудник нарушает трудовую дисциплину, руководитель может его уволить.» Определите, какие свойства алгоритма нарушены в этой инструкции. Обоснуйте ответ. Предложите улучшенную формулировку, соответствующую свойствам алгоритма.

4 Принципы разработки алгоритмов.

4.1 Вопросы

  1. Какие принципы лежат в основе разработки алгоритмов? (пошаговость, модульность, ясность и т.д.). Объясните каждый принцип.
  2. Почему важно соблюдать принцип «от простого к сложному» при составлении юридических инструкций?
  3. Как принцип «модульности» может быть применён при разработке алгоритма юридического аудита?
  4. Какие ошибки чаще всего допускаются при разработке юридических алгоритмов?

4.2 Задачи

1. Принцип поэтапной детализации («сверху–вниз»)

Вам поручено разработать алгоритм рассмотрения жалобы на действия судебного пристава.

Задание:

  • На первом уровне («сверху») выделите 3–4 крупных этапа процесса (например: приём жалобы, проверка, принятие решения, уведомление).
  • Выберите один из этапов и выполните его детализацию на 2–3 подшага.
  • Объясните, почему такой подход (от общего к частному) удобен при составлении административных регламентов.

2. Принцип «от главного к второстепенному»

Вы участвуете в разработке алгоритма признания гражданина недееспособным. Главное событие в этом процессе — подача заявления в суд.

  • Начните с главного шага — «Подать заявление в суд о признании гражданина недееспособным».
  • «Достройте» алгоритм назад: какие действия должны быть выполнены до этого шага? (например: получение медицинского заключения, сбор документов).
  • «Достройте» алгоритм вперёд: что происходит после подачи заявления?
  • Обоснуйте, почему такой подход помогает избежать упущений в сложных юридических процедурах.

3. Комплексное применение принципов

Разработайте алгоритм подачи заявления о защите прав потребителей (например, возврат некачественного товара).

  • Используйте поэтапную детализацию: сначала общие блоки (до суда / в суд), затем детализируйте один из них.
  • Примените подход «от главного к второстепенному»: начните с ключевого события (например, «направление претензии продавцу») и достройте в обе стороны.
  • Постройте алгоритм только из типовых конструкций — без «прыжков» или возвратов.

Оформите результат в виде нумерованного списка или простой блок-схемы (в текстовом виде).

4. Анализ ошибок в неструктурированном алгоритме

Пример «плохого» алгоритма (из реальной инструкции):

«Проверить документы. Если всё в порядке — выдать справку. Если нет — запросить недостающее. Если запрос не выполнен за 3 дня — отказать. Но если заявитель позвонит — продлить срок. Если продление уже было — вернуться к проверке».

  • Укажите, какие принципы разработки алгоритма нарушены.
  • Почему такой алгоритм трудно исполнять должностному лицу и непредсказуем для гражданина?
  • Перепишите его в структурированной форме, убрав «возвраты» и сделав логику прозрачной.

5 Методы разработки алгоритмов.

5.1 Вопросы

  1. Какие методы используются для разработки алгоритмов? (метод последовательной детализации, метод «сверху вниз», метод «снизу вверх» и др.)
  2. Какой метод целесообразно использовать при разработке алгоритма судебного разбирательства? Почему?
  3. В чём разница между методами «сверху вниз» и «снизу вверх»? Приведите юридические примеры.
  4. Как метод последовательной детализации помогает при анализе сложных правовых ситуаций?

5.2 Задачи

  1. Используя метод «сверху вниз», разработайте алгоритм ведения гражданского дела: от консультации до исполнения решения.
  2. Примените метод последовательной детализации к алгоритму «Подготовка к судебному заседанию»: выделите этапы и детализируйте каждый.
  3. Создайте алгоритм «Проверка законности увольнения работника» методом «снизу вверх» — начиная с конкретных документов и действий, обобщая до общего вывода.

6 Основные этапы решения задачи. Тестирование алгоритма.

6.1 Вопросы

  1. Назовите основные этапы решения задачи с использованием алгоритма.
  2. Зачем нужно тестировать алгоритм? Как это делается в юридической практике?
  3. Что может произойти, если юридический алгоритм не протестирован на граничных или исключительных случаях?
  4. Какие ошибки чаще всего выявляются при тестировании юридических алгоритмов?

6.2 Задачи

  1. Возьмите алгоритм из пункта 1 (апелляционная жалоба) и протестируйте его на двух сценариях: а) срок пропущен — что делать? б) документы неполные — какие последствия? Внесите необходимые корректировки в алгоритм.
  2. Разработайте «тест-кейсы» для алгоритма расчёта неустойки по ст. 395 ГК РФ: с разными суммами, сроками, ставками.
  3. Проведите «рецензию» алгоритма, составленного одногруппником: найдите ошибки, неточности, нарушения свойств алгоритма. Предложите улучшения.

7 Задание для самостоятельной работы:

  1. Подберите примеры числовых и логических алгоритмов из юридической практики.