Introducción
En el ejercicio 7 de la serie de problemas básicos de programación en lenguaje C# para resolver en Unity tenemos como entrada dos lados de un rectángulo y tenemos crear un algoritmo para que calcular el perímetro y el área del rectángulo para imprimir el resultado en pantalla.
Solución del ejercicio 7 en formato vídeo:
Descripción del problema y estrategia para la resolución
El código del algoritmo que resuelve el problema planteado debe ir dentro de la función AlgoritmoEjercicio del Script correspondiente, en este caso el script Ejercicio7. La función AlgoritmoEjercicio será ejecutada al pulsar el botón “Ejecutar Algoritmo” que hay en pantalla.
Lo que tenemos que hacer es tomar las dos entradas ingresadas por el usuario y convertirlas a valores numéricos, de esta forma podremos hacer operaciones matemáticas entre ellas.
Una vez que tenemos los dos valores ingresados, calculamos primero el perímetro del rectángulo sumando el valor de los cuatro lados (tenemos el dato de dos de los lados, pero los otros dos restantes son iguales a estos valores debido a que se trata de un rectángulo). Luego calculamos el área multiplicando un lado por el otro.
Luego definimos una variable tipo string llamada “resultado”, generamos el mensaje de respuesta concatenando textos junto con los valores del perímetro y área del rectángulo, por último escribimos este resultado en pantalla.
Solución del ejercicio
Los datos ingresados por el usuario estarán almacenados en las variable “dato1” y “dato2”. Para convertir estas variables tipo string a variables numéricas usamos la siguiente instrucción:
float num1 = float.Parse(dato1);
De esta forma estamos definiendo una variable tipo float llamada num1 que se inicializa con el valor de la entrada convertido a float. Esto tenemos que hacerlo para ambos datos de entrada.
Es importante aclarar que si el string dato1 no tiene formato numérico (por ejemplo contiene letras), no se podrá hacer la conversión y tendremos un error en tiempo de ejecución. En este tipo de ejercicios se asume que la entrada ingresada por el usuario estará en el formato correcto. Otro punto importante es el separador para la parte decimal, en algunos paises se utiliza la coma para separar decimales, pero con esta instrucción tenemos que usar punto.
Ahora que hemos convertido los strings a floats podemos calcular el perímetro con la siguiente instrucción:
float perimetro = 2*num1 + 2*num2;
Es decir multiplicamos cada lado por 2 y sumamos todo, con esto tenemos la suma de todos los lados del rectángulo, osea su perímetro. El siguiente caso es calcular el área del rectángulo, esto lo hacemos con la siguiente instrucción:
float area= num1 * num2;
Ahora que tenemos calculado ambos datos vamos a elaborar el mensaje de respuesta concatenando un texto con estos resultados, esto lo hacemos por ejemplo con la siguiente instrucción:
string resultado = “El perímetro del rectángulo es: “+perimetro.ToString()+” y su área es: “+area.ToString();
Finalmente escribimos este resultado en el texto del Canvas en pantalla con la siguiente instrucción:
componenteTexto.text=resultado;