Curso de Programación en Bash/S20.sh
< Curso de Programación en Bash
Ir a la navegación
Ir a la búsqueda
Revisión del 05:15 18 nov 2011 de Rrc (discusión | contribuciones)
S20.sh
#!/bin/sh
factorial()
{
if [ "$1" -gt "1" ]; then
i=`expr $1 - 1`
j=`factorial $i`
k=`expr $1 \* $j`
echo $k
else
echo 1
fi
}
while : ;do
echo -n "Quieres el factorial para que "
echo -n "número en el rango 1 - 20 "
echo -n "( 0 para salir ): "
read x
[ $x -gt 20 ] &&
{
echo -e "¡Ingreso inválido! \a"
echo "$x está fuera del rango 1 - 20"
continue
}
[ $x -eq 0 ] && break
factorial $x
doneResultado
[rrc@Pridd BashClase]$ ./S20.sh Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 2 2 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 3 6 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 4 24 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 5 120 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 6 720 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 7 5040 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 8 40320 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 9 362880 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 10 3628800 Quieres el factorial para que número en el rango 1 - 20 ( 0 para salir ): 0 [rrc@Pridd BashClase]$