No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Introducción a Solidity

Curso de Introducción a Solidity

Sebastián Leonardo Perez

Sebastián Leonardo Perez

Estructuras de control en Solidity

7/21
Recursos

Aportes 9

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Estructuras de control

  • if/else: Estructura condicional. Ejecuta un bloque u otro dependiendo de una evaluación booleana
  • for: Estructura cíclica que ejecuta un bloque de instrucciones un número determinado de veces
  • while: Estructura cíclica que repite un bloque mientras se cumpla una condición
  • do while: Estructura cíclica que se asmilia al while, con la diferencia que siempre se ejecuta almenos una vez
contract EstructuraDeControl {
    
    uint[] public numeros;
    string public resultado;
    
    constructor(bool condicion) {
        if (condicion) {
            resultado = "Condicion True";
        }
        else {
            resultado = "Condicion False";
        }
        
        for (uint iterador = 0; iterador < 10; iterador++) {
            numeros.push(iterador);
        }
    }
    
}

el hecho de que te cobre por cada accion hace que valga la pena el especializarse, para que a la hora de la hora no estemos a punta de tachon y borron y hacerlo de corrido por la buena practica de condiciones

Se debe de tratar de hacer el menor poder de procesamiento, ya que a mayor procesamiento es más caro el contrato.

// SPDX-License-Identifier: GLP-3.0

pragma solidity >= 0.7.0 < 0.9.0;

contract EstructuraDeControl {
    uint[] public numeros;
    string public resultado;

    constructor(bool condicion) {
        if(condicion){
            resultado = "Condicion True";
        }
        else {
            resultado = "Condicion False";
        }
        for (uint iterador =0; iterador < 100; iterador++){
            numeros.push(iterador);
        }

    }
}

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract EstructuraDeControl {

uint[] public numeros;
// array de numeros -> numeros

string public resultado;
// para almacenar para ver si la condicion del array, se cumplio o no

//NOTA -> las hacemos publicas para poder verlas depues de haber hecho la implementacion (deploy)

constructor(bool condicion) {
// como no vimos funciones necesitamos setear/agregamos un parametro booleano para darle esta info al hacer el deploy!
// comdicion es booleana porque -> (bool condicion) -> y se puede poner cualquier otra condicion que de T o F!

    if (condicion) {
        resultado = "Condicion True";
    }
    else {
        resultado = "Condicion False";
    }
    
    for (uint iterador = 0; iterador < 10; iterador++) {
    // definimos un for que tenga 10 iteracones
        numeros.push(iterador);
        // push del numero actual en cada iteracion se agrega al array la iteracion actual 0,1,2...9! 
    }
}

}

RESUMEN CLASE 7:
ESTRUCTURAS DE CONTROL

I.- If / else

Es la estructura condicional más utilizada.
Permite ejecutar una acción si la condición de entrada se cumple, y nos permite ejecutar acciones alternativas en caso de que esta condición no se cumpla.

II.- For

Es una estructura de bucle en la cual ejecutaremos una acción repetidas veces hasta que la condición de corte se cumpla.
Siempre se sabe la cantidad de ejecuciones en el momento previo a su comienzo.

III.- While

Es una estructura de bucle en la cual ejecutaremos una acción hasta que la condición de corte que se especifica al comienzo se cumpla.
No siempre se sabe la cantidad de ejecuciones en el momento previo a su comienzo y puede ejecutarse 0 veces.

IV.- Do…While

Es una estructura de bucle en la cual ejecutaremos una acción hasta que la condición de corte que se especifica al final se cumpla.
No siempre se sabe la cantidad de ejecuciones en el momento previo a su comienzo y se ejecuta al menos una vez.

REMIX:

EstructurasDeControl.sol

// SPDX-License-Identifier: GLP-3.0

pragma solidity >=0.7.0 <0.9.0;

contract EstructuraDeControl {

    uint[] public numeros;
    string public resultado;

    constructor(bool condicion) {
        if (condicion) {
            resultado = "Condicion True";
        }
        else {
            resultado = "Condicion False";
        }

        for (uint iterador = 0; iterador < 10; iterador++) {
            numeros.push(iterador);
        }
    }

}