Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: krakerbrain en 07 de Marzo 2021, 01:18

Título: Javascript Funciones matemáticas calcular precio producto con impuestos CU01122E
Publicado por: krakerbrain en 07 de Marzo 2021, 01:18
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>
Título: Re: Javascript Funciones matemáticas calcular precio producto con impuestos CU01122E
Publicado por: Ogramar en 09 de Marzo 2021, 18:16
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