Вам даны две переменные. Первая дробного типа хранит в себе расстояние в километрах. Вторая целочисленная хранит в себе время в секундах, за которое преодолели данное расстояние.
Найдите скорость в метрах в минуту.
// расстояние var lengthOfPath = Double(52) // время var seconds = Int(360) // вычисление скорости в метрах в минуту var v = (lengthOfPath*1000) / (Double(seconds)/60)
Даны два целочисленных трехзначных числа. Найти шестизначное, образованное слиянием данных чисел в одно. К примеру из чисел 111
и 222
должно получиться 111222
. При этом конечный результат должен иметь тип Int
.
var a = 166 var b = 556 var c = Int("\(a)\(b)")
Int8
и UInt8
. В одну из них запишите максимальное значение, которое может принять параметр типа UInt8
, в другую — минимальное значение, которое может принять параметр типа Int8
. Обратите внимание на то, какое значение в какую переменную может быть записано.//1 var a: Int8 = Int8.min var b: UInt8 = UInt8.max //2 print(a) print(b)
Для того, чтобы поменять местами значения переменных, вам потребуется использовать еще одну переменную, которая будет служить буфером.
//1 var c: Int = 50 var d = 100 //2 var tmp = 0 tmp = c c = d d = tmp //2 еще один вариант (c, d) = (d, c) //3 print("Значение переменной c = \(c)") print("Значение переменной d = \(d)")
Float
с произвольным числовым значением, второй — переменной типа Double
с произвольным значением.let parameterOne: Float = 3.14 var parameterTwo: Double = 19.054 parameterTwo = 9.42
Установка нового значения для констант невозможна. Именно по этой причине попытка установки значения для параметра parameterOne приведет к ошибке.
1) Объявите три константы: одну типа Int
со значением 18
, вторую типа Float
со значением 16.4
и одну типа Double
со значением 5.7
.
2) Найдите сумму всех трех констант и запишите ее в переменную типа Float
.
3) Найдите произведение всех трех констант и запишите его в переменную типа Int. Помните, что вам необходимо получить результат с минимальной погрешностью (т.е. с максимальной точностью).
4) Найдите остаток от деления константы типа Float
на константу типа Double
и запишите ее в переменную типа Double
.
5) Выведите на консоль результаты всех трех операций
//1 // параметры могут быть объявлены в одну строку (как показано ниже) // либо каждый параметр в своей строке // при объявлении данных параметров тип данных можно указать // только для second, т.к. для остальных он определяется // неявно именно так, как этого требует задание let first = 18 let second: Float = 16.4 let third = 5.7 //2 // тип данных переменной указывать не требуется // он определяется по переданному значению var sum = Float(first) + second + Float(third) // 40.1 //3 // два параметра имеют десятичные знаки после запятой // и для того, чтобы обеспечить максимальную точность, // необходимо высчитать произведение в типе Float или Double // и только потом переводить в Int. // в ном случае, если значение каждой переменной сразу переводить // в Int, то десятичные цифры будут просто отброшены var multi = Int( Float(first) * second * Float(third) ) // 1682 // для примера посмотрите на второй вариант подсчета суммы // разница в результате очень существенная var multi2 = first * Int(second) * Int(third) // 1440 //4 var res = Double(second.truncatingRemainder(dividingBy: Float(third))) // 5 // обратите внимание на то, что ответ получился слегка странным, // имеющим много знаков после точки. // это связано с тем, что при округлении Float в Double (операция Double(second)) // новое число несколько теряет в своей точности: Double(second) // 16.39999961853027 вместо 16.4 // причиной этому являются используемые в Swift стандарты // и принципы работы с числами с плавающей точкой // одинарной и двойной точности //5 print(sum) print(multi) print(res)
1) Объявите переменные a и b целочисленного типа данных и проинициализируйте им значения 2 и 3.
2) Вычислите значение уравнения (a+4b)(a–3b)+a2 и выведите результат на консоль.
Самый простой способ получить квадрат числа — умножить его на себя дважды. К примеру a в квадрате будет выглядеть как a*a.
// 1 var a = 2 var b = 3 // 2 var res = (a + 4 * b)*(a - 3 * b)+a * a // -94 print(res)
1) Объявите переменные c и d и присвойте им значения 1.75 и 3.25.
2) Вычислите значение уравнения 2(c+1)2+3(d+1) и выведите результат на консоль.
3) Какой тип данных будет у результата математического выражения?
// 1 var c = 1.75 var d = 3.25 // 2 var res = 2*(c+1)*2+3*(d+1) //23.75 print(res) // 3 // Тип данных переменной res - Double // о функции type(of:) вы узнаете в конце главы // она позволяет определить тип переданного параметра type(of: res) // Double.Type
1) Объявите константу length
и запишите в нее произвольное целочисленное значение.
2) Вычислите площадь квадрата с длиной стороны, равной length
.
3) Вычислите длину окружности радиусом length
.
4) Получите произведение полученных значений
1) Формула для расчета площади квадрата S = lenght
2
2) Формула для расчета длины окружности P = 2πR
//1 let length = 11 //2 let sSquare = length*length // 121 //3 // обратите внимание, что в формуле участвуют как // дробные, так и целые числа // вариант 1 let pCircle1 = Double(2) * 3.14 * Double(length) // 69.08 // вариант 2 (менее точный) let pCircle2 = 2*Int( 3.14 * Double( length ) ) // 68 //4 let result = Double(sSquare) * pCircle1 // 8358.68
1) Объявите переменную типа String
и запишите в нее произвольный строковый литерал.
2) Объявите константу типа Character
, содержащую произвольный символ латинского алфавита.
3) Объявите две переменные типа Int
и запишите в них произвольные значения.
4) Одним выражением объедините в строковый литерал переменную типа String
, константу типа Character
и сумму переменных типа Int
, а результат запишите в новую константу.
5) Выведите данную константу на консоль.
// 1 var str = "Swift" // 2 // в данном случае необходимо явно указать тип данных // т.к. в ином случае Swift установит его равным String let char: Character = "A" // 3 var a = 12 var b = 9 // 4 // вариант 1 let res = "\(str) \(char) \(a + b)" // "Swift A 21" // вариант 2 let res2 = str + String(char) + String(a + b) // "SwiftA21"
Выведите на консоль букву W, составленную из символов «звездочка» (*
), расположенных в три строки.
* * *
* * * *
* *
print("* * *") print(" * * * *") print(" * *")
1) Объявите три переменные: в первую запишите номер дня в месяце, во вторую запишите название месяца, в третью запишите год. Тип данных переменных выберите самостоятельно
2) Выведите на консоль дату в формате «2021 январь 01», используя данные, записанные в объявленные ранее переменные.
//1 var day = "11" var month = "январь" var year = "2021" //2 print("\(year) \(month) \(day)")
1) Объявите две логические переменные. Значение первой должно быть равно true
, второй — false
.
2) Получите результат операции логического И
и логического ИЛИ
, где в качестве операндов используются данные переменные
//1 var a = true var b = false //2 a && b // false a || b // true
Без использования Xcode (в уме или с помощью ручки и бумаги) вычислите результат следующих логических выражений:
true true false
1) Объявите строковую константу и запишите в нее ваше имя.
2) Объявите переменную типа Float
и запишите в нее ваш вес в килограммах.
3) Объявите переменную типа Int
и запишите в нее ваш рост в сантиметрах.
4) Вычислите ваш индекс массы тела и запишите его в переменную. Формула для расчета ИМТ: ИМТ = вес[кг] / рост [в метрах в квадрате]
5) Выведите на консоль текст, содержащий ваши имя и индекс массы тела. При этом используйте значения из объявленных переменных
//1 var name = "Василий" //2 var weight: Float = 73.0 //3 var height = 183 //4 // обратите внимание, что рост указан в сантиметрах // а в формуле используется в метрах var heightM = Float(height) / 100 // 1.79 var index = weight / (heightM * heightM) // 21.7982 //5 print("Меня зовут \(name). Мой ИМТ - \(index)")
Посмотрите на код ниже
let a: Int = 46 let b: Int = 10 // 1 let answer1: Int = (a * 100) + b // 2 let answer2: Int = (a * 100) + (b * 100) // 3 let answer3: Int = (a * 100) + (b / 10) // 4 let answer4: Int = (b / 100) * 12 + Int((Double(a) / 0.01))
С помощью калькулятора (без использования Xcode) определите значения всех четырех выражений.
1 — 4610
2 — 5600
3 — 4601
4 — 4600
Все выражения, кроме четвертого, скорее всего не вызвали у вас проблем. В четвертом обратите внимание, что левая часть выражения (где используется b
) равно 0
, т.к. тип данных целочисленный, а при делении 10
на 100
получается 0,1
, у которого просто отбрасывается дробная часть.
В выражении ниже расставьте скобки, так, чтобы они соответствовали порядку вычисления и не изменяли итоговый результат. Например, выражение 3 + 1 * 2
должно было бы превратиться в 3 + (1 * 2)
.
5 * 3 - 4 / 2 * 2
(5 * 3) - ((4 / 2) * 2)
a
и b
типа Double
и проинициализируйте им произвольные значения.a
и b
и сохранить результат в константе типа Float
с именем average
.// 1 let a: Double = 12.2 let b: Double = 5.4 //2 let average = Float(a + b) / 2 // 8.8