February 13, 2024

Решение задачи на Leo. Функция

Привет! Сегодня мы по практикуемся в языке программирования Leo и решим следующую задачу:

Напоминаю, что Leo - это язык программирования от проекта Aleo, созданный на основе Rust. С помощью него можно взаимодействовать с блокчейном Aleo и писать полностью приватные и децентрализованные приложения.

Обновление

Первым делом давайте обновим Leo на нашем компьютере. Это нужно сделать, так как этот язык постоянно дорабатывается и обновляется, фиксятся баги. Для этого в git bash вводим команду

leo update

Если у вас не установлен язык программирования Leo, то можете изучить мою статью по этой теме в этом teletype профиле.

Создание проекта

В git bash вводим leo new [название программы]. В моем случае

leo new test_num

Теперь откроем наш проект в sublime text. Открываем главный файл (main.leo) и файл со входными данными.

Входные данные мы оставляем, как есть, потому что мы в функцию должны поступить 2 переменные a и b. Они должны быть типа u32, как и выходная переменная.

Теперь мы должны значение целочисленного деления a на b. Поскольку тип u32 подразумевает, что число будет целочисленным, мы просто делим a на b и записываем это значение в новую переменную. Для этого вводим:

Теперь создадим вторую переменную, которая находит удвоенный остаток от деления a на b. Мы найдем остаток с помощью оператора rem, а потом умножим его на 2. У нас получается:

Теперь находим разность переменной n_1 и переменной n_2. Запишем её в переменную c.

Функция готова. Давайте проверим её правильность на предложенных в задаче данных. Для этого во входных данных вводим:

Запускаем нашу программу с помощью

leo run main

И получаем следующий результат:

Да, всё правильно. Давайте проверим на второй паре входных данных.

Запускаем нашу программу.

И снова мы получили правильный результат, так что функция работает корректно. На этом всё. До встречи!