Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Cálculo diferencia de edades

<meta charset="UTF-8">
<h1>Ejercicio de Calcular diferencia de edades.</h1>
<br>

<script>
    function saltoDeLinea1(){
        document.write("<br>");
    }
    function saltoDeLinea2(){
        document.write("<br><br>");
    }
    function imprimirProblema(frase){
        document.write(frase);
        saltoDeLinea1();
    }
    function imprimirTexto(frase){
        document.write(frase);
        saltoDeLinea2();
    }

    imprimirProblema("¿Cuántos años de diferencia tienes con tu hermano? Escribe un programa que");
    imprimirProblema("muestre el mensaje ¨Nuestra diferencia de edad es¨, concatenando el resultado"); 
    imprimirProblema("de la diferencia de tu edad con la de tu hermano (o de un amigo). La respuesta"); 
    imprimirProblema("puede dar negativa, sin duda.");
    imprimirTexto("");

    imprimirTexto("La edad de mi hermana mayor es: " + 25);
    imprimirTexto("Y mi edad es: " + 23);

    var edadHemana = 25;
    var edadMia = 23;
    difereciaDeEdad = edadHemana-edadMia;

    imprimirTexto("Por lo que la diferencia de edad entre nosostros es de: " + difereciaDeEdad + " años");  

</script>
1 respuesta

En este caso, se han utilizado edades fijas para la hermana y la propia edad, pero se podría modificar el programa para que el usuario introduzca las edades y calcule la diferencia de edad entre ellas. En general, el programa es sencillo y cumple con la tarea de calcular la diferencia de edad entre dos personas.

Una sugerencia para mejorar el programa podría ser agregar alguna validación para asegurarse de que el usuario ingrese edades válidas (es decir, números enteros positivos). Esto se podría hacer utilizando la función isNaN() para verificar si el valor ingresado no es un número, y también verificando que el valor ingresado sea un número entero positivo.

Además, se podría permitir que el usuario ingrese los nombres de las dos personas, en lugar de asumir que son la hermana y el usuario del programa. De esta forma, el programa sería más personalizable y podrías utilizarlo para calcular la diferencia de edad entre cualquier par de personas. Para hacer esto, se podría agregar un par de campos de entrada de texto en la página HTML y utilizar la función document.getElementById() para obtener los valores ingresados por el usuario.

Otra mejora posible sería agregar un mensaje de advertencia si la edad de la hermana es menor que la edad del usuario, ya que esto daría como resultado una diferencia de edad negativa. Esto podría hacerse utilizando una declaración if para verificar si la diferencia de edad es negativa y, en ese caso, mostrar un mensaje de advertencia al usuario.

<meta charset="UTF-8">
<h1>Ejercicio de Calcular diferencia de edades.</h1>
<br>

<label for="input-nombre-1">Nombre de la primera persona:</label>
<input type="text" id="input-nombre-1"><br>

<label for="input-edad-1">Edad de la primera persona:</label>
<input type="number" id="input-edad-1"><br>

<label for="input-nombre-2">Nombre de la segunda persona:</label>
<input type="text" id="input-nombre-2"><br>

<label for="input-edad-2">Edad de la segunda persona:</label>
<input type="number" id="input-edad-2"><br>

<button onclick="calcularDiferencia()">Calcular diferencia de edad</button>

<p id="resultado"></p>

<script>
    function saltoDeLinea1() {
        document.write("<br>");
    }

    function saltoDeLinea2() {
        document.write("<br><br>");
    }

    function imprimirProblema(frase) {
        document.write(frase);
        saltoDeLinea1();
    }

    function imprimirTexto(frase) {
        document.write(frase);
        saltoDeLinea2();
    }

    function calcularDiferencia() {
        var nombre1 = document.getElementById("input-nombre-1").value;
        var edad1 = parseInt(document.getElementById("input-edad-1").value);

        var nombre2 = document.getElementById("input-nombre-2").value;
        var edad2 = parseInt(document.getElementById("input-edad-2").value);

        if (isNaN(edad1) || isNaN(edad2)) {
            document.getElementById("resultado").innerHTML = "Por favor, ingrese edades válidas.";
        } else if (edad1 <= 0 || edad2 <= 0) {
            document.getElementById("resultado").innerHTML = "Por favor, ingrese edades positivas.";
        } else {
            var diferenciaDeEdad = Math.abs(edad1 - edad2);

            if (edad1 > edad2) {
                document.getElementById("resultado").innerHTML = "La diferencia de edad entre " + nombre1 + " y " + nombre2 + " es de " + diferenciaDeEdad + " años.";
            } else {
                document.getElementById("resultado").innerHTML = "La diferencia de edad entre " + nombre2 + " y " + nombre1 + " es de " + diferenciaDeEdad + " años.";
            }

            if (diferenciaDeEdad === 0) {
                document.getElementById("resultado").innerHTML += " Son de la misma edad.";
            } else if (edad1 < edad2) {
                document.getElementById("resultado").innerHTML += " ¡" + nombre1 + " es más joven que " + nombre2 + "!";
            }
        }
    }
</script>

En este ejemplo, he agregado cuatro campos de entrada de texto en la página HTML para que el usuario pueda ingresar los nombres y edades de las dos personas cuya diferencia de edad se quiere calcular. También he agregado un botón que llama a la función calcularDiferencia() cuando se hace clic en él.

Dentro de la función calcularDiferencia(), se utiliza la función parseInt() para convertir los valores ingresados en los campos de entrada de texto a números enteros. Luego, se verifica si las edades ingresadas son válidas y positivas utilizando la función isNaN() y una declaración if. Si