Skip to content

WillToCoding/150-swift-exercises

Repository files navigation

Ejercicios

Ejercicios App Icon

150+ Swift algorithm exercises for iPhone, iPad & Mac

Swift Platforms Exercises License

Swift Developer Program 2026 — Apple Coding Academy
From basics to advanced algorithms with visual diagrams


Features

Feature Description
📚 150+ Exercises From basics to advanced algorithms
📊 Flow Diagrams Visual algorithm representation
🧩 Pseudocode Structured code blocks view
💡 Explanations Step-by-step reasoning for complex exercises
▶️ Live Execution Run and test solutions in-app
🏷️ Categories Organized by difficulty and topic

Blocks

Block Exercises Topics
Introducción 1 20 Entradas/salidas, condiciones, bucles simples
Introducción 2 20 Condicionales anidados, bucles anidados, búsqueda
Nivel Básico 30 Primos, Fibonacci, palíndromos, MCD, ordenamiento
Repaso 35 Tipos, bucles, structs, clases, closures, herencia
Algoritmia 45 Recursión, divide y vencerás, programación dinámica

Intro 1

20 ejercicios de iniciación — Fundamentos de algoritmia con diagramas de flujo y pseudocódigo. Desde operaciones básicas hasta bucles con números primos, Fibonacci, factoriales, palíndromos y cálculo del MCD/MCM.

Category Exercises Highlights
Entradas/Salidas 1-3 Suma, Celsius→Fahrenheit, área triángulo
Condiciones 4-6 Par/impar, aprobado/suspenso, signo número
Bucles Simples 7-20 Fibonacci, factorial, primos, MCM, MCD, pirámides

Intro 2

20 ejercicios intermedios — Anidación de estructuras de control y algoritmos matemáticos avanzados. Incluye raíz cuadrada por Newton-Raphson, ecuaciones de segundo grado y la fórmula de Zeller para calcular días de la semana.

Category Exercises Highlights
Condicionales Anidados 1-3 Triángulos, calificaciones A-F, días del mes
Bucles Anidados 4-6 Tablero ajedrez, rombo, tablas multiplicar
Contadores/Acumuladores 7-9 Pares/impares, divisibles por 3, suma cuadrados
Funciones Matemáticas 10-20 Raíz Newton-Raphson, bisiesto, Zeller, edad

Básico

30 ejercicios de Swift 6 — Implementación práctica de algoritmos clásicos. Desde detección de primos hasta cifrado César, pasando por ordenamiento burbuja, búsqueda binaria, criba de Eratóstenes y conversión de números romanos.

Category Exercises Highlights
Números 1-10 Primos, Fibonacci, factorial, MCD, binario
Strings & Arrays 11-20 Palíndromos, anagramas, frecuencias, burbuja
Algoritmos Clásicos 21-30 Búsqueda binaria, Eratóstenes, romanos, Levenshtein

Repaso

35 ejercicios de repaso — Consolidación de fundamentos Swift: tipos primitivos, estructuras de control, POO con clases y structs, herencia, closures, propiedades lazy y observadores willSet/didSet.

Category Exercises Highlights
Fundamentos 1-7 Tipos, operadores, bucles, arrays, diccionarios
POO: Clases & Structs 8-19 Vehiculo, Circulo, Pelicula, Vector, CarritoDeCompras
Herencia & Polimorfismo 20-26 Subclases, Usuario, Hospital, Personaje (juego)
Avanzado 27-35 Closures, lazy, willSet/didSet, enums con valores

Algoritmia

45 ejercicios avanzados — Algoritmos complejos con enfoque funcional: recursión con memoización, MergeSort, QuickSort, programación dinámica, backtracking y un mini intérprete de expresiones aritméticas.

Category Exercises Highlights
Arrays & Strings 1-10 reduce, filter, map, Fibonacci memoizado
Recursión & Ordenamiento 11-20 Búsqueda binaria, MergeSort, Triángulo Pascal
Problemas Clásicos 21-30 Permutaciones, Levenshtein, cifrado César
Recurrencia & Dinámica 31-40 Armstrong, QuickSort, Kadane, números Catalán
Retos Avanzados 41-45 Cambio monedas, paréntesis válidos, intérprete

iPhone

iPhone Exercises     iPhone Code Blocks

  • Exercise list organized by categories
  • Pseudocode blocks with syntax highlighting
  • Adaptive layout for all iPhone sizes

iPad

iPad Flow Diagram     iPad Execute

  • Split view navigation for large screens
  • Full-size flow diagrams
  • Side-by-side code and execution

Mac

Mac Filter     Mac Reasoning

Mac Flow Diagram     Mac Pseudocode

  • 3-column NavigationSplitView
  • Filtering by category
  • Detailed reasoning explanations

Testing

Swift Testing for exercise validation.

@Suite("Exercise Tests")
struct ExerciseTests {
    @Test("Fibonacci sequence")
    func fibonacci() {
        #expect(fibonacci(10) == [1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
    }
}

Tech Stack

Category Technologies
Language Swift 6
UI SwiftUI
Architecture MVVM + Clean Architecture
Concurrency async/await, @MainActor
Observation @Observable
Testing Swift Testing
Data Codable JSON

Requirements

Platform Version
iOS / iPadOS 26.2+
macOS (Tahoe) 26.3+
Xcode 26.2+

Structure

Ejercicios-iOS/
├── 📱 Ejercicios-iOS/
│   ├── ExercisesApp.icon
│   ├── Interface/
│   ├── Views/
│   ├── Components/
│   ├── ViewModels/
│   ├── Repository/
│   ├── Models/
│   ├── Resources/
│   ├── System/
│   └── Assets.xcassets
├── 🖥️ Ejercicios-Mac/
└── 🧪 Ejercicios-iOSTests/

Installation

git clone https://github.com/WillToCoding/Ejercicios.git
cd Ejercicios
open Ejercicios-iOS.xcodeproj

Select your target platform and run with ⌘R.


Related

Project Description
EjerciciosUIs 5 SwiftUI interface exercises
MisMangas Multi-platform manga collection manager
NetworkAPI Async/await networking layer

MIT License · Made with ❤️ by Juan Carlos

Swift Developer Program 2026 — Apple Coding Academy

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages