Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
5
respuestas

[Duda] El compilador no ejecuta ciertas operaciones matemáticas

Hola.

He estado practicando lo aprendido en el curso "Lógica de Programación: Primeros pasos", por lo cual intenté crear un programa donde con base en la información suministrada por el usuario, se pueda calcular la diferencia de edad que tiene con su pareja y el promedio entre las dos edades.

Todo funciona perfecto, pero no logro entender la razón por la cual al momento de crear la función para que se calcule el promedio de edades, el compilador no reconoce la primera operación matemática que se debe hacer para obtener dicho promedio de edades.

Es decir, primero se deben sumar ambas edades y luego dividirlas entre dos, pero la suma no es reconocida y las dos edades que el usuario ingresa son tomadas por el compilador como texto y no como dos cifras. Sin embargo, con exactamente los mismos datos, el compilador sí puede hacer operaciones de resta y multiplicación.

Dejo una imagen del código y una imagen del resultado para evidenciar lo sucedido.

Pdta: Mi edad es 29 años y la de mi pareja es 26 años.

Gracias ¡¡¡

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadIngrese aquí la descripción de esta imagen para ayudar con la accesibilidad

5 respuestas
solución!

Hola Diego, el error radica en que tanto anhos1 y anhos2 los estás pidiendo con el prompt, que aclarando, toma los valores como tipo texto, el compilador es tan bueno, que aunque los tome como textos trata de hacer alguna operación, aunque casi siempre errónea a lo que buscamos.

Para poder pasar los valores que recibes del usuario a tipo numero tienes que usar la función ParseInt, la cuál sirve para convertir datos de tipo texto a datos de tipo numero, anexo un ejemplo con dos formas de realizar esta conversión para que te guíes mejor, un saludo, espero haber podido ayudar.

Ejemplos

La duda que me surge es, por que la diferencia o resta si la realiza y la suma no la realiza, la toma efectivamente como texto

Porque al tomar los valores como texto el + no operaría si no que CONCATENARÍA ambos textos

Hola Santiago.

Efectivamente, utilizando la función "parseInt" se pudo solucionar el problema. (no la conocía)

Espero que en el curso incorporen esta claridad, ya que con el ejemplo que allí utilizaron fue suficiente el uso de "prompt" y, en consecuencia, no se hizo referencia al "parseInt".

Muchas gracias por la colaboración ¡¡¡

Felíz día.

A mi tambien me fallo la sintaxis, y tratare de usar ese código "parseInt" para corregir el error