Вызов: Сумма чисел
Часть раздела Основы путешествия по Dart на Coddy — урок 93 из 94.
Задание
ЛегкоВ этом вызове вы создадите функцию, которая вычисляет сумму чисел в списке на основе определенных условий.
У вас есть список целых чисел, и вам нужно завершить функцию sumWithCondition, которая суммирует только те числа, которые удовлетворяют определенным критериям.
Функция должна:
- Вычислить сумму всех чисел в списке, которые больше значения
threshold - Прекратить добавлять числа сразу после того, как сумма превысит значение
maxSum(конечная сумма может быть большеmaxSum) - Вернуть конечную сумму
Важно: Функция прекращает добавлять числа после добавления числа, которое вызывает превышение maxSum. Это означает, что конечный результат может быть больше maxSum.
Пример: Если числа больше threshold — [15, 20, 25, 30] и maxSum равно 50:
- Add 15: sum = 15 (continue)
- Add 20: sum = 35 (continue)
- Add 25: sum = 60 (exceeds 50, so stop here)
- Result: 60 (not 50)
Попробуйте сами
void main() {
// Тестовые случаи
List<int> numbers = [5, 10, 15, 20, 25, 30];
// Сумма чисел больше 12, с максимальной суммой 50
int result = sumWithCondition(numbers, 12, 50);
print('Sum of numbers > 12 (max 50): $result');
// Сумма чисел больше 8, с максимальной суммой 100
result = sumWithCondition(numbers, 8, 100);
print('Sum of numbers > 8 (max 100): $result');
}
// TODO: Завершите эту функцию для суммирования чисел на основе условий
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
int sum = 0;
// TODO: Пройдитесь циклом по списку чисел
// TODO: Добавляйте в сумму только числа больше threshold
// TODO: Прекратите добавление, если сумма превышает maxSum
return sum;
}Все уроки раздела Основы
4Операторы, часть 2
Операторы сравненияЛогический ANDЛогический ORЛогический NOTОператоры проверки типаПовторение - Сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции - Основы словарей
Что такое словари?Создание словаряДоступ к значениям по ключуПары ключ-значениеПолучение размера словаряПолучение ключейПолучение значенийПроверка существования ключа2Переменные и основные типы данных
Что такое переменные?СтрокиЦелые числа (int)Вещественные числа (double)Булевы значения (bool)Вывод типов с 'var'Финальные переменныеКонстантные переменныеСоглашения об именованииОсновы null-безопасностиПовторение - Объявление переменных8Поток управления - Циклы
Цикл 'for'Цикл 'while'Цикл 'do-while'Использование 'break' в циклахИспользование 'continue' в циклахИтог - Повторение кода3Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор модуляИнкремент и декрементСокращённые присваиванияИтог - Простые вычисления6Управление потоком - Принятие решений
Оператор 'if'Оператор 'else'Оператор 'else if'Повторение - Простые решенияВложенные операторы 'if'Оператор 'switch'9Коллекции - Основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокИтерация по списку12Расширенные функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение - Параметры функций15Проект: Простой калькулятор
НастройкаОбъявление числа