Диапазоны (Range) в Swift

Домашняя работа к главе 8

Задание 1

Среди приведенных вариантов укажите операторы, с ипользуемые для создания диапазонов

..>
...
..<
..
.>
.<
.
<
>
..=
>..
<..
Правильный ответ

Варианты 2 и 3
Для создания диапазонов используются операторы полуоткрытого (..<) и закрытого (...) диапазона

Задание 2

Среди приведенных выражений найдите те, которые будут корректно выполнены.

1..>5
"A"..."Z"
"a"..."C"
"1"..."a"
1..<"B"
10..<
A...
1.1...
Правильный ответ

1) Ошибка. Не существует оператора диапазона ..>
2) Корректно
3) Ошибка. Левая граница диапазона должна быть меньше, чем правая. В UTF-таблице символов латинские заглавные идут до латинских строчных. Отношение символов друг к другу можно проверить с помощью выражения
"a">"C" // true
4) Корректно
5) Ошибка. Для создания диапазона не могут использоваться значения различных типов
6) Ошибка. Полуоткрытый оператор должен идти между или перед операндом. В данном случае оператор стоит после операнда
7) Ошибка. Строковый литерал должен идти в кавычках
8) Корректно

Задание 3

Покажите два способа создания диапазона, который содержит все целые числа от 1 до 9

Правильный ответ

1...9
1..<10

Задание 4

Будет ли корректно выполнен следующий код? Как исправить код, если он работает некорректно?

var range = "a"..."z"
rangeTwo = "1"..."y"
range = rangeTwo
Правильный ответ

Ошибка. При объявлении параметра rangeTwo не использован оператор var. При инициализации значения rangeTwo в range ошибки не возникнет, т.к. данные диапазоны одного типа данных.

Задание 5

Определите тип данных, которые будут иметь объявленные параметры

var range = 1..<10
var range2 = 1..
var range3 = ..<5
var range4 = -100...100

Правильный ответ

type(of: range) // Range<Int>.Type
type(of: range2) //Ошибка. Для осздания диапазона использован несуществующий оператор ..
type(of: range3) // PartialRangeUpTo<Int>.Type
type(of: range4) // ClosedRange<Int>.Type


Доступ закрыт

Дополнительные 5 заданий доступны только подписчикам

Оформить доступ


Comments are closed.