Skip to content

Commit

Permalink
Reto mouredev#16 - typescript
Browse files Browse the repository at this point in the history
  • Loading branch information
Gefermanpernia committed Apr 17, 2023
1 parent 8b3d8c5 commit 2407de7
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions Retos/Reto #16 - LA ESCALERA [Media]/typescript/gefermanpernia.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
* Crea una función que dibuje una escalera según su número de escalones.
* - Si el número es positivo, será ascendente de izquiera a derecha.
* - Si el número es negativo, será descendente de izquiera a derecha.
* - Si el número es cero, se dibujarán dos guiones bajos (__).
*
* Ejemplo: 4
* _
* _|
* _|
* _|
* _|
*
*/


function dibujarEscalera(numeroEscalones: number): void {
const isAscendente = numeroEscalones > 0;
const numeroPasos = Math.abs(numeroEscalones);

if (numeroPasos === 0) {
console.log('__');
return;
}


let escalera = '';

if (!isAscendente) escalera = "_\n";
else escalera= " ".repeat(numeroPasos)+" _\n"

for (let i = 0; i < numeroPasos; i++) {
const espacios = ' '.repeat(isAscendente ? numeroPasos - i : i);
const peldaño = isAscendente ? `${espacios}_|` : `${espacios} |_`;
escalera += `${peldaño}\n`;

}



console.log(escalera);
}


dibujarEscalera(-10)

dibujarEscalera(0)

dibujarEscalera(10)

0 comments on commit 2407de7

Please sign in to comment.