5. Diseño integral de programación de shell. Escriba un programa de shell que muestre menús y utilice funciones para lograr simplicidad.
¿mientras?:
hacer
eco?"======================= =====================
** (1) Calcula la suma de números impares del 1 al n;
**(2) Calcular el factorial de 1 a n; **
** (3) Calcular todos los números primos de 1 a n; (4) Salir del programa **
===================================. === ==="
leer?-p?"Por favor?ingrese?función?seleccione?y?número:"?m?n
[?$m?- eq?4 ?]amp;amp;salir
if?echo?$m|grep?"^[1-4]$"?gt;/dev/nullamp;amp;echo?$n| grep?" ^[1-9][0-9]*$"?gt;/dev/null
luego
romper
fi?
hecho
función?sumodd()
{
resultado=0
i=1
mientras?[?$i?-le?$1?]
hacer
resultado=$((?resultado? ?i?))
i =$((?i? ?2?))
hecho
printf?"suma?impar?de?1?a?$1:d\n"? $resultado
}
función?fact()
{ resultado=1 i=1 mientras?[?$i?-le?$1?] hacer resultado=$ ((?resultado?*?i)) i=$((i? ?1)) hecho printf?"factorial?de?1?a?$1:d\n"?$resultado
}
función?prime()
{
i=2?
mientras?[?$i?-le ?$1? ]
hacer
j=2
mientras?[?$j?-lt?$i?]
hacer
p>si?[?$((?i??j))?-eq?0?]
entonces romper
fi p>
j=$((j? ?1))?
hecho
si?[?$i?-eq?$j?]?
entonces
printf?"d\t"?$i
fi
i=$((i? ?1)) p>
hecho
echo
}
caso?$m?in
1)sumodd?$n;;
2)?fact?$n;;
3)?prime?$n;;
*)?exit?$?
esac