Introducci贸n a Swift y XCode
Swift y el ecosistema Apple
Instalaci贸n y configuraci贸n de XCode
Quiz: Introducci贸n a Swift y XCode
Fundamentos de programaci贸n iOS
Variables, constantes y tipos de datos b谩sicos
Condicionales
Funciones
Tipos de datos opcionales
Arreglos: append, insert, como crearlas
Arreglos: validar, editar y agregar una lista dentro de otra lista
Conjuntos: como agregar o eliminar elementos
Conjuntos: principales operaciones entre conjuntos
Diccionarios
Recorridos parte 1: while
Recorridos parte 2: for
Recorridos parte 3: los retos
Quiz: Fundamentos de programaci贸n iOS
POO en iOS
Programaci贸n orientada a objetos en iOS
Structs
Clases y herencia
Enums
Protocolos
Funciones de arreglos (filter, map, reduce)
Funciones de arreglos parte 2 (filter, map, reduce): playground
Quiz: POO en iOS
Manejo de errores y programaci贸n segura
Manejo de errores y programaci贸n segura
Propagaci贸n de errores
Do, try, catch
Quiz: Manejo de errores y programaci贸n segura
Programaci贸n en el ecosistema de Apple
Siguientes pasos para el desarrollo en iOS
No tienes acceso a esta clase
隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera
Convierte tus certificados en t铆tulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Santiago Moreno
En el mundo del desarrollo de software, lograr eficiencia en el manejo de arreglos es esencial. En esta lecci贸n, exploramos funciones avanzadas que son fundamentales en la programaci贸n diaria. Entender谩s c贸mo optimizar tu c贸digo empleando funciones como filter
, map
y reduce
, las cuales transformar谩n tu enfoque al trabajar con listas de datos. Vamos a ver c贸mo aplicarlas de manera efectiva y compartir茅 contigo ejemplos pr谩cticos para que las implementes en tus proyectos.
Es crucial abordar la implementaci贸n de funciones avanzadas que permitan manipular datos eficientemente. Empezaremos con la creaci贸n de funciones fundamentales para verificar y calcular promedios, y luego pasaremos a funciones m谩s avanzadas que optimicen el manejo de datos.
isAprove
y c贸mo se implementa?La funci贸n isAprove
determina si un estudiante ha aprobado el semestre mediante una evaluaci贸n de sus calificaciones. Se debe implementar para revisar si al menos el 60% de las materias est谩n aprobadas.
func isAprove(subjects: [Subject], scores: [Double]) -> Bool {
var approvedCount = 0
for i in 0..<subjects.count {
if scores[i] > passingGrade { // Aqu铆 se asume 'passingGrade' es el umbral para aprobar
approvedCount += 1
}
}
let percentage = (Double(approvedCount) / Double(subjects.count)) * 100
return percentage >= 60
}
El c谩lculo del promedio es sencillo: sumamos todas las calificaciones y dividimos por el n煤mero total de materias.
func getAverageScore(scores: [Double]) -> Double {
let total = scores.reduce(0, +)
return total / Double(scores.count)
}
Estas funciones no solo ahorran tiempo al escribir c贸digo, sino que tambi茅n hacen tu programa m谩s eficiente.
filter
?Filter
se emplea para obtener listas basadas en condiciones espec铆ficas y devuelve una lista filtrada.
let approvedStudents = students.filter { $0.isAprove() }
map
?Map
transforma una lista en otra, aplicando una funci贸n a cada uno de los elementos en la lista original.
let averages = students.map { $0.getAverageScore() }
reduce
?Reduce
combina todos los elementos de la lista en un solo valor final. Es muy 煤til para sumar valores o concatenar cadenas.
let totalSubjects = students.reduce(into: Set<Subject>()) { result, student in
for subject in student.subjects {
result.insert(subject)
}
}
Para obtener el total de promedios:
let averageScores = getAverages()
let totalAverage = averageScores.reduce(0.0, +) / Double(averageScores.count)
El uso de filter
, map
y reduce
revoluciona el manejo de datos en listas, ayud谩ndote a escribir c贸digo m谩s trivial y limpio. Al aplicar estas herramientas, no solo mejoras la eficiencia de tu c贸digo, sino que tambi茅n fortaleces tu destreza en Swift y en l贸gica de programaci贸n funcional.
A medida que incorporas estas pr谩cticas en tus proyectos, descubrir谩s una mayor capacidad para resolver problemas complejos de forma m谩s sencilla.
Aportes 0
Preguntas 0
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?