Javascript no me muestra un document.write

Iniciado por D4RKS0N1K, Marzo 01, 2017, 09:48:43 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas, tengo este HTML ;
Código: html5
<!DOCTYPE html>
<html lang="es">
<head>

<title>Titulo de la web</title>
<meta charset="utf-8" />
<link href="https://fonts.googleapis.com/css?family=Arsenal|Indie+Flower" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Finger+Paint" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Chau+Philomene+One|Finger+Paint" rel="stylesheet">
<script src="funciones.js" language="javascript" type="text/javascript">
<head>
    <script>
    var a = parseInt(prompt("Introduce el primer valor"));
alert("Lado A mide " + a)
var b = parseInt(prompt("Introduce el segundo valor"));
alert("Lado B mide " + b)
var c = parseInt(prompt("Introduce el tercer valor"));
alert("Lado C mide " + c)
var s = parseInt(a + b + c % 2);
var fin = math.sqrt(s(s - a)(s - b)(s - c));
document.write("<b>El resultado del perímetro es&nbsp<b>" + s);
     </script>
    </head>


Todo va bien, pero no muestra el contenido del document.write.
Probé en una hoja js externa pero nada tampoco, aunque en el js probaba a hacer

Código: javascript
document.write("<b>El resultado del perímetro es&nbsp<b>" + s);
document.write("<b>El resultado del area es&nbsp<b>" + fin);


Y me salía el primero, pero el segundo document.write no >:(

¿Alguien sabe que puede estar pasando?


Marzo 01, 2017, 10:42:36 AM #1 Ultima modificación: Marzo 01, 2017, 10:51:04 AM por Hu3c0
[1]Para resolver este algoritmo lo primero que tienes que aprender es matemáticas y una vez hayas aprendido matemáticas y aprendido javascript podrás resolverlo.

[2] Es un auténtica chapuza..! no sé de dónde has copiado el código:
    Lo primero para calcular el perímetro no es lo mismo un círculo que un pentágono que un rombo

Empieza leyéndote esto: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Una vez tengas claro como calcular  el perímetro tendrás que en base a la forma crear funciones() ejemplo function rectangulo(base,altura){tu código y un return}

[3]Y luego para qué instancias funciones.js???? a menos que quieras implementar el código en ese .js

[4]Luego he visto que no tiene ni body  ni  tiene finalizado el </html>

[5]Luego he visto que tienes mal abierto y cerrado el <script> fijate bien porque tienes uno de más  yo lo haría así.
<script type="text/javascript>
Mi código

</script>
 
[6] Luego con F12 marca error Uncaught ReferenceError: math is not defined  osea error aquí ("var fin = math.sqrt(s(s - a)(s - b)(s - c));")
     como no sé que ostias quieres hacer no te puedo ayudar pero para calculara el área  de alguna forma no es el camino adecuado.
     Te digo lo mismo primero tiene que introducirse el área de qué:Circulo,cuadrado,rectángulo,etc y después con funciones solucionas el     
     algoritmo.

[7] Sé que te van a cabrear mis palabras pero lo primero que hay que hacer :ES APRENDER A ANDAR PARA DESPUÉS CORRER.

[8] Me encantan las fuentes de google que has usado:
     ¿Qué sentido tiene el uso de estas fuentes en una ejericio de calculo del perímetro y área?
     
     <link href="No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" rel="stylesheet">
    <link href="No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" rel="stylesheet">
    <link href="No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" rel="stylesheet">

[9] Te he arreglado un poco el html si quieres ves poniendo el código y te iré ayudando pero hacertelo no te lo voy a hacer

  <!DOCTYPE html>
     <html lang="es">
     <head>
     
    <title>Titulo de la web</title>
    <meta charset="utf-8" />
   

   </head>
   <body>
    <script type="text/javascript">
    var a = parseInt(prompt("Introduce el primer valor"));
    alert("Lado A mide " + a)
    var b = parseInt(prompt("Introduce el segundo valor"));
    alert("Lado B mide " + b)
    var c = parseInt(prompt("Introduce el tercer valor"));
    alert("Lado C mide " + c)
    //A partir de aquí tienes que ir trabajando todo lo que te he dicho
    //Para que se imprima algo en pantalla tiene que estar dentro del body
    document.write("<b>El resultado del perímetro es&nbsp<b>" + s);
    document.write("<b>El resultado del area es&nbsp<b>" + fin);
    </script>
   </body>
   </html>


Suerte en  tu aprendizaje nadie hemos nacido enseñados  '̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/'̿'̿ si te cabreas por mis palabras..... es buen camino... eso significa que te he ofendido ... y que la próxima vez lo harás mejor.





No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Marzo 01, 2017, 12:19:53 PM #2 Ultima modificación: Marzo 01, 2017, 12:22:40 PM por D4RKS0N1K
Buenas y gracias por responder, tus palabras no me ofenden en absoluto 

El asunto está en calcular el área de un triángulo de forma alternativa a la conocida base por altura.
Para ello la idea sería guardar el perímetro en S (a+b+c%2) y con ese dato hacer el cálculo que se hace arriba con el math.sqrt.Según el profesor el método se llama La fórmula de Herón.
El código no lo copié y lo de las fuentes, pensaba añadirle un poco decoración y las demás fuentes no me gustan nada ;D

Sigue sin funcionarme, pasa lo mismo que antes, sale el document.write con el perímetro pero no el del área :

Código: javascript
 <script type="text/javascript">
    var a = parseInt(prompt("Introduce el primer valor"));
    alert("Lado A mide " + a)
    var b = parseInt(prompt("Introduce el segundo valor"));
    alert("Lado B mide " + b)
    var c = parseInt(prompt("Introduce el tercer valor"));
    alert("Lado C mide " + c)
    s = a + b + c
    //A partir de aquí tienes que ir trabajando todo lo que te he dicho
    //Para que se imprima algo en pantalla tiene que estar dentro del body
    document.write("<b>El resultado del perímetro es&nbsp<b>" + s);
    fin = math.sqrt(s(s - a)(s - b)(s - c))
    document.write("<b>El resultado del area es&nbsp<b>" + fin);
    </script>


Un saludo!

Uncaught ReferenceError: math is not defined  osea error aquí ("var fin = math.sqrt(s(s - a)(s - b)(s - c));")
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Marzo 01, 2017, 01:22:16 PM #4 Ultima modificación: Marzo 01, 2017, 02:56:49 PM por Hu3c0
Como me ha gustado tu personalidad y humildad de la que se carece en el planeta Tierra aquí tienes la solución:

Código: javascript

<!DOCTYPE html>
     <html lang="es">
     <head>
     
    <title>The only think I know is I don't know Anything</title>
    <meta charset="utf-8" />
   
    <script type="text/javascript">
    var a = parseInt(prompt("Introduce el primer valor"));
    alert("Lado A mide " + a)
    var b = parseInt(prompt("Introduce el segundo valor"));
    alert("Lado B mide " + b)
    var c = parseInt(prompt("Introduce el tercer valor"));
    alert("Lado C mide " + c)
    //obtengo el perímetro sumando los tres lados pero esto  es una chapuza
    // deberias obtener el perímetro según su forma:cuadrado,rectángulo,etc
    var perimetro =a+b+c;
    //Continuamos con algunos cálculos según:https://clasesmatematicas.blogspot.co.id/2013/05/formula-heron-ejemplos-resueltos.html
    var s=perimetro/2;
    var hu3c0=(s-a)*(s-b)*(s-c)*s;
    var fin=Math.sqrt(hu3c0);
    //Imprimimos el primer resultado por pantalla
    document.write("<b>El resultado del perímetro es:=<b>  " +perimetro+"</br>");
    //Imprimimos el segundo resultado de la raíz cuadrada y recorto a dos decimales el resultado con toFixed(2);
    document.write("<b>El resultado del area es :=<b>" + fin.toFixed(2));
    //Eso es todo amigo pero te aconsejo que para aprender hay que exprimir el cerebro un saludo y no pierdas tu humildad.
    </script>
   </head>
   <body>
   
   </body>
   </html>


Está chequeado por mí y funciona para comprobar errores usa F12, otra cosa que se me olvidó debes de manejar las entradas a 0 porque si el usuario tipea como número 0 entonces no funciona, te he mostrado el camino ahora tú lo perfilas
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Como me ha gustado tu personalidad y humildad de la que se carece en el planeta Tierra aquí tienes la solución:

Código: javascript

<!DOCTYPE html>
     <html lang="es">
     <head>
     
    <title>The only think I know is I don't know Anything</title>
    <meta charset="utf-8" />
   
    <script type="text/javascript">
    var a = parseInt(prompt("Introduce el primer valor"));
    alert("Lado A mide " + a)
    var b = parseInt(prompt("Introduce el segundo valor"));
    alert("Lado B mide " + b)
    var c = parseInt(prompt("Introduce el tercer valor"));
    alert("Lado C mide " + c)
    //obtengo el perímetro sumando los tres lados pero esto  es una chapuza
    // deberias obtener el perímetro según su forma:cuadrado,rectángulo,etc
    var perimetro =a+b+c;
    //Continuamos con algunos cálculos según:https://clasesmatematicas.blogspot.co.id/2013/05/formula-heron-ejemplos-resueltos.html
    var s=perimetro/2;
    var hu3c0=(s-a)*(s-b)*(s-c)*s;
    var fin=Math.sqrt(hu3c0);
    //Imprimimos el primer resultado por pantalla
    document.write("<b>El resultado del perímetro es:=<b>  " +perimetro+"</br>");
    //Imprimimos el segundo resultado de la raíz cuadrada y recorto a dos decimales el resultado con toFixed(2);
    document.write("<b>El resultado del area es :=<b>" + fin.toFixed(2));
    //Eso es todo amigo pero te aconsejo que para aprender hay que exprimir el cerebro un saludo y no pierdas tu humildad.
    </script>
   </head>
   <body>
   
   </body>
   </html>


Está chequeado por mí y funciona para comprobar errores usa F12, otra cosa que se me olvidó debes de manejar las entradas a 0 porque si el usuario tipea como número 0 entonces no funciona, te he mostrado el camino ahora tú lo perfilas

Buenas!

Disculpa por la demora de mi respuesta, pero he estado sin apenas un solo segundo de tiempo.
Finalmente conseguí resolver todos los ejercicios y cuestiones que me plantearon y poco a poco voy dándole más duro al lenguaje.

Gracias por tus palabras y especialmente por tu ayuda!

Un saludo :)

Gracias a tí por tus comentarios y agradecimientos así estamos todos subiendo nivel. Este mundo no tiene fin, el fin lo marca nuestras capacidades  yo en muchas ocasiones llego al bufferoverflow (desbordamiento de la pila).

Pero aplico el dicho:==========PARA SEGUIR HAY QUE PARAR =============

Un saludo para todos y cada uno de los componemos esta gran comunidad en la que está inundada de sabiduría y buen hacer.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta