Programa en Perl para calcular áreas y comparar números con menús y estructuras given-when
Programa en Perl para calcular áreas y comparar números
A continuación se presenta un ejercicio resuelto en Perl que utiliza un menú interactivo para calcular el área de un círculo, el área de un triángulo, el área de un cuadrado y determinar el mayor de dos números.
Comandos de ejecución
Iniciar el archivo:
vim nombredelejercicio.pl
Ejecutar el programa:
perl nombredelejercicio.pl
Código fuente
#!/usr/bin/perl
use feature qw(switch);
$mcirculo=0;
$mtriangulo=0;
$mcuadrado=0;
$mnumero=99999;
print ("1 Área de un círculo\n");
print ("2 Área de un triángulo\n");
print ("3 Área de un cuadrado\n");
print ("4 Mayor de 2 números distintos\n");
print ("5 Salir\n");
do{
print("Ingrese opción: \n");
$opc=<STDIN>;
given($opc)
{
when(1)
{
print("Ingrese radio del círculo \n");
$radio=<STDIN>;
$area=3.14*$radio*$radio;
print("El área del círculo es $area");
if($area>$mcirculo)
{
$mcirculo=$area;
}
}
when(2)
{
print("Ingrese base del triángulo \n");
$base=<STDIN>;
print("Ingrese altura del triángulo \n");
$altura=<STDIN>;
$area=($base*$altura)/2;
print("El área del triángulo es $area");
if($area>$mtriangulo)
{
$mtriangulo=$area;
}
}
when(3)
{
print("Ingrese lado del cuadrado \n");
$lado=<STDIN>;
$area=$lado*$lado;
print("El área del cuadrado es $area");
if($area>$mcuadrado)
{
$mcuadrado=$area;
}
}
when(4)
{
print("Ingrese un número ");
$num1=<STDIN>;
print("Ingrese otro número ");
$num2=<STDIN>;
if ( $x > $y )
{
print ("El número mayor es $x");
}
else
{
print ("El número menor es $y");
}
}
when(5)
{
print("Fin del programa");
}
default
{
print("Opción incorrecta, ingrese una nueva");
}
}
}while($opc!=5);
print("La mayor área de círculo es $mcirculo");
print("La mayor área de triángulo es $mtriangulo");
print("La mayor área de cuadrado es $mcuadrado");
print("El mayor número ingresado es $mnumero");