Script Fibonacci en BATCH


En ESTE LINK deje el código de un script para la secuencia Fibonacci en BASH (Linux). Por lo mismo, quise ver si funcionaba de manera similar en Windows y salió el siguiente script Fibonacci en BATCH.

El código

Desactivo el echo para que no muestre el prompt

@echo off

Ingreso 3 variables

set contador=0
set i=0
set j=1

Nombro un loop simulando un while

:while

Si la variable contador es menor o igual a 30 hará lo que sigue

if %contador% LSS 30 (

Mostrará el valor de la variable j

echo %j%

Sumará la variable i + j y su resultado cambiará el valor de la variable j.

set /a "j=%i%+%j%"

Se cambia el valor de la variable i por la variable j. Acá me di cuenta que Windows guarda la variable antigua y por eso la variable i no tendrá el valor de i+j, sino que sólo j.

set "i=%j%"

Se suma 1 a la variable contador

set /a contador=%contador%+1

Se utiliza un ping para simular segundos o el sleep de Linux

ping -n 2 127.0.0.1>nul

Se vuelve al loop while si no se cumple la condición del inicio

goto while )

Se pausa el script para que quede en pantalla y al pulsar la barra espaciadora, se cierra la ventana

pause

Script sin comentarios

@echo off
set contador=0
set i=0
set j=1:while
if %contador% LSS 30 (
echo %j%
set /a "j=%i%+%j%"
set "i=%j%"
set /a contador=%contador%+1
ping -n 2 127.0.0.1>nul
goto while
)
pause