|
2471
|
Programación / Scripting / Ecuaciones v 0.01 1er grado. [Batch]
|
en: 12 Abril 2009, 01:16 am
|
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.
|
|
|
2473
|
Programación / Programación C/C++ / Re: problema con getchar()
|
en: 11 Abril 2009, 06:22 am
|
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: "); printf ("Number is %d", number ); printf ("\n\nSelecciona continue (c) or exit (e): "); // setbuf(stdin, NULL); if(continue_o_exit == 'c') else return 0; }
Salida: C:\>codes Determine un valor a number: 67 Number is 67
Selecciona continue (c) or exit (e): e exit C:\>
|
|
|
2474
|
Programación / Scripting / Re: Sucesión Fibonacci [Batch]
|
en: 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 Por cierto, recuerdas cual era el limite para almacenar?, hace muchisimo vi que lo posteaste pero lo olvidé. Saludos.
|
|
|
2477
|
Programación / Scripting / Re: Sucesión Fibonacci [Batch]
|
en: 10 Abril 2009, 05:21 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 Jaja, tal ves, es que lo hice con int´s, si lo hubiera hecho con long´s. Gracias por probar el codigo.
|
|
|
2478
|
Programación / Scripting / Re: Sucesión Fibonacci [Batch]
|
en: 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
|
Programación / Scripting / Sucesión Fibonacci [Batch]
|
en: 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: 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. :code set /p "numero=Numero : " echo.Error, numero negativo. set /p ,=Pulse Enter para volver. ) for /l %%_ in (1,1, %numero%) do (set "variable %%_=0" ) set /a "aumento_de_variable=3" :bucle set /a "variable %aumento_de_variable%= !variable% style="color: #448888;">token_uno%! + !variable% style="color: #448888;">token_dos%!" set /a "aumento_de_variable+=1" :end echo !variable% style="color: #448888;">%_! ) set /p =Teclee ENTER para salir.
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.
|
|
|
|
|
|
|