Перейти к основному содержимому

Практика: Условные конструкции и циклы


Онлайн редактор кода для Go

Здесь вы можете попробовать свои силы в программировании на языке Go. Для этого мы предоставляем вам онлайн редактор кода, в котором вы можете написать свой код и запустить его.

❗️ При обновлении страницы код пропадёт, по этому, сохраните свой код куда-нибудь, если он важный.

Задание 1: Калькулятор скидок

Задание 1: Расчёт скидки

Создай переменную с ценой товара и процентом скидки. С помощью if-else-if определи категорию скидки и выведи итоговую цену с пояснением.


💡 Подсказка

Используй float64 для расчётов.

Задание 2: Оценка по баллам

Задание 2: Оценка по баллам

Сделай переменную с количеством баллов (0–100). С помощью if-else-if переведи в школьную оценку (2–5) и добавь комментарий.


💡 Подсказка

Добавь отдельный комментарий в зависимости от оценки.

Задание 3: День недели по номеру

Задание 3: День недели

Сделай переменную с номером дня (1–7). С помощью switch выведи название дня и информацию: рабочий или выходной.


💡 Подсказка

Для группировки дней можно использовать switch без выражения и case с несколькими значениями.

Задание 4: Является ли число палиндромом

Задание 4: Является ли число палиндромом (L)

Дано целое число x. Определи, является ли оно палиндромом (читается одинаково слева направо и справа налево). Выведи true или false с пояснением.


💡 Подсказка

Отрицательные числа сразу false — знак "-" ломает симметрию.

Способы решения:

  • Преобразовать в строку и сравнить с обратной
  • Развернуть число математически (перевернуть цифры)

При математическом способе будь осторожен с переполнением (но в рамках constraints это безопасно).

Выведи результат и короткое пояснение.

После решения основного теста проверь код на дополнительных примерах — они помогут убедиться в правильности.

Задание 5: Таблица умножения

Задание 5: Таблица умножения на число

Создай переменную с N числом. С помощью for выведи таблицу умножения на N от 1 до 10 с красивым форматированием.


💡 Подсказка

Добавь заголовок "Таблица умножения на", n

Задание 6: Сумма и количество в списке

Задание 6: Статистика по списку чисел

Создай слайс из 10–15 чисел. С помощью for-range посчитай сумму, количество элементов, среднее, максимум и минимум.


💡 Подсказка

Выведи всё с пояснениями.

Задание 7: Фильтрация списка

Задание 7: Фильтрация чисел

Создай слайс чисел. С помощью for и continue/break создай новый слайс по условию (чётные, положительные, до определённого значения и т.д.).


💡 Подсказка

Для остановки: if v > 100 { break }

Задание 8: Найти два числа с заданной суммой

Задание 8: Найти два числа с заданной суммой (L)

Дан слайс целых чисел nums и целевое число target. Найди два разных элемента, которые в сумме дают target, и выведи их индексы (в любом порядке). Гарантируется, что решение существует и оно единственное. Нельзя использовать один и тот же элемент дважды.


💡 Подсказка

Решение можно реализовать разными способами:

  • Перебор всех пар (вложенные циклы) — просто, но O(n²)
  • Использование map для хранения уже пройденных чисел и нужного дополнения — эффективно O(n)

Выводи индексы в формате "Индексы: X и Y" или как слайс [X, Y].

Проверь, что используешь разные элементы (индексы разные).

После решения основного теста проверь код на дополнительных примерах — они помогут убедиться, что алгоритм работает правильно.

Задание 9: Поиск в таблице

Задание 9: Поиск в таблице умножения

Создай таблицу умножения 10×10. С помощью вложенных циклов и метки найди нужную пару или условие и выйди из обоих циклов.


💡 Подсказка

Для пропуска строки: if i%2 == 1 { continue found }

Задание 10: Анализ списка покупок

Задание 10: Анализ корзины товаров

Захардкодь слайс цен товаров. С помощью for-range и if/switch посчитай общую сумму, количество товаров по категориям цены, найди самый дорогой и дешёвый, выведи статистику.


💡 Подсказка

Выведи всё красиво с итогами.

Дополнительные материалы

  • Экспериментируй с разными диапазонами в switch
  • Рисуй свои фигуры
  • Добавляй больше статистики в анализ
Совет

Читаемый код — это понятные условия и циклы. Используй хорошие имена переменных.

Следующий урок

Коллекции: массивы, слайсы и карты.