elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ecuaciones (BATCH)
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Ecuaciones (BATCH)  (Leído 15,684 veces)
flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #10 en: 29 Junio 2010, 18:00 pm »

a modo de idea falta pensarlo un poco pero me sale con los datos que me diste
Citar
{ 4x+y=6
{3x + 2y=7
hay que fijarse si tiene errores..eso si con numeros ideales o decimales no se si sale
Código:
echo -------------------------------
echo   los datos se ingresan como
echo.
echo   ax+by=c
echo   dx+ey=f
echo.
echo en caso de no tener munero vale uno
echo si no tiene valor poner cero
echo   -----------------------------
echo.
echo ingrese a
set /p a=
echo ingrese b
set /p b=
echo ingrese c
set /p c=
echo ingrese d
set /p d=
echo ingrese e
set /p e=
echo ingrese f
set /p f=

set /a numerador_y=(%a%*%f%)-(%d%*%c%)
set /a denominador_y=(-%d%*%b%)+(%e%*%a%)


set /a numerador_x=(-%c%*%d%*%b%)+(%c%*%e%*%a%)-(%b%*%a%*%f%)+(%d%*%c%*%b%)
set /a denominador_x=(-%d%*%b%*%a%)+(%e%*%a%*%a%)

echo el numerador de y es %numerador_y%
echo el denominador de y %denominador_y%
echo el numerador de x es %numerador_x%
echo el denominador de x %denominador_x%
echo divida ud...puede ser que de decimales
pause >nul
es lo que salio  :P....y sobre la raiz cuadrada me acorde algo parecido estudiaba para matematicas pero para contador publico...pero si se puede sacar manalmente te dejo un ejemplo
Citar


« Última modificación: 29 Junio 2010, 18:13 pm por flony » En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
FerJGS

Desconectado Desconectado

Mensajes: 75


Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #11 en: 30 Junio 2010, 00:28 am »

Gracias por el código, me vendrá muy bien.

En cuanto a las ecuaciones de segundo grado de tipo 3, yo se hacer perfectamente la raíz cuadrada, el problema es principalmente lo de los números negativos, que cambia de signo y todo eso. Ahí está la dificultad, ¿alguien me ayuda? no puedo pedir que ingresen el número con el signo porque si no, la variable no es numérica y no puedo sumarla.

Y también he preguntado sobre como hacer identidades notables. Pero muchas gracias por los códigos,me estáis ayudando bastante.


En línea

flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #12 en: 30 Junio 2010, 13:28 pm »

lo de los signos deberias hacer un funcion en el codigo tuyo que la llamas con call para que no tarde y usar el concepto de lo absolutos para suma o resta...seria ver cual es mas grande y que signo tiene y ese queda  :rolleyes:....y la multiplicacion o division seria puro regla de signos y ponerlo con el resultado pero no como una variable numerica...en ambos casos suma o multiplicacion hacerlo con extraccion de caracteres seria con un if para que se fije si tiene el simbolo -  :silbar:...me pongo a pensar algo y veo  :P...pero bue para mi que algun chango (pibe en catamarca argentina) que conozca mas de batch se juega y te da una mano  ;D
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
FerJGS

Desconectado Desconectado

Mensajes: 75


Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #13 en: 30 Junio 2010, 15:46 pm »

No he entendido nada jeje...¿Podríais explicármelo mejor? Y lo de las identidades notables ¿cómo hago para diferenciar si tiene x y exponente? se pueden usar filtros con los if (*,?)como hago para separar tres dígitos en variables?

Eso me vendrá también muy bien para lo de las ecuaciones de 2º grado.
En línea

flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #14 en: 30 Junio 2010, 20:25 pm »

Como hago para separar tres digitos en variables?
es un tutorial de....bue no recuerdo y no quiero hacer plagio  :rolleyes:...pero lo busco y lo pongo
respuesta  ;) a leer  ;D

Citar
Extracción de carácteres:


Bien esta es una parte muy interesante, nos permita obtener "trozos" de variables llamados subcadenas, existen varias formas para ello, siendo la principal:
Código:
SET VariableResultado=%VariableOriginal:~m,n%

Almacena en la VariableResult ado la subcadena que existen en la VariableOrigin al desde la posición "m" durante "n" caracteres.

Ejemplo:
Código:
SET VAR=123456789
SET RES=%VAR:~3,2%
ECHO %RES%

Mostraría por pantalla:
45 (los dos caracteres a partir del tercero)

Como en la sustitución de caracteres, la VariableResult ado y la VariableOrigin al pueden ser las mismas.

Si "m" o "n" son iguales a 0 pueden omitirse, por ejemplo:
Código:
SET VAR=123456789
SET RES1=%VAR:~,5%
SET RES2=%VAR:~0,5%
IF %RES1%==%RES2% ECHO Funciona
ECHO %RES1%=%RES2%

Mostraría por pantalla, "Funciona" y después:
12345=12345

Lo mismo con el siguiente code:
Código:
SET VAR=123456789
:: Lo siguiente significa extraer a partir del caracter 5º hasta el final
SET RES1=%VAR:~5%
SET RES2=%VAR:~5,4%
IF %RES1%==%RES2% ECHO Funciona
ECHO %RES1%=%RES2%

Mostraría primero por pantalla "Funciona" y después:
6789=6789

Estos métodos abreviados son útiles para cuando no conocemos el numero de caracteres de la variable, sobre todo el 2º, ya que si queremos extraer los 3 últimos caracteres pero no sabemos a partir del cual seria eso no lo podríamos hacer.

Ejemplos bastante usados:
Código:
SET DIA=%DATE:~,2%
SET MES=%DATE:~3,2%
SET AÑO=%DATE:~6%

Lo mismo para sacar las horas, minutos y segundos de la variable %TIME%, etc...

Fin de la 1º Clase, si tenéis dudas posteralas que las resolveré, si tenéis criticas ponerlas también.
y para no desmerecer a los chicos del foro aca esta el de ellos   ;-)
http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html

y sobre identidades notables una vez obtenida la formula de bascara tenes los posibles binomios que la conforman el polinomio de la identidad y para pensar en algebra teorica...la x es solo un numero que no conoces...a ver si lo ves tranqui vas a ver que el resultado de obtener por ejemplo
Citar
(a ± b)^2 = a^2 ± 2 · a · b + b^2
la parte (a ± b)^2 es el resultado usando bascara del polinomio a^2 ± 2 · a · b + b^2 y que tenga una x lo unico que hace es que se multiplique en cada termino

« Última modificación: 1 Julio 2010, 14:35 pm por flony » En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
FerJGS

Desconectado Desconectado

Mensajes: 75


Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #15 en: 7 Julio 2010, 12:13 pm »

Gracias, aunque eso me lleva a preguntar, ya que mencionas que los ceros se omiten....¿cómo hago para que reste con un cero delante?

Lo que quiero hacer es que al restar 11040 - 11000 me de 040, y no 40. Es para unos decimales, si puede ser.

Ahora estoy de vacaciones pero me llevo el portátil, solo tengo Internet durante unas horas, voy a ir programando pero, por si no lo he dicho antes, esto es para una calculadora científica y completa y ahora estoy con el apartado de geometría. Si me surge alguna duda, ya os la preguntaré...Cuando termine el apartado, que me va a costar porque es muy completo, ya me pondré con ecuaciones. Pero gracias por vuestros códigos, estoy seguro de que me será útil ese último de separar variables.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ecuaciones (BATCH)
« Respuesta #16 en: 7 Julio 2010, 23:32 pm »

Es cuestión de concatenar un 0 antes de la expansión de la variable:
Código
  1. set /a operacion=11040 - 11000
  2. echo Resultado : %operacion%
  3. set operacion=0%operacion%
  4. echo Resultado : %operacion%
  5.  
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
FerJGS

Desconectado Desconectado

Mensajes: 75


Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #17 en: 8 Julio 2010, 18:23 pm »

Lo había pensado y tal pero ese no es exactamente el problema.

Lo que quiero hacer es que me de el resultado 11,04

entonces lo que yo hago es

11040/1000 -->  11
11*1000 -->11000
11040-11000--->>40  y tendría que darme  040 para así poder hacer

%11% , %040%

pero las que no llevan un 0 delante como por ejemplo 11.500 (11.5) no necesito poner el 0 delante. ¿Cómo lo hago?

Y POR CIERTO

tengo un problema gordo chicos, necesito que me ayudéis un poco.

al hacer  2500*3500*31416 me da 12093056, y el resultado real es 274890000000

¿Por qué pasa esto? me hace, junto con lo de arriba, que todo tenga posibilidad de fallo. Ayudadme por favor.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ecuaciones (BATCH)
« Respuesta #18 en: 8 Julio 2010, 22:27 pm »

Lo había pensado y tal pero ese no es exactamente el problema.

Lo que quiero hacer es que me de el resultado 11,04

entonces lo que yo hago es

11040/1000 -->  11
11*1000 -->11000
11040-11000--->>40  y tendría que darme  040 para así poder hacer

%11% , %040%

pero las que no llevan un 0 delante como por ejemplo 11.500 (11.5) no necesito poner el 0 delante. ¿Cómo lo hago?

Y POR CIERTO

tengo un problema gordo chicos, necesito que me ayudéis un poco.

al hacer  2500*3500*31416 me da 12093056, y el resultado real es 274890000000

¿Por qué pasa esto? me hace, junto con lo de arriba, que todo tenga posibilidad de fallo. Ayudadme por favor.

Batch no maneja números muy grandes, estás fuera del rango de los enteros.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
FerJGS

Desconectado Desconectado

Mensajes: 75


Ver Perfil
Re: Ecuaciones (BATCH)
« Respuesta #19 en: 12 Julio 2010, 11:47 am »

Mmm ya...pues es una faena. Bueno, de momento pues me conformo con saber cómo hacer para calcularlas aunque los números sean correctos, me basta con saber que soy capaz de hacer lo que me propongo, de modo que voy a reservar BATCH para base, me interesa saber cómo hacer eso de las ecuaciones de 2º grado, identidades notables y de doble incógnita, después ya solo necesito aprender más como por ejemplo lo del debug, el ratón en batch y cosas así. Después me iniciaré en C.

¿ Podéis ayudarme a sacar esas cosas de las ecuaciones? Gracias.
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Resuelto]Ecuaciones bicuadradas
Programación C/C++
alex030293 5 3,830 Último mensaje 30 Abril 2011, 20:44 pm
por leogtz
Duda con ecuaciones
Foro Libre
Hack-11 6 3,672 Último mensaje 5 Noviembre 2011, 02:16 am
por ghastlyX
ecuaciones matematicas en c/c++ « 1 2 »
Programación C/C++
netco0m 15 10,846 Último mensaje 29 Agosto 2012, 23:34 pm
por netco0m
problema con la resolución de un programa que resuelve ecuaciones de 2º en batch
Scripting
2ricardo_c 1 2,007 Último mensaje 18 Enero 2015, 06:52 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines