martes, 14 de junio de 2011

Lenguaje UML


USO Y APLICACIÓN DEL LENGUAJE UML
Lenguaje Unificado de Modelado

Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema.

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.

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.


miércoles, 8 de junio de 2011

Algoritmo III

Ejercicio: Dado el tiempo que realizan los participantes en competencia de velocidad en pista y la distancia recorrida, calcula la velocidad de los mismos expresada en kilómetros por hora.

*En ese programa nos piden la velocidad en k/h, por ello utilizamos la fórmula v:d/t; para distancias y tiempos pequeños o cortos, el siguiente programa pide que ingresemos los datos anteriores en metros/segundos y luego al hacer la operacion de la velocidad, este programa de una vez convierte los metros en kilometros y los segundos en horas para que la velocidad salgo en k/h.
el programa queda así:

#include<stdio.h>
#include<conio.h>

main()
{
float distancia, tiempo, velocidad;
printf("ingrese la distancia recorrida en metros: ");
scanf("%f", &distancia);
printf("ingrese el tiempo en segundos: ");
scanf("%f", &tiempo);

velocidad= (distancia/1000)/(tiempo/3600);
printf("la velocidad en kilometros por hora es: %f",velocidad);

return 0;
}
*Ahora bién, para distancias y tiempos más grandes, en el siguiente programa los datos ya se piden en k/h y no en m/s como en el anterior programa, por lo tanto, ya no hay necesidad de hacer ninguna conversión y la operacion que saca la velocidad en k/h queda más sencilla.
el programa queda así:

#include<stdio.h>
#include<conio.h>

main()
{
float distancia, tiempo, velocidad;
printf("ingrese la distancia recorrida en kilometros: ");
scanf("%f", &distancia);
printf("ingrese el tiempo en horas: ");
scanf("%f", &tiempo);

velocidad= distancia/tiempo;
printf( "la distancia en kilometros es: %f", velocidad);
return 0;
}

Algoritmo II

Ejercicio:  El programa, dado como datos los galones surtidos a un cliente en una gasolinera, calcula lo que este debe de pagar.

* Esta instruccion no especifica el precio de los galones de aceite que serán multiplicados por el número de galones que lleve el cliente para obtener el precio que éste pagará, por lo tanto, el programa pedirá que ingresemos el numero de galones de aceite que el cliente llevará y luego pedirá el costo de cada galon de aceite, para luego realizar la operación del costo que el cliente pagará.
el programa queda así:

#include<stdio.h>
#include<conio.h>

main()
{
float galonesdeaceite, preciogalon, costo;

printf("ingrese cuantos galones de aceite llevara: ");
scanf("%f", &galonesdeaceite);
printf("ingrese el precio galon: ");
scanf("%f", &preciogalon);

costo= galonesdeaceite*preciogalon;
printf("el costo es: %f", costo);
return 0;
}

Algoritmo I

Ejercicio:
Escriba un programa que reciba la extensión de un terreno en acres y la presente en metros.
"como un acre equivale a: 4046.85mts^2, el algoritmo en C++ queda así:"

#include<stdio.h>
#include<conio.h>

main()
{
float metroscuadrados, acres;
printf("ingrese la medida en acres: ");
scanf("%f", &acres);
metroscuadrados= acres *  4046.85;
printf("la medida en metros cuadrados es: %f", metroscuadrados);
return 0;

}

jueves, 26 de mayo de 2011

Algoritmos


 ¿Qué tipos de algoritmos existen?
Existen dos tipos y son llamados así por su naturaleza:
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

Existen distintos tipos de algoritmos de razonamiento:
Algoritmos estáticos, es decir, algoritmos que funcionan siempre igual, independientemente del tipo de problema tratado. Por ejemplo, los sistemas basados en el método de resolución.
Algoritmos probabilísticos, es decir, algoritmos que no utilizan valores de verdad booleanos sino continuos. Por ejemplo, los sistemas basados en lógica difusa.

Algoritmos adaptativos, es decir, algoritmos con cierta capacidad de aprendizaje. Por ejemplo, los sistemas basados en redes neuronales. Tiempo secuencial. Un algoritmo funciona en tiempo discretizado (paso a paso), definiendo así una secuencia de estados "computacionales" por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar).Estado abstracto. Cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son invariantes bajo isomorfismo. Exploración acotada. La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.

¿En qué otras ciencias se apoyan la algoritmia para producir soluciones ingeniosas? 
Ciencias de la Computación
Matemáticas
Ciencias Sociales
Ciencias Políticas


¿Cómo podemos determinar la complejidad de un algoritmo?
Es posible realizar el estudio de la complejidad de un algoritmo sólo en base a un conjunto reducido de sentencias, aquellas que caracterizan que el algoritmo sea lento o rápido en el sentido que nos interesa. También es posible distinguir entre los tiempos de ejecución de las diferentes operaciones elementales, lo cual es necesario a veces por las características específicas del ordenador (por ejemplo, se podría considerar que las operaciones + y ÷ presentan complejidades diferentes debido a su implementación). Sin embargo, todas las operaciones elementales del lenguaje, y supondremos que sus tiempos de ejecución son todos iguales.

miércoles, 27 de abril de 2011

Tema de exposición: Creatividad

Creatividad.
El manejo de los últimos tiempos de manejos como tecnología de punta,  nanotecnología, proceso artificial, producto de ello nos hacemos la pregunta ¿hasta dónde pueden llegar los avances científicos? ¿Se llegará a simular los procesos del cerebro humano completamente?
El ser humano ya no se conforma con el diseño de simples maquinas, objetos, computadoras “bobas” sino que canalizar cualquier experiencia para no crear solo maquinas inteligentes….. Sino con creatividad.
Por lo tanto también decimos que el conocimiento es el fundamento de todo el edificio de la ciencias; Siempre estamos aprendiendo, comprendiendo hasta llegar al ideal que se convierta en un ideal de vida, de allí nace la creatividad, que es la capacidad del ser humano que desarrolla innovación transformadora, viveza imaginativa, visión mental, flexibilidad y originalidad de pensamiento.
La creatividad se considera una actitud en la cual confluyen diversos criterios: espontaneidad, asociatividad  cognitiva y debida a la evolución, es decir, referida solamente a la condición humana.
Por último la creatividad se considera sinónimo de innovación, imaginación, invención, intuición, y descubrimiento, es decir, la creatividad es habilidad de dar vida (que incluye forma, crear, presentar, mejorar etc.) a algo. Creatividad es habilidad de comunicar lo escondido, si temer el qué dirán, sobrepasando lo cultural.
Creatividad computacional.
Es claro que una maquina no posee bloqueos sociales ni culturales, pero ¿Cómo haría esta para mostrar rasgos creativos? ¿Podría involucrarse la creatividad en los sistemas?
Si un sistema es una asociación estructurada y coherente de partes consecutivas interactuantes entre si y el todo, que deben cumplir un fin determinado, habremos de dilucidar si los sistemas pueden o no tener la condición de creativos.
Así al hablar de un sistema y más si es creativo que ha de buscar alternativas innovadoras, entonces la creatividad en la computación podemos decir que es aquel que ha de facilitar desarrollos dinámicos que se repliquen a diversos niveles y a los cuales, gracias al carácter dinámico o cambiante, el sistema proveerá respuestas satisfactorias a casi cualquier sistema.
La creatividad en el ordenador tendrá que poseer, en gran parte, las características del ser humano esquematizadas en diferentes rutinas. El sistema poseerá con certeza bases de conocimiento y como referente, patrones o modelos de aspectos creativos
Al aplicar la creatividad al ordenador, este deberá tener una capacidad divergente, una capacidad de pensamiento paralelo y, porque no, pensamiento complejo,  en términos de apertura a todo lo nuevo; y de esta manera el sistema podrá generar diferentes interpretaciones a los elementos de entrada, en otras palabras: será un posibilitador de nuevas situaciones.
Ahora bien, el objetivo de la creatividad en la computación es determinar un modelo, en primera instancia teórico y luego computacional, para implementar la característica creativa en un computador; esto obliga a identificar, en primera instancia, el carácter del modelo y su aplicabilidad a problemas y situaciones de diversa naturaleza.
La implementación de la creatividad en los sistemas implicará el desarrollo de subsistemas que actuaran en paralelo para percibir toda la realidad posible que lo rodeo, reconocer experiencia, capacidad de discernir  sobre cual secuencia de acciones sería conveniente ejecutar, temporalidad del conocimiento, razonamiento aproximado, aprendizaje etc.
Con base a lo anterior se afirma que la creatividad en los sistemas son los procesos mediante se soluciona cualquier problema a partir de la asociación, aprendizaje de experiencias e innovación.


Ejemplo de Creatividad: Compuerta XOR

La creatividad en los sistemas son los procesos mediante se soluciona cualquier problema a partir de la asociación, aprendizaje de experiencias e innovación.
En este caso, la creatividad, aparte de crear, es hacer un proceso lo mas sencillo posible a partir de uno ya hecho; por ello, la compuerta XOR, es originalmente hecha por otras varias, aplicando la creatividad a través del tiempo se logro tenerla en una sola compuerta.

miércoles, 30 de marzo de 2011

hoja de trabajo No.2

1.      Para lograr una mejor repartición, el calculista tomo prestado el camello de su amigo para que sumaran 36 camellos, ya que 35 cabellos matemáticamente si se podían repartir pero lógicamente no, ya con 36 camellos era más fácil la división; al mayor hijo le tocaba la mitad de los camellos, entonces dividían 36/2= 18; al hermano medio le tocaba una tercera parte, entonces 36/3= 12; y al hermano más pequeño le tocaba una novena parte, entonces 36/9= 4, los hermanos se quedaron satisfechos porque matemáticamente les tocaba medio camello más que el que les tocaba si contaban solo con 35 camellos.
Luego sobraban dos camellos, devolvió el camello que presto y se quedo con un camello todavía.


2.      Beremís tenía 5 panes, mientras que el Bagdalí tenía 3, Salem propuso compartir los ocho panes y que llegados a Bagdad le daría ocho monedas de oro, llegaron y cuando estaba Salem por pagarle 5 monedas al calculista y 3 al Bagdalí, El calculista le dijo que para él debían ser siete monedas y para el Bagdalí sólo una. los panes que sacaban los partían en tres, o sea que él tenía quince trozos de pan, de los cuales comió ocho, y su compañero, tenía nueve trozos, de los cuales comió ocho, o sea que el Bagdalí le dio sólo un pan y el calculista le dio siete panes.

3.      Es una regla de tres simple, la forma de verlo queda así:

35________________________ 200
x_________________________140

x= (35*140)/ 200= 24.5 dinares


4.      a) (4/4) – (4/4)=  0
b) (4/4) · (4/4)= 1
c) (4/4) + (4/4)= 32/16= 2
d) (4+4+4)/4= 3
e) 4*(4 - 4) + 4= 4
f) ((4*4) + 4) /4= 5
g) sqrt (4)*(4-4/4)= 6
H) 4 + 4 – 4/4= 7
I) 4*sqrt (4) + 4 – 4= 8
k) (4-4/4) ^sqrt(4)= 9
l) 4*sqrt (4) + 4/sqrt(4)= 10
m) 44/ (sqrt(4)*sqrt(4))= 11
n) (Sqrt(4) + Sqrt(4) + Sqrt(4))*Sqrt(4)= 12
o) 44/4 + sqrt(4)= 13
P) 4*4 – 4/sqrt(4)= 14
Q) 44/4 + 4= 15


5.      pensar, analizar y convertir en ecuaciones los problemas para luego resolverlas.

6.      Matemáticamente si se podían dividir los 35 camellos, pero lógicamente no, al haber 36 camellos podía hacer una división exacta. De los 36 camellos sobran 2, uno es el que pertenecía al amigo del calculista y el otro al calculista, este resultado proviene de la suma de ½+1/3+1/9=17/18 menos que la unidad, de modo que le reparto de los 35 camelos no se hubiera hecho por completo hubiera sobrado 1/8 camellos. Habiendo aumentado el dividendo a 36, el sobrante resulto entonces 1/18 de 36 o sea de los 2 camellos.