Практика по языку Leo. Часть 1. feat. ChatGPT.
Всем привет! Я начинаю серию статей по языку программирования Leo. Мы с вами напишем несколько программ. Почему в названии статьи "feat. ChatGPT"? Я буду делать запрос в ChatGPT с просьбой объяснить код, который мы с вами по итогу напишем, посмотрим, как он с этим справиться. Если хорошо, то вы сможете понять что-то новое, что не расскажу в статье я.
Данная статья есть в видео формате по ссылке
Установка рабочей среды
Для начала нам нужно перейти на сайт Aleo.org.
В разделе for developers переходим в Aleo Studio.
Здесь скачиваем Aleo Studio на наш компьютер и проводим установку с настройками по умолчанию. Процесс очень простой, я думаю, вы с этим справитесь самостоятельно.
Открываем Aleo Studio и создаем нашу первую программу. Я назову её triangle_1. В ней мы будем определять тип треугольника (равносторонний, равнобедренный или разносторонний).
В программу будет поступать 3 переменные, которые будут иметь значение сторон треугольника. Пишем следующий код
transition main(a: u32, b: u32, c: u32) -> u8 {
На выходе функции будет переменная типа u8. Больше смысла делать нет, так как значение будет от 1 до 3. Поскольку Leo не поддерживает тип переменных строки, мы вынуждены присвоить каждому типу треугольника своё цифровое значение. Если треугольник равносторонний, то мы получим значение 3. Если равнобедренный, то 2. Если разносторонний, то значение 1.
Далее нужно создать переменную, которая будет хранить в себе результат работы программы. Назовем ее result, она будет типа u8 и мы ее будем выводить как результат работы программы. Присвоим ей значение 1.
После приступаем к написанию условий. Первым делом определим, явялется ли треугольник равнобедренным. У него должны быть равны несколько сторон.
if a == b || a == c || b == c {
С помощью || мы обозначаем логическое условие "или".
Если это условие соблюдается, то мы присваиваем значение 2 переменной result.
Далее делаем похожу проверку на то, является ли треугольник равносторонним.
Если это условие соблюдается, то мы присваиваем значение 3 переменной result.
Далее остаётся лишь вернуть значение переменной result. Так как если оба условия неверны, то мы возращаем значение 1, которое мы присвоили при создании переменной. Вводим
По итогу код имеет следующий вид
Осталось ввести входные данные. Переходим в папку inputs.
Здесь указываем переменные, которые мы добавили на вход функции.
Например, сделаем треугольник равносторонним, мы должны получить по результату работы программы значение 3. Давайте запустим нашу программу.
Да, всё работает корректно. Теперь давайте посмотрим объяснение ChatGPT.
Объяснение ChatGPT.
Эта программа написана на языке программирования Aleo. Она принимает три аргумента a
, b
и c
, которые представляют собой целочисленные значения (без знака) типа u32
. Программа возвращает значение типа u8
.
Цель программы состоит в определении типа треугольника на основе значений его сторон. Вот как работает программа:
- Создается переменная
result
типаu8
и инициализируется значением 1. - Программа проверяет условие
a == b || a == c || b == c
, что означает, что две стороны треугольника равны друг другу. Если это условие выполняется, переменнаяresult
присваивается значение 2, что означает, что треугольник является равнобедренным. - Затем программа проверяет условие
a == b && b == c
, что означает, что все три стороны треугольника равны между собой. Если это условие выполняется, переменнаяresult
присваивается значение 3, что означает, что треугольник является равносторонним. - Наконец, программа возвращает значение переменной
result
, которое будет содержать тип треугольника (1, 2 или 3), в зависимости от проверенных условий.
Чтобы использовать эту программу, вы можете вызвать функцию main
с тремя аргументами типа u32
и она вернет значение типа u8
, указывающее тип треугольника.
Вывод
ChatGPT действительно понял суть программы. Какое объяснение (моё или chatGPT) вам понравилось больше, или они дополнили друг друга? Пишите в комментариях. До встречи во второй статье!