Шаг 230.
Основы Kotlin. Основы функционального программирования. Задания для самостоятельного решения

    На этом шаге мы приведем несколько практических заданий с возможными решениями.

    Здесь мы предлагаем вам выполнить несколько заданий, направленных на закрепление изученного материала.

    Задание 1: переворачиваем значения в ассоциативном массиве

    Используя функциональные техники, изученные на предыдущих шагах, напишите функцию с именем flipValues(), которая позволит менять местами ключ и значение в ассоциативном массиве. Например:

val gradesByStudent = mapOf("Josh" to 4.0, "Alex" to 2.0, "Jane" to 3.0) 
{Josh=4.0, Alex=2.0, Jane=3.0}

flipValues(gradesByStudent)
{4.0=Josh, 2.0=Alex, 3.0=Jane}

Раскрыть/скрыть решение и комментарии.

    Задание 2: скользящее окно

    Для этого продвинутого задания нам понадобится список значений:

  val valuesToAdd = listOf(1, 18, 73, 3, 44, 6, 1, 33, 2, 22, 5, 7)

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

  1. Исключите все числа меньше 5.
  2. Сгруппируйте числа в пары.
  3. Перемножьте числа в каждой паре.
  4. Сложите произведения и выведите получившееся число.

    Правильный ответ: 2339. Вот как должны выглядеть результаты на каждом шаге:

Step 1: 1, 18, 73, 3, 44, 6, 1, 33, 2, 22, 5, 7 
Step 2: 18, 73, 44, 6, 33, 22, 5, 7 
Step 3: [18*73], [44*6], [33*22], [5*7]
Step 4: 1314 + 264 + 726 + 35 = 2339

    Обратите внимание, что шаг 3 группирует список в подсписки из двух элементов каждый. Этот алгоритм известен также как "скользящее окно" (отсюда и название задания). Чтобы выполнить это непростое задание, вам понадобится обратиться к документации Kotlin, а именно к описанию функций коллекций: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/. Удачи!

Раскрыть/скрыть решение и комментарии.

    Со следующего шага мы начнем рассматривать совместимость с Java.




Предыдущий шаг Содержание Следующий шаг