Практика по языку Leo. Часть 2. feat. ChatGPT.
Привет! В данной статье мы с вами напишем 2 программы на языке программирования Leo. Сначала я дам вам свои объяснения, а дальше посмотрим, что нам скажет chatGPT по нашему коду. Первая программа будет определять, находится ли данное число в диапазоне от -1 до 17. Вторая программа находит наибольшее число из 4х поступивших в функцию.
Данная статья есть в формате видео, можете посмотреть его https://youtu.be/3vcgCHwb7Iw
Пишем первую программу
Для начала открываем Aleo Studio и создаем новый проект.
Напоминаю, что сейчас мы создаем программу, которая проверяет, входит ли число в диапазон. Таким образом, мы имеем, что в функцию поступает 1 переменная типа i32 (так как диапазон может быть, как положительный, так и отрицательный).
transition main(x: i32) -> bool {
На выходе из функции будет переменная типа bool. Если число находится в диапазоне, то получим результат true, иначе, false.
Далее создаем переменную типа bool, которую мы и будем выводить по результату работы программы. Причем присвоим ей значение по умолчанию false.
Теперь пишем условие, где проверяется соответствие диапазону.
Если условие выполняется, то мы присваиваем переменной значение true.
Теперь нам остаётся лишь вернуть переменную. Поскольку при создании мы присвоили ей значение false, то если условие не выполняется, то мы выведем данное значение без изменений.
Теперь пропишем входные данные. Переходим в файл в папке inputs.
Давайте запустим код с этими входными данными.
Мы получили значение false, так как данное число не входит в диапазон, то есть программа работает верно.
Давайте посмотрим объяснение ChatGPT.
1 задача. Объяснение ChatGPT.
Эта программа написана на языке программирования Aleo. Она содержит функцию main
, которая принимает аргумент x
типа i32
(32-битное целое число со знаком) и возвращает значение типа bool
(логическое значение).
Цель программы состоит в проверке, находится ли значение x
в диапазоне от -1 до 16 (включительно). Вот как работает программа:
- Создается переменная
b
типаbool
и инициализируется значениемfalse
. - Программа проверяет условие
x > -1i32 && x < 17i32
. Если значениеx
больше -1 и меньше 17, то условие считается истинным и переменнойb
присваивается значениеtrue
. - В конце функция
main
возвращает значение переменнойb
, которое будет содержатьtrue
, если значениеx
находится в указанном диапазоне, иfalse
в противном случае.
Чтобы использовать эту программу, вы можете вызвать функцию main
с аргументом типа i32
и она вернет логическое значение (true
или false
), указывающее, находится ли значение x
в диапазоне от -1 до 16.
Вторая задача. Поиск наибольшего из 4х чисел.
Создаем новый проект. На входе в функцию будет поступать 4 переменные типа u32, на выходе будет наибольшая переменная, поэтому также будет переменная типа u32.
transition main(a: u32, b: u32, c: u32, d: u32) -> u32 {
Далее нам нужно прописать сравнение каждой переменной. Мы сравниваем переменную со следующей перед ней. Если предыдущая переменная больше, тогда следующая переменная получает значение предыдущей. Так это выглядит в формате кода:
По итогу мы возращаем переменную d.
Входные данные будут выглядеть следующим образом.
По результату работы программы мы должны получить значение 24, так как это наибольшая переменная. Давайте запустим наш код.
Да, всё работает корректно. Давайте попросим ChatGPT объяснить наш код.
2 задача. Объяснение ChatGPT.
Эта программа написана на языке программирования Aleo. Она содержит функцию main
, которая принимает четыре аргумента a
, b
, c
и d
типа u32
(32-битное целое число без знака) и возвращает значение типа u32
.
Цель программы состоит в нахождении наибольшего значения из четырех чисел a
, b
, c
и d
. Вот как работает программа:
- Сначала программа сравнивает значения
a
иb
. Если значениеa
большеb
, то значениеb
обновляется значениемa
. - Затем программа сравнивает значения
b
иc
. Если значениеb
большеc
, то значениеc
обновляется значениемb
. - Наконец, программа сравнивает значения
c
иd
. Если значениеc
большеd
, то значениеd
обновляется значениемc
.
После всех сравнений и обновлений, программа возвращает значение переменной d
, которое будет содержать наибольшее из четырех чисел.
Чтобы использовать эту программу, вы можете вызвать функцию main
с четырьмя аргументами типа u32
и она вернет наибольшее значение из этих чисел.
Вывод
Чем меня радует и удивляет ChatGPT, так это пониманием значения программы. Хотя и встречаются некоторые ошибки в объяснении. До встречи в следующей статье!