Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En Swift, las sentencias condicionales más comunes son if
, else if
, else
y switch
.
- Sentencia
if
if
La sentencia if
evalúa una condición y ejecuta un bloque de código si la condición es verdadera.
Sintaxis
Ejemplo
En este ejemplo, la condición edad >= 18
es verdadera, por lo que se ejecuta el bloque de código dentro del if
.
- Sentencia
if-else
if-else
La sentencia if-else
permite ejecutar un bloque de código si la condición es verdadera y otro bloque si la condición es falsa.
Sintaxis
if condición { // Código a ejecutar si la condición es verdadera } else { // Código a ejecutar si la condición es falsa }
Ejemplo
En este caso, la condición edad >= 18
es falsa, por lo que se ejecuta el bloque de código dentro del else
.
- Sentencia
if-else if-else
if-else if-else
La sentencia if-else if-else
permite evaluar múltiples condiciones en secuencia.
Sintaxis
if condición1 { // Código a ejecutar si la condición1 es verdadera } else if condición2 { // Código a ejecutar si la condición2 es verdadera } else { // Código a ejecutar si ninguna de las condiciones anteriores es verdadera }
Ejemplo
let nota = 85 if nota >= 90 { print("Excelente") } else if nota >= 75 { print("Bueno") } else { print("Necesitas mejorar") }
En este ejemplo, la condición nota >= 90
es falsa, pero nota >= 75
es verdadera, por lo que se ejecuta el bloque de código correspondiente.
- Sentencia
switch
switch
La sentencia switch
permite evaluar una expresión y ejecutar diferentes bloques de código basados en el valor de la expresión.
Sintaxis
switch expresión { case valor1: // Código a ejecutar si la expresión es igual a valor1 case valor2: // Código a ejecutar si la expresión es igual a valor2 default: // Código a ejecutar si la expresión no coincide con ninguno de los valores anteriores }
Ejemplo
let calificación = "B" switch calificación { case "A": print("Excelente") case "B": print("Bueno") case "C": print("Suficiente") default: print("Calificación no válida") }
En este caso, la expresión calificación
es igual a "B"
, por lo que se ejecuta el bloque de código correspondiente.
Ejercicios Prácticos
Ejercicio 1
Escribe un programa que determine si un número es positivo, negativo o cero.
Solución
let número = -5 if número > 0 { print("El número es positivo.") } else if número < 0 { print("El número es negativo.") } else { print("El número es cero.") }
Ejercicio 2
Escribe un programa que asigne una calificación basada en una nota numérica.
Solución
let nota = 92 switch nota { case 90...100: print("A") case 80..<90: print("B") case 70..<80: print("C") case 60..<70: print("D") default: print("F") }
Errores Comunes y Consejos
-
Olvidar las llaves
{}
en las sentenciasif
yelse
: En Swift, las llaves son necesarias para definir el bloque de código que se ejecutará.if condición print("Esto causará un error")
-
No cubrir todos los casos en una sentencia
switch
: Asegúrate de incluir un casodefault
para manejar cualquier valor no previsto.switch expresión { case valor1: // Código case valor2: // Código // Falta el caso default }
-
Usar
==
en lugar de=
para asignaciones: Recuerda que==
se usa para comparar valores, mientras que=
se usa para asignar valores.if x == 5 { // Correcto // Código }
Conclusión
Las sentencias condicionales son esenciales para controlar el flujo de un programa. En este módulo, hemos cubierto las sentencias if
, if-else
, if-else if-else
y switch
. Practica estos conceptos con los ejercicios proporcionados para reforzar tu comprensión y estar preparado para el siguiente tema sobre bucles.
Curso de Programación en Swift
Módulo 1: Introducción a Swift
- Introducción a Swift
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Swift
- Sintaxis y Estructura Básica
- Variables y Constantes
- Tipos de Datos
Módulo 2: Control de Flujo
Módulo 3: Funciones y Closures
- Definición y Llamada de Funciones
- Parámetros de Función y Valores de Retorno
- Closures
- Funciones de Orden Superior
Módulo 4: Programación Orientada a Objetos
Módulo 5: Swift Avanzado
Módulo 6: Swift y Desarrollo de iOS
- Introducción al Desarrollo de iOS
- Fundamentos de UIKit
- Storyboards y Interface Builder
- Redes en Swift
- Core Data
- Fundamentos de SwiftUI