Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de software a la medida para el
sector empresarial
Fase II – Análisis
LABORATORIO I – Algoritmos en DFD
ANDRÉS MAURICIO MÉNDEZ MÉNDEZ
2015
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
ALGORITMOS A DESARROLLAR
Diseñar y Construir los algoritmos mediante diagramas de flujo utilizando la
herramienta de software DFD, a partir de los siguientes enunciados:
1. Una persona deposita hoy al Banco cierta cantidad de dinero, donde le
reconocen un interés del 2% mensual, capitalizado mensualmente.
¿Cuál será el saldo al cabo de 5 años?
Formula a utilizar:
Valor Futuro = Valor Presente * (1+intereses)^meses
Para solucionar el Ejercicio, se requiere que usted desarrolle un algoritmo que
le permita conocer a una persona ¿Cuál será el saldo al cabo de 5 años?, si
deposita hoy cierta cantidad de dinero. Como resultado se debe imprimir en
pantalla:
Valor consignado: $XXXXX
Valor futuro en 5 años: $XXXXXXX
DESARROLLO EJERCICIO 1 DFD:
→ El presente ejercicio lo desarrolle en dos versiones de manera diferente,
la primera utilizando la formula dada en el enunciado del problema:
Valor Futuro = Valor Presente * (1+intereses)^meses
→ La segunda versión 1.2, la realice haciendo uso de un ciclo para, en el
cual incremento el valor del interés al valor inicial, durante los 5 años (12
meses * 5 años).
→ Al final en ambas versiones el algoritmo da el mismo resultado,
ingresando cualquier valor.
→ Podrimos mostrar el resultado solo la parte entera con la función DFD
“trunc”, sin embargo el ejercicio no lo estipula.
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [2]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
DIAGRAMA DE FLUJO
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [3]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
RESULTADOS
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [4]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
DIAGRAMA DE FLUJO VERSIÓN 1.2
RESULTADOS VERSIÓN 1.2
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [5]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [6]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
2. Una frutería ofrece las manzanas a $4.200 el kilo, con un descuento de
acuerdo a la siguiente tabla:
Desarrollar un algoritmo que le permita a la frutería y al cliente conocer
cuánto pagará un cliente que compre manzanas.
Muestre los resultados así:
La compra de N kilos tiene un valor de $ , pero usted tiene un descuento por
valor de $
, por lo tanto el valor a pagar es: $ .
DESARROLLO EJERCICIO 2
→ El presente ejercicio se realiza mediante el uso de condiciones
anidadas, a fin de establecer y aplicar el descuento pertinente.
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [7]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
DIAGRAMA DE FLUJO
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [8]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
RESULTADOS
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [9]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
3. Dada la siguiente función: Y =
x^2 – 2x
Se requiere desarrollar un algoritmo que imprima en pantalla, para valores de x
desde 1 a 10, lo siguiente:
a) La suma de todos los valores de Y .
b) Valores de Y m últiplos de 3.
c) Suma de los valores de Y m últiplos de 3.
d) Valores de Y c uyo último digito sea 5.
e) Suma de los valores de Y c uyo último digito es 5.
Resultados esperados:
a. Suma de todos los valores de Y : 275
b. Valores de Y
m últiplos de 3:
3
15
24
48
63
c. Suma de los valores de Y
m últiplos de 3: 153
d. Valores de Y
c uyo último digito es 5:
15
35
e. Suma de los valores de Y c uyo último digito es múltiplo de 5: 50
DESARROLLO EJERCICIO 3
→ Hay que mencionar, es que por alguna razón el programa DFD,
presento fallas al ejecutar el algoritmo lo que llevo a tener que
desarrollarlo 2 veces, por tal razón especifico cada elemento del DFD
a continuación.
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [10]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
DIAGRAMA DE FLUJO
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [11]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
DESARROLLO PASO A PASO
Creacion e iniciación de
contadores para el arreglo
(array) que almacenara el
contenido de los valores de
Y.
contador3: (cuenta los
valores de Y cuando son
multiplos de 3)
contador5: (cuenta los
valores de Y cuando el
ultimo digito es 5)
totaly: (variable que sumara
todos los valores de y)
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [12]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
total3: (variable que sumara
todos los valores de y
cuando sean multiplos de 3)
total5: (variable que sumara
todos los valores de y
cuando el ultimo digito sea
5)
Ciclo que se realizara 10
veces para determinar los
valores de Y de 1 a 10.
Empleo la variable x como
contador.
Creo un arreglo y(),
asignandole en la posicion
y( x) el resultado de la
función, x^2 – 2x en donde, x
es el contador del ciclo para
que ira cambiando desde 1
hasta 10.
Igualmente para despejar, 2x
multiplico asi 2 * x.
Asigno a la variable totaly: la
suma del totaly + el valor de
y(x)
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [13]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
residuo3: y(x) MOD 3
En esta variable la asigno el
resultado que me arroja la
funcion MOD al operar el
valor de y(x) con 3.
Y(x) (puede ser 1, 2, 3, 4, 5,
6, 7, 8, 9, 10; dependiendo
del valor de x, es decir del
valor del cotador del ciclo
para).
residuo5: y(x) MOD 10
En esta variable almaceno e
resultado de la funcion MOD
operandola entre 10.
NOTA: MOD, me devuelve el
residuo de una division, por
ejemplo al dividir 15/10 = 1.5
(1 y me sobran 5), es decir 1
de resultado y 5 como
residuo.
La desición residuo3=0, es
para determinar si el numero
es multiplo de 3.
Si al efectuar en la anterior
asignación:
residuo3= y(x) MOD 3
En donde si reemplazamos x
por 3. Al realizar la funcion 3
MOD 3, nos va a guardar en
residuo3 = 0
PORQUE: 3/3 = 1.0 (1 y
sobra 0)
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [14]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Si se cumple la condición
pregunto su y(x) es > 0
continue.
Porque pregunto, porque si
y(x) llega a ser 0 y dividimos
0/3 me va a dar como
residuo 0 es decir MOD = 0.
Lo cual llenaria mi array con
un 0 y 0 no es multiplo de 3.
Si se cumple la condicion
anterior:
Asignamos al arreglo
resultado3(posicion del
contador3) el valor de y(x)
resultado3(contador3) = y(x)
Sumamos los valores de y(x)
en la variable total3
total3= total3+y(x)
Incrementamos el contador3
contador3 = contador3+1
La desición residuo5=0, es
para determinar si el ultimo
digito es 5.
Si al efectuar la siguiente
operación:
residuo5= y(x) MOD 10
En donde si reemplazamos x
por 35. Al realizar la funcion
35 MOD 10, nos va a
guardar en residuo5 = 5
PORQUE: 35/10 = 3.5 (3 y
sobra 5)
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [15]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Asignamos al arreglo
resultado5(posicion del
contador5) el valor de y(x)
resultado5(contador5) = y(x)
Sumamos los valores de y(x)
en la variable total5
Total5= total5+y(x)
Incrementamos el contador5
contador5 = contador5+1
Imprimimos en pantalla los
resultados:
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [16]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Informamos que
mostraremos los valores de
Y multiplos de 3
Realizmos un para que inicie
en I = 1, hasta el valor del
contador31
incrementandose de 1 en 1
para recorrer el arreglo
resultados3()
Resto 1 a contador3 porque
este viene incremetnado en
1 en un ciclo anterior.
Muestro en patalla los
resultados de resultado3(en
la posicion i)
Recordando que i va ir de 1
hasta el valor del
contador31
Mostramos la suma de los
valores multiplos de 3
Donde la suma de esos
valores la tenemos en la
variable total3
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [17]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Informmos que mostraremos
los valores de Y cuyo ultimo
digito sea 5
Creamos un ciclo para
recorrer el arreglo
resultado5(), que inicie en
j=1 hasta el valor del
contador51 incrementadose
en 1
Resto 1 a contador5 porque
este viene incremetnado en
1 en un ciclo anterior.
Muetro la suma de los
valores de Y cuyo ultimo
digito es 5
Imprimiendo en pantalla el
valor del arreglo
resultado5(j)
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [18]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Mustro la suma de los
valores de Y cuyo ultimo
digito es 5.
Recordando que dicha suma
la hicimos y guardamos en la
variable total5
Final de la ejecución
RESULTADOS
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [19]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [20]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [21]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [22]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
4. Desarrollar un algoritmo que lea un número N entero positivo de cualquier
número de dígitos, calcule la suma de sus dígitos y que imprima en pantalla el
número leído y la suma de sus dígitos. Se requiere que en el desarrollo utilice
la E
structura Cíclica Mientras.
Ejemplo:
N = 3567
SUMA = 21
DESARROLLO EJERCICIO 4
→ Este ejercicio es realmente sencillo, hacemos uso de la función MOD
que me devuelve el residuo de una división en una variable (var1).
→ Igualmente usamos la operación división para que nos devuelva el
resultado de la misma en una variable(var2).
Aquí hay que tener en cuenta que para almacenar la parte solo
entera de una división empleamos la función trunc. “trunc(numero /
10)”
→ Sabiendo que al dividir 5354 / 10 nos va a dar como resultado 535 y
como residuo (MOD) 4, es decir su última cifra
→ Realizamos un mientras para que recorra cada una de las cifras del
número digitado, con la condición: mientras que el residuo sea
diferente de 0.
→ Sumamos cada digito del numero ingresado y listo. Final.
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [23]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
DIAGRAMA DE FLUJO
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [24]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
RESULTADOS
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [25]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [26]
SERVICIO NACIONAL DE APRENDIZAJE SENA
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN SENA – 854287
Proyecto de formación Diseño y construcción de so├ware a la medida para el sector empresarial
Fase II – Análisis
Copyright ©. ANDRÉS MAURICIO MÉNDEZ MÉNDEZ, 2015. [27]