Autor Tema: Javascript Funciones matemáticas calcular precio producto con impuestos CU01122E  (Leído 492 veces)

krakerbrain

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Estimados, un gusto saludarles. Este es el primer ejercicio resuelto que envío.

Al terminarlo me quedó la duda, en el primer ejercicio, cómo hacer para que si el usuario introduce un valor de texto en cualquiera de los dos parámetros, el programa alerte de que no es un valor numérico y se detenga o pida nuevamente ingresar el valor.

Espero puedan revisar el ejercicio y agradezco a todos los que participan ayudando en este foro.


Ejercicio 1

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejercicio 2</title>

    <script type="text/javascript">

    function mostrarMensaje(){
        function obtenerImporteConImpuestos (importeSinImpuestos, tipoDeProducto) {
            var importeSinImpuestos = Number(importeSinImpuestos);
            var tipoDeProducto = Number(tipoDeProducto);
            if (tipoDeProducto==1){
                return importeSinImpuestos*1.21;
            }else if (tipoDeProducto==2){
                return importeSinImpuestos*1/100+importeSinImpuestos;
            }else if (tipoDeProducto==3){
                return importeSinImpuestos*1.05;
            }
           
    }
   
        importeSinImpuestos=prompt ("Insertar valor del producto");
        tipoDeProducto=prompt("Elija un tipo de producto del 1 al 3");
        alert("Para un importe sin impuestos de "+importeSinImpuestos+
        " y tipo de producto " + tipoDeProducto + " el resultado del importe con impuestos es "+
        obtenerImporteConImpuestos(importeSinImpuestos,tipoDeProducto))
   
    }

   
    </script>
</head>
<body>
    <img  onclick= "mostrarMensaje()"  src="https://www.aprenderaprogramar.com/images/stories/Cursos/CU011/javascript_logo.png" alt="">
    <p>Click en el logo para obtener resultado del <B>EJERCICIO 1</B></p>
</body>
</html>


Ejercicio 2

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejercicio 2</title>

    <script type="text/javascript">
       

        function obtenerImporteConImpuestos2 (importeSinImpuestos){
           var importeSinImpuestos=Number(importeSinImpuestos);
           var tipoDeProducto;
           tipoDeProducto = [];
           tipoDeProducto[0] = "undefined";
           tipoDeProducto[1] = importeSinImpuestos*1.21;
           tipoDeProducto[2] = importeSinImpuestos*10/100+importeSinImpuestos;
           tipoDeProducto[3] = importeSinImpuestos*1.05;
            alert("Para el precio sin impuestos " + importeSinImpuestos + " si el producto es tipo 1 " + " el importe es " + tipoDeProducto[1]+"\n"+
                "Para el precio sin impuestos " + importeSinImpuestos + " si el producto es tipo 2 " + " el importe es " + tipoDeProducto[2]+"\n"+
                "Para el precio sin impuestos " + importeSinImpuestos + " si el producto es tipo 3 " + " el importe es " + tipoDeProducto[3]+"\n")
                   
        }
       
     </script>
</head>
<body>
    <img onclick = "obtenerImporteConImpuestos2(100)" src="https://www.aprenderaprogramar.com/images/stories/Cursos/CU011/javascript_logo.png" alt="">
    <p>Click en el logo para obtener resultado del <B>EJERCICIO 2</B></p>
</body>
</html>
« Última modificación: 09 de Marzo 2021, 18:14 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Buenas y bienvenido a los foros. El ejercicio primero está bien resuelto. Solo tienes una errata donde dice

Código: [Seleccionar]
else if (tipoDeProducto==2){
                return importeSinImpuestos*1/100+importeSinImpuestos;
            }

Debería poner 10/100 en lugar de 1/100

Sobre lo que comentas de que como hacer para que si el usuario introduce un valor de texto en cualquiera de los dos parámetros, el programa alerte de que no es un valor numerico y se detenga o pida nuevamente ingresar el valor., esto que es a lo que llamamos validar entradas y se trata en posteriores entregas del curso, así que ya lo verás cuando llegues a ellas.

El ejercicio segundo también está bien, aunque debes prestar atención a una cosa. Si escribimos tipoDeProducto[0] = "undefined"; estamos diciendo que ese elemento del array contiene una cadena de texto.

En cambio si escribimos tipoDeProducto[0] = undefined; ese elemento del array tiene un tipo especial de dato, el tipo undefined, que es un tipo primitivo de JavaScript.

Se trata de dos conceptos diferentes, no tiene nada que ver que una variable contenga una cadena de texto a que contenga el valor especial undefined.

El ejercicio pedía "La función debe devolver un array con valor undefined para el índice 0..." y ahí se refiere al valor especial undefined, es decir, habría que escribirlo sin comillas.

También te falta mostrar por pantalla undefined ya que el ejercicio pedía "obtenerImporteConImpuestos(100) debe devolver: resultado[0] = undefined, resultado[1] = 121, resultado[2] = 110, resultado[3] = 105"

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".