Legal Code
656 subscribers
1 file
87 links
Навчання програмуванню. Вирішення юридичних задач за допомогою IT-навичок. Технічний світогляд юриста.

Рекламу не пропонувати :)
Download Telegram
Работают ли юристы с алгоритмами?

Да. Постоянно. Только чаще это скрывается под личиной таких слов: порядок/последовательность действий при подготовке консультации, рецепт успеха/выигрыша в суде, чеклист для похода к госрегистратору, политика вычитки договоров и т.д.

Полное определение и историю этого термина вы можете почитать на Википедии. Важно то, что любой алгоритм можно разложить на 3 составляющие. Рассмотрим сразу на двух параллельных примерах: охота за бананом на высокой пальме (🌴) и выигрыш вами суда как представителем истца (⚖️).

🎯 Конечный результат/цель — самая важная, ведь к ней вы стремитесь, её нужно заполучить, иначе в противном случае алгоритм был бы бессмыслицей. Её важно правильно сформулировать. С этого нужно начинать строить алгоритм:
1. достать/сорвать банан с пальмы;
2. получить решение суда, в котором удовлетворены ваши исковые требования.

🧸 Изначальные ресурсы/данные — думаем, что у нас есть из того, что могло бы оказаться полезным для достижения цели:
1. камни, палки, верёвки, ствол самой пальмы, хорошая физическая форма и т.д.;
2. доказательства, свидетели, собственная харизма и т.д.

🔗 Порядок действий над изначальными ресурсами/данными, завершающийся достижением цели. Самая сложная часть алгоритма. Но человечество доказало, что при хорошем знании своего дела и логическом мышлении можно строить очень сложные алгоритмы.
1.1. находим палку достаточной длины;
1.2. сбиваем этой палкой банан.
или
1.1. тупо лезем по стволу вверх
1.2. как долезли, срываем банан (и тут наш алгоритм обрывается, ибо мы же поставили себе цель достать/сорвать банан; так что можем оборваться и мы с пальмы, если не продумали эту ситуацию наперёд).

2.1. собираем у истца (и, возможно, у третьих лиц) нужную информацию, доказательства;
2.2. формируем иск (а это отдельный алгоритм);
2.3. подаём иск в суд;
2.4. являемся в первое заседание (и отдельный алгоритм, что делаем в нём);
2.5. подаём по ситуации нужные ходатайства;
(2.6.) если нужно, являемся в другие заседания;
2.7. ожидаем вынесение решения.

Как видите, алгоритм может быть довольно сложным, включать в себя подалгоритмы, а также шаги, о необходимости которых заранее неизвестно. Уверен, вам есть чем дополнить этот алгоритм.

#алгоритм
Из чего нам строить алгоритмы

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

Вот подборка примеров таких команд из разных ЯП:
append, apply, bind, call, decode, encode, explode, implode, join, replace, return, switch, test, trim, unset...

Это облегчает переход от алгоритмического описания порядка действий к самому коду. Давайте проверим это на реальном примере.

🎯 Постановка задачи:
Допустим, нужно найти и выписать из данного текста все предложения, где есть слово "суперфиций".

🧸 Ресурсы:
1) данный текст: "Суперфиций важен! Никто не может это отрицать. Понятие суперфиция дают на юрфаке. Юрист не может об этом не знать.";
2) возможности ЯП JavaScript и библиотеки jQuery.

🔗 Порядок действий (собственно алгоритм):
1) разделяем текст на предложения (тут я исхожу из гипотезы-упрощения, что все предложения оканчиваются знаками ".", "!", "?");
2) каждое предложение тестируем на наличие "суперфици";
3) если "суперфици" есть в текущем предложении, добавляем его к находкам.

⌨️ Код (жирным выделяю эти самые действия):
let myText = "Суперфиций важен! Никто не может это отрицать. Понятие суперфиция дают на юрфаке. Юрист не может об этом не знать.";
let sentences = myText.split(/[\.\?\!]/);
for( i=0; i<sentences.length; i++ ){
let isHere = /суперфици/i.test(sentences[i]);
if( isHere == true ){
$("body").append("<br>"+sentences[i]);
}
}

Результат — у нас на странице появится:
Суперфиций важен
Понятие суперфиция дают на юрфаке

🤔 Вопрос: что будет, если мы в коде поменяем true на false? Пишите в комменты)

Обратная связь:
Вам ок такой формат (🆗) или нужно меньше кода (⛔️)?

#алгоритм #код