Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BatchianoISpyxolo

#161
Cita de: raul338 en  6 Mayo 2012, 17:31 PM
che muchos retos batch de una :P
Da la casualidad que el mismo inicio el mismo reto en la sección vb, por si alguien quiere ver :P
[RETO] IsFibonacciNumber(N as long) as Boolean

Gracias por la info... En vbs supongo que se puede aplicar recursión a funciones por eso se ve lindo jaja... pero en Batch creo que no se puede. ¡Gracias que se pueden crear funciones :lol:

Saludos... A ver si algún día me apetece y me pongo con vbs XD
#162
Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto:

Reto iniciado por Batchiano

Reto Nº 11

Nombre:          Hex2Dec Batch Command
Dificultad:        3/10
Objetivo:         Crear un comando que convierta un número en hexadecimal a decimal.
Pista: El código es muy corto. Se aconseja pipear.
Ejemplo:



Solución:

Código (dos) [Seleccionar]

@echo off
if "%1"=="" (goto syn) else (
echo | set /a %1
exit /b
)

:syn
echo Error de sintaxis. %0 [NUMERO EN HEXADECIMAL]
#163
A ver, el proceso teórico sería...

Teniendo en cuenta que la sucesión de Fibonacci se define recursivamente como:

Si n=0 v n=1, entonces f(n)=1

Si no, f(n)=f(n-1)+f(n-2)


Llamemos h a cada elemento de la secuencia U dada por el usuario. La secuencia puede tener uno o más elementos y debe ser finita.

Llamemos F al conjunto de Naturales de la sucesión de Fibonacci.

Entonces, teniendo en cuenta que la sucesión de Fibonacci es una lista de números en orden ascendente, podemos realizar un bucle para i=1 hasta k de tal manera que si f(i) = h, podemos afirmar que cierto h pertenece a la secuencia de Fibonnaci, por lo tanto, TRUE (1). Por otra parte si f(i) > h, podemos afirmar que, como LA SECUENCIA DE FIBONACCI ES CRECIENTE, cierto h no pertenece F, por tanto devolvemos FALSE (0)
#164
Ahora envío el code :)

PD: En la screen sale un 026 :P
#165
Yo también lo voy a enviar :)

Aquí un print-screen:

#166
Scripting / Contador (cuenta atrás)
7 Abril 2012, 09:40 AM
Pues he implementado una cuenta atrás en Batch... segurísimamente ya esté hecho... pero me apetecía pensar como hacerlo... opiniones... mejoras... aplicaciones para la cuenta atrás... ideas... críticas constructivas... todo bienvenido :P

Operadores lógicos...

Código (dos) [Seleccionar]

::Cuenta atrás
::Batchiano
@echo off
setlocal enabledelayedexpansion
:menu
set /p h="Horas: "
set /p m="Minutos: "
set /p s="Segundos: "
for %%z in (h,m,s) do if not defined %%z (
call :formato
)
if %h% GEQ 0 (
if %m% GEQ 0 (
if %m% LEQ 59 (
if %s% GEQ 0 (
if %s% LEQ 59 (
call :contador
) else (
call :formato
)
) else (
call :fomato
)
) else (
call :formato
)
) else (
call :formato
)
) else (
call :formato
)
goto :eof

:contador
cls
if %h% GEQ 0 (
if %m% GEQ 0 (
if %s% GEQ 0 (
for /l %%a in (!h!,-1,0) do (
for /l %%b in (!m!,-1,0) do (
for /l %%c in (!s!,-1,0) do (
echo Contador: %%a:%%b:%%c
ping localhost -n 2 > nul
cls
)
set s=59
)
set m=59
)
)
)
)
goto :eof

:formato
echo Formato incorrecto. Vuelva a intentarlo
pause>nul & cls & call :menu