April 24, 2024

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

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

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

В принципе, очень простая задача, но Leo находится на этапе разработки и поэтому не поддерживает некоторые функции, например, дробные числа. Из-за этого нам требуется ввести новую шкалу оценки. Не от 1 до 5 баллов, а от 1 до 100. Или от 10 до 50. В официальной документации предалагается именно "прибавлять нули". В нашем же случае давайте сделаем шкалу оценок от 1 до 100. И хорошей оценка будет, если средний балл больше 60.

Для начала открываем Aleo Studio.

И создаем новый проект, назовём его gpt1.

Создалась базовая программа:

На вход функции main поступают оценки, пусть это будут 5 переменных, назовём их a, b, c, d, e и они будут иметь тип u32.

На выходе функции будет переменная типа boolean. Если оценка хорошая, то мы вернем значение true, иначе false.

Теперь нам нужно создать переменную типа boolean, которую мы будем изменять в зависимости от средней оценки и возвращать. Назовём её result.

По умолчанию зададим ей значение false. Если средний балл хороший, то изменим на true, если же нет, то вернём переменную result без изменений.

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

Теперь пишем условное выражение if. Если переменная sr_arif больше 60, то задаем значение true переменной result.

Теперь осталось лишь вернуть переменную result и наша программа готова.

Например, при таких входных данных:

Мы получим значение true.

Программа работает корректно. На этом всё. До встречи во второй части!