Вопрос по 5 тесту "Основ программирования"


#1

Никак не могу понять, почему в этом коде в 7 вопросе ошибка во второй строке, а не в четвёртой или первой.

В приведённом программном коде выберите строку, содержащую ошибку.

func findLeftover (a: Int, b: Int) {
return a % b
}
print(findLeftover(a: 5, b: 3))

В предшествующем тесту уроке был написан такой код и, исходя из него, кажется, что в первой строке тестового варианта не хватает стрелки и Int, а четвёртая показалась ошибочной просто потому, что отличается от примера и из-за дилетантства не могу понять, нормально это или нет

let x = 1
let y = 2
let z = 3
print(x + y + z)

func findSum (a: Int, b: Int, c: Int) -> Int {
 return a + b + c
}

findSum (a: x, b: y, c: z)

#2

3-й пункт


#3

Не сразу сообразил, как работает. Исправил, спасибо


#4
func findLeftover(a: Int, b: Int) {
    // Это говорит о том, что вы должны вернуть void а возвращаете Int
    return a % b // Unexpected non-void return value in void function
}
// Записать можно в таком формате, но Void опускается
func findLeftover(a: Int, b: Int) -> Void
// Swift - строго типизированный язык, это значит, что если вы говорит что возвращаемый тип будет Float например, вы не можете вернуть Int
func test() -> Float {
    let a: Int = 10
    return a // Cannot convert return expression of type 'Int' to return type 'Float'
}