Базовый порядок выполнения в Kotlin

При написании компьютерной программы, разработчик указывает компьютеру, что делать в различных сценариях. К примеру, приложение для калькулятора совершает одно действие при нажатии на кнопку «плюс», и совсем другое при нажатии на кнопку «минус».

В терминах компьютерного программирования данный концепт известен как порядок выполнения, или control flow. В следующих уроках вы узнаете, как принимать решения и повторять задачи в программах, используя синтаксис порядка выполнения. Вы также узнаете о булевых значениях, которые могут быть истинными (true) или ложными (false), и о том, как их можно использовать для сравнения данных.

Статьи для изучения:

  1. Boolean и операторы сравнения
  2. Выражение if-else
  3. Цикл while и do-while

Ключевые особенности порядка выполнения в Kotlin

  • Для представления истинных и ложных значений используется булев тип данных Boolean;
  • Операторами сравнения, каждый из которых возвращает значение булева типа, являются:
  • Для объединения условий сравнений можно использовать булеву логику вместе с операторами && (И) и || (ИЛИ);
  • Выражения if используются для принятия решений на основе условия и возвращения нужного значения;
  • Для увеличения вариативности процесса принятия решений, то есть использования более одного условия, внутри выражения if используются else и else-if;
  • Можно использовать выражение if-else в одну строчку, что сделает код более кратким и читабельным;
  • Замыкание гарантирует, что вычисляются только минимально необходимые части логического выражения;
  • Переменные и константы относятся к определенной области видимости, за пределами которой их нельзя использовать. Область видимости наследует видимые переменные и константы от своего родителя;
  • Циклы while позволяют выполнять определенную задачу несколько раз, пока не будет выполнено условие;
  • Оператор break используется для прерывания цикла.

Задания для проверки

1. Что не так со следующим кодом?

2. Каким будет значение булевой константы answer в каждом из следующих случаев?

3. Предположим, что клетки на шахматной доске пронумерованы слева направо, сверху вниз, где 0 — это верхний левый квадрат, а 63 — нижний правый квадрат. Строки пронумерованы сверху вниз от 0 до 7. Столбцы нумеруются слева направо от 0 до 7. Учитывая текущую позицию на шахматной доске, представленную в виде номера строки и столбца, вычислите следующую позицию, снова выраженную как номер строки и столбца. Порядок определяется нумерацией от 0 до 63. Позиция после 63 снова равна 0;

4. Даются коэффициенты a, b и c, вычислите решения квадратного уравнения с данными коэффициентами. Учитывайте разное количество решений (0, 1 или 2). Если вам нужно освежить в памяти математические формулы, вам поможет следующая статья в Википедии о квадратном уравнении: https://en.wikipedia.org/wiki/Quadratic_formula;

5. Дается месяц (представленный строкой String в нижнем регистре) и текущий год (представленный целым числом Int), вычислите количество дней в месяце. Помните, что из-за високосного года в феврале 29 дней, когда год кратен 4, но не кратен 100. В феврале также 29 дней, когда год кратен 400;

6. Дается число типа Double, определите, является ли это число степенью 2. Подсказка: вы можете использовать log2(number), чтобы найти логарифм number по основанию 2. log2(number) вернет целое число, если number является степенью двойки. Вы также можете решить задачу, используя цикл без логарифма;

7. Выведите первые десять чисел во второй степени;

8. Дается число n. Вычислите n-ое число Фибоначчи. Вспомним числа Фибоначчи 1, 1, 2, 3, 5, 8, 13 … Сначала складываются 1 и 1, потом их результат со следующим числом. Каждое следующее значение является суммой предыдущих двух. В данном случае следующем значением будет 8+3=21;

9. Дается число n, посчитайте факториал n. Например: факториал числа 4 считается как 1*2*3*4;

10. Дается число между 2 и 12, рассчитайте шансы выпадения нечетного числа при броске двух шестигранных игральных костей. Вычислите его, полностью перебрав все комбинации и подсчитав долю результатов, которые дают это значение. Не используйте формулы.

Что дальше?

Приложения очень редко выполняются каждый раз одинаково. В зависимости от имеющихся данных или от пользовательского ввода, код должен будет выбрать правильный путь выполнения задачи. С помощью if и else можно заставить код принимать решения на основании данных условий.

В следующих уроках мы познакомимся с более сложными операторами порядка выполнения. Среди них будут дополнительные циклы наподобие while, который мы уже изучили, и новая конструкция — выражение when.

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x