Menu
Coddy logo textTech

Operadores de Sequência

Parte da seção Fundamentos do Journey de Swift da Coddy — lição 75 de 86.

O Swift fornece propriedades e métodos integrados úteis que permitem coletar informações sobre arrays rapidamente sem escrever loops. Esses operadores de sequência ajudam você a realizar cálculos comuns com o mínimo de código.

A propriedade count retorna o número de elementos em um array:

let scores = [85, 92, 78, 90]
print(scores.count)  // 4

Para arrays numéricos, o Swift oferece métodos para encontrar os valores mínimo e máximo. Os métodos min() e max() retornam opcionais, já que um array vazio não possui um valor mínimo ou máximo:

let temperatures = [72, 68, 75, 80, 65]

if let lowest = temperatures.min() {
    print(lowest)  // 65
}

if let highest = temperatures.max() {
    print(highest)  // 80
}

Para calcular o total de todos os elementos, use o método reduce. Ele combina todos os valores começando a partir de um valor inicial:

let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total)  // 60

O 0 é o valor inicial, e + diz ao Swift para adicionar cada elemento ao total acumulado. Combinando esses operadores, você pode facilmente calcular uma média:

let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average)  // 86
challenge icon

Desafio

Fácil

Escreva uma função analyzeScores que recebe scores e retorna uma string de resumo com estatísticas sobre o array.

Use operadores de sequência para calcular a contagem, o mínimo, o máximo e a média das pontuações e, em seguida, formate-os em uma única string de resumo.

Lógica:

  1. Obtenha a contagem total de elementos usando count
  2. Encontre o valor mínimo usando min()
  3. Encontre o valor máximo usando max()
  4. Calcule a soma usando reduce(0, +) e divida pela contagem para obter a média
  5. Retorne uma string formatada com todas as estatísticas

Parâmetros:

  • scores ([Int]): Um array de pontuações inteiras (garantido ter pelo menos um elemento)

Retorno: Uma string formatada contendo as estatísticas (String). Formato: "Count: X, Min: X, Max: X, Avg: X"

Exemplo: Se scores for [85, 90, 78, 92], a função deve retornar "Count: 4, Min: 78, Max: 92, Avg: 86".

Nota: A média deve ser calculada usando divisão inteira (sem casas decimais).

Folha de consulta

Swift fornece propriedades e métodos integrados para trabalhar com arrays sem escrever loops.

A propriedade count retorna o número de elementos:

let scores = [85, 92, 78, 90]
print(scores.count)  // 4

Os métodos min() e max() encontram os valores menor e maior. Eles retornam opcionais, já que arrays vazios não possuem mínimo ou máximo:

let temperatures = [72, 68, 75, 80, 65]

if let lowest = temperatures.min() {
    print(lowest)  // 65
}

if let highest = temperatures.max() {
    print(highest)  // 80
}

O método reduce calcula o total combinando todos os valores a partir de um valor inicial:

let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total)  // 60

Calcule uma média combinando reduce com count:

let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average)  // 86

Experimente você mesmo

func analyzeScores(scores: [Int]) -> String {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos