001. Ejercicios de lógica de programación

Es indispensable, que junto con la teoría comencemos a ejercitar la misma, es para ello que en estos capítulos trabajaremos con todo lo que hemos estudiado, y haremos ejercicios que abarquen todo lo estudiado hasta ahora. Comenzamos.

Consejos a la hora de resolver ejercicios

Estos son algunos de los consejos que damos cuando vayáis a resolver ejercicios:

  • Usar funciones expresadas con operadores ternarios para el retorno implícito. Deja tu código simple, limpio y expresivo.
  • Usar operadores ternarios concatenados e indentados en lugar de if cuando este último no sea necesario. Al igual que el anterior es más fácil de leer y mantener.
  • Hacer las validaciones necesarias al comienzo de una función y al último solucionar el problema. Dejar la solución para el final y resolver los posibles problemas primero con las validaciones.
  • Definir valores por defecto en los parámetros de una función. Mantén el control de los parámetros y anticípate a posibles valores vacíos.
  • Usar el return en condicionales if y alinear en código cuando sea de una sola línea. Evitar las llaves si el código de la condición tiene una sola línea.
  • Si tu condición if ya tiene un return es redundante añadir un else. Evitar anidar varios else if en una condición, Hazlo simple y mantén el nivel sin utilizar tantos anidamientos en condiciones innecesarias.

Ejercicio 1 – número de caracteres

En el primer ejercicio programaremos una función que cuente el número de caracteres de una cadena de texto.

La sintaxis sería la siguiente para una función declarada:

      function contarCaracteres(cadena = "") {
        if (!cadena) {
          console.warn("No ingresaste ninguna cadena");
        } else {
          console.info(
            `La cadena "${cadena}" tiene ${cadena.length} caracteres`
          );
        }
      }

      contarCaracteres("Hola Mundo");

Pero vamos a trabajar con funciones expresadas mejor, con lo cual, la sintaxis será la siguiente:

      const contarCaracteres2 = (cadena2 = "") =>
        !cadena2
          ? console.log("No existe la cadena")
          : console.log(
              `La cadena "${cadena2}" tiene ${cadena2.length} caracteres`
            );

      contarCaracteres2();
      contarCaracteres2("Hola que tal");

Ejercicio 2 – texto recortado

A partir de este ejercicio sólo utilizaremos funciones expresadas. En el segundo ejercicio programaremos una función que devuelva el texto recortado según el número de caracteres indicados.

      const recortarTexto = (cadena = "", longitud = undefined) =>
        !cadena
          ? console.log("No ingresaste una cadena")
          : longitud === undefined
          ? console.log("No ingresaste una longitud")
          : console.log(cadena.slice(0, longitud));

      recortarTexto();
      recortarTexto("Hola Mundo");
      recortarTexto(0);
      recortarTexto("Hola Mundo", 4);

Ejercicio 3 – devolver un Array

El tercer ejercicio consiste en programar una función, que dado un String, devuelva un Array de textos separados por cierto carácter.

      const devArray = (cadena = "", separador = undefined) => {
        !cadena
          ? console.log("No ingresaste una cadena de texto")
          : separador === undefined
          ? console.log("No ingresaste el caracter separador")
          : console.log(cadena.split(separador));
      };

      devArray();
      devArray("Hola Mundo");
      devArray("Hola Mundo", " ");

Ejercicio 4 – texto se repite

En este ejercicio 4 programaremos una función que repita un texto x veces.

      const repetirTexto = (cadena = "", numero = undefined) => {
        if (!cadena) return console.log("No ingresaste un texto");

        if (numero === undefined)
          return console.log(
            "No ingresaste un número de veces a repetir el texto"
          );

        if (numero === 0)
          return console.log("El número de veces no puede ser cero");

        if (Math.sign(numero) === -1)
          return console.log("El número de veces no puede ser negativo");

        for (let i = 1; i <= numero; i++) console.log(`${cadena}, ${i}`);
      };

      repetirTexto("Hola Mundo", 5);
Scroll al inicio