0Pricing
Blockchain Smart Contracts with Solidity · Lección

Estructuras de control y bucles

Domine las sentencias condicionales (if/else) y varias estructuras de bucle (for, while) para crear un comportamiento dinámico en los contratos.

Estructuras de control y bucles es una lección gratuita de Blockchain Smart Contracts with Solidity en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Blockchain Smart Contracts with Solidity, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Blockchain Smart Contracts with Solidity incluye 4 lecciones en total.

Control Structures Intro

¡Bienvenido a la Lección 2! Hoy aprenderemos sobre las estructuras de control en Solidity. Estas son fundamentales para hacer que tus contratos inteligentes sean dinámicos y receptivos.

Las estructuras de control permiten que tu contrato:

  • Tome decisiones basadas en condiciones.
  • Repita acciones varias veces.
  • Ejecute diferentes rutas de código.

Piénsalas como el 'cerebro' de tu contrato, guiando su comportamiento.

Conditional 'if' Statements

La estructura de control más sencilla es la sentencia if. Ejecuta un bloque de código solo si se cumple una condición especificada.

La condición debe evaluarse como un bool (verdadero o falso). Si es verdadera, el código dentro de las llaves {} se ejecuta; de lo contrario, se omite.

'if-else' for Alternatives

A menudo, deseas realizar una acción si una condición es verdadera y una acción diferente si es falsa. Aquí es donde entra en juego la sentencia if-else.

Si la condición del if es verdadera, se ejecuta su bloque. Si es falsa, se ejecuta el código del bloque else. Solo uno de los dos bloques se ejecutará.

'else if' for Multiple Choices

¿Qué sucede si tienes más de dos posibles resultados? Usa else if para verificar múltiples condiciones de forma secuencial.

El contrato verifica cada condición en orden. La primera que se evalúe como verdadera ejecutará su bloque de código, y todos los bloques else if y else subsiguientes serán omitidos.

Conditional Logic Example

Veamos if-else if-else en acción. Este contrato verifica si un número es positivo, negativo o cero.

Prueba llamar a checkNumber con diferentes valores enteros como 5, -3 o 0.

pragma solidity ^0.8.0;

contract ConditionalChecker {
    function checkNumber(int _number) public pure returns (string memory) {
        if (_number > 0) {
            return "Positive";
        } else if (_number < 0) {
            return "Negative";
        } else {
            return "Zero";
        }
    }
}

Introducing Loops

A veces necesitas repetir un bloque de código varias veces. A esto se le llama bucle, ¡y es súper eficiente!

Los bucles son útiles para:

  • Iterar sobre matrices o listas.
  • Realizar cálculos varias veces.
  • Esperar a que se cumpla una condición.

Solidity proporciona bucles for y while.

The 'for' Loop

El bucle for es perfecto cuando sabes exactamente cuántas veces quieres repetir una acción. Tiene tres partes:

  • Inicialización: Configura un contador (por ejemplo, uint i = 0).
  • Condición: El bucle continúa mientras esta sea verdadera (por ejemplo, i < 10).
  • Incremento/Decremento: Cambia el contador después de cada iteración (por ejemplo, i++).

Runnable 'for' Loop

Aquí tienes un ejemplo de bucle for que calcula la suma de números hasta un límite determinado. Esto muestra cómo acumular un valor a lo largo de varias iteraciones.

Prueba a llamar a calculateSum con un número pequeño como 5.

pragma solidity ^0.8.0;

contract ForLoopDemo {
    // Calculates the sum of numbers from 1 up to _limit
    function calculateSum(uint _limit) public pure returns (uint) {
        uint total = 0;
        for (uint i = 1; i <= _limit; i++) {
            total += i;
        }
        return total;
    }
}

The 'while' Loop

El bucle while es ideal cuando no sabes exactamente cuántas veces debe ejecutarse el bucle, pero tienes una condición específica que debe cumplirse para detenerlo.

El bucle continúa mientras su condición sea verdadera. ¡Ten cuidado de asegurarte de que la condición eventualmente se vuelva falsa para evitar bucles infinitos!

Runnable 'while' Loop

Este ejemplo demuestra una cuenta regresiva simple usando un bucle while. El bucle continúa mientras currentCount sea mayor que cero.

Llame a simpleCountdown con un valor como 3. Devolverá 0 después de completar la cuenta regresiva.

pragma solidity ^0.8.0;

contract WhileLoopDemo {
    // Counts down from a starting number to zero
    function simpleCountdown(uint _start) public pure returns (uint) {
        uint currentCount = _start;
        while (currentCount > 0) {
            currentCount--; // Decrement counter
        }
        return currentCount; // Will be 0 when loop finishes
    }
}

Check Your Understanding

Considera la siguiente función de contrato Solidity:

pragma solidity ^0.8.0;

contract ScoreChecker {
    function getStatus(uint _score) public pure returns (string memory) {
        if (_score >= 90) {
            return "Excellent";
        } else if (_score >= 70) {
            return "Good";
        } else if (_score >= 50) {
            return "Pass";
        } else {
            return "Fail";
        }
    }
}

Recap: Control & Loops

¡Buen trabajo! Has dominado los fundamentos de las estructuras de control y los bucles en Solidity.

  • Las sentencias condicionales (if, else if, else) permiten que tu contrato tome decisiones.
  • Los bucles (for, while) permiten la ejecución repetitiva de bloques de código.

Estas herramientas son fundamentales para crear contratos inteligentes que puedan reaccionar de forma dinámica y realizar operaciones complejas. ¡A continuación, nos sumergiremos en las funciones y los modificadores de visibilidad!

Preguntas frecuentes

¿La lección «Estructuras de control y bucles» es gratis?

Sí — el texto completo de «Estructuras de control y bucles» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Blockchain Smart Contracts with Solidity, actualiza a CoddyKit PRO. El curso de Blockchain Smart Contracts with Solidity incluye 4 lecciones en total.

¿Qué aprenderé en «Estructuras de control y bucles»?

Domine las sentencias condicionales (if/else) y varias estructuras de bucle (for, while) para crear un comportamiento dinámico en los contratos. Practicas Blockchain Smart Contracts with Solidity con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Blockchain Smart Contracts with Solidity?

No se requiere experiencia previa. Blockchain Smart Contracts with Solidity en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Estructuras de control y bucles»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Blockchain Smart Contracts with Solidity?

Sí. Cada lección de Blockchain Smart Contracts with Solidity incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Tipos de datos y variables en Solidity
  2. Estructuras de control y bucles
  3. Funciones y modificadores de visibilidad
  4. Structs y enums
← Volver a Blockchain Smart Contracts with Solidity