You are on page 1of 82

ESCUELA DE CIENCIAS BSICAS E INGENIERA

ASIGNATURA: Introduccin al Desarrollo del


Software



CORPORACIN UNIVERSITARIA REMINGTON
DIRECCIN PEDAGGICA


Este material es propiedad de la Corporacin Universitaria Remington (CUR), para los estudiantes de la CUR
en todo el pas.


2011


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 5
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

CRDITOS

El mdulo de estudio de la asignatura Introduccin al Desarrollo del Software es propiedad de la Corporacin
Universitaria Remington. Las imgenes fueron tomadas de diferentes fuentes que se relacionan en los derechos de
autor y las citas en la bibliografa. El contenido del mdulo est protegido por las leyes de derechos de autor que rigen al
pas.

Este material tiene fines educativos y no puede usarse con propsitos econmicos o comerciales.

AUTOR
Csar Augusto Jaramillo Henao
Tcnico en Programacin de Computadores
Corporacin universitaria Remington Tcnico Especializacin en Redes de Datos Corporacin universitaria Remingto1994
Tecnlogo en Sistemas Corporacin Universitaria Remington1997 Laboral Universidad de Antioquia Digitador1994
Convenido UdeA Municipio de MedellnDigitador1995 Corporacin Universitaria Remington Docente1996
Cesar.jaramillo@remington.edu.co

Nota: el autor certific (de manera verbal o escrita) No haber incurrido en fraude cientfico, plagio o vicios de autora; en
caso contrario eximi de toda responsabilidad a la Corporacin Universitaria Remington, y se declar como el nico
responsable.

RESPONSABLES
Director de la Escuela de Ciencias Bsicas e Ingeniera
Dr. Mauricio Seplveda

Director Pedaggico
Octavio Toro Chica
dirpedagogica.director@remington.edu.co
Coordinadora de Medios y Mediaciones
Anglica Ricaurte Avendao
mediaciones.coordinador01@remington.edu.co

GRUPO DE APOYO
Personal de la Unidad de Medios y Mediaciones
EDICIN Y MONTAJE
Primera versin. Febrero de 2011.
Derechos Reservados


Esta obra es publicada bajo la licencia CreativeCommons. Reconocimiento-No Comercial-Compartir Igual 2.5 Colombia.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 6
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

TABLA DE CONTENIDO


1. MAPA DEL MDULO ...................................................................................................... 7
2. UNIDAD 1 EVOLUCIN DEL PC Y SISTEMAS NUMRICOS Y DE ALMACENAMIENTO .......... 8
2.1. Un poco de historia en la evolucin del PC ............................................................................. 8
2.2. Medidas de Almacenamiento y Conversiones ...................................................................... 10
2.3. Sistemas numricos y Conversiones ..................................................................................... 14
2.3.1. Conversin ............................................................................................................................. 15
2.3.2. Actividad ................................................................................................................................ 21
3. UNIDAD 2 ALGORITMIA Y HERRAMIENTAS LDICAS ..................................................... 22
3.1. Conceptos bsicos de algoritmia ........................................................................................... 22
3.2. Ejercicios Ldicos ................................................................................................................... 24
3.2.1. Kakuro ................................................................................................................................... 40
3.2.2. Tangram ................................................................................................................................ 45
3.2.3. Hanoi ..................................................................................................................................... 51
3.2.4. Ejercicios por temas .............................................................................................................. 58
3.2.5. Actividad ................................................................................................................................ 60
4. UNIDAD 3 TIPOS DE PROGRAMACIN E INTRODUCCIN AL UML .................................. 61
4.1. Tcnicas de desarrollo ........................................................................................................... 61
4.1.1. Orientados Procedimientos: ................................................................................................. 61
4.1.2. Orientados a Objetos: ........................................................................................................... 66
4.1.3. Orientados a Aspectos: ......................................................................................................... 74
4.2. Introduccin al UML .............................................................................................................. 75
4.3. Relacin con otros temas ...................................................................................................... 84
4.4. Fuentes .................................................................................................................................. 85


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 7
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


1. MAPA DEL MDULO





































UNIDAD 1
Comprender procesos
conceptuales y prcticos que
fortalezcan los conceptos
propuestos de una forma clara y
precisa.
UNIDAD 2
El manejo de herramientas ldicas
promover el manejo dinmico y
practico de los procesos, haciendo
de los conceptos ms receptivos y
prcticos dentro de
reprogramacin
UNIDAD 3
Proporcionar herramientas de
anlisis, recursividad, casos de uso
comn, mtodos de trabajo, nos
lleva a un tema conceptual que
afianza los conocimientos y
permite la exploracin de otros
INTRODUCCIN AL DESARROLLO DEL SOFTWARE

Como propsito principal del rea, se tiene el complemento de temas relacionados con reas lgicas, lenguajes
de programacin y de toma de decisin, dando una visin global a todos los puntos principales de la carrera,
orientado su propsito, alcances y logros durante los prximos semestres que dure esta.

OBJETIVO GENERAL

Conocer los detalles pormenorizados del mundo del desarrollo del software, ingresando en detalles que permitan
un conocimiento y unas bases fuentes que nos den la visin de uso, el alcance y las limitantes del mundo del
desarrollo, su potencialidad y su aplicacin en la sociedad.

OBJETIVOS ESPECFICOS
Unidad I
Conocer las diferentes etapas de la evolucin del PC, los grandes cambios sufridos a travs de la historia, el aporte a la
sociedad y su uso cotidiano, adems de ver los diferentes sistemas numricos y de almacenamiento con sus principales
casos de uso en conversin de estos, teniendo presente su aplicabilidad.
Unidad II
Dar a conocer el arte de la algoritmia, transmitido como ciencia de propsitos lgicos, que permiten el uso
de herramientas que nos determinen el modo de proceso de la informacin en el PC, sus condiciones ms
comunes y los propsitos de recursividad en la utilizacin de opciones ldicas que dentro de un carcter
tradicional apliquemos como mtodo de ayuda y fortalecimiento de los conceptos propios y de la carrera.
Unidad III
Desarrollar habilidades propias del desarrollo del software partiendo de los diferentes mtodos utilizados
en los lenguajes de programacin, determinando los procesos ms ptimos de cada uno de ellos, sus
caractersticas ms fuertes, la actualidad y el futuro de los lenguajes, complementado con metodologa
nueva como es el Lenguaje de Mdulos Unificados que se ha convertido en un estndar en la programacin
mundial.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 8
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


2. UNIDAD 1 EVOLUCIN DEL PC Y SISTEMAS NUMRICOS Y DE
ALMACENAMIENTO

OBJETIVO GENERAL

Conocer las diferentes etapas de la evolucin del PC, los grandes cambios sufridos a travs de la
historia, el aporte a la sociedad y su uso cotidiano, adems de ver los diferentes sistemas
numricos y de almacenamiento con sus principales casos de uso en conversin de estos, teniendo
presente su aplicabilidad.

OBJETIVOS ESPECFICOS

Conocer un poco de historia del PC, en sus cambios ms significativos
Establecer los tipos de almacenamiento, con sus respectivos procesos de conversin
Determinar cules son los sistemas numricos en los que el pc descarga su modo de
operacin de los datos y las direcciones de ubicacin de estas.

Prueba inicial

Que es un sistema?
Que es sistematizar?


2.1. Un poco de historia en la evolucin del PC

La historia de los sistemas computacionales se remonta los aos 40s, durante la segunda guerra
mundial, no sin antes mencionar que estos procesos se venan realizando aos atrs, es en esta
poca donde se presentan los grandes avances en esta rea, con sistemas de cmputo como el
Colossus, y su funcin inicial era decodificar mensajes de radio cifrados de los alemanes, en la
misma dcada en los Estados Unidos un grupo de cientficos desarrollo un sistema calculador e
integrador numrico que se bautiz como el ENIAC, este fue uno de los primeros sistemas ms
populares, pese a su tamao y limitantes es considerado por muchos como el inicio de este tipo de
mquinas.

En los aos 50s, aparecen los transistores, que eran componentes ms pequeos, ms rpidos y
verstiles que sus antecesores, los tubos al vaco, estos permitan uso de menor energa y su vida
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 9
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

til era mucho ms larga que los tubos, para este entonces se tom el nombre de ordenador o
computadoras de segunda general.

A principios de los aos 60s, aparecen los circuitos integrados, esto facilito la fabricacin de
transistores y el espacio, y el valor era mucho ms asequible para las industrias que los requeran,
ms adelante los microprocesadores aparecen en la dcada de 1970, esto ahorro mucho ms los
costos y la fabricacin de componentes y equipos, aunque su costo era an elevado el tamao era
considerablemente ms pequeo se sus antecesores.

En 1964, aparece por primera vez el termino PC por sus siglas de Computador Personal), y se
obtuvo la primera patente con este nombre para identificar este tipo de dispositivos.

En la dcada del 80, es donde se dispara el concepto de PC en el mercado, cuando IBM, y su
competidor ms cercano Apple, crean de manera muy similar equipos que pueden ser
transportados y manejados por una persona desde su hogar, en este momento Microsoft, ya ha
prestado a IBM el sistema Operativo D.O.S, que se promueve y se populariza en este tipo de
equipos electrnicos.

Estos dispositivos tienen un crecimiento constante hasta 1995, cuando Microsoft lanza al mercado
el sistema operativo Windows 95, y se tiene un cambio en todos los aspectos informativos,
haciendo que sean ms asequibles, ms econmicos, las livianos y de mayor facilidad de uso, tanto
en tareas de oficina, juegos, herramientas de comunicacin, la propagacin de internet, la
comuniones entre usuario de distintas partes del mundo, este crecimiento ha sido constante
durante los ltimos aos y a ha permitido que en cambio en la informtica sea muy drstico en
comparacin con sus aos previos.

Posterior a este gran lanzamiento aparecen otros sistemas operativos con mayor o menor
aceptacin como fueron Windows 98, Windows Milenium Edition que no tuvo xito en el
consumidor, luego aparece Windows 2000, Windows XP, Windows 2003, Windows vista con
muchas crticas por su desempeo, aparece Windows 2008 y Windows 7. Todos estos han sido
parte de la evolucin del sistema operativo por parte de Microsoft, sin descuidar su rival de los
aos 70s y 80s, Apple, que tiene un sistema operativo grafico desde 1984, cosa que Microsoft
alcanzo en 1995, esta empresa que ha evolucionado en mercado con sus productos exclusivo sigue
a la vanguardia de creaciones novedosa, como son en los ltimo aos el IPod, IPhone, Ipad, y otros
tantos que han hecho del mercado un gran fortn en la evolucin de dispositivos electrnicos.

Los cambios ms significativos que se han presentado en los ltimos aos han sido sin lugar a
duda, el acceso a internet, las redes sociales, la mayor cercana con dispositivos, al punto que el
telfono celular hace parte de esta tecnologa por su uso y alcance, la mezcla de componentes
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 10
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

como telfono, cmara fotogrfica, cmara de grabacin de videos, agenda, navegacin a internet,
chat y otros muchos recursos que han hecho que sea casi que indispensable en su portabilidad.

Otro aspecto destacado ha sido sin duda, el software, esta componente lgico hace parte
fundamental del manejo del PC, y ha tenido grandes retos partiendo de los sistemas operativos en
los que hemos mencionado solo por parte de Microsoft, hay que tener presente que existen
muchas ms fabricantes y variedad de estos, dentro los que podemos mencionar el Macintosh,
sistema operativa de Apple, Linux, que hace parte de una gran comunidad de software libre,
Solaris, creado especialmente para grandes dispositivos de industria como el internet, creado por
Sun Microsistema,, pero adems existe software ofimtico, como el Office, el Corel Word Pro, el
Lotus, y de ah de depende una gran cantidad de utilidades partiendo de juegos, herramientas de
comunicacin, de reparacin , de recuperacin, cada vez ms encontramos herramientas de
prevencin y seguridad, entretenimiento, lenguajes de programacin y software a la medida de las
empresas segn su necesidad.

2.2. Medidas de Almacenamiento y Conversiones

Durante toda la historia del PC, ha existido la necesidad de almacenar la informacin procesada en
el, en algn momento esta informacin era voltil, posteriormente se presentaron las tarjetas
perforadas, los discos duros, los discos flexibles, las unidades pticas y las memorias porttiles,
todas ellas de gran ayuda desde el inicio de los computares hasta nuestros das, y encontramos
una variedad creciente de estos dentro de los cuales podemos destacar.

Bit
Unidad mnima de procesamiento conformada por un impulso que puede ser 1 o 0

Byte
Unidad mnima de almacenamiento, representa un carcter y se conforma por 8 bits, una
secuencia de 1 o 0, ejemplo 01000001

Kilo byte (KB)
Es equivalente a 1024 bytes o caracteres

Mega byte (MB)
Es equivalente a 1024 KB

Giga byte (GB)
Es equivalente a 1024 MB
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 11
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Tera byte
Es equivalente a 1024 GB

Peta byte
Es equivalente a 1024 TB

Exa byte
Es equivalente a 1024 PB

Zetta byte
Es equivalente a 1024 EB

Yotta byte
Es equivalente a 1024 ZB

Estas son las medidas de uso de almacenamiento ms comunes, dentro del PC, o computador
personal existen limitantes con estas medidas, pero en otros sectores de la industria es muy
comn hablar de todas estas, a nivel de PC, se pueden mencionar dispositivos como la memoria
RAM, que puede almacenar hasta GB, discos duros que puede almacenar hasta TB, unidades
pticas pueden almacenar desde MB hasta GB, al igual que las memorias porttiles.

La Aplicacin de estas unidades es muy variada, en este curso se presentaran ocasiones de
conversin entre diferentes tipos de ellas.

Convertir
Segn la necesidad del usuario de almacenar datos en distintos dispositivos se deben tener
presente que pasar de una unidad pequea a una ms grande implica divisin(es) para obtener el
resultado esperado, si por el contrario se desea convertir de valores grandes a pequeos estos se
multiplican por la unidad en comn que es presenta que es 1024.

Ejemplo
Pasar 24 GB a KB

El paso de esta unidad equivale que de una unidad grande como son los GB pasamos a una
pequea como son los KB, esto implica que existe una multiplicacin de valores

24 x 1024 = 24.576 MB, como se nos indica que es KB debemos de multiplicar nuevamente el valor
para obtener el resultado esperado.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 12
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


24.576 MB x 1024 = 25.165.824 KB
Este sera el resultado esperado para este punto en particular

Ejemplo

Pasar 125.908.854.098 KB a TB
En este caso estamos pasando de una unidad pequea como es el KB a una unidad grande como
es el TB, esto implica divisiones para obtener el resultado esperado

125.908.854.098 KB / 1024 = 122.957.865, 33 MB

120.076,04 MB / 1024 = 117, 26 GB

117, 26 GB / 1024 = 0.11 TB

Estos son los tipos de conversin ms comunes pero se presenta la necesidad de convertir segn
el medio de almacenamiento que se requiera

Ejemplo

Se desea almacenar 1.2 GB en unidades pticas de 210 MB, cuntas de estas unidades se
requieren.

1.2 GB x 1024 = 1.228.8 MB

1.228.8 / 210 = 5.85 dispositivos pticos

Respuesta 6 dispositivos pticos de 210 MB

Ejemplo

204 CDs de 700 MB se desean almacenar en DVDs de 4.7 GB, cuntos de estos DVDs se
requieren.

204 x 700 = 142.800 MB

142.800 MB / 1024 = 139.45

139.45 / 4.7 = 29.67
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 13
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Respuesta 30 DVDs de 4.7 GB

Adems de este tipo de conversiones es muy comn encontrarnos que deseamos descargar
informacin de la web, y requerimos conocer sea tiempo, tamao del archivo o velocidad de
descarga, esto implican clculos similares a los anteriores.

Ejemplo

Se desea descargar un archivo de 5 GB a una velocidad Constante de 103 KB/s, indique el tiempo
en horas de la descarga de dicho archivo

Para este tipo de casos encontraremos unas unidades comunes para cualquier tipo de operacin
similar, si hablamos de tamao este debe ser especificado en KB y si se mencionan tiempos o
duracin esta se expresa en Segundos

5 GB x 1024 = 5.120 MB

5.120 MB x 1024 = 5.242.880 KB

Teniendo el valor del archivo en KB, se procede a determinar los tiempo de descarga, partiendo de
que existe una velocidad Constante de 103 KB/s

5.242.880 / 103 = 50.901 Segundos se tarda este archivo en descargar

50.901 / 60 = 848 Minutos

848 / 60 = 14.13 Horas es el tiempo de descarga del archivo de 5 GB

Ejemplo

Se descarga un archivo en 14 horas, 32 minutos 56 segundos, a una velocidad Constante de 154
KB/s, cual es el peso del archivo descargado en GB.

Como las unidades en comn son KB y Segundos, para este caso debemos hallar los segundos que
tarda la descarga.

14 x 60 = 840 Minutos

840 x 60 = 50.400 Segundos
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 14
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


32 x 60 = 1.920 Segundos

50.400 + 1.920 + 56 = 52.376 Segundos en tiempo total

52.376 x 154 = 8.065.904 KB

8.065.904 / 1024 = 7.876.85 MB

7.876.85 MB / 1024 = 7.69 GB

Ejemplo

Se descarga un archivo de 240 MB, en 1 hora, 27 minutos, 23 segundos, cual fue la velocidad
promedio de descarga de este archivo.

240 MB x 1024 = 245.760 KB

1 x 60 = 60 Minutos

60 x 60 = 3600 Segundos
27 x 60 = 1.620 Segundos

3600 + 1620 + 23 = 5.243 Segundos es el tiempo de descarga

245.760 / 5243 = 46.87 KB/s

2.3. Sistemas numricos y Conversiones

Dentro de la informtica es muy comn escuchar el tema de los sistemas numricos como
herramienta de funcionamiento del PC, tngase en presente que todo lo que interpretan los
sistemas de cmputo son nmeros, independientemente que esta informacin este representada
en imgenes, videos, msica, texto, juegos, o cualquier otro tema, aunque existen varias capas
para esto son 4 los sistemas ms comunes dentro del manejo computacional.

Binario
Sistema con base 2, conformado por 1 y 0

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 15
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Octal
Sistema con base 8, conformado por valores que van de 0 a 7

Decimal
Sistema con base 10, conformado por valores que van de 0 a 9

Hexadecimal
Sistema con base 16, conformado por valores que van de 0 a 9 y de A a F

Si tomamos como ejemplo casos comunes como representar el smbolo @ mediante sistema
numrico, en muchas ocasiones encontramos que para suplir este carcter dentro del teclado
utilizamos Alt + 64 = @, este nmero 64 pertenece a un grupo de caracteres denomina ASCII, que
comprende los 256 caracteres especificados para el manejo de informacin del PC, estos van del 0
al 255 y representan caracteres en mayscula y minscula, nmeros y smbolos.

Pero este valor 64 no es reconocido internamente por el PC, que para ser interpretado
adecuadamente deber convertirse en binario para su uso correcto.

El sistema binario es una secuencia de nmeros que contiene unos y ceros, as;
1000000, todos los valores que se manipulan internamente para ser interpretados por el PC sufren
esta transformacin

2.3.1. Conversin

Decimal a Binario

Para pasar decimales a binarios, se realizan divisin sucesivas por 2, sin tener en cuenta los
decimales hasta que el divisor sea 0, luego se toman los resultados del ltimo al primero formando
una secuencia de valores de izquierda a derecha.

Ejemplo
Convertir el valor 89 de decimal a binario

89 / 2 = 44 Residuo 1
44 / 2 = 22 Residuo 0
22 / 2 = 11 Residuo 0
11 / 2 = 5 Residuo 1
5 / 2 = 2 Residuo 1
2 / 2 = 1 Residuo 0
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 16
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

1 / 2 = 0 Residuo 1

Observemos que en todos los resultados de residuo esta conformado por unos por ceros, teniendo
esta operacin terminada procedemos a ubicar los valores 1011001 y obtenemos esta cifra.

Binario Decimal
Para convertir valores de binario a decimal, existen varios mtodos, uno de ellos es elevar a base
2, y tener presente que solo se suman los valores que contengan en binario un uno, esta base
inicia con el valor mas a la derecha de la seria y termina en el mas a la izquierda de este.

2
6
2
5
2
4
2
3
2
2
2
1
2
0

1 0 1 1 0 0 1

64 32 16 8 4 2 1

En la primera fila obtenemos la base 2 elevado al valor de 0 a la N, en la segunda fila los valores
referentes al binario que se desea convertir, en la cuarta fila, los valores equivalentes a la base 2 a
la N, para obtener el valor real oculto dentro de este binario realizamos la suma de los valores que
contienen 1 en el binario

1 + 8 + 16 + 64 = 89

Conversin a sistema Octal

Para las conversiones de los 2 sistemas numricos faltantes existen mltiples formas, para un
mayor aprovechamiento sin hacer uso de procesos complejos se utilizara el mtodo binario como
base de los dems sistemas mencionados

Decimal a Octal
Pasar 294 de decimal a octal
Para esta conversin se realizara de decimal a binario y luego de este a octal

294 / 2 = 147 Residuo 0
147 / 2 = 73 Residuo 1
73 / 2 = 36 Residuo 1
36 / 2 = 18 Residuo 0
18 / 2 = 9 Residuo 0
9 / 2 = 4 Residuo 1
4 / 2 = 2 Residuo 0
2 / 2 = 1 Residuo 0
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 17
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

1 / 2 = 0 Residuo 1

Valor Binario
100100110

Teniendo el valor binario se precede a utilizar la siguiente tabla que ser til tanto para binario a
octal como de octal a binario

4 2 1
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Para realizar la conversin del valor binario, se toman grupos de 3 cifras, de derecha a izquierda y
cada bloque se reemplaza con la tabla antes creada

100 100 110

4 4 6

Este resultado es 446, indicando que esta es la equivalencia de 294 del decimal

Octal a Decimal

Para un valor octal tngase presente que solo se compone con cifras entre 0 y 7

Octal 4567

Para la conversin de este a decimal, primero se convierte a binario, para esto tomamos cada cifra
del nmero octal y se reemplaza con la tabla antes mencionada.

4 5 6 7

100 101 110 111
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 18
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


El resultado de este valor es
100101110111

Teniendo este valor convertido procedemos a pasarlo a decimal

1 0 0 1 0 1 1 1 0 1 1 1
2
11
2
10
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0

2048 1024 512 256 128 64 32 16 8 4 2 1

Para finalizar se suman los valores de la potencia y el valor del binario es uno
1 + 2 + 4 + 16 + 32 +64 + 256 + 2048 = 2423

Hexadecimal

Para estos sistemas nmero que est conformado por nmeros de 0 a 9 y de A a F, se tiene la
siguiente tabla.

8 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 - A 1 0 1 0
11 B 1 0 1 1
12 C 1 1 0 0
13 D 1 1 0 1
14 E 1 1 1 0
15 - F 1 1 1 1

Hexadecimal a Decimal
2F4A
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 19
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Dentro del manejo hexadecimal, se tienen nmeros y letras, es muy comn encontrar valores
como el anterior 2F4A, hay que tener presente que valores como el 10 se representa con la A, el
11 con la B y as hasta el nmero 15 que se representa con la F.

Para pasar este valor de hexadecimal a decimal, primero se pasa a binario y luego al valor
solicitado, esta conversin se realiza seleccionando valor por valor y reemplazando con la tabla
antes vista.

2 F 4 A
0010 1111 0100 1010
Valor en binario es 0010111101001010

Si se desea convertir este valor binario a decimal se procede de la manera tradicional de elevar 2 a
la n.
0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0
2
15
2
14
2
13
2
12
2
11
2
10
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0

32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

2 + 8 + 64 + 256 + 512 + 1024 + 2048 + 8192 = 12106

Hexadecimal a Octal

Pasar FF9 a Octal

F F 9
1111 1111 1001

Valor en binario
111111111001

Paso a octal

111 111 111 001
7 7 7 1

Resultado de pasar
FF9 de hexadecimal a Octal es 7771

Pasar de Octal a Hexadecimal
3541
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 20
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


3 5 4 1
011 101 100 001

Resultado en binario
011101100001

Para pasar de binario a hexadecimal, selecciona grupos de cuatro dgitos y los reemplaza con la
tabla.

0111 0110 00001
7 A 1

Resultado de pasar 3541 de octal a hexadecimal es 7 A 1

Ejercicios por temas

Determinar la etapa en la que aparecen los primos sistemas tctiles, y los discos de estado
solido

Convertir

Pasar el contenido de 14 memorias USB de 32 GB a CDs de 700MB, cuantos se requieren
Convertir 4958F de Hexadecimal a Octal, Binario y Decimal

Prueba Final

Se descarga un archivo de 15 GB a velocidad inconstante, determinar el tiempo de descarga en
horas
Velocidades KB/s

Porcentaje Velocidad
4% 59
15% 104
13% 62
2% 150
7% 93
9% 89
11% 75
8% 110
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 21
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

12% 99
13% 45
6% 61

2.3.2. Actividad
Convertir

Bin Oct Dec Hex
11001
11001
11001
11001


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 22
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


3. UNIDAD 2 ALGORITMIA Y HERRAMIENTAS LDICAS

Objetivo General

Dar a conocer el arte de la algoritmia, transmitido como ciencia de propsitos lgicos, que
permiten el uso de herramientas que nos determinen el modo de proceso de la informacin en el
PC, sus condiciones ms comunes y los propsitos de recursividad en la utilizacin de opciones
ldicas que dentro de un carcter tradicional apliquemos como mtodo de ayuda y
fortalecimiento de los conceptos propios y de la carrera.

Objetivos especficos

Conocer las caractersticas ms importantes de la algoritmia como herramienta de control,
creatividad y recursividad
Desarrollar habilidades lgicas, mediante juegos poco tradicionales que ayuden a recrear
alternativas propias de la informtica, tales como la creatividad y la bsqueda de
alternativas para dar solucin a situaciones problemicas.

Prueba Inicial

Determinar los procesos iniciales ms notorios dentro del desarrollo de software

3.1. Conceptos bsicos de algoritmia

La algoritmia vista desde punto de ciencia que nos propone la lgica que se debe aplicar a
diferentes situaciones problemicas computacionales, tiene una serie de etapas bsicas para su
desarrollo y complemento para reas afines dentro de la carrera.
Toda esta ciencia tiene uno pasos que son y sern fundamentales durante toda la vida profesional
del desarrollador.

Planteamiento del problema

Consiste en una conversacin simple, en la que se especifica que se tiene y que se quiere
solucionar o mejorar, es quizs la etapa ms importante porque determinamos cuales son las
caractersticas del entorno, las entradas de la informacin y los resultados esperados.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 23
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Anlisis de la propuesta
Despus de tener el planteamiento, nos centramos en analizar esta situacin, determinar todos
sus pormenores, sus caractersticas, su beneficio, este anlisis nos permitir llegar a conclusiones y
realizar posiblemente un nuevo planteamiento ms cercano a la parte computacional y ver
diferentes alternativas de solucin.

Desarrollo del problema
Cuando se tiene un anlisis muy centrado, y enfocado en una tarea particular, se puede iniciar el
proceso de desarrollo o darle solucin a la propuesta inicial, de esta se desprendern algunas
caractersticas bsicas dentro de los algoritmos como pueden ser, la informacin que entra, la
informacin que se procesa, y la informacin que sale, el desarrollo puede contener mltiples
mtodos y mltiples herramientas que permitan hacer un proceso ms dinmico.

Codificacin

Si el problema tiene como condicin sistematizar computacionalmente, este pasa a la codificacin,
que no es otra cosa que interpretar el desarrollo anterior y plasmarlo en papel con todas las
caractersticas previamente expresadas, esta codificacin ya est interpretada mediante un
lenguaje de programacin, que tiene su normas y mtodos de trabajo muy similares a las de el
algoritmo creado.

Digitacin

La digitacin es el mtodo de pasar la informacin a un editor de un lenguaje de programacin,
donde se buscaran opciones y alternativas prcticas para hacer del problema una forma fcil y gil
de operar, esta digitacin se realiza con comando e instrucciones propias que dependen del
lenguaje y se interpretara por el PC y mostrar los procesos especficos.

Compilacin

Terminada la digitacin, el paso siguiente es compilar, este es un proceso interno del lenguaje que
determina si lo digitado est dentro de las normas y las caractersticas del lenguaje de
programacin, esta verificacin se encargara bsicamente de las sintaxis ms no de la lgica del
programador.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 24
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Ejecucin

Esta etapa es la que permitir ver el programa funcionando, se realiza en primeras etapas con el
fin de ver la lgica funcionando del programa, recuerde que la compilacin solo se encarga de la
sintaxis, mas no de lgica, cuando se ha probado la lgica, ingresando, procesando y obteniendo
resultados, ya se podr considerar un programa.

Hay que tener presente que esta no es la ltima etapa, existe varios mtodos adicionales que
complementan esta tarea, como pueden ser el desarrollo grafico que permitir dar una
presentacin, distribucin, color, fondos, tipos de letra, tamaos de esta, etc., y la opcin de
validacin que se encargara de control todos los procesos que tengan un ingreso correcto con el
fin de determinar un correcto funcionamiento del programa solucionado.

Esta ltima etapa ser fundamental para cualquier tipo de aplicativo desarrollado, pues con el
tendremos la certeza de controlar todo lo que el usuario ingrese y que los resultado sean los
esperados y no un conjunto de errores que no se tenan presupuestados.

Este conjunto de opciones harn del desarrollo una tarea completa, que con el tiempo y la
experiencia se irn depurando y realizando cada da mejores opciones.

3.2. Ejercicios Ldicos

Las herramientas ldicas, tiene por objetivo desarrollar, afianzar, mejorar las condiciones lgicas
del individuo, con el fin de tener mejores amas de trabajo cuando esta se enfoque en conceptos
computaciones, la relacin de esto es LOGICA, no solo de desarrolla est al frente de un PC, sino
que se tiene opciones del comn que permitirn este desarrollo apropiado.

Sudoku
Es Sudoku, es un juego que tomo su podero en Japn a principio de los aos 80s, es una matriz de
9 x 9, (el formato ms clsico de este juego), y consiste en una coleccin de 9 filas, 9 columnas, y 9
reas ms pequeas, en las que no se deben de repetir nmero, smbolos o letras, la forma ms
tradicional se trabaj con nmeros del 1 al 9, estos no se deben de repetir en ninguna forma en las
filas o en las columnas y en los cuadros ms pequeos, tiene por condicin adicional que el
resultado es nico, y de ninguna manera se podrn presentar 2 con los mismos nmeros y distinto
resultado.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 25
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



En este primer grafico observamos que es un cuadrado de 9 x 9 filas y 9 cuadros enmarcados, si se
observa detenidamente aparecen una serie de nmeros que nos darn una gua, de que nmeros
falta por ubicar, a mayor cantidad de nmeros en el tablero inicial, ser ms sencillo la bsqueda
del resultado definitivo, y al contrario, a medida que este tenga menos nmeros su solucin ser
ms compleja.

Para iniciar la solucin de este ejemplo, tendremos que observar detenidamente cada nmero y su
comportamiento dentro del tablero.

Como los nmeros no se pueden repetir, observemos en la primera fila esta el 1, pero en la
segunda y la tercera no est en ninguna posicin, este no sera un nmero ideal para iniciar.
Lo mismo sucede con el nmero 2, el nmero 3, 7, y 9, no seran nmero que permitan la solucin
inmediata de estos valores.

Si observamos el nmero 8, este se encuentra en la segunda fila y tercera fila, nos indica que se
podra colocar en la primera fila, en el tercer cuadro pequeo, observemos el grafico.



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 26
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

El rea en gris, nos indican la posicin donde debera estar el nmero 8, pero existe una dificultad,
al existir 2 posibilidades es complejo indicar cul es el correcto, esto nos llevara a que coloquemos
un valor en una posicin equivocada, posteriormente tengamos que iniciar nuevamente el juego.

En el segundo grupo de filas, la 4, 5 y 6 sern ahora nuestro nuevo objetivo de trabajo.

Observemos nuevamente que el nmero 1, 2, 4, 6, 7, 8 y 9 tienen un solo valor en las 3 filas,
situacin que dificulta su solucin, en numero 5 tiene una situacin similar al primer intento que
realizamos.



Iniciamos un nuevo recorrido con las filas 7, 8 y 9, esto nos indica que la solucin de un Sudoku, no
tiene un orden especfico en su solucin.

En este ltimo grupo de filas encontramos dificultades con el nmero 2, 4, y 7, pero podramos
encontrar una posible solucin en el nmero 5, observemos que el nmero 5 se encuentra en la
fila 7, en la fila 8, nos quedara solo la fila 9.



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 27
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Esto nos indicara que el nmero 5 se podra ubicar al lado del nmero 6, pero tenemos
igualmente 2 posibles ubicaciones, si observamos con cuidado, una de estas columnas est
ocupada con el nmero 5 y de esta manera solo nos quedara una posicin por llenar.



Esta es la manera ms apropiada de solucionar este tipo de juegos ldicos, descartando opciones
hasta llenar los espacios vacos.

Con el nmero 6 de las filas 8 y 9 podramos realizar la mismo funcin



Obsrvese que el nmero 6 despus de descartar la fila 8 y 9 nos permite una sola ubicacin la fila
7, este es el ideal para el llenado, debe tener presente que la misma funcin se aplica a las
columnas.

Observemos el resto de la solucin del ejercicio





Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 28
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 6


Nmero 2


Nmero 7


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 29
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 6


Nmero 7


Nmero 7



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 30
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Nmero 2



Nmero 8


Nmero 5



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 31
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Nmero 8



Nmero 1


Nmero 8


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 32
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 8



Nmero 8


Nmero 6


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 33
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 5



Nmero 7


Observe que al final de la fila 3 falta solamente un nmero, el faltante en este caso en el nmero
1, luego de colocar este queda un faltante en el cuadro pequeo.



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 34
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 6



Nmero 7


Nmero 8


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 35
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 1



Nmero 3


Nmero 5


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 36
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Nmero 1





Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 37
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia




Nmero 3


Nmero 4


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 38
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Nmero 2


Nmero 3


Nmero 3

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 39
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Nmero 4


Nmero 2


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 40
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Solucin


3.2.1. Kakuro

El kakuro es otro juego de origen Japons, que nos permite desarrollar habilidades numricas, en
un proceso similar a un crucigrama, este tiene diferentes tamaos y formas y debe de arrojar un
valor que nos pueda ser til tanto en filas y columnas, sus principales condiciones es que solo
acepta valores entre el 1 y el 9 sin repetir por bloque de nmeros.

Este es un ejemplo claro de un kakuro



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 41
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Si se observa con detenimiento, encontramos una serie de nmeros, si el numero aparece en la
parte inferior del cuadro es que en esa columna debe de sumar ese valor, si el valor aparece a al
derecha indica que esa fila debe sumar el valor especificado.
Recomendable a la hora de llenar este tipo de procesos, iniciar con nmeros pequeos es el ideal,
de modo que no existan muchas alternativas de valores que puedan complicar el desarrollo del
ejercicio, ejemplo si tenemos que encontrar 2 valores que sumen 3 solo tendramos dos posibles
combinaciones, 1 y 2 o 2 y 1, esto porque dependiendo de la ubicacin puede interferir con otros
resultados, si el valor buscar es un 5, ya tenemos mayor nmero de combinaciones, 1 y 4, 2 y 3, 3
y 2, 4 y 1.

Resolvamos estos valores inciales.



En este punto resolvimos todos los que en suma horizontal o vertical debe de dar 3, si vemos en
detalle algunos inicial con 1 y otros con 2, es un proceso que se va dando a medida que se tengan
ms nmeros.
Con estos valores ya podemos colocar algunos que solo tienen 2 opciones.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 42
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Estos valores ubicados no tenan ms combinaciones segn el orden especificado al inicio, para los
dems existe un grado de complejidad ms amplio, ya que tenemos que colocar valores que no
interfieran con otros resultados.



En este grafico colocamos la suma de 5, la combinacin que utilizamos es 4 y 1, no se podra la
otra 1 y 4 porque en esa misma fila ya exista este valor (observar fila 3, columna 4)
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 43
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia




En este grafico anterior, se ubican el 6 y al final el 3, (fila 3, columna 4), el nico orden que
tenamos para sumar 16 era este, si observamos el 3 en la columna 3 ya exista.



Al terminar la columna 3, observamos que faltaba un 4 en la fila 4 y un 7 en la penltima fila, y
con esto tenemos la suma de 28 que se nos solicitaba.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 44
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia




Para la columna 5, fila 6, colocamos un 3 para la suma de 5 que se solicita, era la nica
combinacin que tenamos en este caso, porque horizontalmente se solicitaba un 4, y esta solo se
puede realizar con 3 y 1 o 1 y 3.



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 45
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Nos queda solo una casilla por llenar, horizontalmente se solicita la suma de 18 y verticalmente la
suma de 28.

Solucin del Kakuro


3.2.2. Tangram

Tangram es un juego de origen chino, que costa de 7 fichas 5 de ellas triangulos con las que se
pretenden realizar una serie de figuras con la condicional de que no deben sobrar fichas, siempre
se deben de utilizar las 7, dentro de esto tenemos
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 46
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Esta es su forma inicial, observe las 7 fichas conformando un cuadrado, dentro de las opciones que
se tienen se pueden realizar ms de 500 figuras dentro de las que encontramos de forma
representativa las siguientes.








Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 47
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia





















Vamos a darle solucin a una de estas graficas mediante el uso de la herramienta del tangram.



Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 48
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Este grafico est conformado por las 7 fichas del tangram, debemos de ubicarla de la
mejor manera para que tenga la misma forma que la muestra que tenemos.


En este grafico ubicamos uno de los tringulos, para este caso el intermedio en la parte superior.




Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 49
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Luego colocamos el cuadrado en uno de los extremos del tringulo.


Con esta nueva figura le damos forma al cuello de la figura planteada.



Ubicamos el otro triangulo, en este caso uno de los ms grandes de la figura, iniciamos la
construccin del cuerpo.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 50
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia





Solucin del ejemplo.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 51
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



De esta manera, utilizando las 7 fichas, podr armar un sinnmero de grficos, que permitirn el
desarrollo lgico, creativo y recursivo que se requiere en la parte de programacin.

3.2.3. Hanoi
La torre de Hanoi, es una de las ms representativas dentro de los aspectos lgicos por su apoyo a
la recursividad, es un juego matemtico que a medida que se ubican ms discos, estos duplican la
cantidad de movimientos de la opcin anterior, si esta se inicia con 3 discos, los movimientos
mnimos para solucionarla es de 7, pero si se colocan 4 discos su solucin mnima es de 15
movimientos.

Dentro de las normas ms significativas que tiene este juego encontramos que, solo
podremos mover ficha a ficha, se debe formar la torre inicial en uno de los postes
adiciones que se tienen y nunca debe ir un disco grande sobre uno pequeo.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 52
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Podemos observar que consta de 3 torres, en su mxima expresin consta de 8 discos para un
mnimo de movimientos de 255, si este valor se sobrepasa, debemos de intentar hasta disminuir
al mximo la cantidad de movimientos, es una herramienta de aporte a la recursividad de los
procesos.
Recreemos un ejemplo con 4 discos, un mnimo de 15 movimientos.


Movimiento 1

Movimiento 2
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 53
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Movimiento 3

Movimiento 4

Movimiento 5
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 54
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Movimiento 6

Movimiento 7

Movimiento 8
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 55
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Movimiento 9

Movimiento 10

Movimiento 11
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 56
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Movimiento 12

Movimiento 13

Movimiento 14
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 57
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Movimiento 15 (Solucin)


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 58
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


3.2.4. Ejercicios por temas
3.2.4.1 Desarrollar el siguiente Sudoku




Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 59
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


3.2.4.2 Resolver el siguiente Kakuro





Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 60
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Prueba Final

Desarrollar el siguiente tangram




3.2.5. Actividad
Desarrollar la actividad de la torre de hanoi, hasta completar 8 discos.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 61
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


4. UNIDAD 3 TIPOS DE PROGRAMACIN E INTRODUCCIN AL UML

Objetivo General

Desarrollar habilidades propias del desarrollo del software partiendo de los diferentes mtodos
utilizados en los lenguajes de programacin, determinando los procesos ms ptimos de cada uno
de ellos, sus caractersticas ms fuertes, la actualidad y el futuro de los lenguajes, complementado
con metodologa nueva como es el Lenguaje de Mdulos Unificados que se ha convertido en un
estndar en la programacin mundial.

Objetivos especficos

Conocer los diferentes mtodos de programacin, ventajas y desventajas
Identificar las caractersticas ms sobresalientes del entorno UML

Prueba Inicial

Que caractersticas lgicas se deben aplicar a una situacin problemica?

4.1. Tcnicas de desarrollo

4.1.1. Orientados Procedimientos:

Con la programacin procedimental realizamos tareas lgicas en un mismo proceso, archivo o
ambiente lgico, la invocacin de un procedimiento se utiliza para llamar a los subprocesos,
despus estas secuencia son procesada, el flujo de control continua igual despus de la ltima
posicin donde la llamada fue realiza.

La llamada de subrutina sirve para relacionar unos programas con otros y permite modular las
aplicaciones, partiendo estas en dos o ms secciones llamadas procedimientos, subrutinas, o
funciones, segn los casos. Por esta razn los lenguajes de programacin clsica se llaman tambin
procedimentales


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 62
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Ejemplo (pascal)
program enter10 (input,output);
var
suma,dato,conta: integer;
begin
suma:= 0;
conta:= 0;
while conta < 10 do
begin
readln (dato);
writeln (dato);
suma:= suma+dato;
conta:= conta+1;
end;
writeln (' suma de 1o enteros = ', suma);
end.
4.1.1.1 Orientados a Eventos:

En la programacin orientada a eventos es el programador quien especifica la secuencia del
programa, Aunque en la programacin secuencial puede haber intervencin de procesos externo a
l, estas intervenciones ocurrirn cuando el desarrollador lo haya especificado, y no en cualquier
momento como puede ser en el caso de la programacin orientada por eventos.

Existen muchos ambientes de trabajo que permiten este tipo de programacin, aunque los ms
comunes son los ambientes grficos que permiten una gran variedad de opciones en su
programacin, entre ellos podramos mencionar el clic, doble clic, arrastras y soltar, entre otros,
estos son eventos y segn su requerimiento se programan los que se necesiten.

Ejemplo (Visual Basic)

Function Bin(n As Double)
Dim s As String, i As Integer
uu = u(x)
'Print uu
For i = 0 To uu
s = (n Mod 2) & s
t = n / 2
n = Int(t)
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 63
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Next
Bin = s
End Function

Private Sub a_Change()
a = a
End Sub

Private Sub Combo1_Change()
'If Combo1 <> "# of bits" Then a = Combo1
End Sub

Private Sub Command1_Click()
'Print a, Combo1
'If Combo1 <> "# of bits" Then a = Combo1
If Not IsNumeric(x) Then Exit Sub

Dim mm As Double
Mm = Int(x)
e = x - mm
Y1 = Bin(mm)
Y2 = dec(e, a)
Y3 = StrReverse(Y2)
y = Y1 & "." & Y3

'y = length(x)
End Sub

Function u(d)
'v1 = Int(Log(x) / Log(2))
'v2 = Log(x) / Log(2)
'If v1 = v2 Then u = v1
'If v1 <> v2 Then u = v1
u = Int(Log(x) / Log(2))
End Function
Function dec(q, a)
For i = 1 To a
w = q * 2
If Int(w) = 1 Then
dec = 1 & dec
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 64
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

q = w - 1
End If
If Int(w) = 0 Then
dec = 0 & dec
q = w
End If
'Print dec
If q = 0 Then
'Print dec
Exit For
End If
Next i
'Print dec
End Function
Private Sub Form_Load()
a = 8
Option1.Enabled = False
Option2.Enabled = False
Option3.Enabled = False
Option7.Enabled = False
Option8.Enabled = False
Option9.Enabled = False
Option10.Enabled = False
Option11.Enabled = False
Option6.Enabled = False
End Sub

Private Sub Option1_Click()
a = 8
End Sub

Private Sub Option10_Click()
a = 24
End Sub

Private Sub Option11_Click()
a = 30
End Sub

Private Sub Option2_Click()
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 65
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

a = 16
End Sub

Private Sub Option3_Click()
a = 36
End Sub

Private Sub Option4_Click()
Option1.Enabled = False
Option2.Enabled = False
Option3.Enabled = False
Option7.Enabled = False
Option8.Enabled = False
Option9.Enabled = False
Option10.Enabled = False
Option11.Enabled = False
Option6.Enabled = False
'Option5.Enabled = False
Option4.Enabled = True
'Combo1.Enabled = False
a.Enabled = True
End Sub

Private Sub Option5_Click()
'Option4.Enabled = False
a.Enabled = False
Option1.Enabled = True
Option2.Enabled = True
Option3.Enabled = True
Option7.Enabled = True
Option8.Enabled = True
Option9.Enabled = True
Option10.Enabled = True
Option11.Enabled = True
Option6.Enabled = True
Option5.Enabled = True
'Combo1.Enabled = True
End Sub


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 66
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Private Sub Option6_Click()
a = 4
End Sub

Private Sub Option7_Click()
a = 6
End Sub

Private Sub Option8_Click()
a = 12
End Sub

Private Sub Option9_Click()
a = 20
End Sub

4.1.2. Orientados a Objetos:

Est basado en varias tcnicas, incluyendo herencia, modularidad, polimorfismo, reutilizacin,
hilos y encapsulamiento. Su uso se hizo frecuente en los aos 90s. En la Actualidad existen
muchos lenguajes de programacin que integran la orientacin a objetos por su poder y alcance
que tiene y sobre todo por su flexibilidad y reutilizacin.

Es una de las tcnicas ms comunes en la actualidad, por su cercana con el mundo cotidiano y su
potencia, tiene como virtud principal la reutilizacin del cdigo previamente creado, haciendo que
un nuevo aplicativo sea ms fcil de construir por los recursos que se tienen previos, la mayor
parte de los lenguajes modernos sean estos mono plataforma o multiplataforma utilizan esta
tcnica.

Clase: se encarga de definir las propiedades y comportamiento de un tipo de objeto
concreto. La instancia de lectura de estas definiciones y la creacin de unos objetos
nuevos a partir de ellas.
Herencia: Es la facilidad mediante la cual la clase A comparte en ella cada uno de los
atributos y operaciones de B, como si esos atributos, operaciones y procesos se hubieran
definidos en la primera clase A. en este caso se pueden usar los mismos mtodos y
variables publicas declaradas en la clase B.

Objeto: entidad compuesta por n conjunto de propiedades o atributos y de mtodos, los
mismos que a eventos. Es equivalente a los objetos reales del mundo que nos rodea.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 67
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Mtodo: es la parte lgica que se aplica a la programacin en cuestin, en el
desarrollamos todos los procesos que el aplicativo requiere, est asociado a un objeto,
pero la ejecucin de este solo se mediante un "mensaje". Un mtodo puede producir un
cambio en las propiedades del objeto, o la generacin de un "evento" con un nuevo
mensaje para otro objeto del sistema.

Evento: Es un suceso que ocurre en el programa, tal como puede ser un clic, un doble clic
etc. El sistema maneja el evento enviando el mensaje adecuado al objeto seleccionado.

Mensaje: es la forma de comunicarse con un objeto, mediante este se ordena que ejecute
uno de sus mtodos con parmetros asociados al evento que lo gener.

Propiedad o atributo: contiene un tipo de datos relacionado con un objeto, cuyo valor
puede ser alterado por la ejecucin de algn mtodo.

Caractersticas de la Programacin Orientada a Objetos

Abstraccin:
Especifica las caractersticas fundamentales de un objeto, donde se captura su
comportamiento. Cada objeto que posee el programa sirve como modelo abstracto,
adems de poder informar y cambiar su estado, y "comunicarse" con otros objetos en el
sistema sin revelar cmo se implementan estas caractersticas.

Encapsulamiento:
Es la caracterstica de reunir a todos los elementos que pueden pertenecer a una misma
entidad, al mismo nivel de abstraccin. Se puede definir tambin como el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente.

Polimorfismo:
Se cataloga como un comportamiento diferente, asociado a objetos distintos, pueden tener
el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento
correspondiente al objeto que se est usando. Esto indica que las referencias y las
colecciones de objetos pueden tener objetos de diferentes tipos.
Recoleccin de basura: la Recoleccin de basura o Garbage Collector es la tcnica por la cual
el ambiente de Objetos se encarga de destruir automticamente sus clases, objetos o
mtodos, este tipo de proceso anteriormente se conoca como constructor. Esto significa
que el desarrollador no debe preocuparse por la asignacin o liberacin de memoria.


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 68
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Ejemplo (Java)

Import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class DiaNac extends Applet
implements ActionListener
{

public DiaNac()
{
cumple = new Label("Para Su Cumpleaos Faltan ?");
zodiaco = new Label("Su Signo Zodiacal");
labelReturnedDay = new Label("Fecha de Nacimiento");
textDay = new TextField("", 10);
textMonth = new TextField("", 10);
textYear = new TextField("", 10);
buttonCompute = new Button("Calcular Da");
}

public void init()
{
setLayout(new BorderLayout());
add(createSwings(), "North");
textDay.requestFocus();
}

private Panel createSwings()
{
labelReturnedDay.setAlignment(1);
zodiaco.setAlignment(1);
cumple.setAlignment(1);
Label labelDay = new Label("Da");
labelDay.setAlignment(1);
Label labelMonth = new Label("Mes");
labelMonth.setAlignment(1);
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 69
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Label labelYear = new Label("Ao Ej. 1999");
labelYear.setAlignment(1);
Panel pane = new Panel();
GridBagLayout g1 = new GridBagLayout();
GridBagConstraints gb = new GridBagConstraints();
pane.setLayout(g1);
gb.fill = 2;
gb.insets = new Insets(10, 10, 10, 10);
gb.weightx = 1.0D;
gb.weighty = 0.25D;
gb.gridx = 1;
gb.gridy = 1;
gb.gridwidth = 1;
g1.setConstraints(labelDay, gb);
pane.add(labelDay);
gb.gridx = 2;
gb.gridy = 1;
gb.gridwidth = 1;
g1.setConstraints(labelMonth, gb);
pane.add(labelMonth);
gb.gridx = 3;
gb.gridy = 1;
gb.gridwidth = 1;
g1.setConstraints(labelYear, gb);
pane.add(labelYear);
gb.ipady = 5;
gb.gridx = 1;
gb.gridy = 2;
gb.gridwidth = 1;
g1.setConstraints(textDay, gb);
pane.add(textDay);
gb.gridx = 2;
gb.gridy = 2;
gb.gridwidth = 1;
g1.setConstraints(textMonth, gb);
pane.add(textMonth);
gb.gridx = 3;
gb.gridy = 2;
gb.gridwidth = 1;
g1.setConstraints(textYear, gb);
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 70
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

pane.add(textYear);
gb.ipady = 0;
gb.weighty = 0.5D;
gb.gridx = 2;
gb.gridy = 3;
gb.gridwidth = 1;
gb.anchor = 10;
g1.setConstraints(labelReturnedDay, gb);
pane.add(labelReturnedDay);
gb.ipady = 0;
gb.weighty = 0.5D;
gb.gridx = 2;
gb.gridy = 10;
gb.gridwidth = 1;
gb.anchor = 10;
g1.setConstraints(zodiaco, gb);
pane.add(zodiaco);
gb.ipady = 0;
gb.weighty = 0.5D;
gb.gridx = 2;
gb.gridy = 14;
gb.gridwidth = 1;
gb.anchor = 10;
g1.setConstraints(cumple, gb);
pane.add(cumple);
buttonCompute.addActionListener(this);
gb.weighty = 0.12D;
gb.ipady = 10;
gb.gridx = 2;
gb.gridy = 4;
gb.gridwidth = 1;
g1.setConstraints(buttonCompute, gb);
pane.add(buttonCompute);
return pane;
}

private String dayAsString(int j)
{
switch(j)
{
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 71
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

case 2: // '\002'
return "Lunes";

case 3: // '\003'
return "Martes";

case 4: // '\004'
return "Miercoles";

case 5: // '\005'
return "Jueves";

case 6: // '\006'
return "Viernes";

case 7: // '\007'
return "Sabado";

case 1: // '\001'
return "Domingo";
}
return "";
}

public void actionPerformed(ActionEvent e)
{
int dayNumber = 99;
int d = 99;
int m = 99;
int y = 99;
try
{
d = Integer.parseInt(textDay.getText());
m = Integer.parseInt(textMonth.getText());
y = Integer.parseInt(textYear.getText());
}
catch(NumberFormatException err)
{
labelReturnedDay.setText("Fecha Invalida");
}
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 72
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

if(d > 0 && d < 32 && m > 0 && m < 13 && y > 999 && y < 10000)
{
m--;
Calendar calendar = new GregorianCalendar(y, m, d);
dayNumber = calendar.get(7);
d2 = calendar.get(calendar.DAY_OF_YEAR);
labelReturnedDay.setText("Usted Nacio un Da : " + dayAsString(dayNumber));
} else
{
labelReturnedDay.setText("Fecha Invalida");
}
m++;
if((d >=22 && m == 1)||(d <= 21 && m == 2))
{
zodiaco.setText("Su Signo Es Acuario");
}
if((d >=22 && m == 2)||(d <= 20 && m == 3))
{
zodiaco.setText("Su Signo Es Piscis");
}
if((d >=21 && m == 3)||(d <= 20 && m == 4))
{
zodiaco.setText("Su Signo Es Aries");
}
if((d >=21 && m == 4)||(d <= 20 && m == 5))
{
zodiaco.setText("Su Signo Es Tauro");
}
if((d >=21 && m == 5)||(d <= 21 && m == 6))
{
zodiaco.setText("Su Signo Es Geminis");
}
if((d >=22 && m == 6)||(d <= 22 && m == 7))
{
zodiaco.setText("Su Signo Es Cancer");
}
if((d >=23 && m == 7)||(d <= 22 && m == 8))
{
zodiaco.setText("Su Signo Es Leo");
}
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 73
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

if((d >=23 && m == 8)||(d <= 21 && m == 9))
{
zodiaco.setText("Su Signo Es Virgo");
}
if((d >=22 && m == 9)||(d <= 22 && m == 10))
{
zodiaco.setText("Su Signo Es Libra");
}if((d >=23 && m == 10)||(d <= 21 && m == 11))
{
zodiaco.setText("Su Signo Es Escorpion");
}
if((d >=22 && m == 11)||(d <= 22 && m == 12))
{
zodiaco.setText("Su Signo Es Sagitario");
}
if((d >=23 && m == 12)||(d <= 21 && m == 1))
{
zodiaco.setText("Su Signo Es Capricornio");
}


GregorianCalendar calendar1 = new GregorianCalendar();
int d1 = calendar1.get(calendar1.DAY_OF_YEAR);

if((d2-d1) <= 0)
{
cumple.setText("Su Cumpleaos Es En " + (365+(d2-d1)) + " Das Ms");
}
else
{
cumple.setText("Su Cumpleaos Es En " + (d2-d1) + " Das Ms");
}
}

int d2=0;
Label labelReturnedDay;
Label zodiaco;
Label cumple;
TextField textDay;
TextField textMonth;
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 74
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

TextField textYear;
Button buttonCompute;
}
4.1.3. Orientados a Aspectos:

Es un tipo de programacin muy reciente, tiene como condicin permitir una adecuada
modularizacin de las aplicaciones y posibilita una mejor separacin de proceso. Gracias a la
Programacin Orientada a Aspectos (POA), se pueden manejar los diferentes conceptos que
componen una aplicacin bien definida, eliminando las dependencias entre cada los diferentes
mdulos existentes. De esta forma se consiguen mejores conceptos de programacin.

Ejemplo

public class ColaCircular
{
private Object[] array;
private int ptrCola = 0, ptrCabeza = 0;
private int eltosRellenos = 0;
public ColaCircular (int capacidad)
{
array = new Object [capacidad];
}
public void Insertar (Object o)
{
array[ptrCola] = o;
ptrCola = (ptrCola + 1) % array.length;
eltosRellenos++;
}
public Object Extraer ()
{
Object obj = array[ptrCabeza];
array[ptrCabeza] = null;
ptrCabeza = (ptrCabeza + 1) % array.length;
eltosRellenos--;
return obj;
}
}


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 75
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Orientados a Servicios:
Es un concepto de la arquitectura de software que utiliza los servicios para dar soporte a los
requisitos del usuario. Permitiendo la creacin de sistemas escalables que reflejan el negocio de la
empresa, lo cual facilita la interaccin entre diferentes sistemas propios y/o de terceros.

4.2. Introduccin al UML

UML, es un lenguaje de Modelos Unificados por sus siglas en ingls, es el lenguaje de modelos de
sistemas de software ms popular en la actualidad, es un lenguaje para construir, especificar,
visualizar y documentar sistemas de aplicativos.

Comprensin de los Modelos

Un modelo es una coleccin de imgenes y texto que representa algo, para nuestro software.

Los modelos son valiosos por muchas razones especficas, en gran parte, constan de imgenes e
incluso, las imgenes simples pueden transmitir ms informacin que una gran cantidad de texto.
Los modelos son valiosos porque es ms fcil dibujar algunas imgenes sencillas que escribir
cdigo o incluso texto que describa lo mismo, adems es ms econmico, rpido y fcil de
cambiar modelos que cambiar cdigo o texto.

El UML es una definicin de un lenguaje de smbolos y relaciones comunes que tiene un significado
comn, si todos los participantes hablan UML, entonces las imgenes tienen el mismo significado
para todo aquello que las observe, por lo tanto, aprender UML es esencial para ser capaz de usar
imgenes para experimentar econmico, flexible y dar rpidas soluciones.

4.2.1.1 Uso de los Modelos

Los modelos consisten en diagramas o imgenes, lo que intenta con los modelos es que sea ms
fcil de producir y experimentar que con solo cdigo.

Creacin de diagramas

La primera regla de la creacin de diagramas de modelos es que el cdigo y el texto consumen
tiempo, y no queremos pasar una gran cantidad de tiempo creando documentos de texto que
nadie leer. Lo que si queremos hacer es captar con exactitud las partes importantes del problema
y una solucin. Lamentablemente, esta no es una prescripcin para el nmero o la diversidad de
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 76
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

diagramas que necesitamos crear y no indica cuanto detalle necesitamos agregar a esos
diagramas.
4.2.1.2 Tipos de Diagramas
Existen varios tipos de diagramas que el individuo puede crear, miremos los tipos que se pueden
usar y los tipos de informacin que se pretende transmitir con cada uno de los diagramas.

Diagrama de cajas de uso (casos de uso)

Los smbolos principales de las cajas de uso son el actor, y el ovalo de la caja de uso, los diagramas
son responsables principalmente de documentar los macro requisitos del sistema, pensando en la
lista de capacidades que debe tener o proporcionar el sistema.



Diagrama de Actividades

Un diagrama de actividades es la versin UML de un diagrama de flujo. Los diagramas de
actividades se usan para analizar los proyectos y, si es necesario, volver a realizar la ingeniera de
los procesos.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 77
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Un diagrama de actividades es una herramienta excelente para analizar problemas que al final, el
sistema debe resolver. Como una herramienta de anlisis, no queremos empezar resolviendo el
problema a un nivel tcnico mediante la asignacin de clases, pero podemos usar diagramas de
actividades para entender el problema e incluso refinar los procesos que comprenden el
problema.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 78
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


Diagrama de Clases

Los diagramas de clases se usan para mostrar las clases de un sistema y la relacin entre ellas. Una
sola clase puede mostrarse en ms de un diagrama de clases y no es necesario mostrar todas las
clases en un solo diagrama monoltico de clases. El mayor valor de mostrar las clases y sus
relaciones desde varias perspectivas, de una manera que ayudara a transmitir la comprensin ms
til.



Los diagramas de clases muestran una vista esttica del sistema, no describe los comportamientos
o cmo interactan los ejemplos de la clase. Para describir los comportamientos y las
interacciones entre los objetos de un sistema, podemos revisar los diagramas de interaccin.

Diagramas de interaccin

Existen 2 tipos de diagramas de interaccin, la secuencia y la colaboracin. Ambos transmiten la
misma informacin, empleando una perspectiva un poco diferente. Los diagramas de secuencia
muestran las clases a lo largo de la parte superior y los mensajes enviados entre esas clases,
modelando un solo flujo a travs de los objetos del sistema. Los diagramas de colaboracin usan
las mismas clases y mensajes, pero organizados en una disposicin espacial.

Un diagrama de secuencia implica un ordenamiento en el tiempo al seguir la secuencia de
mensajes desde arriba a la izquierda hasta abajo a la derecha. Debido a que en el diagrama
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 79
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

colaborativo no se indica en forma visual un ordenamiento en el tiempo, enumeramos los
mensajes para indicar el orden en el cual se presenta.

Algunas herramientas convertirn de manera automtica los diagramas de interaccin
entre secuencia y colaboracin. Pero no es necesario crear los dos tipos de diagrama.
En general, se percibe que un diagrama de secuencia es mas fcil y ms comn.

Ejemplo (Diagrama de secuencia)


Ejemplo (Diagrama de colaboracin)
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 80
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Diagrama de estado

Mientras que los diagramas de interaccin muestran los objetos y los mensajes que se pasan entre
ellos, un diagrama de estado muestra el estado cambiante de un solo objeto, conforme este pasa
por un sistema.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 81
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Diagramas de componentes

El UML define varios tipos de modelos, incluyendo modelos de anlisis, para el diseo y para
implementacin, sin embargo, nada hay que le fuerce a crear o mantener tres modelos para una
aplicacin. Un ejemplo de un diagrama que podra encontrar en un modelo de implementacin es
de componentes. En un diagrama de componentes, estos se muestran en el producto final.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 82
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia



Otros Diagramas

Existen otros tipos o variaciones de diagramas que podemos crear. Por ejemplo, un diagrama de
topologa del despliegue le mostrara como se ver desplegado su sistema. Lo comn es que un
diagrama de este tipo contenga smbolos que representan cosas, como servidores web, servidores
de bases de datos y varios dispositivos diversos, as como software que construye la solucin que
usted requiere. Este tipo de diagrama es ms comn cuando usted est estructurando sistemas
distribuidos en n hileras.

Ejercicios por temas

Cul cree usted que es el futuro de los lenguajes de programacin?

Qu papel aporta UML a la parte lgica?


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 83
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Prueba Final

Que significa el acrnimo UML?

UML solo se usa para modelar software?

Un buen modelo UML contendr por lo menos un diagrama de cada tipo?

Actividad
Crear de una situacin cotidiana un diagrama de cajas de uso y uno colaborativo.


Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 84
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


4.3. Relacin con otros temas

Introduccin al Desarrollo de Software tiene un gran alcance con reas relacionadas con lgica y
programacin, partiendo de los algoritmos y estructuras de datos como surtidores de elementos
lgicos que darn la base de trabajo de toda la carrera, estos ltimos muy unidos con los lenguajes
de programacin y las bases de datos para grandes volmenes de informacin en
almacenamiento, no se puede desconocer la importancia de ingeniera del software, arquitectura
de software, los compiladores y los tpicos especiales, hacen que introduccin al desarrollo sea un
punto importante dentro del engranaje principal de la carrera que abarca muchos de los temas
ms cercanos a las necesidades de los usuarios finales.

Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera
Asignatura Introduccin al Desarrollo del Software Pg. 85
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia


4.4. Fuentes

Libros

Josep Anton Prez Lpez, Llus Ribas i Mingo, Introduccin al desarrollo del software
BRASSARD, G.:, Fundamentos de algoritmia
SKIENA, Steven S.: The Algorithm Design Manual
Paul Evitts, A UML Pattern Language
Geri Schneider, Applying Use Cases
Pelez Snchez, Jos Ignacio, Anlisis Y Diseo De Algoritmos: Un Enfoque Terico Y
Prctico
Meilir Page-Jones, Addison Wesley Reading, Massachusetts 2000, Fundamentals of Object-
Oriented Design in UML
Jean Paul Tremblay, Winfried Karl Grassman, Fundamentos Algoritmia, Pearson Education

Pginas web

http://users.dsic.upv.es/asignaturas/facultad/lsi/ejemplorup
http://ocw.universia.net/es/asignatura/274/introduccion-al-desarrollo-de-software-(ocw-
uoc-en-espanol)/
http://www.upct.es/contenido/estudios_postgrado/mostrar_curso.php?id_rec=170
http://www.algoritmia.net/
http://www.elprisma.com/apuntes/curso.asp?id=2279
http://www.osmosislatina.com/lenguajes/uml/
http://docs.kde.org/stable/es/kdesdk/umbrello/uml-elements.html

You might also like