Вам даны две переменные. Первая дробного типа хранит в себе расстояние в километрах. Вторая целочисленная хранит в себе время в секундах, за которое преодолели данное расстояние.
Найдите скорость в метрах в минуту.
// расстояние 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 = lenght2
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