Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Batch


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 24-ago-2007, 13:26   #1
chivito
Guest
 
Amigos
Mensajes: n/a
Predeterminado CALCULADORAS EN BATCH

HOLA A TODOS.

ESTO ES PARA LOS QUE DESEAN PRENDER A HACER CALCULADORAS BASICAS EN BATCH

aqui les dejo algunos codes sacados de otros foros Y arreglados (sin errores)

@echo off
color 0a
title CALCULADORA
:menu
cls
echo --------------------------MENU----------------------------------
echo,
echo 1.SUMA
echo 2.RESTA
echo 3.MULTIPLICACION
echo 4.DIVISION
echo,
echo 5.SALIR

set /p opt=
if %opt%==1 goto suma
if %opt%==2 goto resta
if %opt%==3 goto multi
if %opt%==4 goto division
if %opt%==5 goto s

:suma
cls
set /p suma1=Primer caracter:.....................
echo +
set /p suma2=Segundo caracter:....................
echo ___________
set /a suma3=%suma1%+%suma2%
echo resultado: %suma3%
set /a suma3=%suma1%+%suma2%
echo Pulse una tecla para volver al menu
pause>nul
goto :menu

:resta
cls
set /p resta1=Primer caracter::.....................
echo -
set /p resta2=Segundo caracter::....................
echo ___________
set /a resta=%resta1% - %resta2%
echo resultado: %resta%
echo Pulse una tecla para volver al menu
pause>nul
goto menu

:multi
cls
set /p multi1=Primer caracter::.....................
echo x
set /p multi2=Segundo caracter::....................
echo ___________
set /a multi=%multi1% * %multi2%
echo resultado: %multi%
echo Pulse una tecla para volver al menu
pause>nul
goto menu

:division
cls
set /p divi1=Primer caracter::.....................
echo ___
set /p divi2=Segundo caracter::....................
echo ___________
set /a divi=%divi1% / %divi2%
echo resultado: %divi%
echo Pulse una tecla para volver al menu
pause>nul
goto menu

:s
cls
echo Esta seguro de que quiere salir?
echo 1.Si (S)
echo 2.No,volver (N)
set /p opci=
if %opci%==n goto volver
if %opci%==s goto sal

:volver
cls
echo Ok, presione una tecla para volver al menu
pause>nul
goto menu

:sal
cls
echo Ok, presione una tecla para salir
pause>nul
exit


OTRA FUNCION MUY INTERSANTE ES LA DE ELEVAR NUMEROS AL CUADRADO AHY LES DEJO EL CODE

@echo off
set /p num=base:
set /p pot= exponente:
set /a i=1
set res=%num%
otencia
set /a res=%res%*%num%
set /a i=%i%+1
if %i%==%pot% (goto mostrar) else (goto potencia)
:mostrar
echo El resutlado es %res%
echo.
pause
exit


  Responder Citando
Antiguo 24-ago-2007, 13:29   #2
chivito
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

proximamente tendre nuevos codes.

espero que estos sean de su agrado

LA PRACTICA HACE AL MAESTRO
  Responder Citando
Antiguo 24-ago-2007, 15:53   #3
Veterano
 
Fecha de Ingreso: agosto-2005
Amigos 0
Mensajes: 639
Gracias: 0
Agradecido 3 veces en 3 mensajes.
Predeterminado Re: CALCULADORAS EN BATCH

Me parece bien PERO debes poner los creditos de las personas que los hicieron... nada de adjudicarse fama ajena, estos es para poder rastrear a los creadores reales, contactarles con su proyecto etcetc comentarios dudas etc, no sean asi.... bytez! you sucks!!!hoooooom! 8)
__________________
Arayashiki
KIRELEIZON está desconectado   Responder Citando
Antiguo 24-ago-2007, 19:50   #4
chivito
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Sh4k4 GRACIAS CON EL COMENTARIO.

PERO ESPECIFIQUE QUE ERAN SACADOS DE OTROS FOROS, CON ESO DOY A ENTENDER QUE NO SON DE MI AUTORIA.

AUNQUE DEPRONTO HALLA OMITIDO EL NOMBRE DEL AUTOR, AL NO HACERLO NO BUSCO TENER FAMA CON LO AJENO, FUE SIMPLEMENTE ALGO QUE NO HICE.

GRACIAS POR TUS COMENTARIOS
  Responder Citando
Antiguo 24-ago-2007, 22:52   #5
chivito
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

quisera publicar una calculadora muy buena que encontre en otro foro hack hecha en BATCH es exelente pues hace mas de 10operaciones distinas.

tambien quisiera aclarar que esta calculadora NO es de mi autOria

la encontre en www.muriba.org

y fue diseñana por 00000000

aqui la dejo y que la disfruten

@echo off

color 0a
title calculando con 00000000

echo bienvenido a calculando con 00000000
echo.
echo.
echo.
echo.
echo.
echo.

echo 000000 000000 000000 000000 000000 000000 000000 000000
echo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
echo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
echo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
echo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
echo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
echo 000000 000000 000000 000000 000000 000000 000000 000000
echo.
echo.

[Solo usuarios registrados pueden ver los links. REGISTRARSE]


echo. todos los derechos reservados
echo.
echo.
echo.

echo. elije tu operacion matematica que deseas realizar

echo.
echo.
echo.
echo.
echo.

echo 1-sumar
echo 2-restar
echo 3-multiplicar
echo 4-dividir
echo 5- teorema de pitagoras
echo 6- sacar hipotenusa de un angulo en grados
echo 7-pasar de Hexadecimal a Decimal
echo 8-elevar un numero a la 2
echo 9-elevar un numero a la 3
echo 10-elevar un numero a la 4
echo 11-elevar un numero al a 5
echo 12-pasar un numero de grados sexagesimales a radianes
echo 13-pasar un numero de radicanes a grados sexagesimales
echo 14-sacar los valores de las funciones trigonometricas de 30 45 y 60 grados
echo 15-sacar el porcentaje a un numero


set /p opc=Cual es su opcion:
if %opc%==1 (goto sumar)
if %opc%==2 (goto restar)
if %opc%==3 (goto multiplicar)
if %opc%==4 (goto dividir)
if %opc%==5 (goto pitagoras)
if %opc%==6 (goto seno)
if %opc%==7 (goto decimal)
if %opc%==8 (goto cuadrado)
if %opc%==9 (goto cubo)
if %opc%==10 (goto elevar)
if %opc%==11 (goto alevares)
if %opc%==12 (goto radianes)
if %opc%==13 (goto sexagesimal)
if %opc%==14 (goto funciones)
if %opc%==15 (goto porcentaje)

orcentaje
Set /p radi= 1 numero :
echo.
Set /p rad= 2 Segundo numero :
echo.
Set /a Res= (radi*rad)/100
msg * su porcentaje es = %res%
pause
exit
:funciones
cls
set /p pass= escribe la funcion trigonometrica y su grados para saber su valor =


set num=1
if [%pass%]==[] echo by 00000000&pause > nul&goto menu

set pass=%pass:seno30=1/2%
set pass=%pass:seno45=raiz de 2 /2%
set pass=%pass:seno60=raiz de 3 /2%
set pass=%pass:coseno30=raiz de 3 /2%
set pass=%pass:coseno45=raiz de 2 /2%
set pass=%pass:coseno60=1/2%
set pass=%pass:tangente30=raiz de 3/2%
set pass=%pass:tangente45=1%
set pass=%pass:tangente60=raiz de 3%
set pass=%pass:cotangente30=raiz de 3%
set pass=%pass:cotangente45=1%
set pass=%pass:cotangente60=raiz de 3 /3%
set pass=%pass:secante30=2 raiz de 3/3%
set pass=%pass:secante45=raiz de 2%
set pass=%pass:secante60=2%
set pass=%pass:cosecante30=2%
set pass=%pass:cosecante45=raiz de 2%
set pass=%pass:cosecante60=2 raiz de 3 /2%


echo.
echo.
echo.
echo.
echo.


echo procesando informacion....

ping -n 3 localhost >nul
cls


msg * Este es el valor de la funcion ====== %pass%



exit

:radianes
cls
set /p var=Escriba un numero en grados exagesimales.
echo aqui esta el resultado
set /a resultado=%var% / 180
set /a var1=%resultado% / 3.141692
msg * este es el resultado en radianes = %var1%
exit

:sexagesimal
cls
set /p var=Escriba un numero en radianes
echo aqui esta el resultado
set /a resultado=%var% * 180
set /a var1=%resultado% / 3.141692
msg * este es el resultado en grados sexagesimales = %var1%
exit

:sumar
cls
set /p var=Escriba un numero.

set /p var1=Escriba otro numero.
cls
set /a resultado=%var% + %var1%
echo %resultado%

pause

exit

:restar
cls

set /p var=Escriba un numero.

set /p var1=Escriba otro numero.
echo resultado
set /a resultado=%var% - %var1%
echo %resultado%

pause

exit

:multiplicar
cls

set /p var=Escriba un numero.

set /p var1=Escriba otro numero
echo resultado
set /a resultado=%var% * %var1%
echo %resultado%
pause
exit

:dividir
cls
set /p var=Escriba un numero.

set /p var1=Escriba otro numero.
echo aqui esta el resultado
set /a resultado=%var% / %var1%
echo %resultado%


pause
exit
:seno
cls
set /p var=Introduzca un ángulo en grados.
set /a muriba=%var% * 2 * 3.1416 /360
msg * esta es su hipotenusa = %muriba%
exit
itagoras
cls

set /p c1=Introduzca el valor de un cateto
set /p c2=Escriba el valor de otro cateto
set /a resultado= %c1%*%c1%+%c2%*%c2%
echo %resultado%
:nas
set /a cont=cont+1
set /a multi=cont*cont
if %multi%==%resultado% echo Raiz: %cont%&pause&goto:EOF
if %multi% GTR %resultado% echo El numero no tiene raiz entera &pause&goto:EOF
goto nas
pause
exit
:decimal
set /p num=Introduce el numero Hexadecimal para pasarlo a Decimal:
set /a num2=%num%/16
set /a res=%num2%*16
Set /a r=%num%-%res%
if %num2%==10 (set num2=A)
if %num2%==11 (set num2=B)
if %num2%==12 (set num2=C)
if %num2%==13 (set num2=D)
if %num2%==14 (set num2=E)
if %num2%==15 (set num2=F)
:bucle
if %num2% GTR 16 (goto dep) else (goto sig)
:dep
set /a a=%num2%/16
set /a b=%a%*16
set /a c=%num2%-%b%
if %c%==0 (set num2=%a%0)
if %c%==1 (set num2=%a%1)
if %c%==2 (set num2=%a%2)
if %c%==3 (set num2=%a%3)
if %c%==4 (set num2=%a%4)
if %c%==5 (set num2=%a%5)
if %c%==6 (set num2=%a%6)
if %c%==7 (set num2=%a%7)
if %c%==8 (set num2=%a%8)
if %c%==9 (set num2=%a%9)
if %c%==10 (set num2=%a%A)
if %c%==11 (set num2=%a%B)
if %c%==12 (set num2=%a%C)
if %c%==13 (set num2=%a%D)
if %c%==14 (set num2=%a%E)
if %c%==15 (set num2=%a%F)
:sig
if %r%==0 (echo El Resutlado es %num2%0 && pause > nul && exit)
if %r%==1 (echo El Resutlado es %num2%1 && pause > nul && exit)
if %r%==2 (echo El Resutlado es %num2%2 && pause > nul && exit)
if %r%==3 (echo El Resutlado es %num2%3 && pause > nul && exit)
if %r%==4 (echo El Resutlado es %num2%4 && pause > nul && exit)
if %r%==5 (echo El Resutlado es %num2%5 && pause > nul && exit)
if %r%==6 (echo El Resutlado es %num2%6 && pause > nul && exit)
if %r%==7 (echo El Resutlado es %num2%7 && pause > nul && exit)
if %r%==8 (echo El Resutlado es %num2%8 && pause > nul && exit)
if %r%==9 (echo El Resutlado es %num2%9 && pause > nul && exit)
if %r%==10 (echo El Resutlado es %num2%A && pause > nul && exit)
if %r%==11 (echo El Resutlado es %num2%B && pause > nul && exit)
if %r%==12 (echo El Resutlado es %num2%C && pause > nul && exit)
if %r%==13 (echo El Resutlado es %num2%D && pause > nul && exit)
if %r%==14 (echo El Resutlado es %num2%E && pause > nul && exit)
if %r%==15 (echo El Resutlado es %num2%F && pause > nul && exit)





:cuadrado
cls
echo introduce el numero ke kieres elevar ala 2:
set/p cuadrado=
set /a cuadrado2=%cuadrado% * %cuadrado%
cls
echo resultad:%cuadrado2%

pause
exit
:cubo
cls
echo introduce el numero ke kieres elevar ala 3:
set/p cubo=
set /a cubo2=%cubo% * %cubo% * %cubo%
cls
echo resultado:%cubo2%

pause
exit
:elevar
cls
echo introduce el numero ke kieres elevar ala 4:
set/p cuatro=
set /a cuatro2=%cuatro% * %cuatro% * %cuatro% * %cuatro%
cls
echo resultado:%cuatro2%
pause
exit
:alevares
cls
echo introduce el numero ke kieres elevar ala 5:
set/p cinco=
set /a cinco2=%cinco% * %cinco% * %cinco% * %cinco% * %cinco%
cls
echo resultado:%cinco2%

pause

exit
  Responder Citando
Antiguo 25-ago-2007, 12:22   #6
Veterano
 
Fecha de Ingreso: agosto-2005
Amigos 0
Mensajes: 639
Gracias: 0
Agradecido 3 veces en 3 mensajes.
Predeterminado Re: CALCULADORAS EN BATCH

si lo se.. pero algunos lo hacen con ese fin malefico y la razon de poner su nick del autor es para rastrearlos y asi poner ampliar o contactar con ellos para futuros proyectos.....
__________________
Arayashiki
KIRELEIZON está desconectado   Responder Citando
Antiguo 26-ago-2007, 00:09   #7
Novato
 
Fecha de Ingreso: noviembre-2005
Amigos 0
Mensajes: 36
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: CALCULADORAS EN BATCH

=O muy buenas jamas pense que se pudiera hacer eso tan facil
__________________
K2sK4L está desconectado   Responder Citando
Antiguo 26-ago-2007, 13:00   #8
GiGaHeRtZ
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
Iniciado por Gothic Wear
=O muy buenas jamas pense que se pudiera hacer eso tan facil
es facil realmente, pero te saca muucho tiempo tipear todo eso.. y no equivocarte en nada... :


saludos

> G . H . Z . >
  Responder Citando
Antiguo 26-ago-2007, 14:10   #9
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

alguna calculadora que funcione directamente sin menu? adquiriendo los valores de los argumentos de entrada?
  Responder Citando
Antiguo 26-ago-2007, 14:21   #10
GiGaHeRtZ
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
Iniciado por Scofield
alguna calculadora que funcione directamente sin menu? adquiriendo los valores de los argumentos de entrada?
se podria hacer, que al principio te diga:
"ingrese la cuenta:***"

i poniendo algun condicionante mas o menos asi:

@echo off
echo.
echo.
echo.
set /p cuenta=ingrese la cuenta:
echo.
echo. aca pondriamos un condicionante de que si se ingresa una cuenta con *
echo. derive a la zona de multiplicacion...
echo. lo que no se es como condicionar solo una parte de la cuenta, por ejemplo
echo. que se ingrese 6/2 (6 dividido 2) se tome en cuenta el / y no los numeros..


saludos


> G . H . Z . >
  Responder Citando
Antiguo 26-ago-2007, 14:57   #11
jigsaw
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

La verdad es que programar una calculadora no tiene mucha utilidad y menos publicar el código como hace esta gente. No se lo tomen a mal, pero me parece una pequeña tontería. Eso sí, te vale para practicar programación :P
  Responder Citando
Antiguo 26-ago-2007, 15:34   #12
GiGaHeRtZ
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
La verdad es que programar una calculadora no tiene mucha utilidad
mmm, no coincido mucho, ya que la utilidad como por ejemplo: elevar numeros a la 5 es bueno, ya que la calculadora de guindo$ te cuesta mucho si no la saves usar, en cambio con esto se te simplifica mucho (encima podes hacer que eleve a la 25030943 si queres..., poniendo un bucle de la variable x*x(creo que eso existe :)
jeje


Cita:
Eso sí, te vale para practicar programación :P
es verdad

Cita:
y menos publicar el código como hace esta gente
no tiene nada de malo publicar el code, ya que te tomo mucho hacer ese programa y queres que la gente sepa que te das maña para hacerlo y no te copiaste de nadie ni plagiaste code..

saludos


> G . H . Z . >
  Responder Citando
Antiguo 26-ago-2007, 22:04   #13
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
Eso sí, te vale para practicar programación Tongue
es que no hay ninguna decente!

pierdes mas tiempo navegando por menus que haciendo los calculos de cabeza ;D
se supone que tendria que ser un bat tal que asi:

calular nul | expresion incorrecta => muestra ayuda
calular op1 operacion op2 => resultado

y ya esta

donde operacion es: +,-,*,/,%,^

fin, son 6 operadores, un switch/case para cada un incluye 6 lineas, el echo off inicial, una etiqueta para cada uno, con un goto y una operacion son 6*3=18 lineas mas, mostrar el resultado y su etiqueta son dos lineas mas y luego, el exit con una etiqueta. Habria que poner un comprobador de argumentos (una linea) y la ayuda con su etiqueta y el goto a fin. Total 32 lineas de codigo mas o menos (unas pocas mas en realidad supongo)
  Responder Citando
Antiguo 26-ago-2007, 22:46   #14
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

siempre se le puede dar mas funcionalidad y hacerla mas bonita pero se puede hacer una muy rapida con las operaciones suma, resta, mult, div y modulo (no es mas que una mascara a la calculadora del lenguaje batch), el caso es que he hice la calculadora mas rapida de todas las que estan ahi posteadas... y son 9 lineas de codigo.*
hay que decir q al ser tan breve no hace comprobaciones de argumentos ni nada, pero vamos es para que os hagais una idea de como se complica la vida la gente.
SI quereis mas funcionalidad decidme que quereis y os lo integro.
que mas decir, funciona asi: cc 3*2 pero no asi> cc 3 * 2, si os mola mas la segunda forma decilo y lo apaño.
no pide argumentos, se invoca con ellos.

* esto son nueve lineas de codigo MUY mal aprovechadas:
Código:
1  @echo off
2 color 0a
3 title CALCULADORA
4 :menu
5 cls
6 echo --------------------------MENU----------------------------------
7 echo, 
8 echo 1.SUMA
9 echo 2.RESTA
  
  Responder Citando
Antiguo 26-ago-2007, 23:28   #15
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

y esta es la potencia, en 5 lineas y sin bucles de etiquetas:

Código:
 @echo off
set /a res=1
for /L %%i in (1,1,%2) do (set /a res*=%1)
echo %res%
exit /b 0
  
el uso es: potencia.bat base exponente
  Responder Citando
Antiguo 27-ago-2007, 19:45   #16
chivito
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

bueno pues yo creo que para los que dicen que esas 9 lines de codigo son perdidas; yo pienso que aunque que no lo son pues hay se da una introduccion a las operaciones.

gracias.

quisiera pedir ayuda con un codigo par resolver el teorema de pitagoras en VBS pues me parece muy interesante hacer este tipo de programitas en este lenguaje debido a su buena interfaz grafica, les agredeceria que meyudaran con ese code o con cualquier otro para cualquier operacion

gracias
  Responder Citando
Antiguo 27-ago-2007, 20:08   #17
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Hola! veamos... cuando se trata de calculadoras, se habla de rapidez y prestaciones, versatilidad y facilidad de manejo.

Cualquier estudainte de ingenieria puede necesitar el uso de una caluladora en un momento dado, es por eso que no viene mal tene una calculadora medianamente util y rapida integrada en la consola. El propio lenguaje batch trae una consigo, pero para invocarla es algo pesado y se hace engorroso, lo mismo para usar la de haskell o python o la del sistema de windows con su interfaz grafico.

El problema de las calculadoras qeu has puesto es su falta de eficiencia. No necesito qeu me cambien los colores de la consola ni que se me despliegue un menu, pero ahi cada uno con su buen netender de calculadora. Yo en mi caso necesito invocarla con una combinacion de teclas y sin tocar el raton le meto un 34*87 y va funcionado sin necesidad de leer menus e ir navegando por ellos.

pero el verdadero error de esas calculadoras es la basura metodologica que son.
declaran tropecientas variables innecesarias, ejecutan multitud de lineas parecidas....
si una operacion suma, resta, multiplicacion o division sigue el siguiente algoritmo:
1) Obtengo operando1
2) Obtengo operador
3) Obtengo operando2
4) Opero
5) Muestro resultado

NO ES NECESARIO escribir el mismo codigo una vez para cada operacion puesto que solo se diferencian en el paso 4, y si me lo curro lo suficiente, no tendre que hacer distincion de casos en dicho paso, ya que aplicare el operador que sea sin importarme cual es. Por eso la falta de metodologia es abundante en este tipo de programas.
La gente que adquiere ciertos habitos de programacion que no se corrigen a tiempo, terminan siendo programadores mediocres, hay mucha gente en este foro que se piensa que programa bien en batch y cuando se la critica su codigo se ponen a la defensiva. Para hacer las cosas bien, pero bien de verdad, tienes que programar conceptualemnte pensando en que tu codigo se puede mejorar... y cuando lo hayas escrito trata de mejorarlo tres veces. hasta que programes asi de primeras.

Otra gran broma de la programacion es la declaracion de funciones que bien podrian ser genericas.
hablo por supuesto de un gran ejemplo del segundo codigo: la basura del nueveceros ese. Para que cojones se hace el tio 3 funciones (elevar a 2,3 y 4)??
vaya gilipollez, lo logico es hacerse una sola funcion que reciba la base y el exponente, puesto que el algoritmo en todos los casos es el mismo... no tiene ningun sentido el programar esas funciones en vez de una generica para cualquier tipo de expoenciacion. Corramos un estupido velo.

no se que mas decir... insisto que una calculadora en batch potente y con gran funcionalidad puede tener nada mas y nada menos que 40 lineas y ser alucinantemente potente.
Lo importante es la calculadora, no los menus, los coleres o la presentacion o el interfaz... al fin y al cabo eso se puede integrar.. pero el propio motor, correctamente programado, insisto son 5 lineas (mas el @ echo off, el exit y un par de etiquetas prescindibles)

si alguien se anima a hacer el codigo... y si alguien lo quiere que lo pida.

post data: Un buen programador ha de programar cada linea pensando en que tendra que pagar 1000 euros por cada variable que declare... asi se lo pensara dos veces antes de saturar la memoria de variables inutiles. las etiquetas en cambio valen 1500 euros. cada echo 2000 euros. cada captura de variable 1500 euros.
si te regalan 2 echos, 1 variable, una captura de variables (solo una) y dos etiquetas.... cuanto tendrias que pagar por tu calculadora? 0 euros o 10 millones?
a los programadores novatos se lo recomiendo que programen con esta filosofia, cada (maldita mierda) innecesaria que tenga nuestro programa supone 100 euros ficticios que tendria que pagar... a ver si asi empezamos a "ahorrar" y una vez terminemos el programa veamos si podemos queitar todas esas mierdas innecesarias para que nos devuelvan dinero.

creo que se me ha entendido...
  Responder Citando
Antiguo 29-ago-2007, 10:08   #18
Veterano
 
Fecha de Ingreso: agosto-2005
Amigos 0
Mensajes: 639
Gracias: 0
Agradecido 3 veces en 3 mensajes.
Predeterminado Re: CALCULADORAS EN BATCH

olvidence del termino programar en BATCH ya que no es un lenguaje es un SCRIPT... si hablamos bien hagamoslo en los terminos correctos no en la jerga que se crea al calor de la platica.... suckers! HOOOOOOOOM! 8)
__________________
Arayashiki
KIRELEIZON está desconectado   Responder Citando
Antiguo 29-ago-2007, 12:50   #19
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

andas confundido...
todo aquel lenguaje que permita implementar un algoritmo es un lenguaje de programacion. En este caso, un lenguaje interpretado.
  Responder Citando
Antiguo 29-ago-2007, 14:40   #20
chivito
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

SALUDOS A TODOS

Personalmente pienso que batch si deberia considerarse un lenguaje de programacion, pues aunque sea considerado el interprete de comandos del ms-dos es una herramianta bastante poderosa que nos permite hacer grandes cosas a nivel de creaciones. Es mas incluso elgunas veces considero que el batch es mejor en algunas cosas que lenguajes tan famosos y buenos como son JAVA, C....etc. por eso pienso que si esta bien programar en BATCH

!!!!!JO¡¡¡¡

ATT: CHIVITO JO



  Responder Citando
Antiguo 29-ago-2007, 15:04   #21
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
el batch es mejor en algunas cosas que lenguajes tan famosos y buenos como son JAVA, C
tampoco hay que pasarse... estan claramente orientados a distintos fines.
  Responder Citando
Antiguo 29-ago-2007, 15:09   #22
jigsaw
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
Iniciado por Scofield
Hola! veamos... cuando se trata de calculadoras, se habla de rapidez y prestaciones, versatilidad y facilidad de manejo.

Cualquier estudainte de ingenieria puede necesitar el uso de una caluladora en un momento dado, es por eso que no viene mal tene una calculadora medianamente util y rapida integrada en la consola. El propio lenguaje batch trae una consigo, pero para invocarla es algo pesado y se hace engorroso, lo mismo para usar la de haskell o python o la del sistema de windows con su interfaz grafico.

El problema de las calculadoras qeu has puesto es su falta de eficiencia. No necesito qeu me cambien los colores de la consola ni que se me despliegue un menu, pero ahi cada uno con su buen netender de calculadora. Yo en mi caso necesito invocarla con una combinacion de teclas y sin tocar el raton le meto un 34*87 y va funcionado sin necesidad de leer menus e ir navegando por ellos.

pero el verdadero error de esas calculadoras es la basura metodologica que son.
declaran tropecientas variables innecesarias, ejecutan multitud de lineas parecidas....
si una operacion suma, resta, multiplicacion o division sigue el siguiente algoritmo:
1) Obtengo operando1
2) Obtengo operador
3) Obtengo operando2
4) Opero
5) Muestro resultado

NO ES NECESARIO escribir el mismo codigo una vez para cada operacion puesto que solo se diferencian en el paso 4, y si me lo curro lo suficiente, no tendre que hacer distincion de casos en dicho paso, ya que aplicare el operador que sea sin importarme cual es. Por eso la falta de metodologia es abundante en este tipo de programas.
La gente que adquiere ciertos habitos de programacion que no se corrigen a tiempo, terminan siendo programadores mediocres, hay mucha gente en este foro que se piensa que programa bien en batch y cuando se la critica su codigo se ponen a la defensiva. Para hacer las cosas bien, pero bien de verdad, tienes que programar conceptualemnte pensando en que tu codigo se puede mejorar... y cuando lo hayas escrito trata de mejorarlo tres veces. hasta que programes asi de primeras.

Otra gran broma de la programacion es la declaracion de funciones que bien podrian ser genericas.
hablo por supuesto de un gran ejemplo del segundo codigo: la basura del nueveceros ese. Para que cojones se hace el tio 3 funciones (elevar a 2,3 y 4)??
vaya gilipollez, lo logico es hacerse una sola funcion que reciba la base y el exponente, puesto que el algoritmo en todos los casos es el mismo... no tiene ningun sentido el programar esas funciones en vez de una generica para cualquier tipo de expoenciacion. Corramos un estupido velo.

no se que mas decir... insisto que una calculadora en batch potente y con gran funcionalidad puede tener nada mas y nada menos que 40 lineas y ser alucinantemente potente.
Lo importante es la calculadora, no los menus, los coleres o la presentacion o el interfaz... al fin y al cabo eso se puede integrar.. pero el propio motor, correctamente programado, insisto son 5 lineas (mas el @ echo off, el exit y un par de etiquetas prescindibles)

si alguien se anima a hacer el codigo... y si alguien lo quiere que lo pida.

post data: Un buen programador ha de programar cada linea pensando en que tendra que pagar 1000 euros por cada variable que declare... asi se lo pensara dos veces antes de saturar la memoria de variables inutiles. las etiquetas en cambio valen 1500 euros. cada echo 2000 euros. cada captura de variable 1500 euros.
si te regalan 2 echos, 1 variable, una captura de variables (solo una) y dos etiquetas.... cuanto tendrias que pagar por tu calculadora? 0 euros o 10 millones?
a los programadores novatos se lo recomiendo que programen con esta filosofia, cada (maldita mierda) innecesaria que tenga nuestro programa supone 100 euros ficticios que tendria que pagar... a ver si asi empezamos a "ahorrar" y una vez terminemos el programa veamos si podemos queitar todas esas mierdas innecesarias para que nos devuelvan dinero.

creo que se me ha entendido...
La verdad es que me ha sorprendido y gustado tu respuesta, pones las cosas claras y creo que solamente con leer unas lineas he aprendido más que con páginas de manuales basura que me encuentro. Bueno, basta de hacer la pelota. Lo que quería preguntar es cómo demonios elevo un número a una potencia en BATCH sin un bucle de multiplicar la variable por ella misma x veces, es decir, usando el símbolo "^" ya que haciendo:

Código:
set /a x=2^2
  
obtengo 22 :S

Saludos
  Responder Citando
Antiguo 29-ago-2007, 16:04   #23
Scofield
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

en pincipio y que yo se pa no se puede hacer directamente ya que no se incluye el operando de exponenciacion, pero como puedes ver mas arriba, en 2 lineas mediante un for puedo conseguir la operacion sin necesitad de declarar etiquetas e iterar en ellas.
prueba este codigo, ejecultalo metiendo un 3 y un 2 o coas asi:
Código:
  @echo off
set /a res=1
for /L %%i in (1,1,%2) do (set /a res*=%1)
echo %res%
exit /b 0
  
un saludo y gracias por escuchar.
  Responder Citando
Antiguo 29-ago-2007, 19:17   #24
GiGaHeRtZ
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Excelentes aclaraciones brother scotfield...
veo que sabes mucho en batch, pero que tambien manejas el comando "for", asi que te pediria casi de rodillas si podes hacer un tuto aunque sea con tu conocimiendo, que lo explique con ejemplos si es necesario ^^ ya que muchos no entendemoss :P

jeje


saludos


> G . H . Z . > >
  Responder Citando
Antiguo 29-ago-2007, 21:23   #25
It4c|-|i
Guest
 
Amigos
Mensajes: n/a
Predeterminado Re: CALCULADORAS EN BATCH

Cita:
Iniciado por Scofield
andas confundido...
todo aquel lenguaje que permita implementar un algoritmo es un lenguaje de programacion. En este caso, un lenguaje interpretado.
A ver peroname tu scofield pero tu estas perdido =) aqui te voy a poner el concepto de lenguaje de programacion y de shell script o y creo que tambien de script


Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:
* Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpetar y a los programas que lo hacen se los conoce como intérpretes.
* Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar y al traductor se lo conoce como compilador.


Lenguaje de programacion:
Puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora.
Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Uff de aqui hay infinidad ustedes los conocen Ada, BASIC, C, C++, Clipper, COBOL, Delphi, Ensamblador, Java, Pascal, Visual Basic, Visual C++, entre otros.

Script:
un script es un guión o conjunto de instrucciones. Permiten la automatizacion de tareas creando pequeñas utilidades. Son ejecutados por un intérprete de línea de comandos y usualmente son archivos de texto. Ejemplos: javaScript, actionScript, visualBasicScript, etc.

Shell script:
Es un script escrito para la shell, o el intérprete de comandos, de un sistema operativo. A menudo es considerado un lenguaje de programación simple específico de dominio. Las operaciones típicas realizadas por shell scripts incluyen la manipulación de archivo, la ejecución de programa, y el texto de impresión. Por lo general, el "shell script" se refiere a scripts escritos para una shell de Unix, mientras COMMAND.COM (DOS) y cmd.exe (Windows) por lo general llaman a estos batch o archivos por lotes, bash (Linux) y applet usados en (Mac) utilizados por el applescript.

bueno asi que si son lenguajes pero dentro de llamarse lenguaje caen en un nivel de script y no son de bajo nivel O.o ya? esto debio ir en el post del principio xD pero bueno tmb lo posteare ahi
  Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
[G] Biblioteca Batch ¡Aprende + Batch! By: Espectro Infernal -MANUALES-: Espectro Infernal Batch 65 27-nov-2011 21:42
[V] Batch Worm BioFactory (Generador de gusanos en batch) Defc0n1 Batch 3 16-abr-2009 17:21
[Batch] Reto para Batch... [Algoritmos con Tablas] ECDundy Wargames, Retos Hack 1 18-nov-2008 13:14
Calculadoras Cientificas TEU ludovico3 Software 1 18-may-2007 10:55
E-Zine echa en batch para aprender batch [By Hendrix] Hendrix Batch 25 12-jul-2006 12:32



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0