Beruflich Dokumente
Kultur Dokumente
PROCESO
Cmo funcionan las operaciones bsicas (suma, resta, divisin, multiplicacin) mediante java script
<div class="calculadora"
<form action="#" name="calculadora" id="calculadora">
<p id="textoPantalla">0</p>
<p>
<input type="button" class="largo" value="Retr" />
<input type="button" class="largo" value="CE" />
<input type="button" class="largo" value="C" />
</p>
<p>
<input type="button" value="7" />
<input type="button" value="8" />
<input type="button" value="9" />
<input type="button" value="/" />
<input type="button" value="Raiz" />
</p>
<p>
<input type="button" value="4" />
<input type="button" value="5" /> PANTALLA Y BOTONES HTML
<input type="button" value="6" />
<input type="button" value="*" />
<input type="button" value="%" />
</p>
<p>
<input type="button" value="1" />
<input type="button" value="2" />
<input type="button" value="3" />
<input type="button" value="-" />
<input type="button" value="1/x" />
</p>
<p>
<input type="button" value="0" />
<input type="button" value="+/-" />
<input type="button" value="." />
<input type="button" value="+" />
<input type="button" value="="/>
</p>
</form>
</div>
Fjate que en los tres primeros botones le hemos puesto un atributo de clase class="largo";
esto es porque estos botones sern distintos de los otros.
Este cdigo lo veremos en pantalla tal como se nos muestra en el siguiente enlace:
FUNCIONAMIENTO DE LA CALCULADORA
Las teclas de control: Retroceso, borrado total, y borrado parcial. (retr, ce, c)
Vemos que las distintas teclas o grupos de teclas hacen varias funciones
diferentes. Veamos cmo se traduce eso en el cdigo.
Operaciones con dos nmeros: para estas teclas crearemos una funcin
operar (op) En la cual en primer lugar guardamos el nmero de la
pantalla. Guardamos despus el tipo de operacin, el cual nos viene dado en
el argumento de la funcin. Despus ponemos la pantalla a cero para poder
escribir el segundo nmero. La resolucin de la operacin se hace mediante
el signo igual, sin embargo si ya habamos guardado una operacin anterior,
las calculadoras tambin resuelven las operaciones pendientes al apretar
cualquiera de estas teclas, por lo que dentro de esta funcin haremos una
llamada a la funcin del signo igual antes de guardar ningn nmero.
Tecla de igual: Para esta tecla crearemos una funcin igualar () que
resuelve las operaciones con dos nmeros, para ello comprobamos primero
si tenemos un nmero guardado, y una operacin guardada; si es as
operamos de la siguiente manera: nmero guardado - operacin guardada -
nmero de pantalla. Si no hay un nmero guardado o una operacin guardada
dejamos el nmero de pantalla tal como est. Despus de operar el resultado
lo guardamos como el nmero de reserva, ya que puede ser que queramos
volver a operar con l.
Teclas de control: Cada una de estas teclas tiene una funcin distinta en la
calculadora, por lo que crearemos en el cdigo una funcin para cada tecla:
retro() funcin asociada a la tecla retro, la cual permite borrar la ltima
cifra escrita; borradoParcial() esta funcin borra el nmero escrito en
pantalla, pero conserva el nmero y la operacin guardada;
borradoTotal() esta funcin borra tanto el nmero de pantalla como el
nmero y operacin guardadas, reinicializando la calculadora.
Estas son las funciones que nos van a permitir interactuar con las teclas para
hacer funcionar la calculadora. Debemos ahora desarrollar el cdigo que tendr
cada una de ellas.
La calculadora debe funcionar tambin con las teclas del teclado, para ello
crearemos tambin una funcin que recoja el valor de las teclas pulsadas, y
enve el resultado a las funciones adecuadas.
MOSTRAR NMEROS
Al pulsar una tecla de cifra o la tecla de coma decimal podemos estar ante dos
casos diferentes:
Elementos iniciales
Como puedes observar el cdigo est comentado para una mayor comprensin.
A continuacin definiremos las variables que necesitaremos para controlar la
pantalla:
Por ltimo modificamos la variable: xi=0; para poder seguir escribiendo cifras
en el mismo nmero.
Una vez que hemos escrito este cdigo a continuacin del que ya tenamos,
comprobamos en el navegador el resultado, el cual podemos verlo en el
siguiente enlace:
LA COMA DECIMAL
Por otro lado si inicializamos un nmero con una coma decimal, debemos
mostrar un 0 antes de la coma, lo que no sucede en el cdigo anterior.
function raizc() {
x=Math.sqrt(x) //resolver raz cuadrada. RAIZ CUADRADA
pantalla.innerHTML=x; //mostrar en pantalla resultado
op="no"; //quitar operaciones pendientes. CODIGO
xi=1; //se puede reiniciar la pantalla
}
PORCENTAJE
function porcent() {
x=x/100 //dividir por 100 el nmero PORCENTAJE CODIGO
pantalla.innerHTML=x; //mostrar en pantalla
igualar() //resolver y mostrar operaciones pendientes
xi=1 //reiniciar la pantalla
}
Como cosa distinta vemos que tras dividir por 100 llamamos a funcin
igualar(); esto hace que el porcentaje se pueda aplicar tras una operacin,
(normalmente la multiplicacin). Por ejemplo, para hallar el 5% de 500
escribiremos en la calculadora: 500 * 5 %.
NMERO INVERSO
function inve() {
nx=Number(x);
nx=(1/nx); NUMERO INVERSO
x=String(nx); CODIGO
pantalla.innerHTML=x;
xi=1; //reiniciar pantalla al pulsar otro nmero.
}
BORRADO TOTAL
Este botn (C) es parecido al anterior, pero aqu adems de borrar el nmero en
pantalla borramos tambin todo lo dems, es decir reiniciamos la calculadora,
y eliminamos operaciones pendientes, y nmeros en espera.
Como ya hemos dicho la funcin consiste en reiniciar todas las variables que
controlan el estado de la calculadora. Crearemos pues la siguiente funcin:
function borradoTotal() {
pantalla.innerHTML=0; //poner pantalla a 0 BORRADO TOTAL
x="0"; //reiniciar nmero en pantalla
(C) CODIGO
coma=0; //reiniciar estado coma decimal
ni=0 //indicador de nmero oculto a 0;
op="no" //borrar operacin en curso.
}
Como puedes ver la funcin pone las variables al estado inicial y la pantalla a
0, de forma que reiniciamos la calculadora, dejndola en el mismo estado que
cuando abrimos la pgina.
USO DEL TECLADO
Utilizamos este evento con esta propiedad, por ser el nico que da el mismo
resultado tanto en navegadores tipo Internet Explorer, como tipo Mozilla.
En esta pgina al pulsar una tecla veremos que sale una ventana de alerta con el
nmero de la tecla pulsada. De esta manera podemos saber los nmeros de las
teclas que tenemos que activar para cada funcin de la calculadora. La pgina
la puedes ver en el siguiente enlace:
FUNCIN TECLADO ()
Ahora que ya sabemos qu teclas vamos a usar y cules son sus cdigos,
podemos hacer una funcin que recoja la informacin del cdigo de la tecla
pulsada, y nos mande a ejecutar el cdigo que se necesite. Por ejemplo, al pulsar
una cifra del teclado, abrimos la misma funcin con el mismo argumento, que
al pulsar el botn de esa cifra con el ratn.
Para que esta funcin se ejecute, debemos llamarla cada vez que pulsemos una
tecla. Para ello, al principio del script modificamos la funcin
window.onload = function(), en la cual incluiremos el evento
onkeydown, su cdigo quedar de la siguiente manera:
En azul viene destacado el cdigo que hemos aadido a esta funcin. Ahora la
calculadora puede usarse tanto pulsando los botones con el ratn como
utilizando el teclado.