martes, 31 de mayo de 2011


Diagramas

Jerarquía de los diagramas UML 2.0, mostrados como un diagrama de clases
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente, como se muestra en la figura de la derecha.
Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:
Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:
Los Diagramas de Interacción son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:

[editar]

USO DEL LENGUAJE UML


Lenguaje Unificado de Modelado
 (LUM o UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.
Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar.
UML no puede compararse con la programación estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la programación orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos.
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas

COMPLEJIDAD DE UN ALGORITMO

Complejidad de Algoritmos
La eficiencia es uno de los tres principales atributos deseables que debe poseer un algoritmo. [¿Cuáles son los otros dos?] También es algo que tenemos que ser capaces de medir o estimar si vamos a discutir esto con los que se examinará o utilice nuestro algoritmos. Determinación de la eficiencia implica el conteo y análisis. Nuestro enfoque aquí se cuenta - determinar exactamente cómo son algoritmos rápidos.
Comencemos por examinar los dos fragmentos del programa en la figura 1.
Figura 1 - Programas de recuento
¿Cuál es el valor de x al final de cada uno de ellos? En la figura 1a, incrementamos x veces por una n en el bucle de repetición y luego hacerlo de nuevo en el segundo bucle. Esto establece x n + n o 2n.
El código en la figura 1b, en cambio, contiene un bucle anidado. En este fragmento del programa, x se incrementa n veces en el bucle interior como antes. En otras palabras, el lazo interno añade n con el valor de x. Al mismo tiempo, el bucle fuera de las fuerzas del bucle interior para ser ejecutado n veces. Esto significa que Add N to X exactamente n veces. Así, nos encontramos con un valor de n * n o 2 para x.
[Este pequeño ejemplo nos dice algo acerca de la complejidad y la estructura del programa. Parece que la adición se lleva a cabo con bucles anidada y la multiplicación se puede hacer con la profundidad de anidamiento dos. ¿Qué puede hacerse con tres bucles anidados?]
Este ejemplo también ilustra una regla importante de tareas relativas a la dependencia de los cuales ciclo de anidación es un buen ejemplo.
Si las tareas se llevan a cabo de forma independiente, que sume los resultados juntos. Pero, si las tareas están entrelazadas (por ejemplo, en los bucles que dependen unos de otros), los resultados se multiplican.

TIPOS DE ALGORITMOS

TIPOS DE ALGORITMOS
Algoritmo de Factorización de enteros o División por tentativa
La división por tentativa es el algoritmo de factorización de enteros más sencillo y fácil
de entender.
Dado un entero compueston (a lo largo de este artículo,n será "el entero a factorizar"),
la división por tentativa consiste en intentar dividirn entre todo número primo menor o
igual a
. Si se encuentra un número que es divisor den, en división entera, ese
número es un factor den.
Algoritmo de Euclides
El algoritmo de Euclides es un método antiguo y eficaz para calcular el máximo común
divisor (MCD). Fue originalmente descrito por Euclides en su obraElem entos. El
algoritmo de Euclides extendido es una ligera modificación que permite además
expresar al máximo común divisor como una combinación lineal. Este algoritmo tiene
aplicaciones en diversas áreas como álgebra, teoría de números y ciencias de la
computación entre otras. Con unas ligeras modificaciones suele ser utilizado en
computadoras electrónicas debido a su gran eficiencia.
Algoritmo original de Euclides
En la concepción griega de la matemática, los números se entendían como magnitudesgeométricas. Un tema recurrente en la geometría griega es el de la conmensurabilidadde dos segmentos: dos segmentos (números)AB yCD son conmensurables cuandoexiste un tercer segmentoPQ el cual cabe exactamente un número entero de veces enlos primeros dos, es decir,PQ «mide» (mensura: medida) a los segmentosAB yCD.
No cualquier par de segmentos es conmensurable, como encontraron los pitagóricos
cuando establecen que
no es un número racional, pero en el caso de dos segmentos
conmensurables se desea hallar la mayor medida común posible.
Euclides describe en la proposición VII.2 de sus Elementos un método que permite
hallar la mayor medida común posible de dos números (segmentos) que no sean primos
entre sí, aunque de acuerdo a la época tal método se explica en términos geométricos, lo
que se ilustra en la siguiente transcripción.
Algoritmo de Euclides tradicional
Al dividira entreb (números enteros), se obtiene un cocienteq y un residuor. Es
posible demostrar que el máximo común divisor dea yb es el mismo que el deb yr.
Éste es el fundamento principal del algoritmo. También es importante tener en cuenta
que el máximo común divisor de cualquier númeroa y 0 es precisamentea. Para fines
prácticos, la notación mcd(a,b) significa máximo común divisor de a y b





domingo, 29 de mayo de 2011

LABORATORIO
Clasifique y resuelva los siguientes problemas:
1)      ¿Qué clase de parientes mío es el hijo de la hermana de mi madre?  
                                                                      Reps:       PRIMOS
ABUELOS

                                                                    MADRE                   TIA

PRIMO
                                                                       YO   

2)      La persona que más quiero en este mundo es, precisamente, la suegra de la mujer de mi hermano. ¿Quién es esa persona?
MADRE
                                                                   Reps: MI MADRE
                                                                                                                   AMIGA

                      Yo                          hermano                          hermana                 hermana 2
3)      Una fiesta familiar reunió a 1 abuelo, 1 abuela, 2 padres, 2 madres, 4  hijos, 3 nietos, 1 hermano, 2 hermanas, 2 hijos varones, 2 hijas mujeres, 1 suegro,  y 1 nuera. ¿Cuántas personas se reunieron en realidad?








4)      Tenemos aquí tres enunciados falsos. ¿será capaz Ud. De descubrir cuáles?
       4.1   2+2= 4
4.2   3X6=17                        4.6     todo el enunciado en FALSO
4.3   8÷4=2                               
4.4   13-6=5
4.5   5+4=9

5)      Soy capicúa, del 2 al 10 solo hay un divisor mío, tengo cuatro cifras, pero algunos me ven como si fuera un 9. ¿Qué número soy?
                        En numeración binaria seria :
                                                                               l 0 0 l = 9
6)      Responda convenientemente cada una de las preguntas propuestas.
6.1)   Como meto un elefante en un refrigerador
                Reps: Abro la refrigeradora y meto al elefante luego la cierro
6.2)   Como meto una jirafa en un refrigerador
                Reps: Abro la refrigeradora, saco al elefante y meto a la jirafa luego cierro la puerta.
6.3)   El rey Lion convoco a una reunión a todos los animales del bosque. Todos llegaron menos uno. ¿Quién fue y por qué no llego?
                 Reps: La jirafa         ¿Por qué?  Por qué esta adentro del refrigerador
6.4)   Un hombre quiere cruzar un rio lleno de cocodrilos, como le hace. Explique su respuesta.
                Reps: Nadando        ¿Por qué? Por qué todo los animales estaban en la fiestas