домашнее задание 1(условные операторы циклы коллекции)
Дедлайн 16.10.2025 в 20:59
**1. Анализ строки
Напишите программу, которая:
- Обрабатывает произвольную строку(можете попытаться получить пользовательский ввод с помощь readln или же задать строку самостоятельно).
- Проверяет эту строку и выводит в консоль следующий анализ:
- Если строка пустая, вывести "Вы ввели пустую строку".
- Если строка не пустая, вывести ее длину.
- Если длина строки больше 10 символов, вывести сообщение "Длинная строка".
- Если строка содержит слово "Kotlin" (регистр не важен), вывести "Вы упомянули наш любимый язык!".
- Проверить, заканчивается ли строка на "!" (восклицательный знак). Если да, вывести "Строка завершается восклицанием!".
**2. Генератор диапазонов и подсчет четных чисел
Напишите программу, которая:
- Создает диапазон от 1 до 50.
- С помощью цикла for проходит по всем числам этого диапазона.
- Подсчитывает сумму всех четных чисел в этом диапазоне.
- В конце работы цикла выводит сообщение: "Сумма всех четных чисел от 1 до 50 равна [сумма чисел].
*для вывода строки используйте форматированный вывод через $ для переменной
**3. Работа с коллекциями
Создайте неизменяемый список List) из 15 целых чисел вручную или с помощью цикла (как душе угодно)
Ваша задача:
- Найти и вывести в консоль максимальное и минимальное число в этом списке.
- Отфильтровать список, оставив только положительные числа, и вывести новый список.
- Посчитать, сколько раз в списке встречается число 10. Вывести результат.
**Подсказка по использованию функций
Используйте методы списков max(), min(), filter() и count()
**4. Простой калькулятор
Напишите программу простого калькулятора, который:
1. Запрашивает у пользователя первое число (тип Double).
2. Запрашивает операцию (поддерживаемые операции: +, -, *, /).
3. Запрашивает второе число (тип Double).
4. Выполняет выбранную операцию над двумя числами.
5. Выводит результат в формате: "[Первое число] [Операция] [Второе число] = [Результат]".
**Обработайте возможную ошибку деления на ноль. Если пользователь выбрал операцию / и второе число равно 0, выведите сообщение "Ошибка: деление на ноль невозможно!" вместо результата.
5. Поиск общих элементов (Множества, Преобразование коллекций)
Даны два списка:
- list1 = listOf("apple", "banana", "orange", "kiwi", "grape")
- list2 = listOf("kiwi", "melon", "apple", "pear", "grape")
Ваша задача:
- Преобразовать эти списки в множества Set).
- Найти и вывести все элементы, которые присутствуют в обоих множествах (пересечение).
- Вывести количество этих общих элементов.
*Подумайте как можно найти пересечение множеств без использования встроенных функций(встроенные тоже есть желательно чтобы могли и ими воспользоваться, в общей сложности можете написать 2 реализации)
**Загрузка
можете загружать свое решение одним файлом main.kt