April 28, 2024

Задача от ChatGPT для начинающих. Решаем на Leo #2

Привет! Продолжаем изучать язык программирования Leo, используя ChatGPT. Для новичков напомню, что Leo - это язык программирования, созданный для создания приватных приложений в блокчейне Aleo.

В ChatGPT я задаю следующий запрос:

И сегодня мы получаем с вами следующий ответ:

Задача несложная, но при её решении у нас возникнет одна техническая проблема, которую нам придется решать с помощью костыля. Она заключается в том, что мы не можем сделать перебор от 0 до значения переменной N, Leo не поддерживает данный вариант, поэтому нам придется это обходить, но обо всём по порядку. Открываем Aleo Studio:

И создаем новый проект, он будет называться gpt2.

У нас создалась базовая программа, давайте её изменять.

Для начала изменим входные данные функции main, в неё поступает одна переменная типа u32, пусть это будет переменная a. Она хранит в себе значение до которого мы будем суммировать четные числа. На выходе функции также будет переменная типа u32, она будет хранить в себе сумму чисел.

Теперь нам нужно создать переменную в которую мы будем суммировать результат. Пусть на называется result и имеет также тип u32, вначале зададим ей значение 0.

Далее мы делаем перебор в помощью цикла for от 0 до максимального числа, которое подразумевает программа. Например, поставим число 100.

Добавляем условное выражение if. Если переменная a больше переменной i, тогда мы будем складывать значение переменной i. И сразу же пишем второе условие. Число должно быть четным, то есть остаток деления этого числа на два должен быть равен 0, тогда мы к переменной result прибавляем i. В коде это выглядит следующим образом:

Также меняем return и возвращаем переменную result. Давайте во входные данные добавим число 5.

Меньше числа 5 числа 2 и 4. Их сумма 6, соответственно на выходе программы мы должны получить 6. Запускаем наш файл main.leo.

Всё верно, на выходе функции мы получили 6. На этом всё, всем пока!