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 - leogtz

#2471


Se encarga de resolver ecuaciones de 1er grado, como las que se listar en la opción 2:
1.  -3x-9=-9x-63
2.   9x-5=-4x-57
3.   5x-9x=39-3
4.  -7x+9=-9x-5
5.  -3x+1=2x+21
6.   7x+4=9x+6
7.  -5x+8=9x+120
8.  -8x+1=6x-111
9.  -4x+6=6x-64
10. -5x-1=-7x+5


El codigo :
@echo off
:code
setlocal enabledelayedexpansion
:: -3x-9=-9x-63
echo. ------------------------------------------------------------------------------
echo. ^| Ecuaciones de 1ø grado. Ejemplo :                     -3x-9=-9x-63         ^|
echo. ------------------------------------------------------------------------------
echo.
echo. ------------------------------------------------------------------------------
echo. ^| 1.-Resolver ecuaci¢n.                                                      ^|
echo. ^| 2.-Ver ejemplos de ecuaciones.                                             ^|
echo. ^| 3.-Ayuda.                                                                  ^|
echo. ^| 4.-Salir.                                                                  ^|
echo. ------------------------------------------------------------------------------
echo.
set /p "opcion=Teclee el numero de la opcion dada : "
if not defined opcion (goto:code)
if %opcion% equ 1 (goto:r_ecuacion)
if %opcion% equ 2 (goto:examples)
if %opcion% equ 3 (goto:help)
if %opcion% equ 4 (goto:exit) else (
cls
goto:code
)
:r_ecuacion
cls
echo.
set /p "ecuacion=Ecuaci¢n : "
if not defined ecuacion (
cls
goto:code
)
for /f "tokens=1,2 delims==" %%a in ("%ecuacion%") do (
set "termino1=%%a"
set "termino2=%%b"
)
for /f "tokens=1,2 delims=x,X" %%a in ("%termino1%") do (set "x_1=%%ax")
for /f "tokens=1,2 delims=x,X" %%a in ("%termino2%") do (set "x_2=%%ax")
set "x1=%x_1:x=%"
set "x2=%x_2:x=%"
if ["%x_2:~0,1%"]==["-"] (
set /a "suma_x=!x1!!x2:-=+!"
) else (
set /a "suma_x=!x1!-!x2!"
)
for /f "tokens=1,2 delims=x,X" %%a in ("%termino2%") do (set "c_1=%%b")
for /f "tokens=1,2 delims=x,X" %%a in ("%termino1%") do (set "c_2=%%b")
if ["%c_2:~0,1%"]==["-"] (
set /a "suma_c=!c_1!!c_2:-=+!"
) else (
set /a "suma_c=!c_1!-!c_2!"
)
set /a "resultado=%suma_c%/%suma_x%"
echo.
echo.
echo.------------------------------------------------------------------------
echo.Resultado de la ecuacion.
echo.x =  %resultado%
echo.Ecuacion = !ecuacion:x=(%resultado%)!
echo.------------------------------------------------------------------------
set /p ,=Enter para volver al menu.
cls
goto:code
:examples
cls
echo.Este programa puede resolver ecuaciones como las siguientes :
echo.
echo.1.  -3x-9=-9x-63
echo.2.   9x-5=-4x-57
echo.3.   5x-9x=39-3
echo.4.  -7x+9=-9x-5
echo.5.  -3x+1=2x+21
echo.6.   7x+4=9x+6
echo.7.  -5x+8=9x+120
echo.8.  -8x+1=6x-111
echo.9.  -4x+6=6x-64
echo.10. -5x-1=-7x+5
for /l %%$ in (1,1,4) do (cd.)|echo.
set /p ,=Enter para volver al menu.
cls
goto:code
:help
cls
echo.Este peque¤o programa ayuda a resolver ecuaciones del tipo :
echo.-3x-9=-9x-63
echo.
echo.Solo tiene que teclear su ecuaci¢n en el menu inicial (opci¢n 1). y el
echo.programa se encargar  de resolver la ecuaci¢n.
echo.
echo.
echo.Leo Guti,rrez R.
echo.
echo.
set /p ,=Pulse enter para volver al men£.
cls
goto:code
:exit
exit /b 0


Salida :

Ecuación : 9x-5=-4x-57


------------------------------------------------------------------------
Resultado de la ecuacion.
x =  -4
Ecuacion = 9(-4)-5=-4(-4)-57
------------------------------------------------------------------------
Enter para volver al menu.


Tiene bastantes bug´s, que iré solucionando con más tiempo.

Saludos.
#2472
Scripting / Re: mi primer virus en batch
11 Abril 2009, 21:45 PM
@braulio23 y @snnn Batangreet, dejen de comentar en post viejos, lean las reglas.
#2473
Tu codigo me compila bien, pero hay un problema con el buffer de entrada, así funciona bien:

#include <stdio.h>
int main()
{
   char continue_o_exit;
   int number;
   char buffer[3]; // En caso de que decidas usar setbuf()
   printf ("Determine un valor a number: ");
   scanf ("%d", &number);
   printf ("Number is %d", number);
    printf ("\n\nSelecciona continue (c) or exit (e): ");
     // setbuf(stdin, NULL);
     while(getchar()!='\n');
     continue_o_exit = getchar();
     if(continue_o_exit == 'c')
      printf ("continue");
   else
      printf ("exit");
   return 0;
}


Salida:

C:\>codes
Determine un valor a number: 67
Number is 67

Selecciona continue (c) or exit (e): e
exit
C:\>

#2474
Scripting / Re: Sucesión Fibonacci [Batch]
10 Abril 2009, 20:22 PM
Gracias, 0x0309

Un amigo me dijó que no necesitaba tantas variables, que si mucho con 4 se podía hacer, pero ya le expliqué que lo había en Batch y dijó :
"Ah, ok"

Pensó que la hicé en C  :D

Por cierto, recuerdas cual era el limite para almacenar?, hace muchisimo vi que lo posteaste pero lo olvidé.

Saludos.
#2475
Factorial :

Código (dos) [Seleccionar]

@echo off
:code
set /p "numero=Numero : "
if not defined numero (goto:code)
set /a "factorial=1"
for /l %%_ in (1 1 %numero%) do (
set /a factorial=factorial * %%_
)
echo.Factorial : %factorial%
pause>nul
exit /b 0


Salida :
Numero : 4
Factorial : 24


Saludos.
#2476
Scripting / Re: Sucesión Fibonacci [Batch]
10 Abril 2009, 05:26 AM
No, pertenece a el Windows 2000 Resource Kit Tool.
http://www.microsoft.com/downloads/details.aspx?familyid=913795CD-7026-4143-AE85-1F5E096F9BE0&displaylang=en
#2477
Scripting / Re: Sucesión Fibonacci [Batch]
10 Abril 2009, 05:21 AM
Cita de: Littlehorse en 10 Abril 2009, 05:08 AM
Mira. (Banca que ahi edito)




Yo tampoco me acuerdo cuanto es el limite en batch para almacenar, pero probablemente ese sea el problema, pero vamos en C ya que aparezca el numero negativo es porque lo codeaste sin ganas  ;D

Jaja, tal ves, es que lo hice con int´s, si lo hubiera hecho con long´s.  :P

Gracias por probar el codigo.
#2478
Scripting / Re: Sucesión Fibonacci [Batch]
10 Abril 2009, 04:56 AM
Ahora no recuerdo cual es el limite en batch para almacenar.

Pero tampoco no pidas tanto, el termino 46 en la sucesión de fibonacci es demasiado, mira cuanto duró un codigo en C en calcular el 46, con recursión, es más, no pudó calcularlo, por ser un numero demasiado grande:


C:\>timethis fibonacci 46

TimeThis :  Command Line :  fibonacci 46
TimeThis :    Start Time :  Thu Apr 09 20:50:06 2009

1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 12
1393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 390881
69 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 -1323752223
TimeThis :  Command Line :  fibonacci 46
TimeThis :    Start Time :  Thu Apr 09 20:50:06 2009
TimeThis :      End Time :  Thu Apr 09 20:52:20 2009
TimeThis :  Elapsed Time :  00:02:14.500

C:\>


Mi codigo en Batch :

C:\>timethis code.bat

TimeThis :  Command Line :  code.bat
TimeThis :    Start Time :  Thu Apr 09 20:54:19 2009

Numero : 46
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
-1323752223
Teclee ENTER para salir.

TimeThis :  Command Line :  code.bat
TimeThis :    Start Time :  Thu Apr 09 20:54:19 2009
TimeThis :      End Time :  Thu Apr 09 20:54:21 2009
TimeThis :  Elapsed Time :  00:00:01.390

C:\>


Claro que no nos vamos a poner a comparar, solo es para hacer notar que el termino 46 en la sucesión de Fibonacci es muy grande.
#2479
Scripting / Sucesión Fibonacci [Batch]
10 Abril 2009, 04:37 AM
Hola a todos.

Hace tiempo que tenía ganas de hacer esto en Batch.

Para los que no sepan que es la sucesión Fibonacci:
Citar
En matemáticas, la sucesión de Fibonacci es la siguiente sucesión infinita de números naturales:

El primer elemento es 0, el segundo es 1 y cada elemento restante es la suma de los dos anteriores. A cada elemento de esta sucesión se le llama número de Fibonacci. Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos.
De Wikipedia.
Código (dos) [Seleccionar]

@echo off
setlocal enabledelayedexpansion
:code
set /p "numero=Numero : "
if not defined numero (goto:code)
if %numero% lss 1 (
echo.Error, numero negativo.
set /p ,=Pulse Enter para volver.
goto:code
)
for /l %%_ in (1,1,%numero%) do (set "variable%%_=0")
set /a "variable1=1"
set /a "variable2=2"
set /a contador=0
set /a "token_uno=1"
set /a "token_dos=2"
set /a "aumento_de_variable=3"
:bucle
if %contador% equ %numero% (goto:end)
set /a "variable%aumento_de_variable%=!variable%token_uno%! + !variable%token_dos%!"
set /a "token_uno+=1"
set /a "token_dos+=1"
set /a "aumento_de_variable+=1"
set /a "contador+=1"
goto:bucle
:end
for /l %%_ in (1,1,%numero%) do (
echo !variable%%_!
)
set /p =Teclee ENTER para salir.
exit /b 0

Salida :

Numero : 9
1
2
3
5
8
13
21
34
55
Teclee ENTER para salir.


C:\>code
Numero : 5
1
2
3
5
8
Teclee ENTER para salir.


C:\>code
Numero : 25
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
Teclee ENTER para salir.


Saludos.
#2480
Scripting / Re: Elevar a cualquier potencia.
9 Abril 2009, 23:34 PM
Jaja, en los 3 foros me contestaste.  :P

Saludos.