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
ifLa 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-elseLa 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-elseLa 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
switchLa 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 sentenciasifyelse: 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 casodefaultpara 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
