Menu
Coddy logo textTech

Operadores de Secuencia

Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 75 de 86.

Swift proporciona propiedades y métodos integrados útiles que te permiten recopilar información sobre arrays rápidamente sin escribir bucles. Estos operadores de secuencia te ayudan a realizar cálculos comunes con un código mínimo.

La propiedad count devuelve el número de elementos en un array:

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

Para arreglos numéricos, Swift ofrece métodos para encontrar los valores más pequeños y más grandes. Los métodos min() y max() devuelven opcionales ya que un arreglo vacío no tiene mínimo ni 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 el total de todos los elementos, utiliza el método reduce. Este combina todos los valores a partir de un valor inicial:

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

El 0 es el valor inicial, y + le indica a Swift que sume cada elemento al total acumulado. Combinando estos operadores, puedes calcular fácilmente un promedio:

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

Desafío

Fácil

Escribe una función analyzeScores que reciba scores y devuelva una cadena de resumen con estadísticas sobre el arreglo.

Utiliza operadores de secuencia para calcular el conteo, el mínimo, el máximo y el promedio de las puntuaciones, luego dales formato en una única cadena de resumen.

Lógica:

  1. Obtén el conteo total de elementos usando count
  2. Encuentra el valor mínimo usando min()
  3. Encuentra el valor máximo usando max()
  4. Calcula la suma usando reduce(0, +) y divídela por el conteo para obtener el promedio
  5. Devuelve una cadena formateada con todas las estadísticas

Parámetros:

  • scores ([Int]): Un arreglo de puntuaciones enteras (se garantiza que tiene al menos un elemento)

Devuelve: Una cadena formateada que contiene las estadísticas (String). Formato: "Count: X, Min: X, Max: X, Avg: X"

Ejemplo: Si scores es [85, 90, 78, 92], la función debería devolver "Count: 4, Min: 78, Max: 92, Avg: 86".

Nota: El promedio debe calcularse utilizando división entera (sin decimales).

Hoja de referencia

Swift proporciona propiedades y métodos integrados para trabajar con arreglos sin escribir bucles.

La propiedad count devuelve el número de elementos:

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

Los métodos min() y max() encuentran los valores más pequeños y más grandes. Devuelven opcionales ya que los arreglos vacíos no tienen mínimo ni 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
}

El método reduce calcula el total combinando todos los valores comenzando desde un valor inicial:

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

Calcula un promedio combinando reduce con count:

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

Pruébalo tú mismo

func analyzeScores(scores: [Int]) -> String {
    // Escribe el código aquí
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos