Programilla en javascript

Iniciado por chusmito, 7 Diciembre 2010, 11:59 AM

0 Miembros y 2 Visitantes están viendo este tema.

chusmito

Hola!!! a ver, este programilla se supone que tiene que hacer lo mismo, aunk no chuta...

en que falla???

Código (javascript) [Seleccionar]
<HTML>
<HEAD>
<TITLE> PRACTICAS DE javascript</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="javascript">

function cargara(tabla1)
{
var x;
for(x=0;x<tabla1.length;x++)
{
var num1;
num1=prompt('Ingrese elementos del primer vector:','');
tabla1[x]=parseInt(num1);
}
}

function cargarb(tabla2)
{
var x;
for(x=0;x<tabla2.length;x++)
{
var num2;
num2=prompt('Ingrese elementos del segundo vector:','');
tabla2[x]=parseInt(num2);
}
}

function sumat(suma)
{
for (x=0;x<3;x++)
{
suma[x]=tabla1[x]+tabla2[x];
}
document.write(suma[x]+'<br>');
}

var suma;
suma=new Array(3);
var tabla1;
tabla1=new Array(3);
var tabla2;
tabla2=new Array(3);
cargara(tabla1);
cargarb(tabla2);
sumat(suma);



</SCRIPT>

</BODY>
</HTML>

Shell Root

Primero que todo, si tienes una función A que hace X acción, para que tener otra función B que hace la misma X función de la función A?
Segundo, estáis llamando objetos que están muertos, -por así decirlo-, ya que el tiempo de vida es sólo dentro de una función.

La solución que te daría es la siguiente, -cabe aclarar que mi javascript es un poco básico-

En esta función, estamos pidiendo un parámetro que sería el objeto 'vector', al que deseamos setear con valores.
Código (javascript) [Seleccionar]
function objArray(obj){
   var i = 0;
   var sNum = 0;

   for(i=0; i<obj.length; i++){
     sNum = prompt('Enter number of position vector ['+ i +']:', 'PROMPT');
     obj[i] = parseInt(sNum);
   }

   return obj;
}


Después, lo que se debería de hacer es realizar otra función con las acciones necesarias (suma, resta, multiplicación y división), optaría por hacerlo todo en una misma función, se diferenciaría dependiendo de un parámetro. Así,
Código (javascript) [Seleccionar]
function sumObj(var sType, obj1, obj2){
   /* ACTIONS */
}


Se tiene que validar la variable sType, para ver que tipo de operación se va a realizar. Es decir,
Código (javascript) [Seleccionar]
if( sType == 'suma' ){}
else if( sType == 'resta' ){}
else if( sType == 'multiplicacion' ){}
else if( sType == 'division' ){}
else { return 0; }
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

chusmito

hola shell root! gracias por contestar, pero a ver, no me queda claro. Tendriamos que eliminar la funcion "cargarb" porque es igual que la primera no, pero tu recomiendas sustituir las funciones "cargara" y "cargarb" por la funcion "objArray" no?
con esta ultima funcion  introduciriamos un polinomio, que se guardaria en un array, y luego con la funcion sumObj realizariamos las operaciones. Pero entonces como hago para que me pida dos polinomios??? y como ordeno todo esas funciones que me diste?
esque con las funciones me pierdo un poco bastante....
Muchas gracias!

Shell Root

A ver, para que entiendas mejor lo que intento decirte, te voy a poner un pequeño ejemplo:

Código (javascript) [Seleccionar]
function sumNum1(var Num1){
  Num1 = parseInt(Num1);
  return Num1 + 2;
}

function sumNum2(var Num2){
  Num2 = parseInt(Num2);
  return Num2 + 2;
}

Esto es lo que tienes para cargar las "tablas" -por así decirlo-

Ahora con esas funciones, realicemos una operación. Por ejemplo, una suma así,
Código (javascript) [Seleccionar]
alert( sumNum1(1) + sumNum1(2) );

El resultado debería ser, 7 (((1+2)+(2+2))==(3)+(4) == 7).

--

Ahora que pasa si tenemos la siguiente función,
Código (javascript) [Seleccionar]
function sumNum(var Num){
  Num = parseInt(Num);
  return Num + 2;
}


Y realizamos la misma operación,
Código (javascript) [Seleccionar]
alert( sumNum(1) + sumNum(2) );

El resultado debería ser el mismo. :D
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

lgo0013

Hola Muy buenas a todos,soy nuevo en este foro y lo encontré googleando porque tengo el mismo problema que chuchinov.
¿Sabe alguien como quedaría el programa completo?

Muchas gracias¡¡