Está en la página 1de 36

SERVICIO NACIONAL DE APRENDIZAJE SENA

ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287


Proyecto de formacin Diseo y construccin de software a la medida para el
sector empresarial
Fase II Anlisis

LABORATORIO I Algoritmos en DFD


ANDRS MAURICIO MNDEZ MNDEZ
2015

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

ALGORITMOS A DESARROLLAR
Disear 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 inters del 2% mensual, capitalizado mensualmente.
Cul ser el saldo al cabo de 5 aos?
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 Cul ser el saldo al cabo de 5 aos?, si
deposita hoy cierta cantidad de dinero. Como resultado se debe imprimir en
pantalla:
Valor consignado: $XXXXX
Valor futuro en 5 aos: $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 versin 1.2, la realice haciendo uso de un ciclo
para, en el cual incremento el valor del inters al valor inicial, durante los
5 aos (12 meses * 5 aos).
Al final en ambas versiones el algoritmo da el mismo
resultado, ingresando cualquier valor.
Podrimos mostrar el resultado solo la parte entera con la
funcin DFD trunc, sin embargo el ejercicio no lo estipula.

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[2]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

DIAGRAMA DE FLUJO

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[3]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[4]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

RESULTADOS

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[5]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

DIAGRAMA DE FLUJO VERSIN 1.2

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[6]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

RESULTADOS VERSIN 1.2

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[7]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[8]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

2. Una frutera 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 frutera y al cliente conocer


cunto 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: $.

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[9]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

DESARROLLO EJERCICIO 2
El presente ejercicio se realiza mediante el uso de
condiciones anidadas, a fin de establecer y aplicar el descuento
pertinente.

DIAGRAMA DE FLUJO

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[10]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[11]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

RESULTADOS

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[12]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

3. Dada la siguiente funcin: 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 mltiplos de 3.
c) Suma de los valores de Y mltiplos de 3.
d) Valores de Y cuyo ltimo digito sea 5.
e) Suma de los valores de Y cuyo ltimo digito es 5.
Resultados esperados:
a. Suma de todos los valores de Y: 275
b. Valores de Y mltiplos de 3:
3
15
24
48
63
c. Suma de los valores de Y mltiplos de 3: 153
d. Valores de Y cuyo ltimo digito es 5:
Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[13]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

15
35
e. Suma de los valores de Y cuyo ltimo digito es mltiplo de 5: 50

DESARROLLO EJERCICIO 3
Hay que mencionar, es que por alguna razn el
programa DFD, presento fallas al ejecutar el algoritmo lo que llevo a
tener que desarrollarlo 2 veces, por tal razn especifico cada
elemento del DFD a continuacin.

DIAGRAMA DE FLUJO

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[14]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

DESARROLLO PASO A PASO


Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[15]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Creacion e iniciacin 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 . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[16]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

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.

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[17]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Creo
un
arreglo
y(),
asignandole en la posicion
y(x)
el resultado de la
funcin, 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)

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

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[18]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

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 desicin residuo3=0, es
para determinar si el numero
es multiplo de 3.

Si al efectuar en la anterior
asignacin:

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 . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[19]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Si se cumple la condicin
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

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[20]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

La desicin residuo5=0, es
para determinar si el ultimo
digito es 5.

Si al efectuar la siguiente
operacin:

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 . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[21]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

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 . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[22]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Informamos
que
mostraremos los valores de
Y multiplos de 3

Realizmos un para que inicie


en I = 1, hasta el valor del
contador3-1
incrementandose de 1 en 1
para recorrer el arreglo
resultados3()

Resto 1 a contador3 porque


este viene incremetnado en 1
en un ciclo anterior.

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[23]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

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
Informmos que mostraremos
los valores de Y cuyo ultimo
digito sea 5

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[24]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Creamos un ciclo para


recorrer
el
arreglo
resultado5(), que inicie en
j=1 hasta el valor del
contador5-1 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)

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 ejecucin

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[25]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

RESULTADOS

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[26]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[27]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[28]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[29]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[30]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[31]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

4. Desarrollar un algoritmo que lea un nmero N entero positivo de cualquier


nmero de dgitos, calcule la suma de sus dgitos y que imprima en pantalla el
nmero ledo y la suma de sus dgitos. Se requiere que en el desarrollo utilice
la Estructura Cclica Mientras.
Ejemplo:
N= 3567
SUMA= 21

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[32]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

DESARROLLO EJERCICIO 4
Este ejercicio es realmente sencillo, hacemos uso de la
funcin MOD que me devuelve el residuo de una divisin en una
variable (var1).
Igualmente usamos la operacin divisin 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 divisin empleamos la funcin 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 nmero digitado, con la condicin: mientras que el
residuo sea diferente de 0.
Sumamos cada digito del numero ingresado y listo.
Final.

DIAGRAMA DE FLUJO

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[33]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

RESULTADOS
Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[34]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[35]

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIN SENA 854287
Proyecto de formacin Diseo y construccin de software a la medida para el sector
empresarial

Fase II Anlisis

Copyright . ANDRS MAURICIO MNDEZ MNDEZ, 2015.

[36]