0% encontró este documento útil (0 votos)
110 vistas28 páginas

Informe en Shell

Este documento describe un programa desarrollado en Shell que calcula el promedio de una cantidad de números ingresados por el usuario. El programa solicita al usuario que ingrese la cantidad de números, luego pide que ingrese cada número uno a uno. Luego calcula la suma de todos los números y los divide por la cantidad de números para obtener el promedio. Finalmente, imprime el promedio en pantalla y le pregunta al usuario si desea calcular otro promedio repitiendo el proceso.

Cargado por

Oscar Ruiz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
110 vistas28 páginas

Informe en Shell

Este documento describe un programa desarrollado en Shell que calcula el promedio de una cantidad de números ingresados por el usuario. El programa solicita al usuario que ingrese la cantidad de números, luego pide que ingrese cada número uno a uno. Luego calcula la suma de todos los números y los divide por la cantidad de números para obtener el promedio. Finalmente, imprime el promedio en pantalla y le pregunta al usuario si desea calcular otro promedio repitiendo el proceso.

Cargado por

Oscar Ruiz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 28

TECNOLOGIA EN DESARROLLO DE SOFTWARE

SISTEMAS OPERATIVOS

PROGRAMA SHELL
EJERCICIO 46. PROMEDIO

REALIZADO POR:
DUBAN ESTIBEN CARDOZO OSORIO

UNIVERSIDAD SURCOLOMBIANA
NEIVA – HUILA
2018
INDICE
1. Marco Teórico
2. Planteamiento del Programa
3. Objetivos, limitaciones y alcances del programa
4. Requisitos
5. Diagrama de bloques
6. Diagrama de flujo
7. Código del Programa
8. Diccionario de Datos
9. Casos de Usos
10. Código explicativo
11. Funcionamiento del programa
12. conclusiones y Observaciones
1. Marco teórico

El Programa que se ha elaborado en Shell, cumple una


principal funcionalidad que es imprimir el promedio de una
Cantidad de Números ingresados.
Este programa nos permite aplicarlo en varios ámbitos de
nuestras vidas, ya que a los usuarios simplemente digita los
datos extraídos de cualquier acontecimiento y
automáticamente te imprimirá la media.
2. Planteamiento del problema

Elabore un programa SHELL que solicite la cantidad de


N números y calcule e imprima el promedio de dichos
números.
3. Objetivos, limitaciones y alcances del programa

- Objetivos
Determinar el promedio de acuerdo a una cantidad de
números establecida por el Usuario

- Limitaciones
El usuario siempre deberá de establecer una cantidad
especifica. Si esto no se realiza entonces el programa no
podrá ejecutarse

- Alcances del Programa

Puede determinar Todas las Cantidades de datos que


usuario desea promediar y a la vez puede ingresar cualquier
numero entero que desee
4. Requisitos

El programa deberá imprimir un promedio de acuerdo a una


Cantidad N de dichos Números (Ingresados por el Usuario).
De acuerdo lo anterior para que el Programa Shell pueda
ejecutarse, necesitara sumar todos los datos Ingresados
hasta N y a la vez dividirlos por la misma cantidad (En este
caso N)
5.Diagrama de Bloques
Cant <- Cantidad de Datos (Números) a
Ingresar
Numero <-Dígitos para Después
promediar
inicio <- permite continuar con el
programa
Limite <- Variable Que Permite Repetir
El Ciclo de Acuerdo al Condicional (si)

re <- Variable Numera (Representa


números enteros)
contador <- Registra las veces que se
ingresa un numero
CONTADOR <- Determina la posición de
ingreso de un número.
SUMA <- Adiciona todos los Números
Ingresados
PROMEDIO <- Divide la SUMA de
Acuerdo al contador.

Contador2<- Realiza El Conteo de Las


Veces que se Repite el Programa

contador
Contador2
CONTADOR
SUMA
PROMEDIO
6. Diagrama de flujo
7. Código del programa

#! /bin/bash
clear
while [ $inicio = $limite ]
do

SUMA=0
contador=0
conta=0
re="^[0-9]+$"

echo "===================================="
echo "PROGRAMA: DETERMINAR PROMEDIO"
echo "===================================="

while :
do
read -p "DIgite Cantidad De Numeros Para Promediar: " cant

#Solo Para Admitir Variables Numericas


if [[ $cant =~ $re ]];then
break
else
echo "$numero NO es valido"
fi

done

while [ 1 ]
do

while :
do
let CONTADOR++
echo "Introduce numero $CONTADOR: "
read numero

# Se Valida El Numero
if [[ $numero =~ $re ]];then
break
else
echo "$numero NO es valido"
fi
done

SUMA=$(expr $SUMA + $numero)


let contador++
if [ $contador = $cant ] || [ $contador = $cant ]
then
break
fi

done

echo "has introducido $contador numeros"


echo "La Suma Entre Todos Los Numeros Ingresados Es de: $SUMA"
PROMEDIO=$(echo "scale=2; $SUMA / $contador" |bc|tr "." ".")
echo "El promedio es: $PROMEDIO"

echo "Deseas Continuar? (si/no)"


read inicio
limite=si
CONTADOR=0
let contador2++
echo "________________________________________________"

echo "El Programa ha Sido Utilizado: $contador2 Veces"


donecontador2=0
limite=si
inicio=si
DICCIONARIO DE DATOS
NOMBRE ATRIIBUTO LONG DETALLE
Suma # Numero Entero acumulador
contador Contador++ Contador<-0 Terminará en el
Contador=0 Contador=cant momento que
(Acumula) sea a la
variable=cant
CONTADOR CONTADOR<-1 CONTADOR=1 De acuerdo a la
CONTADOR=NUMER cantidad de
O números
Permite Contar
Contador 2 Contador Hasta que While las Veces que se
2=0 Termine. Repite el While
Inicial
Re=[0-9] Todos los Números Solo Valores
Re Enteros. numéricas

(SUMA / Números Con Decimal Divide la Variable


PROMEDIO contador) SUMA por el
contador
Solo Carácter=si Permite Inciar el
LIMITE LIMITE = SI Ciclo Siempre y
cuando sea SI
Si limite es =no
inicio INICIO = SI LIMITE= SI entonces no
(Ingresado por inicia
el usuario)
CASOS DE USO

El programa como ya lo hemos mencionado abarca una


gran cantidad de aspectos de la vida, siempre y cuando
los datos obtenidos sean numéricos (Es decir actividades
cuantificables) y a la vez que el usuario tenga exacto la
cantidad de números que desea promediar
CODIGO EXPLICATIVO

- Se Utiliza #! /bin/bash para que Pueda ser un archivo


Ejecutable.

- Se implementa Clear (Para Limpiar Pantalla)

- En el Bucle While Su principal propósito es Repetir


Todo el Ciclo de Acuerdo a unas determinadas
condiciones que son: inicio y limite. En donde Limite es
igual a “SI”, e inicio es ingresado por el usuario, por
ende, si ingresa “SI” el bucle se volvería a ejecutar o
sino el programa terminaría y se saldría.

- La variable re permite definir solo variables Numéricas.

- A través de echo, Podemos Escribir una Pequeña


Bienvenida para que el programa imprima lo escrito.
- se utiliza el bucle While para determinar las veces que
se necesita repetir el ciclo de acurdo a la variable cant

- Se le escribe al programa que solicite la cantidad de


números para promediar.
- A través de la variable cant se implementa para
registrar la cantidad de Números que se irán a ingresar.

- El condicional IF permite comparar la variable cant con


la variable re, cuyo propósito es que si el valor
ingresado en cant este dentro de los parámetros de la
variable re (Es decir sea un Numero) Entonces el IF
tomaría el break, en otro término se rompería el
condicional.
De lo contrario el programa imprimiría que No es un
valor Numero y por ende volvería repetir el condicional
if hasta que el valor sea numérico.
-
 While [ 1 ] permite iniciar siempre y cuando los
variables ingresada sea superior 1.
Dentro de este se encuentra el Bucle while : del cual
consta de:
- CONTADOR: este permite llevar el registro de cuantos
números se necesitan para ingresar
- A través de echo, podemos escribir “introduce
números” para que el programa lo imprima.
- Se le pedirá que ingrese un numero, a través de la
variable numero.
- Se procede a validar la variable numero (Que no sea
Carácter) por medio del condicional IF comparar la
variable numero con la variable re, cuyo propósito es
que si el valor ingresado en numero este dentro de los
parámetros de la variable re (Es decir sea un Numero)
Entonces el IF tomaría el break, en otro término se
rompería el condicional.
De lo contrario el programa imprimiría que No es un
valor Numero y por ende volvería repetir el condicional
if hasta que el valor sea numérico.
- La variable SUMA nos sirve para acumular Todos los
dígitos ingresados por la variable numero

- Contador nos permite registrar todos los datos


ingresados por la variable numero

- el condicional IF permite comparar la variable


contador con la variable cant, cuyo propósito es que
cuando dichas variables sean iguales (En especial la
variable contador) el condicional se termina a través
del break

- A través de Echo se implementó lo siguiente:

“Has introducido $contador(Variable) números ”, lo


cual permite imprimir las veces que se ingresaron los
números por medio de la variable contador

“la Suma entre todos los números $SUMA (Es la


Variable)” se imprime la suma total de todos los
números ingresado por medio de la Variable SUMA (Ya
que esta, acumulaba numero)

- “El promedio es: $PROMEDIO(Es la Variable


PROMEDIO) ”
Variable PROMEDIO nos permite (Valga la
Redundancia) sacar el Promedio de la suma de Todos
Los números Ingresados, para realizar lo anterior se
tiene que dividir la variable SUMA por la variable
contador.
Por otra parte se utiliza la variable scale, cuyo
propósito es que imprima decimales en la variable
PRIMEDIO

- Se le escribe si desea continuar para que el programa


imprima lo escrito.
-
- Según la Varia inicio dependerá si el Ciclo Vuelve a
empezar (cuando Escriba SI) o si no Hay Termina
Cuando escriba” No”
- Se escribe la variable contador2 para que acumule las
veces en que se repite el ciclo
- Ya terminado el programa se vuelve a restablecer las
variables para que el programa en una próxima ocasión
pueda volver a iniciar
Programa en funcionamiento
Los Pasos van De acuerdo a la explicación Anterior
Conclusiones y Observaciones

El programa quedo con una interfaz agradable al


usuario, esto permite manejar el programa de la mejor
forma posible.

Por otra parte el programa le falta poder modificar la


cantidad de datos después de ingresados algunos de
los números

También podría gustarte