Практические задания - Урок 12: Функции
Инструкция: Решите все задания по порядку. Создайте отдельный файл .dart для каждой задачи или решите все в одном файле, разделяя задачи комментариями.
Задача № 1: Простые математические функции
Создайте несколько функций и вызовите их в методе `main`:
- Функция возвращает сумму 3-х значений.
- Функция возвращает разность 2-х значений.
- Функция находит максимальное значение из 2-х значений.
- Функция находит минимальное значение из 3-х значений.
Примерный вывод в консоли
--- Задача 1: Простые функции ---
Сумма 10, 20, 30: 60
Разность 100, 45: 55
Максимальное из 15, 25: 25
Минимальное из 5, 2, 8: 2
Задача № 2: Рефакторинг кода
Напишите функцию, которая принимает данные о названии города, температуре, ощущаемой температуре и шансе дождя, а затем выводит итоговую информацию. Ваша задача — исправить дублирование кода, представленного ниже, используя эту функцию.
Подсказка: Внутри `main` должно остаться только четыре вызова вашей новой функции с передачей разных параметров.
Исходный код для рефакторинга
void main() {
print("город: Бийск");
print("Температура: +10, А по ощущениям: +5");
print("Шанс дождя: 82%");
print("");
print("город: Новосибирск");
print("Температура: +5, А по ощущениям: 0");
print("Шанс дождя: 5%");
print("");
print("город: Сан-Франциско");
print("Температура: +20, А по ощущениям: +20");
print("Шанс дождя: 0%");
print("");
print("город: Токио");
print("Температура: +25, А по ощущениям: +20");
print("Шанс дождя: 90%");
print("");
}
Ожидаемый вывод в консоли (должен остаться неизменным)
город: Бийск
Температура: +10, А по ощущениям: +5
Шанс дождя: 82%
город: Новосибирск
Температура: +5, А по ощущениям: 0
Шанс дождя: 5%
город: Сан-Франциско
Температура: +20, А по ощущениям: +20
Шанс дождя: 0%
город: Токио
Температура: +25, А по ощущениям: +20
Шанс дождя: 90%
Задача № 3: Функция со значениями по умолчанию
Напишите функцию со значениями по умолчанию. Например, у персонажа из игры есть значение атаки по умолчанию, но также можно указать и критическое значение атаки.
Шаблон для реализации
int attack({int damage = 10}) {
// Ваша реализация функции атаки
return damage;
}
void main() {
int damage = attack(); // Используем значения по умолчанию
int critical = attack(damage: 25); // Передаём именованный параметр
print("Обычная атака: $damage");
print("Критическая атака: $critical");
}
Примерный вывод в консоли
Обычная атака: 10
Критическая атака: 25
Задача № 4: Палиндром
Напишите функцию `isPalindrome(text)`, которая принимает в качестве аргумента строку `text` и возвращает значение `true`, если указанный текст является палиндромом, и `false` в противном случае.
Примерный вывод в консоли
isPalindrome("шалаш"): true
isPalindrome("привет"): false
Задача № 5: Правильная скобочная последовательность
Напишите функцию `isCorrectBracket(text)`, которая принимает в качестве аргумента непустую строку `text`, состоящую из символов `(` и `)`, и возвращает `true`, если строка является правильной скобочной последовательностью, или `false` в противном случае.
Примечание: Правильной скобочной последовательностью называется строка, где каждой открывающей скобке соответствует парная закрывающая скобка, и открывающая скобка всегда находится левее своей пары.
Примерный вывод в консоли
isCorrectBracket("()(()())"): true
isCorrectBracket(")(())("): false