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

1 Понятие алгоритма. Числовые и логические алгоритмы.
1.1 Вопросы
- Что такое алгоритм? Приведите определение в общем и юридическом контексте.
- В чём разница между числовыми и логическими алгоритмами? Приведите примеры.
- Какие элементы обязательно должны присутствовать в любом алгоритме?
1.2 Задачи
- Приведите три примера алгоритмов, с которыми может столкнуться юрист в своей профессиональной деятельности (например, порядок подачи жалобы, алгоритм проверки законности увольнения и т.п.).
- Может ли рецепт приготовления блюда считаться алгоритмом? А инструкция по заполнению налоговой декларации? Обоснуйте ответ, опираясь на признаки алгоритма.
2 Алгоритмы в юридических процессах и правовых нормах.
2.1 Вопросы
- Где в юридической практике можно встретить алгоритмы? Приведите 3 примера.
- Можно ли считать правовую норму алгоритмом? Обоснуйте.
- Какие юридические процедуры наиболее алгоритмизированы? Почему?
- В чём опасность чрезмерной алгоритмизации правоприменения?
- Обоснуйте, почему судебное усмотрение (например, при назначении наказания) не может быть полностью алгоритмизировано. Какие свойства алгоритма нарушаются в этом случае?
2.2 Задачи
- Проанализируйте судебное решение и выделите в нём алгоритмическую структуру: факты, квалификация, применение нормы, вывод.
- Возьмите любую статью Кодекса об административных правонарушениях РФ. Выделите из неё логическую структуру: условия наступления ответственности, последовательность действий должностного лица, возможные исходы. Можно ли считать эту структуру алгоритмом? Почему?
3 Свойства алгоритмов.
3.1 Вопросы
- Перечислите основные свойства алгоритмов. Объясните каждое.
- Какое свойство алгоритма нарушается, если в инструкции по составлению договора указано: «Укажите существенные условия, если сочтёте нужным»?
- Почему юридические алгоритмы должны быть детерминированными? Приведите пример из юридической практики, где отсутствие детерминированности может привести к ошибке.
- Почему свойство дискретности важно при составлении административных регламентов?
- Как проявляется свойство результативности в алгоритме подачи иска в суд?
- Может ли алгоритм не обладать свойством массовости? Приведите пример такого алгоритма из правовой сферы.
3.2 Задачи
- Возьмите типовую инструкцию (например, «Порядок регистрации юридического лица») и проанализируйте её на соответствие свойствам алгоритма. Укажите, какие свойства соблюдены, а какие — нет.
- Исправьте фрагмент «алгоритма» так, чтобы он соответствовал свойству однозначности: «Подайте документы в регистрирующий орган. Если всё хорошо — вас зарегистрируют. Если нет — могут отказать».
- Приведите пример юридического процесса, где нарушение свойства результативности может привести к правовым последствиям.
- В отделе кадров организации используется следующая инструкция по увольнению сотрудника: «Если сотрудник нарушает трудовую дисциплину, руководитель может его уволить.» Определите, какие свойства алгоритма нарушены в этой инструкции. Обоснуйте ответ. Предложите улучшенную формулировку, соответствующую свойствам алгоритма.
4 Принципы разработки алгоритмов.
4.1 Вопросы
- Какие принципы лежат в основе разработки алгоритмов? (пошаговость, модульность, ясность и т.д.). Объясните каждый принцип.
- Почему важно соблюдать принцип «от простого к сложному» при составлении юридических инструкций?
- Как принцип «модульности» может быть применён при разработке алгоритма юридического аудита?
- Какие ошибки чаще всего допускаются при разработке юридических алгоритмов?
4.2 Задачи
1. Принцип поэтапной детализации («сверху–вниз»)
Вам поручено разработать алгоритм рассмотрения жалобы на действия судебного пристава.
Задание:
- На первом уровне («сверху») выделите 3–4 крупных этапа процесса (например: приём жалобы, проверка, принятие решения, уведомление).
- Выберите один из этапов и выполните его детализацию на 2–3 подшага.
- Объясните, почему такой подход (от общего к частному) удобен при составлении административных регламентов.
2. Принцип «от главного к второстепенному»
Вы участвуете в разработке алгоритма признания гражданина недееспособным. Главное событие в этом процессе — подача заявления в суд.
- Начните с главного шага — «Подать заявление в суд о признании гражданина недееспособным».
- «Достройте» алгоритм назад: какие действия должны быть выполнены до этого шага? (например: получение медицинского заключения, сбор документов).
- «Достройте» алгоритм вперёд: что происходит после подачи заявления?
- Обоснуйте, почему такой подход помогает избежать упущений в сложных юридических процедурах.
3. Комплексное применение принципов
Разработайте алгоритм подачи заявления о защите прав потребителей (например, возврат некачественного товара).
- Используйте поэтапную детализацию: сначала общие блоки (до суда / в суд), затем детализируйте один из них.
- Примените подход «от главного к второстепенному»: начните с ключевого события (например, «направление претензии продавцу») и достройте в обе стороны.
- Постройте алгоритм только из типовых конструкций — без «прыжков» или возвратов.
Оформите результат в виде нумерованного списка или простой блок-схемы (в текстовом виде).
4. Анализ ошибок в неструктурированном алгоритме
Пример «плохого» алгоритма (из реальной инструкции):
«Проверить документы. Если всё в порядке — выдать справку. Если нет — запросить недостающее. Если запрос не выполнен за 3 дня — отказать. Но если заявитель позвонит — продлить срок. Если продление уже было — вернуться к проверке».
- Укажите, какие принципы разработки алгоритма нарушены.
- Почему такой алгоритм трудно исполнять должностному лицу и непредсказуем для гражданина?
- Перепишите его в структурированной форме, убрав «возвраты» и сделав логику прозрачной.
5 Методы разработки алгоритмов.
5.1 Вопросы
- Какие методы используются для разработки алгоритмов? (метод последовательной детализации, метод «сверху вниз», метод «снизу вверх» и др.)
- Какой метод целесообразно использовать при разработке алгоритма судебного разбирательства? Почему?
- В чём разница между методами «сверху вниз» и «снизу вверх»? Приведите юридические примеры.
- Как метод последовательной детализации помогает при анализе сложных правовых ситуаций?
5.2 Задачи
- Используя метод «сверху вниз», разработайте алгоритм ведения гражданского дела: от консультации до исполнения решения.
- Примените метод последовательной детализации к алгоритму «Подготовка к судебному заседанию»: выделите этапы и детализируйте каждый.
- Создайте алгоритм «Проверка законности увольнения работника» методом «снизу вверх» — начиная с конкретных документов и действий, обобщая до общего вывода.
6 Основные этапы решения задачи. Тестирование алгоритма.
6.1 Вопросы
- Назовите основные этапы решения задачи с использованием алгоритма.
- Зачем нужно тестировать алгоритм? Как это делается в юридической практике?
- Что может произойти, если юридический алгоритм не протестирован на граничных или исключительных случаях?
- Какие ошибки чаще всего выявляются при тестировании юридических алгоритмов?
6.2 Задачи
- Возьмите алгоритм из пункта 1 (апелляционная жалоба) и протестируйте его на двух сценариях: а) срок пропущен — что делать? б) документы неполные — какие последствия? Внесите необходимые корректировки в алгоритм.
- Разработайте «тест-кейсы» для алгоритма расчёта неустойки по ст. 395 ГК РФ: с разными суммами, сроками, ставками.
- Проведите «рецензию» алгоритма, составленного одногруппником: найдите ошибки, неточности, нарушения свойств алгоритма. Предложите улучшения.
7 Задание для самостоятельной работы:
- Подберите примеры числовых и логических алгоритмов из юридической практики.