При написании компьютерной программы, разработчик указывает компьютеру, что делать в различных сценариях. К примеру, приложение для калькулятора совершает одно действие при нажатии на кнопку «плюс», и совсем другое при нажатии на кнопку «минус».
В терминах компьютерного программирования данный концепт известен как порядок выполнения, или control flow. В следующих уроках вы узнаете, как принимать решения и повторять задачи в программах, используя синтаксис порядка выполнения. Вы также узнаете о булевых значениях, которые могут быть истинными (true) или ложными (false), и о том, как их можно использовать для сравнения данных.
Статьи для изучения:
Ключевые особенности порядка выполнения в Kotlin
- Для представления истинных и ложных значений используется булев тип данных
Boolean
; - Операторами сравнения, каждый из которых возвращает значение булева типа, являются:
123456Равно: `==`Не равно: `!=`Меньше, чем: `<`Больше, чем: `>`Меньше, чем, или равно: `<=`Больше, чем, или равно: `>=` - Для объединения условий сравнений можно использовать булеву логику вместе с операторами
&&
(И) и||
(ИЛИ); - Выражения
if
используются для принятия решений на основе условия и возвращения нужного значения; - Для увеличения вариативности процесса принятия решений, то есть использования более одного условия, внутри выражения
if
используютсяelse
иelse-if
; - Можно использовать выражение
if-else
в одну строчку, что сделает код более кратким и читабельным; - Замыкание гарантирует, что вычисляются только минимально необходимые части логического выражения;
- Переменные и константы относятся к определенной области видимости, за пределами которой их нельзя использовать. Область видимости наследует видимые переменные и константы от своего родителя;
- Циклы
while
позволяют выполнять определенную задачу несколько раз, пока не будет выполнено условие; - Оператор
break
используется для прерывания цикла.
Задания для проверки
1. Что не так со следующим кодом?
1 2 3 4 5 6 7 8 9 | val firstName = "Joe" if (firstName == "Howard") { val lastName = "Lucas" } else if (firstName == "Ray") { val lastName = "Wenderlich" } val fullName = firstName + " " + lastName |
2. Каким будет значение булевой константы answer
в каждом из следующих случаев?
1 2 3 4 | val answer1 = true && true val answer2 = false || false val answer3 = (true && 1 != 2) || (4 > 3 && 100 < 1) val answer4 = ((10 / 2) > 3) && ((10 % 2) == 0) |
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
.
comprar kamagra contrareembolso
kamagra ups
Buy enclomiphene on line without a perscription
buy cheap enclomiphene no rx needed
get androxal buy in london
androxal mail order canada
online order dutasteride buy from canada
dutasteride 20
cheapest buy flexeril cyclobenzaprine usa buying
order flexeril cyclobenzaprine purchase england
discount gabapentin buy in australia
purchase gabapentin uk no prescription
cheapest buy fildena purchase uk
buying fildena cheap trusted
where to buy itraconazole online
buying itraconazole generic available
purchase staxyn generic health
cheapest buy staxyn canada no prescription
cheap avodart generic overnight delivery
how to order avodart uk generic
rifaximin fed ex cheap
compare price rifaximin
purchase xifaxan generic compare
how to buy xifaxan toronto canada
kamagra online na dobírku
indianpharmaonline kamagra