Sunteți pe pagina 1din 10

Script sobre Bash Shell de Linux 2014

#/bin/bash
echo calculando los 100 primeros nmeros naturales
varacout=0
varacum=0
while [ $varcout -le 100 ]
Do
varacum=`expr $varacum + $varcount`
varcount=`expr $varcount + 1`
done
echo El resultado es $varacum
Ejercicio 1. Sumar 100 primeros nmeros naturales.

Con una variable varcount y otra varacum para contar y acumular
valores.
Hacemos un bucle con while con la condicin de forma que llegue a
100.
Con el apartado del comando while denominado do le decimos
que tiene que hacer en cada vuelta de bucle y cuando se cumpla la
condicin saldremos del bucle con done.
Mostramos el resultado con el comando echo y para mostrar lo que
hay dentro con el smbolo $ delante del nombre dela variable.
(quedara echo El resultado es $varacum).
Planteamiento esquemtico










Script
Variable
acumulativa
Variable
Contadora
Bucle Hasta Variable contadora menor o igual que 100
Haz
Sumar lo que tenga variable contadora y acumulativa
Sumar 1 a variable contadora
Termina
Muestra el resultado
Script sobre Bash Shell de Linux 2014

#/bin/bash
echo Introduce un nmero a factorizar
read num
acum=1
echo Calculando
while [ $num -gt 1 ]
do
acum=`expr $acum \* $num`
num=`expr $num 1`
done
echo El factorial es $acum
Ejercicio 2, 3 y 4. Factorizar un nmero natural.

Crear este script con los comandos while, until y for.
Planteamiento esquemtico (while es mientras)












Script (while)


Mensaje Introduce un nmero para factorizarlo
Introducir valor a variable n
Variable
acumuladora =1
Mensaje Calculando
Variable
acumuladora =1
Bucle mientras Variable n mayor que 1
Haz
Variable acumuladora * n (nmero que introducimos)
Variable n - 1
Termina
Mensaje el resultado es variable acumuladora.
Script sobre Bash Shell de Linux 2014

#/bin/bash
echo Introduce un nmero a factorizar
read num
acum=1
echo Calculando
Until [ $num -lt 1 ]
do
acum=`expr $acum \* $num`
num=`expr $num 1`
done
echo El factorial es $acum
Planteamiento esquemtico (until es hasta)












Script (until)


Mensaje Introduce un nmero para factorizarlo
Introducir valor a variable n
Variable
acumuladora =1
Mensaje Calculando
Variable
acumuladora =1
Bucle hasta Variable n menor que 1
Haz
Variable acumuladora * n (nmero que introducimos)
Variable n - 1
Termina
Mensaje el resultado es variable acumuladora.
Script sobre Bash Shell de Linux 2014

#/bin/bash
echo Introduce un nmero a factorizar
read num
resul=1
echo Calculando
for acum in `seq 1 $num`
do
resul=`expr $resul \* $acum`
done
echo El resultado es $resul
Planteamiento esquemtico (for es para o por)










Script (for)


Mensaje Introduce un nmero para factorizarlo
Introducir valor a variable nmero
Variable
resultado=1
Mensaje Calculando
Bucle para acumulador in `seq 1 $nmero`
Haz
Variable resultado * acumulacin
Termina
Mensaje el resultado es variable resultado.
Con este comando creamos una nueva
variable aqu que ser la encargada de
guardar los valores tantas veces como
le digamos en la secuencia seq que
ser por defecto 1 y la modificamos con
la variable nmero.
Script sobre Bash Shell de Linux 2014

Ejercicio 5. Calculadora con doble bucle while y until
Hacer un men con el comando case que tenga funciones de suma, resta,
multiplicacin y divisin. Con dos bucles que deje realizar todas las opciones
tantas veces quieras y que tambin te deje cambiar los nmeros a calcular.
Hay que tener en cuenta que las funciones se ponen primero para que las lea
la bash Shell y despus escribir el script si no el men case no las encontrar.
Planteamiento esquemtico



















Funcin (function) suma
Funcin (function) resta
Funcin (function) multi
Funcin (function) divis
{
Variable acumulativa = 0
Variable acumulativa = variable n1 + n2
Mensaje la suma de n1 y n2 es variable acumulativa
}
{
Variable acumulativa = 0
Variable acumulativa = variable n1 - n2
Mensaje la suma de n1 y n2 es variable acumulativa
}
{
Variable acumulativa = 1
Variable acumulativa = variable n1 * n2
Mensaje la suma de n1 y n2 es variable acumulativa
}
{
Variable acumulativa = 1
Variable acumulativa = variable n1 / n2
Mensaje la suma de n1 y n2 es variable acumulativa
}
Establecemos las funciones
Script sobre Bash Shell de Linux 2014



























Empezamos el script
Mensaje introduce el valor n1
Introducimos valor a n1
Mensaje introduce el valor n2
Introducimos valor a n2
Mensaje Calculadora
Mensaje 1) sumar
Mensaje 2) restar
Mensaje 3) multiplicar
Mensaje 4) dividir
Mensaje 5) salir
Introducimos valor a la variable opcin
Bucle mientras
haz
Bucle hasta
Men (case) variable opcin en (in)
1) suma;;
2) resta;;
3) multi;;
4) divis;;
5) exit;;
n1 sea mayor que 0 y (&&) n2 sea mayor que 0
Variable opcin mayor que 4
Comando esac
Mensaje Seleccione otra operacin
Introducimos valor a la variable opcin

haz
Termina bucle hasta (until)
Mensaje Quieres calcular otra cosa? (Si quieres salir escribe 0)
Mensaje Cambia el valor 1
Introducimos valor a n1
Script sobre Bash Shell de Linux 2014

function suma
{
acum=0
acum=`expr $n1 + $n2`
echo La suma de $n1 + $n2 es $acum
}
function resta
{
acum=0
acum=`expr $n1 - $n2`
echo La resta de $n1 - $n2 es $acum
}
function multi
{
acum=1
acum=`expr $n1 \* $n2`
echo La multiplicacin de $n1 * $n2 es $acum
}
function divis
{
acum=1
acum=`expr $n1 / $n2`
echo La divisin de $n1 / $n2 es $acum
}
function salida
{
exit
}
#!/bin/bash
echo Dame dos nmeros (si los nmeros son 0 Saldrs del script)
echo Introduce el primer nmero
read n1
echo Introduce el segundo nmero
read n2
while [ $n1 -gt 0 ] && [ $n2 -gt 0 ]
do




Script

Mensaje Cambia el valor 2
Introducimos valor a n2
Termina bucle mientras (while)
Script sobre Bash Shell de Linux 2014

case $op in
1) suma;;
2) resta;;
3) multi;;
4) divis;;
esac
echo Vuelve a seleccionar una operacin
read op
done
echo Quieres calcular otra cosa? (salida dos 0)
echo Sustituye el primer nmero
read n1
echo Sustituye el segundo nmero
read n2
done

Script sobre Bash Shell de Linux 2014

Ejercicio 6. Comparador de nmeros (if)
Crear un script con la condicin if que compare dos nmeros y te diga si uno
respecto al otro es mayor, menor o igual.
Hay que anidar dos if.
Planteamiento esquemtico (until es hasta)























Mensaje Introduce dos nmeros a comparar
Mensaje Introduce el primer nmero
Introducir nmero en variable n1
Mensaje Introduce el segundo nmero
Introducir nmero en variable n2
Condicin Si (if)
Nmero 1 mayor que nmero 2
Se cumple (then) No se cumple (else)
Condicin Si (if)
Nmero 1 igual que nmero 2
Se cumple (then) No se cumple (else)
Mensaje El nmero 1 es mayor que el nmero 2
Mensaje El nmero 1 es menor que el nmero 2
Termina la condicin (fi)
Termina la condicin (fi)
Mensaje El nmero 1 es igual que el nmero 2
Fin
Script sobre Bash Shell de Linux 2014

#!/bin/bash
echo Introduce dos nmeros para ver cul es mayor o menor
echo Introduce el primero
read n1
echo Introduce el segundo
read n2
if [ $n1 -ne $n2 ]
then
if [ $n1 -gt $n2 ]
then
echo El nmero $n1 es mayor al nmero $n2
else
echo El nmero $n1 es menor al nmero $n2
fi
else
echo El nmero $n1 y el $n2 son iguales
fi
echo saliendo del programa
Script

S-ar putea să vă placă și